Dekompiloval som istu cast jedneho programu , ale nerozumiem tomu obsahu.
.text:0096CDF7 ; ---------------------------------------------------------------------------
.text:0096CDF8 align 10h
.text:0096CE00
.text:0096CE00 ; =============== S U B R O U T I N E =======================================
.text:0096CE00
.text:0096CE00
.text:0096CE00 sub_96CE00 proc near ; CODE XREF: sub_96CFF0+48p
.text:0096CE00 ; sub_B16840+26j
.text:0096CE00
.text:0096CE00 var_10 = LARGE_INTEGER ptr -10h
.text:0096CE00 PerformanceCount= LARGE_INTEGER ptr -8
.text:0096CE00
.text:0096CE00 sub esp, 10h
.text:0096CE03 fild qword ptr stru_CDBE48
.text:0096CE09 push ebx
.text:0096CE0A mov ebx, ds:QueryPerformanceCounter
.text:0096CE10 push ebp
.text:0096CE11 fstp dword ptr [esp+18h+var_10]
.text:0096CE15 push esi
.text:0096CE16 fld dword ptr [esp+1Ch+var_10]
.text:0096CE1A push edi
.text:0096CE1B fld st
.text:0096CE1D or edi, 0FFFFFFFFh
.text:0096CE20 fdivr ds:dbl_BAA0C8
.text:0096CE26 or esi, 0FFFFFFFFh
.text:0096CE29 mov ebp, 8
.text:0096CE2E fstp flt_E02F24
.text:0096CE34 fld st
.text:0096CE36 fld1
.text:0096CE38 fld st
.text:0096CE3A fdivrp st(2), st
.text:0096CE3C fxch st(1)
.text:0096CE3E fstp flt_E02EFC
.text:0096CE44 fld st(1)
.text:0096CE46 fdivr ds:dbl_BAA0C0
.text:0096CE4C fstp flt_E02F10
.text:0096CE52 fld st(1)
.text:0096CE54 fdivr ds:dbl_BAA0B8
.text:0096CE5A fstp flt_E02F18
.text:0096CE60 fld ds:dbl_BAA0B0
.text:0096CE66 fdivrp st(2), st
.text:0096CE68 fxch st(1)
.text:0096CE6A fstp flt_E02EEC
.text:0096CE70 fld flt_E02F24
.text:0096CE76 fdivr st, st(1)
.text:0096CE78 fstp flt_E02EE0
.text:0096CE7E fld flt_E02EFC
.text:0096CE84 fdivr st, st(1)
.text:0096CE86 fstp flt_E02EF8
.text:0096CE8C fld flt_E02F10
.text:0096CE92 fdivr st, st(1)
.text:0096CE94 fstp flt_E02F08
.text:0096CE9A fld flt_E02F18
.text:0096CEA0 fdivr st, st(1)
.text:0096CEA2 fstp flt_E02F20
.text:0096CEA8 fdiv flt_E02EEC
.text:0096CEAE fstp flt_E02F00
.text:0096CEB4
.text:0096CEB4 loc_96CEB4: ; CODE XREF: sub_96CE00+E3j
.text:0096CEB4 lea eax, [esp+20h+PerformanceCount]
.text:0096CEB8 push eax ; lpPerformanceCount
.text:0096CEB9 call ebx ; QueryPerformanceCounter
.text:0096CEBB lea ecx, [esp+20h+var_10]
.text:0096CEBF push ecx ; lpPerformanceCount
.text:0096CEC0 call ebx ; QueryPerformanceCounter
.text:0096CEC2 mov ecx, dword ptr [esp+20h+var_10]
.text:0096CEC6 sub ecx, dword ptr [esp+20h+PerformanceCount]
.text:0096CECA mov eax, dword ptr [esp+20h+var_10+4]
.text:0096CECE sbb eax, dword ptr [esp+20h+PerformanceCount+4]
.text:0096CED2 cmp esi, eax
.text:0096CED4 jb short loc_96CEE0
.text:0096CED6 ja short loc_96CEDC
.text:0096CED8 cmp edi, ecx
.text:0096CEDA jbe short loc_96CEE0
.text:0096CEDC
.text:0096CEDC loc_96CEDC: ; CODE XREF: sub_96CE00+D6j
.text:0096CEDC mov edi, ecx
.text:0096CEDE mov esi, eax
.text:0096CEE0
.text:0096CEE0 loc_96CEE0: ; CODE XREF: sub_96CE00+D4j
.text:0096CEE0 ; sub_96CE00+DAj
.text:0096CEE0 sub ebp, 1
.text:0096CEE3 jnz short loc_96CEB4
.text:0096CEE5 fild qword ptr stru_CDBE50
.text:0096CEEB mov dword_E02F30, edi
.text:0096CEF1 or ebx, 0FFFFFFFFh
.text:0096CEF4 mov dword_E02F34, esi
.text:0096CEFA fstp dword ptr [esp+20h+var_10]
.text:0096CEFE or edi, 0FFFFFFFFh
.text:0096CF01 fld dword ptr [esp+20h+var_10]
.text:0096CF05 mov ebp, 8
.text:0096CF0A fld st
.text:0096CF0C fdivr ds:dbl_BAA0C8
.text:0096CF12 fstp flt_E02EE8
.text:0096CF18 fld st
.text:0096CF1A fld1
.text:0096CF1C fld st
.text:0096CF1E fdivrp st(2), st
.text:0096CF20 fxch st(1)
.text:0096CF22 fstp flt_E02F04
.text:0096CF28 fld st(1)
.text:0096CF2A fdivr ds:dbl_BAA0C0
.text:0096CF30 fstp flt_E02EF4
.text:0096CF36 fld st(1)
.text:0096CF38 fdivr ds:dbl_BAA0B8
.text:0096CF3E fstp flt_E02EE4
.text:0096CF44 fld ds:dbl_BAA0B0
.text:0096CF4A fdivrp st(2), st
.text:0096CF4C fxch st(1)
.text:0096CF4E fstp flt_E02F14
.text:0096CF54 fld flt_E02F14
.text:0096CF5A fdivr st, st(1)
.text:0096CF5C fstp flt_E02EF0
.text:0096CF62 fld flt_E02EE4
.text:0096CF68 fdivr st, st(1)
.text:0096CF6A fstp flt_E02F2C
.text:0096CF70 fld flt_E02EF4
.text:0096CF76 fdivr st, st(1)
.text:0096CF78 fstp flt_E02F1C
.text:0096CF7E fld flt_E02F04
.text:0096CF84 fdivr st, st(1)
.text:0096CF86 fstp flt_E02F28
.text:0096CF8C fdiv flt_E02EE8
.text:0096CF92 fstp flt_E02F0C
.text:0096CF98
.text:0096CF98 loc_96CF98: ; CODE XREF: sub_96CE00+1B5j
.text:0096CF98 rdtsc
.text:0096CF9A mov esi, edx
.text:0096CF9C mov ecx, eax
.text:0096CF9E rdtsc
.text:0096CFA0 sub eax, ecx
.text:0096CFA2 sbb edx, esi
.text:0096CFA4 cmp edi, edx
.text:0096CFA6 jb short loc_96CFB2
.text:0096CFA8 ja short loc_96CFAE
.text:0096CFAA cmp ebx, eax
.text:0096CFAC jbe short loc_96CFB2
.text:0096CFAE
.text:0096CFAE loc_96CFAE: ; CODE XREF: sub_96CE00+1A8j
.text:0096CFAE mov ebx, eax
.text:0096CFB0 mov edi, edx
.text:0096CFB2
.text:0096CFB2 loc_96CFB2: ; CODE XREF: sub_96CE00+1A6j
.text:0096CFB2 ; sub_96CE00+1ACj
.text:0096CFB2 sub ebp, 1
.text:0096CFB5 jnz short loc_96CF98
.text:0096CFB7 mov edx, dword ptr stru_CDBE48+4
.text:0096CFBD mov eax, dword ptr stru_CDBE48
.text:0096CFC2 mov ecx, dword ptr stru_CDBE50+4
.text:0096CFC8 push edx
.text:0096CFC9 mov edx, dword ptr stru_CDBE50
.text:0096CFCF push eax
.text:0096CFD0 push ecx
.text:0096CFD1 push edx
.text:0096CFD2 mov dword_E02F38, ebx
.text:0096CFD8 mov dword_E02F3C, edi
.text:0096CFDE call __aulldiv
.text:0096CFE3 pop edi
.text:0096CFE4 pop esi
.text:0096CFE5 pop ebp
.text:0096CFE6 mov dword_CDBE58, eax
.text:0096CFEB pop ebx
.text:0096CFEC add esp, 10h
.text:0096CFEF retn
.text:0096CFEF sub_96CE00 endp
.text:0096CFEF
.text:0096CFF0
.text:0096CFF0 ; =============== S U B R O U T I N E =======================================
.text:0096CFF0
.text:0096CFF0
.text:0096CFF0 sub_96CFF0 proc near ; CODE XREF: sub_918ED0+6Ep
.text:0096CFF0
.text:0096CFF0 PerformanceCount= LARGE_INTEGER ptr -8
.text:0096CFF0 arg_0 = dword ptr 4
.text:0096CFF0 arg_4 = byte ptr 8
.text:0096CFF0
.text:0096CFF0 fld1
.text:0096CFF2 sub esp, 8
.text:0096CFF5 push ebx
.text:0096CFF6 xor ebx, ebx
.text:0096CFF8 push esi
.text:0096CFF9 mov esi, ecx
.text:0096CFFB fstp dword ptr [esi+20h]
.text:0096CFFE mov dword ptr [esi], offset off_B87348
.text:0096D004 mov [esi+8], ebx
.text:0096D007 mov [esi+10h], ebx
.text:0096D00A mov [esi+14h], ebx
.text:0096D00D mov [esi+18h], ebx
.text:0096D010 mov [esi+1Ch], ebx
.text:0096D013 cmp dword ptr stru_CDBE48+4, ebx
.text:0096D019 ja short loc_96D03D
.text:0096D01B jb short loc_96D026
.text:0096D01D cmp dword ptr stru_CDBE48, 1
.text:0096D024 ja short loc_96D03D
.text:0096D026
.text:0096D026 loc_96D026: ; CODE XREF: sub_96CFF0+2Bj
.text:0096D026 push offset stru_CDBE50 ; lpFrequency
.text:0096D02B push offset stru_CDBE48 ; LARGE_INTEGER *
.text:0096D030 call sub_96CB10
.text:0096D035 add esp, 8
.text:0096D038 call sub_96CE00
.text:0096D03D
.text:0096D03D loc_96D03D: ; CODE XREF: sub_96CFF0+29j
.text:0096D03D ; sub_96CFF0+34j
.text:0096D03D mov eax, [esp+10h+arg_0]
.text:0096D041 push eax
.text:0096D042 mov ecx, esi
.text:0096D044 call sub_96CD60
.text:0096D049 cmp [esp+10h+arg_4], bl
.text:0096D04D jz short loc_96D080
.text:0096D04F cmp dword ptr [esi+8], 1
.text:0096D053 jnz short loc_96D067
.text:0096D055 rdtsc
.text:0096D057 mov [esi+10h], eax
.text:0096D05A mov [esi+14h], edx
.text:0096D05D mov eax, esi
.text:0096D05F pop esi
.text:0096D060 pop ebx
.text:0096D061 add esp, 8
.text:0096D064 retn 8
.text:0096D067 ; ---------------------------------------------------------------------------
.text:0096D067
.text:0096D067 loc_96D067: ; CODE XREF: sub_96CFF0+63j
.text:0096D067 lea ecx, [esp+10h+PerformanceCount]
.text:0096D06B push ecx ; lpPerformanceCount
.text:0096D06C call ds:QueryPerformanceCounter
.text:0096D072 mov edx, dword ptr [esp+10h+PerformanceCount]
.text:0096D076 mov eax, dword ptr [esp+10h+PerformanceCount+4]
.text:0096D07A mov [esi+10h], edx
.text:0096D07D mov [esi+14h], eax
.text:0096D080
.text:0096D080 loc_96D080: ; CODE XREF: sub_96CFF0+5Dj
.text:0096D080 mov eax, esi
.text:0096D082 pop esi
.text:0096D083 pop ebx
.text:0096D084 add esp, 8
.text:0096D087 retn 8
.text:0096D087 sub_96CFF0 endp
.text:0096D087
.text:0096D087 ; ---------------------------------------------------------------------------
.text:0096D08A align 10h
.text:0096D090
.text:0096D090 ; =============== S U B R O U T I N E =======================================
.text:0096D090
.text:0096D090
.text:0096D090 sub_96D090 proc near ; CODE XREF: sub_914D80+46p
.text:0096D090 ; sub_918ED0+7Cp
.text:0096D090
.text:0096D090 PerformanceCount= LARGE_INTEGER ptr -8
.text:0096D090
.text:0096D090 sub esp, 8
.text:0096D093 push esi
.text:0096D094 mov esi, ecx
.text:0096D096 mov eax, [esi+10h]
.text:0096D099 or eax, [esi+14h]
.text:0096D09C jz short loc_96D111
.text:0096D09E cmp dword ptr [esi+8], 1
.text:0096D0A2 jnz short loc_96D0A8
.text:0096D0A4 rdtsc
.text:0096D0A6 jmp short loc_96D0BB
.text:0096D0A8 ; ---------------------------------------------------------------------------
.text:0096D0A8
.text:0096D0A8 loc_96D0A8: ; CODE XREF: sub_96D090+12j
.text:0096D0A8 lea ecx, [esp+0Ch+PerformanceCount]
.text:0096D0AC push ecx ; lpPerformanceCount
.text:0096D0AD call ds:QueryPerformanceCounter
.text:0096D0B3 mov eax, dword ptr [esp+0Ch+PerformanceCount]
.text:0096D0B7 mov edx, dword ptr [esp+0Ch+PerformanceCount+4]
.text:0096D0BB
.text:0096D0BB loc_96D0BB: ; CODE XREF: sub_96D090+16j
.text:0096D0BB sub eax, [esi+10h]
.text:0096D0BE push edi
.text:0096D0BF sbb edx, [esi+14h]
.text:0096D0C2 mov ecx, eax
.text:0096D0C4 mov eax, edx
.text:0096D0C6 mov edx, dword_E02F34
.text:0096D0CC cmp eax, edx
.text:0096D0CE jb short loc_96D0FA
.text:0096D0D0 mov edi, dword_E02F30
.text:0096D0D6 ja short loc_96D0DC
.text:0096D0D8 cmp ecx, edi
.text:0096D0DA jbe short loc_96D0FA
.text:0096D0DC
.text:0096D0DC loc_96D0DC: ; CODE XREF: sub_96D090+46j
.text:0096D0DC sub ecx, edi
.text:0096D0DE sbb eax, edx
.text:0096D0E0 add [esi+18h], ecx
.text:0096D0E3 pop edi
.text:0096D0E4 mov dword ptr [esi+10h], 0
.text:0096D0EB adc [esi+1Ch], eax
.text:0096D0EE mov dword ptr [esi+14h], 0
.text:0096D0F5 pop esi
.text:0096D0F6 add esp, 8
.text:0096D0F9 retn
.text:0096D0FA ; ---------------------------------------------------------------------------
.text:0096D0FA
.text:0096D0FA loc_96D0FA: ; CODE XREF: sub_96D090+3Ej
.text:0096D0FA ; sub_96D090+4Aj
.text:0096D0FA add dword ptr [esi+18h], 1
.text:0096D0FE mov dword ptr [esi+10h], 0
.text:0096D105 mov dword ptr [esi+14h], 0
.text:0096D10C adc dword ptr [esi+1Ch], 0
.text:0096D110 pop edi
.text:0096D111
.text:0096D111 loc_96D111: ; CODE XREF: sub_96D090+Cj
.text:0096D111 pop esi
.text:0096D112 add esp, 8
.text:0096D115 retn
.text:0096D115 sub_96D090 endp
.text:0096D115
.text:0096D115 ; ---------------------------------------------------------------------------
.text:0096D116 align 10h
.text:0096D120 dd 5610EC83h, 568BF18Bh, 14560B10h, 8B18468Bh, 44891C4Eh
.text:0096D120 dd 4C890424h, 57740824h, 1087E83h, 310F0475h, 448D13EBh
.text:0096D120 dd 0FF500C24h
.text:0096D14C ; ---------------------------------------------------------------------------
.text:0096D14C adc eax, offset QueryPerformanceCounter
.text:0096D151 mov eax, [esp+0Ch]
.text:0096D155 mov edx, [esp+10h]
.text:0096D159 sub eax, [esi+10h]
.text:0096D15C push edi
.text:0096D15D sbb edx, [esi+14h]
.text:0096D160 mov ecx, eax
.text:0096D162 mov eax, edx
.text:0096D164 mov edx, dword_E02F34
.text:0096D16A cmp eax, edx
.text:0096D16C jb short loc_96D188
.text:0096D16E mov edi, dword_E02F30
.text:0096D174 ja short loc_96D17A
.text:0096D176 cmp ecx, edi
.text:0096D178 jbe short loc_96D188
.text:0096D17A
.text:0096D17A loc_96D17A: ; CODE XREF: .text:0096D174j
.text:0096D17A sub ecx, edi
.text:0096D17C sbb eax, edx
.text:0096D17E add [esp+8], ecx
.text:0096D182 adc [esp+0Ch], eax
.text:0096D186 jmp short loc_96D192
.text:0096D188 ; ---------------------------------------------------------------------------
.text:0096D188
.text:0096D188 loc_96D188: ; CODE XREF: .text:0096D16Cj
.text:0096D188 ; .text:0096D178j
.text:0096D188 add dword ptr [esp+8], 1
.text:0096D18D adc dword ptr [esp+0Ch], 0
.text:0096D192
.text:0096D192 loc_96D192: ; CODE XREF: .text:0096D186j
.text:0096D192 pop edi
.text:0096D193 fld dword ptr [esi+20h]
.text:0096D196 pop esi
.text:0096D197 fild qword ptr [esp]
.text:0096D19A fmulp st(1), st
.text:0096D19C fadd ds:dbl_BAA0E8
.text:0096D1A2 add esp, 10h
.text:0096D1A5 jmp __ftol2
.text:0096D1AA
.text:0096D1AA ; =============== S U B R O U T I N E =======================================
.text:0096D1AA
.text:0096D1AA
.text:0096D1AA sub_96D1AA proc near ; CODE XREF: sub_96D98C+36p
.text:0096D1AA ; sub_96DA46+3Ep ...
.text:0096D1AA
.text:0096D1AA arg_0 = dword ptr 4
.text:0096D1AA
.text:0096D1AA push offset byte_B1F804
.text:0096D1AF push [esp+4+arg_0]
.text:0096D1B3 push ecx
.text:0096D1B4 call sub_96E36A
.text:0096D1B9 add esp, 0Ch
.text:0096D1BC retn 4
.text:0096D1BC sub_96D1AA endp
.text:0096D1BC
.text:0096D1BF
.text:0096D1BF ; =============== S U B R O U T I N E =======================================
.text:0096D1BF
.text:0096D1BF
.text:0096D1BF sub_96D1BF proc near ; CODE XREF: sub_96D2D1+80p
.text:0096D1BF
.text:0096D1BF arg_0 = dword ptr 4
.text:0096D1BF
.text:0096D1BF push esi
.text:0096D1C0 push 1
.text:0096D1C2 push [esp+8+arg_0]
.text:0096D1C6 mov esi, ecx
.text:0096D1C8 call sub_96E440
.text:0096D1CD push eax
.text:0096D1CE mov ecx, esi
.text:0096D1D0 call sub_96E486
.text:0096D1D5 pop esi
.text:0096D1D6 retn 8
.text:0096D1D6 sub_96D1BF endp
.text:0096D1D6
.text:0096D1D9
.text:0096D1D9 ; =============== S U B R O U T I N E =======================================
.text:0096D1D9
.text:0096D1D9
.text:0096D1D9 sub_96D1D9 proc near ; CODE XREF: sub_96D6A0+21p
.text:0096D1D9 push esi
.text:0096D1DA push offset aCmassivetime ; "CMassiveTime"
.text:0096D1DF mov esi, ecx
.text:0096D1E1 call sub_96E384
.text:0096D1E6 xor eax, eax
.text:0096D1E8 mov [esi+14h], eax
.text:0096D1EB mov [esi+18h], eax
.text:0096D1EE mov [esi+1Ch], eax
.text:0096D1F1 mov [esi+20h], eax
.text:0096D1F4 mov dword ptr [esi], offset off_C2EFA8
.text:0096D1FA mov eax, esi
.text:0096D1FC pop esi
.text:0096D1FD retn
.text:0096D1FD sub_96D1D9 endp
.text:0096D1FD
.text:0096D1FE
.text:0096D1FE ; =============== S U B R O U T I N E =======================================
.text:0096D1FE
.text:0096D1FE
.text:0096D1FE sub_96D1FE proc near ; CODE XREF: sub_96D6A0+29p
.text:0096D1FE ; sub_96D6A0+36p
.text:0096D1FE push esi
.text:0096D1FF push offset aCflag ; "CFlag"
.text:0096D204 mov esi, ecx
.text:0096D206 call sub_96E384
.text:0096D20B mov dword ptr [esi], offset off_C2F864
.text:0096D211 mov eax, esi
.text:0096D213 pop esi
.text:0096D214 retn
.text:0096D214 sub_96D1FE endp
.text:0096D214
.text:0096D215
.text:0096D215 ; =============== S U B R O U T I N E =======================================
.text:0096D215
.text:0096D215
.text:0096D215 sub_96D215 proc near ; CODE XREF: sub_647D50+Cp
.text:0096D215 ; sub_96E07A+1Cp ...
.text:0096D215 mov eax, dword_E02F44
.text:0096D21A retn
.text:0096D21A sub_96D215 endp
.text:0096D21A
.text:0096D21B
.text:0096D21B ; =============== S U B R O U T I N E =======================================
.text:0096D21B
.text:0096D21B
.text:0096D21B sub_96D21B proc near ; CODE XREF: sub_96D6A0+D2p
.text:0096D21B
.text:0096D21B arg_0 = dword ptr 4
.text:0096D21B
.text:0096D21B push ebx
.text:0096D21C push esi
.text:0096D21D mov esi, [esp+8+arg_0]
.text:0096D221 test esi, esi
.text:0096D223 mov ebx, ecx
.text:0096D225 jnz short loc_96D248
.text:0096D227 push offset aInitstructNull ; "InitStruct: NULL\n"
.text:0096D22C push 0FFFFFF3Ah
.text:0096D231 push ebx
.text:0096D232 call sub_96E36A
.text:0096D237 add esp, 0Ch
.text:0096D23A neg eax
.text:0096D23C sbb al, al
.text:0096D23E inc al
.text:0096D240 movzx eax, al
.text:0096D243 jmp loc_96D2CC
.text:0096D248 ; ---------------------------------------------------------------------------
.text:0096D248
.text:0096D248 loc_96D248: ; CODE XREF: sub_96D21B+Aj
.text:0096D248 mov eax, [esi]
.text:0096D24A test eax, eax
.text:0096D24C push edi
.text:0096D24D jz short loc_96D2AF
.text:0096D24F push eax ; Str
.text:0096D250 mov ecx, ebx
.text:0096D252 call sub_96E348
.text:0096D257 test eax, eax
.text:0096D259 jz short loc_96D2AF
.text:0096D25B push dword ptr [esi] ; Str
.text:0096D25D call strlen
.text:0096D262 mov edi, 100h
.text:0096D267 cmp eax, edi
.text:0096D269 pop ecx
.text:0096D26A ja short loc_96D2AF
.text:0096D26C mov eax, [esi+4]
.text:0096D26F test eax, eax
.text:0096D271 jz short loc_96D2A3
.text:0096D273 push eax ; Str
.text:0096D274 mov ecx, ebx
.text:0096D276 call sub_96E348
.text:0096D27B test eax, eax
.text:0096D27D jz short loc_96D2A3
.text:0096D27F push dword ptr [esi+4] ; Str
.text:0096D282 call strlen
.text:0096D287 cmp eax, edi
.text:0096D289 pop ecx
.text:0096D28A ja short loc_96D2A3
.text:0096D28C cmp dword ptr [esi+8], 0
.text:0096D290 jnz short loc_96D29E
.text:0096D292 push offset aInitstructPubl ; "InitStruct: PublicKey\n"
.text:0096D297 push 0FFFFFF3Dh
.text:0096D29C jmp short loc_96D2B9
.text:0096D29E ; ---------------------------------------------------------------------------
.text:0096D29E
.text:0096D29E loc_96D29E: ; CODE XREF: sub_96D21B+75j
.text:0096D29E xor eax, eax
.text:0096D2A0 inc eax
.text:0096D2A1 jmp short loc_96D2CB
.text:0096D2A3 ; ---------------------------------------------------------------------------
.text:0096D2A3
.text:0096D2A3 loc_96D2A3: ; CODE XREF: sub_96D21B+56j
.text:0096D2A3 ; sub_96D21B+62j ...
.text:0096D2A3 push offset aInitstructInva ; "InitStruct: Invalid SKU ID\n"
.text:0096D2A8 push 0FFFFFF3Ch
.text:0096D2AD jmp short loc_96D2B9
.text:0096D2AF ; ---------------------------------------------------------------------------
.text:0096D2AF
.text:0096D2AF loc_96D2AF: ; CODE XREF: sub_96D21B+32j
.text:0096D2AF ; sub_96D21B+3Ej ...
.text:0096D2AF push offset aInitstructIn_0 ; "InitStruct: Invalid SKU\n"
.text:0096D2B4 push 0FFFFFF3Bh
.text:0096D2B9
.text:0096D2B9 loc_96D2B9: ; CODE XREF: sub_96D21B+81j
.text:0096D2B9 ; sub_96D21B+92j
.text:0096D2B9 push ebx
.text:0096D2BA call sub_96E36A
.text:0096D2BF add esp, 0Ch
.text:0096D2C2 neg eax
.text:0096D2C4 sbb al, al
.text:0096D2C6 inc al
.text:0096D2C8 movzx eax, al
.text:0096D2CB
.text:0096D2CB loc_96D2CB: ; CODE XREF: sub_96D21B+86j
.text:0096D2CB pop edi
.text:0096D2CC
.text:0096D2CC loc_96D2CC: ; CODE XREF: sub_96D21B+28j
.text:0096D2CC pop esi
.text:0096D2CD pop ebx
.text:0096D2CE retn 4
.text:0096D2CE sub_96D21B endp
.text:0096D2CE
.text:0096D2D1
.text:0096D2D1 ; =============== S U B R O U T I N E =======================================
.text:0096D2D1
.text:0096D2D1
.text:0096D2D1 sub_96D2D1 proc near ; CODE XREF: sub_96D7E7+33p
.text:0096D2D1
.text:0096D2D1 arg_0 = dword ptr 4
.text:0096D2D1
.text:0096D2D1 push ebp
.text:0096D2D2 mov ebp, [esp+4+arg_0]
.text:0096D2D6 test ebp, ebp
.text:0096D2D8 push esi
.text:0096D2D9 mov esi, ecx
.text:0096D2DB jnz short loc_96D2F2
.text:0096D2DD push offset byte_B1F804
.text:0096D2E2 push 0FFFFFED4h
.text:0096D2E7 push esi
.text:0096D2E8 call sub_96E36A
.text:0096D2ED add esp, 0Ch
.text:0096D2F0 jmp short loc_96D342
.text:0096D2F2 ; ---------------------------------------------------------------------------
.text:0096D2F2
.text:0096D2F2 loc_96D2F2: ; CODE XREF: sub_96D2D1+Aj
.text:0096D2F2 lea eax, [esi+0E8h]
.text:0096D2F8 cmp ebp, [eax]
.text:0096D2FA jnz short loc_96D2FF
.text:0096D2FC and dword ptr [eax], 0
.text:0096D2FF
.text:0096D2FF loc_96D2FF: ; CODE XREF: sub_96D2D1+29j
.text:0096D2FF push ebx
.text:0096D300 push edi
.text:0096D301 lea edi, [esi+0D8h]
.text:0096D307 mov ecx, edi
.text:0096D309 call sub_96E456
.text:0096D30E lea ebx, [esi+0E0h]
.text:0096D314 jmp short loc_96D328
.text:0096D316 ; ---------------------------------------------------------------------------
.text:0096D316
.text:0096D316 loc_96D316: ; CODE XREF: sub_96D2D1+5Aj
.text:0096D316 mov ecx, edi
.text:0096D318 call sub_96E46A
.text:0096D31D cmp eax, ebp
.text:0096D31F mov ecx, edi
.text:0096D321 jz short loc_96D347
.text:0096D323 call sub_96E45C
.text:0096D328
.text:0096D328 loc_96D328: ; CODE XREF: sub_96D2D1+43j
.text:0096D328 cmp dword ptr [ebx], 0
.text:0096D32B jnz short loc_96D316
.text:0096D32D push offset byte_B1F804
.text:0096D332 push 0FFFFFED4h
.text:0096D337 push esi
.text:0096D338 call sub_96E36A
.text:0096D33D add esp, 0Ch
.text:0096D340
.text:0096D340 loc_96D340: ; CODE XREF: sub_96D2D1+90j
.text:0096D340 pop edi
.text:0096D341 pop ebx
.text:0096D342
.text:0096D342 loc_96D342: ; CODE XREF: sub_96D2D1+1Fj
.text:0096D342 pop esi
.text:0096D343 pop ebp
.text:0096D344 retn 4
.text:0096D347 ; ---------------------------------------------------------------------------
.text:0096D347
.text:0096D347 loc_96D347: ; CODE XREF: sub_96D2D1+50j
.text:0096D347 push 1
.text:0096D349 call sub_96E46A
.text:0096D34E push eax
.text:0096D34F mov ecx, edi
.text:0096D351 call sub_96D1BF
.text:0096D356 mov eax, [ebp+0]
.text:0096D359 push 1
.text:0096D35B mov ecx, ebp
.text:0096D35D call dword ptr [eax]
.text:0096D35F xor eax, eax
.text:0096D361 jmp short loc_96D340
.text:0096D361 sub_96D2D1 endp
.text:0096D361
.text:0096D363
.text:0096D363 ; =============== S U B R O U T I N E =======================================
.text:0096D363
.text:0096D363
.text:0096D363 sub_96D363 proc near ; CODE XREF: sub_96DA46:loc_96DA9Ap
.text:0096D363 ; sub_96DAD0:loc_96DB46p
.text:0096D363 mov eax, dword_E02F44
.text:0096D368 test eax, eax
.text:0096D36A jnz short loc_96D36D
.text:0096D36C retn
.text:0096D36D ; ---------------------------------------------------------------------------
.text:0096D36D
.text:0096D36D loc_96D36D: ; CODE XREF: sub_96D363+7j
.text:0096D36D mov eax, [eax+10h]
.text:0096D370 retn
.text:0096D370 sub_96D363 endp
.text:0096D370
.text:0096D371
.text:0096D371 ; =============== S U B R O U T I N E =======================================
.text:0096D371
.text:0096D371
.text:0096D371 sub_96D371 proc near ; CODE XREF: sub_971D38+32p
.text:0096D371 ; sub_9726B6+C6p
.text:0096D371
.text:0096D371 arg_0 = dword ptr 4
.text:0096D371
.text:0096D371 xor eax, eax
.text:0096D373 mov ax, [ecx+98h]
.text:0096D37A and eax, [esp+arg_0]
.text:0096D37E neg ax
.text:0096D381 sbb eax, eax
.text:0096D383 neg eax
.text:0096D385 retn 4
.text:0096D385 sub_96D371 endp
.text:0096D385
.text:0096D388
.text:0096D388 ; =============== S U B R O U T I N E =======================================
.text:0096D388
.text:0096D388
.text:0096D388 sub_96D388 proc near ; CODE XREF: sub_9725EA+Fp
.text:0096D388 ; sub_97279E+5Fp
.text:0096D388
.text:0096D388 arg_0 = dword ptr 4
.text:0096D388
.text:0096D388 xor eax, eax
.text:0096D38A mov ax, [ecx+80h]
.text:0096D391 and eax, [esp+arg_0]
.text:0096D395 neg ax
.text:0096D398 sbb eax, eax
.text:0096D39A neg eax
.text:0096D39C retn 4
.text:0096D39C sub_96D388 endp
.text:0096D39C
.text:0096D39F
.text:0096D39F ; =============== S U B R O U T I N E =======================================
.text:0096D39F
.text:0096D39F
.text:0096D39F sub_96D39F proc near ; CODE XREF: sub_96EBDF+18p
.text:0096D39F ; sub_96EBDF+70p ...
.text:0096D39F add ecx, 48h
.text:0096D3A2 jmp sub_97045B
.text:0096D3A2 sub_96D39F endp
.text:0096D3A2
.text:0096D3A7
.text:0096D3A7 ; =============== S U B R O U T I N E =======================================
.text:0096D3A7
.text:0096D3A7
.text:0096D3A7 sub_96D3A7 proc near ; CODE XREF: sub_9729BC+20p
.text:0096D3A7 mov eax, [ecx+0ACh]
.text:0096D3AD mov edx, [ecx+0B0h]
.text:0096D3B3 retn
.text:0096D3B3 sub_96D3A7 endp
.text:0096D3B3
.text:0096D3B4
.text:0096D3B4 ; =============== S U B R O U T I N E =======================================
.text:0096D3B4
.text:0096D3B4
.text:0096D3B4 sub_96D3B4 proc near ; CODE XREF: sub_97279E+49p
.text:0096D3B4 mov eax, [ecx+0B4h]
.text:0096D3BA mov edx, [ecx+0B8h]
.text:0096D3C0 retn
.text:0096D3C0 sub_96D3B4 endp
.text:0096D3C0
.text:0096D3C1
.text:0096D3C1 ; =============== S U B R O U T I N E =======================================
.text:0096D3C1
.text:0096D3C1
.text:0096D3C1 sub_96D3C1 proc near ; CODE XREF: sub_96E07A+81p
.text:0096D3C1 ; sub_96E07A+B0p ...
.text:0096D3C1 mov eax, [ecx+0E8h]
.text:0096D3C7 retn
.text:0096D3C7 sub_96D3C1 endp
.text:0096D3C7
.text:0096D3C8
.text:0096D3C8 ; =============== S U B R O U T I N E =======================================
.text:0096D3C8
.text:0096D3C8
.text:0096D3C8 sub_96D3C8 proc near ; CODE XREF: sub_974326+61p
.text:0096D3C8
.text:0096D3C8 arg_0 = dword ptr 4
.text:0096D3C8 arg_4 = dword ptr 8
.text:0096D3C8
.text:0096D3C8 ; FUNCTION CHUNK AT .text:00970477 SIZE 00000014 BYTES
.text:0096D3C8
.text:0096D3C8 add ecx, 28h
.text:0096D3CB jmp loc_970477
.text:0096D3CB sub_96D3C8 endp
.text:0096D3CB
.text:0096D3D0
.text:0096D3D0 ; =============== S U B R O U T I N E =======================================
.text:0096D3D0
.text:0096D3D0
.text:0096D3D0 ; int __stdcall sub_96D3D0(char *Str)
.text:0096D3D0 sub_96D3D0 proc near ; CODE XREF: sub_96D42A+9p
.text:0096D3D0
.text:0096D3D0 Str = dword ptr 4
.text:0096D3D0
.text:0096D3D0 push ebx
.text:0096D3D1 mov ebx, [esp+4+Str]
.text:0096D3D5 test ebx, ebx
.text:0096D3D7 push esi
.text:0096D3D8 mov esi, ecx
.text:0096D3DA jnz short loc_96D3E0
.text:0096D3DC xor eax, eax
.text:0096D3DE jmp short loc_96D41E
.text:0096D3E0 ; ---------------------------------------------------------------------------
.text:0096D3E0
.text:0096D3E0 loc_96D3E0: ; CODE XREF: sub_96D3D0+Aj
.text:0096D3E0 push edi
.text:0096D3E1 push ebx ; Str
.text:0096D3E2 call strlen
.text:0096D3E7 pop ecx
.text:0096D3E8 lea edi, [esi+0C8h]
.text:0096D3EE mov ecx, edi
.text:0096D3F0 call sub_96E456
.text:0096D3F5 jmp short loc_96D412
.text:0096D3F7 ; ---------------------------------------------------------------------------
.text:0096D3F7
.text:0096D3F7 loc_96D3F7: ; CODE XREF: sub_96D3D0+49j
.text:0096D3F7 mov ecx, edi
.text:0096D3F9 call sub_96E46A
.text:0096D3FE push eax ; char *
.text:0096D3FF push ebx ; Str
.text:0096D400 call sub_9702AA
.text:0096D405 test eax, eax
.text:0096D407 pop ecx
.text:0096D408 pop ecx
.text:0096D409 mov ecx, edi
.text:0096D40B jz short loc_96D423
.text:0096D40D call sub_96E45C
.text:0096D412
.text:0096D412 loc_96D412: ; CODE XREF: sub_96D3D0+25j
.text:0096D412 cmp dword ptr [esi+0D0h], 0
.text:0096D419 jnz short loc_96D3F7
.text:0096D41B xor eax, eax
.text:0096D41D
.text:0096D41D loc_96D41D: ; CODE XREF: sub_96D3D0+58j
.text:0096D41D pop edi
.text:0096D41E
.text:0096D41E loc_96D41E: ; CODE XREF: sub_96D3D0+Ej
.text:0096D41E pop esi
.text:0096D41F pop ebx
.text:0096D420 retn 4
.text:0096D423 ; ---------------------------------------------------------------------------
.text:0096D423
.text:0096D423 loc_96D423: ; CODE XREF: sub_96D3D0+3Bj
.text:0096D423 call sub_96E46A
.text:0096D428 jmp short loc_96D41D
.text:0096D428 sub_96D3D0 endp
.text:0096D428
.text:0096D42A
.text:0096D42A ; =============== S U B R O U T I N E =======================================
.text:0096D42A
.text:0096D42A
.text:0096D42A ; int __stdcall sub_96D42A(char *Str)
.text:0096D42A sub_96D42A proc near ; CODE XREF: sub_970D31+87p
.text:0096D42A
.text:0096D42A Str = dword ptr 4
.text:0096D42A
.text:0096D42A push ebx
.text:0096D42B mov ebx, [esp+4+Str]
.text:0096D42F push ebp
.text:0096D430 push ebx ; Str
.text:0096D431 mov ebp, ecx
.text:0096D433 call sub_96D3D0
.text:0096D438 test eax, eax
.text:0096D43A jz short loc_96D440
.text:0096D43C xor eax, eax
.text:0096D43E jmp short loc_96D4A4
.text:0096D440 ; ---------------------------------------------------------------------------
.text:0096D440
.text:0096D440 loc_96D440: ; CODE XREF: sub_96D42A+10j
.text:0096D440 push esi
.text:0096D441 push edi
.text:0096D442 push ebx ; Str
.text:0096D443 call strlen
.text:0096D448 mov esi, eax
.text:0096D44A inc esi
.text:0096D44B push esi ; Size
.text:0096D44C call off_CDBF94
.text:0096D452 mov edi, eax
.text:0096D454 test edi, edi
.text:0096D456 pop ecx
.text:0096D457 pop ecx
.text:0096D458 jnz short loc_96D471
.text:0096D45A push offset byte_B1F804
.text:0096D45F push 0FFFFFF9Dh
.text:0096D461 push ebp
.text:0096D462 call sub_96E36A
.text:0096D467 and [ebp+10h], edi
.text:0096D46A add esp, 0Ch
.text:0096D46D xor eax, eax
.text:0096D46F jmp short loc_96D4A2
.text:0096D471 ; ---------------------------------------------------------------------------
.text:0096D471
.text:0096D471 loc_96D471: ; CODE XREF: sub_96D42A+2Ej
.text:0096D471 push esi ; Count
.text:0096D472 push ebx ; Source
.text:0096D473 push edi ; Dest
.text:0096D474 call strncpy
.text:0096D479 push 0Ch ; Size
.text:0096D47B call j_malloc
.text:0096D480 add esp, 10h
.text:0096D483 test eax, eax
.text:0096D485 jz short loc_96D491
.text:0096D487 push edi
.text:0096D488 mov ecx, eax
.text:0096D48A call sub_970437
.text:0096D48F jmp short loc_96D493
.text:0096D491 ; ---------------------------------------------------------------------------
.text:0096D491
.text:0096D491 loc_96D491: ; CODE XREF: sub_96D42A+5Bj
.text:0096D491 xor eax, eax
.text:0096D493
.text:0096D493 loc_96D493: ; CODE XREF: sub_96D42A+65j
.text:0096D493 push eax
.text:0096D494 lea ecx, [ebp+0C8h]
.text:0096D49A call sub_96E415
.text:0096D49F xor eax, eax
.text:0096D4A1 inc eax
.text:0096D4A2
.text:0096D4A2 loc_96D4A2: ; CODE XREF: sub_96D42A+45j
.text:0096D4A2 pop edi
.text:0096D4A3 pop esi
.text:0096D4A4
.text:0096D4A4 loc_96D4A4: ; CODE XREF: sub_96D42A+14j
.text:0096D4A4 pop ebp
.text:0096D4A5 pop ebx
.text:0096D4A6 retn 4
.text:0096D4A6 sub_96D42A endp
.text:0096D4A6
.text:0096D4A9
.text:0096D4A9 ; =============== S U B R O U T I N E =======================================
.text:0096D4A9
.text:0096D4A9
.text:0096D4A9 ; int __stdcall sub_96D4A9(char *Str)
.text:0096D4A9 sub_96D4A9 proc near ; CODE XREF: sub_96D7E7+5Bp
.text:0096D4A9
.text:0096D4A9 Str = dword ptr 4
.text:0096D4A9
.text:0096D4A9 push esi
.text:0096D4AA push edi
.text:0096D4AB push [esp+8+Str] ; Str
.text:0096D4AF mov esi, ecx
.text:0096D4B1 call strlen
.text:0096D4B6 pop ecx
.text:0096D4B7 lea edi, [esi+0C8h]
.text:0096D4BD mov ecx, edi
.text:0096D4BF call sub_96E456
.text:0096D4C4 jmp short loc_96D4E4
.text:0096D4C6 ; ---------------------------------------------------------------------------
.text:0096D4C6
.text:0096D4C6 loc_96D4C6: ; CODE XREF: sub_96D4A9+42j
.text:0096D4C6 mov ecx, edi
.text:0096D4C8 call sub_96E46A
.text:0096D4CD push eax ; char *
.text:0096D4CE push [esp+0Ch+Str] ; Str
.text:0096D4D2 call sub_9702AA
.text:0096D4D7 test eax, eax
.text:0096D4D9 pop ecx
.text:0096D4DA pop ecx
.text:0096D4DB mov ecx, edi
.text:0096D4DD jz short loc_96D4F4
.text:0096D4DF call sub_96E45C
.text:0096D4E4
.text:0096D4E4 loc_96D4E4: ; CODE XREF: sub_96D4A9+1Bj
.text:0096D4E4 cmp dword ptr [esi+0D0h], 0
.text:0096D4EB jnz short loc_96D4C6
.text:0096D4ED xor eax, eax
.text:0096D4EF
.text:0096D4EF loc_96D4EF: ; CODE XREF: sub_96D4A9+6Aj
.text:0096D4EF pop edi
.text:0096D4F0 pop esi
.text:0096D4F1 retn 4
.text:0096D4F4 ; ---------------------------------------------------------------------------
.text:0096D4F4
.text:0096D4F4 loc_96D4F4: ; CODE XREF: sub_96D4A9+34j
.text:0096D4F4 call sub_96E46A
.text:0096D4F9 push eax ; Memory
.text:0096D4FA call off_CDBF90
.text:0096D500 pop ecx
.text:0096D501 push 1
.text:0096D503 push dword ptr [esi+0D0h]
.text:0096D509 mov ecx, edi
.text:0096D50B call sub_96E486
.text:0096D510 xor eax, eax
.text:0096D512 inc eax
.text:0096D513 jmp short loc_96D4EF
.text:0096D513 sub_96D4A9 endp
.text:0096D513
.text:0096D515
.text:0096D515 ; =============== S U B R O U T I N E =======================================
.text:0096D515
.text:0096D515
.text:0096D515 sub_96D515 proc near ; CODE XREF: sub_96D98C:loc_96D99Bp
.text:0096D515 ; sub_96DE94+16Dp
.text:0096D515 mov eax, dword_E02F44
.text:0096D51A test eax, eax
.text:0096D51C jz short loc_96D53D
.text:0096D51E test byte ptr [eax+80h], 4
.text:0096D525 jnz short loc_96D53D
.text:0096D527 cmp dword ptr [eax+10h], 2
.text:0096D52B jnz short loc_96D53D
.text:0096D52D mov eax, [eax+0E8h]
.text:0096D533 test eax, eax
.text:0096D535 jz short loc_96D53D
.text:0096D537 cmp dword ptr [eax+10h], 2
.text:0096D53B jz short loc_96D540
.text:0096D53D
.text:0096D53D loc_96D53D: ; CODE XREF: sub_96D515+7j
.text:0096D53D ; sub_96D515+10j ...
.text:0096D53D xor eax, eax
.text:0096D53F retn
.text:0096D540 ; ---------------------------------------------------------------------------
.text:0096D540
.text:0096D540 loc_96D540: ; CODE XREF: sub_96D515+26j
.text:0096D540 mov ecx, eax
.text:0096D542 call sub_96FE5F
.text:0096D547 xor eax, eax
.text:0096D549 inc eax
.text:0096D54A retn
.text:0096D54A sub_96D515 endp
.text:0096D54A
.text:0096D54B
.text:0096D54B ; =============== S U B R O U T I N E =======================================
.text:0096D54B
.text:0096D54B
.text:0096D54B sub_96D54B proc near ; CODE XREF: sub_96D98C+1Ap
.text:0096D54B ; sub_96DA46+2Ep ...
.text:0096D54B push esi
.text:0096D54C push edi
.text:0096D54D push 48h ; Size
.text:0096D54F mov edi, ecx
.text:0096D551 call j_malloc
.text:0096D556 test eax, eax
.text:0096D558 pop ecx
.text:0096D559 jz short loc_96D566
.text:0096D55B mov ecx, eax
.text:0096D55D call sub_97052F
.text:0096D562 mov esi, eax
.text:0096D564 jmp short loc_96D568
.text:0096D566 ; ---------------------------------------------------------------------------
.text:0096D566
.text:0096D566 loc_96D566: ; CODE XREF: sub_96D54B+Ej
.text:0096D566 xor esi, esi
.text:0096D568
.text:0096D568 loc_96D568: ; CODE XREF: sub_96D54B+19j
.text:0096D568 test esi, esi
.text:0096D56A jnz short loc_96D58B
.text:0096D56C mov eax, dword_E02F44
.text:0096D571 and [eax+10h], esi
.text:0096D574 push offset byte_B1F804
.text:0096D579 push 0FFFFFF9Dh
.text:0096D57B push dword_E02F44
.text:0096D581 call sub_96E36A
.text:0096D586 add esp, 0Ch
.text:0096D589 jmp short loc_96D5BE
.text:0096D58B ; ---------------------------------------------------------------------------
.text:0096D58B
.text:0096D58B loc_96D58B: ; CODE XREF: sub_96D54B+1Fj
.text:0096D58B push edi
.text:0096D58C mov ecx, esi
.text:0096D58E call sub_97064C
.text:0096D593 test eax, eax
.text:0096D595 jz short loc_96D59F
.text:0096D597 push eax
.text:0096D598 push offset aFailedToCrea_1 ; "Failed To Create CloseSession Request: "...
.text:0096D59D jmp short loc_96D5B0
.text:0096D59F ; ---------------------------------------------------------------------------
.text:0096D59F
.text:0096D59F loc_96D59F: ; CODE XREF: sub_96D54B+4Aj
.text:0096D59F mov ecx, esi
.text:0096D5A1 call sub_96EC64
.text:0096D5A6 test eax, eax
.text:0096D5A8 jz short loc_96D5BC
.text:0096D5AA push eax
.text:0096D5AB push offset aFailedToSubmit ; "Failed To Submit CloseSession Request: "...
.text:0096D5B0
.text:0096D5B0 loc_96D5B0: ; CODE XREF: sub_96D54B+52j
.text:0096D5B0 push eax
.text:0096D5B1 push edi
.text:0096D5B2 call sub_96E36A
.text:0096D5B7 add esp, 10h
.text:0096D5BA jmp short loc_96D5BE
.text:0096D5BC ; ---------------------------------------------------------------------------
.text:0096D5BC
.text:0096D5BC loc_96D5BC: ; CODE XREF: sub_96D54B+5Dj
.text:0096D5BC xor eax, eax
.text:0096D5BE
.text:0096D5BE loc_96D5BE: ; CODE XREF: sub_96D54B+3Ej
.text:0096D5BE ; sub_96D54B+6Fj
.text:0096D5BE pop edi
.text:0096D5BF pop esi
.text:0096D5C0 retn
.text:0096D5C0 sub_96D54B endp
.text:0096D5C0
.text:0096D5C1
.text:0096D5C1 ; =============== S U B R O U T I N E =======================================
.text:0096D5C1
.text:0096D5C1
.text:0096D5C1 ; int __thiscall sub_96D5C1(int)
.text:0096D5C1 sub_96D5C1 proc near ; CODE XREF: sub_96DDF4+68p
.text:0096D5C1 push esi
.text:0096D5C2 push edi
.text:0096D5C3 push 74h ; Size
.text:0096D5C5 mov esi, ecx
.text:0096D5C7 call j_malloc
.text:0096D5CC test eax, eax
.text:0096D5CE pop ecx
.text:0096D5CF jz short loc_96D5DC
.text:0096D5D1 mov ecx, eax
.text:0096D5D3 call sub_9706D0
.text:0096D5D8 mov edi, eax
.text:0096D5DA jmp short loc_96D5DE
.text:0096D5DC ; ---------------------------------------------------------------------------
.text:0096D5DC
.text:0096D5DC loc_96D5DC: ; CODE XREF: sub_96D5C1+Ej
.text:0096D5DC xor edi, edi
.text:0096D5DE
.text:0096D5DE loc_96D5DE: ; CODE XREF: sub_96D5C1+19j
.text:0096D5DE test edi, edi
.text:0096D5E0 jnz short loc_96D601
.text:0096D5E2 mov eax, dword_E02F44
.text:0096D5E7 and [eax+10h], edi
.text:0096D5EA push offset byte_B1F804
.text:0096D5EF push 0FFFFFF9Dh
.text:0096D5F1 push dword_E02F44
.text:0096D5F7 call sub_96E36A
.text:0096D5FC add esp, 0Ch
.text:0096D5FF jmp short loc_96D647
.text:0096D601 ; ---------------------------------------------------------------------------