Vysvetlenie kodu – Assembler – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Vysvetlenie kodu – Assembler – Fórum – Programujte.comVysvetlenie kodu – Assembler – Fórum – Programujte.com

 

marek170
Návštěvník
8. 3. 2016   #1
-
0
-

 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 ; ---------------------------------------------------------------------------
Nahlásit jako SPAM
IP: 84.245.95.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 60 hostů

Podobná vlákna

Vysvetlenie — založil cheki

Vysvetlenie pls — založil lukino

Vysvetlenie .NET — založil me.name

Jazyk C -Vysvetlenie, pomoc — založil prometheus7

Event Delegate - vysvetlenie — založil yterbium

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý