Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .text:00CA5DC8
- .text:00CA5DC8 ; =============== S U B R O U T I N E =======================================
- .text:00CA5DC8
- .text:00CA5DC8 ; Attributes: bp-based frame
- .text:00CA5DC8
- .text:00CA5DC8 sub_CA5DC8 proc near ; CODE XREF: ProtocolCore+6D4p
- .text:00CA5DC8
- .text:00CA5DC8 var_EC = dword ptr -0ECh
- .text:00CA5DC8 var_D8 = dword ptr -0D8h
- .text:00CA5DC8 var_D4 = dword ptr -0D4h
- .text:00CA5DC8 var_CC = qword ptr -0CCh
- .text:00CA5DC8 var_C4 = qword ptr -0C4h
- .text:00CA5DC8 var_BC = qword ptr -0BCh
- .text:00CA5DC8 var_B4 = qword ptr -0B4h
- .text:00CA5DC8 var_AC = qword ptr -0ACh
- .text:00CA5DC8 var_A4 = dword ptr -0A4h
- .text:00CA5DC8 var_A0 = dword ptr -0A0h
- .text:00CA5DC8 var_9C = byte ptr -9Ch
- .text:00CA5DC8 var_80 = dword ptr -80h
- .text:00CA5DC8 var_7C = dword ptr -7Ch
- .text:00CA5DC8 var_78 = dword ptr -78h
- .text:00CA5DC8 var_74 = dword ptr -74h
- .text:00CA5DC8 var_6E = byte ptr -6Eh
- .text:00CA5DC8 var_6D = dword ptr -6Dh
- .text:00CA5DC8 var_68 = dword ptr -68h
- .text:00CA5DC8 var_64 = dword ptr -64h
- .text:00CA5DC8 var_60 = dword ptr -60h
- .text:00CA5DC8 var_5C = dword ptr -5Ch
- .text:00CA5DC8 var_58 = dword ptr -58h
- .text:00CA5DC8 var_54 = word ptr -54h
- .text:00CA5DC8 var_4D = byte ptr -4Dh
- .text:00CA5DC8 var_4C = byte ptr -4Ch
- .text:00CA5DC8 var_4B = byte ptr -4Bh
- .text:00CA5DC8 var_42 = byte ptr -42h
- .text:00CA5DC8 var_3F = byte ptr -3Fh
- .text:00CA5DC8 var_3E = byte ptr -3Eh
- .text:00CA5DC8 var_3D = byte ptr -3Dh
- .text:00CA5DC8 var_3C = dword ptr -3Ch
- .text:00CA5DC8 var_36 = byte ptr -36h
- .text:00CA5DC8 var_35 = byte ptr -35h
- .text:00CA5DC8 var_34 = dword ptr -34h
- .text:00CA5DC8 var_30 = dword ptr -30h
- .text:00CA5DC8 var_2C = word ptr -2Ch
- .text:00CA5DC8 var_28 = byte ptr -28h
- .text:00CA5DC8 var_1E = byte ptr -1Eh
- .text:00CA5DC8 var_1C = dword ptr -1Ch
- .text:00CA5DC8 var_18 = dword ptr -18h
- .text:00CA5DC8 var_14 = dword ptr -14h
- .text:00CA5DC8 var_10 = dword ptr -10h
- .text:00CA5DC8 var_C = dword ptr -0Ch
- .text:00CA5DC8 var_4 = dword ptr -4
- .text:00CA5DC8 arg_0 = dword ptr 8
- .text:00CA5DC8 arg_4 = dword ptr 0Ch
- .text:00CA5DC8
- .text:00CA5DC8 push ebp
- .text:00CA5DC9 mov ebp, esp
- .text:00CA5DCB push 0FFFFFFFFh
- .text:00CA5DCD push offset SEH_CA5DC8
- .text:00CA5DD2 mov eax, large fs:0
- .text:00CA5DD8 push eax
- .text:00CA5DD9 mov large fs:0, esp
- .text:00CA5DE0 sub esp, 0C0h
- .text:00CA5DE6 push edi
- .text:00CA5DE7 mov eax, [ebp+arg_0]
- .text:00CA5DEA mov [ebp+var_14], eax
- .text:00CA5DED mov [ebp+var_10], 5
- .text:00CA5DF4 and [ebp+var_18], 0
- .text:00CA5DF8 jmp short loc_CA5E01
- .text:00CA5DFA ; ---------------------------------------------------------------------------
- .text:00CA5DFA
- .text:00CA5DFA loc_CA5DFA: ; CODE XREF: sub_CA5DC8+B17j
- .text:00CA5DFA mov eax, [ebp+var_18]
- .text:00CA5DFD inc eax
- .text:00CA5DFE mov [ebp+var_18], eax
- .text:00CA5E01
- .text:00CA5E01 loc_CA5E01: ; CODE XREF: sub_CA5DC8+30j
- .text:00CA5E01 mov eax, [ebp+var_14]
- .text:00CA5E04 movzx eax, byte ptr [eax+4]
- .text:00CA5E08 cmp [ebp+var_18], eax
- .text:00CA5E0B jge loc_CA68E4
- .text:00CA5E11 mov eax, [ebp+arg_0]
- .text:00CA5E14 add eax, [ebp+var_10]
- .text:00CA5E17 mov [ebp+var_30], eax
- .text:00CA5E1A mov eax, [ebp+var_30]
- .text:00CA5E1D movzx eax, byte ptr [eax]
- .text:00CA5E20 shl eax, 8
- .text:00CA5E23 mov ecx, [ebp+var_30]
- .text:00CA5E26 movzx ecx, byte ptr [ecx+1]
- .text:00CA5E2A add eax, ecx
- .text:00CA5E2C mov [ebp+var_2C], ax
- .text:00CA5E30 movzx eax, [ebp+var_2C]
- .text:00CA5E34 sar eax, 0Fh
- .text:00CA5E37 mov [ebp+var_1C], eax
- .text:00CA5E3A movzx eax, [ebp+var_2C]
- .text:00CA5E3E and eax, 7FFFh
- .text:00CA5E43 mov [ebp+var_2C], ax
- .text:00CA5E47 push 0Ah
- .text:00CA5E49 mov eax, [ebp+var_30]
- .text:00CA5E4C add eax, 17h
- .text:00CA5E4F push eax
- .text:00CA5E50 lea eax, [ebp+var_28]
- .text:00CA5E53 push eax
- .text:00CA5E54 call loc_11B4460
- .text:00CA5E59 ; ---------------------------------------------------------------------------
- .text:00CA5E59 add esp, 0Ch
- .text:00CA5E5C mov [ebp+var_1E], 0
- .text:00CA5E60 push 0
- .text:00CA5E62 push offset asc_157E3C0 ; "webzen"
- .text:00CA5E67 lea eax, [ebp+var_28]
- .text:00CA5E6A push eax
- .text:00CA5E6B call sub_4E5CE9
- .text:00CA5E70 ; ---------------------------------------------------------------------------
- .text:00CA5E70 add esp, 0Ch
- .text:00CA5E73 movzx eax, al
- .text:00CA5E76 test eax, eax
- .text:00CA5E78 jnz loc_CA68C3
- .text:00CA5E7E or eax, 0FFFFFFFFh
- .text:00CA5E81 mov [ebp+var_54], ax
- .text:00CA5E85 mov [ebp+var_35], 0
- .text:00CA5E89 mov [ebp+var_3D], 0
- .text:00CA5E8D mov [ebp+var_3F], 0
- .text:00CA5E91 mov [ebp+var_3E], 0
- .text:00CA5E95 mov [ebp+var_4D], 0
- .text:00CA5E99 mov [ebp+var_36], 0
- .text:00CA5E9D mov eax, [ebp+var_30]
- .text:00CA5EA0 movzx eax, byte ptr [eax+4]
- .text:00CA5EA4 and eax, 7
- .text:00CA5EA7 cmp eax, 1
- .text:00CA5EAA jnz short loc_CA5F20
- .text:00CA5EAC movzx eax, [ebp+var_2C]
- .text:00CA5EB0 push eax
- .text:00CA5EB1 call sub_A36EC6
- .text:00CA5EB6 pop ecx
- .text:00CA5EB7 mov [ebp+var_34], eax
- .text:00CA5EBA push [ebp+var_34]
- .text:00CA5EBD call sub_458067
- .text:00CA5EC2 mov ecx, eax
- .text:00CA5EC4 call sub_A855D6
- .text:00CA5EC9 mov [ebp+var_60], eax
- .text:00CA5ECC cmp [ebp+var_60], 0
- .text:00CA5ED0 jz short loc_CA5F1E
- .text:00CA5ED2 mov eax, [ebp+var_60]
- .text:00CA5ED5 mov ax, [eax+3Ch]
- .text:00CA5ED9 mov [ebp+var_54], ax
- .text:00CA5EDD mov eax, [ebp+var_60]
- .text:00CA5EE0 mov al, [eax+17h]
- .text:00CA5EE3 mov [ebp+var_35], al
- .text:00CA5EE6 mov eax, [ebp+var_60]
- .text:00CA5EE9 mov al, [eax+18h]
- .text:00CA5EEC mov [ebp+var_3D], al
- .text:00CA5EEF mov eax, [ebp+var_60]
- .text:00CA5EF2 mov al, [eax+19h]
- .text:00CA5EF5 mov [ebp+var_3F], al
- .text:00CA5EF8 mov eax, [ebp+var_60]
- .text:00CA5EFB mov al, [eax+16h]
- .text:00CA5EFE mov [ebp+var_4D], al
- .text:00CA5F01 mov eax, [ebp+var_60]
- .text:00CA5F04 mov al, [eax+1Bh]
- .text:00CA5F07 mov [ebp+var_3E], al
- .text:00CA5F0A mov eax, [ebp+var_60]
- .text:00CA5F0D cmp eax, dword_9D056FC
- .text:00CA5F13 jnz short loc_CA5F1E
- .text:00CA5F15 mov eax, [ebp+var_60]
- .text:00CA5F18 mov al, [eax+14h]
- .text:00CA5F1B mov [ebp+var_36], al
- .text:00CA5F1E
- .text:00CA5F1E loc_CA5F1E: ; CODE XREF: sub_CA5DC8+108j
- .text:00CA5F1E ; sub_CA5DC8+14Bj
- .text:00CA5F1E jmp short loc_CA5F92
- .text:00CA5F20 ; ---------------------------------------------------------------------------
- .text:00CA5F20
- .text:00CA5F20 loc_CA5F20: ; CODE XREF: sub_CA5DC8+E2j
- .text:00CA5F20 movzx eax, [ebp+var_2C]
- .text:00CA5F24 push eax
- .text:00CA5F25 call sub_A36EC6
- .text:00CA5F2A pop ecx
- .text:00CA5F2B mov [ebp+var_34], eax
- .text:00CA5F2E push [ebp+var_34]
- .text:00CA5F31 call sub_458067
- .text:00CA5F36 mov ecx, eax
- .text:00CA5F38 call sub_A855D6
- .text:00CA5F3D mov [ebp+var_64], eax
- .text:00CA5F40 cmp [ebp+var_64], 0
- .text:00CA5F44 jz short loc_CA5F92
- .text:00CA5F46 mov eax, [ebp+var_64]
- .text:00CA5F49 mov ax, [eax+3Ch]
- .text:00CA5F4D mov [ebp+var_54], ax
- .text:00CA5F51 mov eax, [ebp+var_64]
- .text:00CA5F54 mov al, [eax+17h]
- .text:00CA5F57 mov [ebp+var_35], al
- .text:00CA5F5A mov eax, [ebp+var_64]
- .text:00CA5F5D mov al, [eax+18h]
- .text:00CA5F60 mov [ebp+var_3D], al
- .text:00CA5F63 mov eax, [ebp+var_64]
- .text:00CA5F66 mov al, [eax+19h]
- .text:00CA5F69 mov [ebp+var_3F], al
- .text:00CA5F6C mov eax, [ebp+var_64]
- .text:00CA5F6F mov al, [eax+1Bh]
- .text:00CA5F72 mov [ebp+var_3E], al
- .text:00CA5F75 mov eax, [ebp+var_64]
- .text:00CA5F78 mov al, [eax+16h]
- .text:00CA5F7B mov [ebp+var_4D], al
- .text:00CA5F7E mov eax, [ebp+var_64]
- .text:00CA5F81 cmp eax, dword_9D056FC
- .text:00CA5F87 jnz short loc_CA5F92
- .text:00CA5F89 mov eax, [ebp+var_64]
- .text:00CA5F8C mov al, [eax+14h]
- .text:00CA5F8F mov [ebp+var_36], al
- .text:00CA5F92
- .text:00CA5F92 loc_CA5F92: ; CODE XREF: sub_CA5DC8:loc_CA5F1Ej
- .text:00CA5F92 ; sub_CA5DC8+17Cj ...
- .text:00CA5F92 push ecx
- .text:00CA5F93 fldz
- .text:00CA5F95 fstp [esp+0D4h+var_D4]
- .text:00CA5F98 mov eax, [ebp+var_30]
- .text:00CA5F9B movzx eax, byte ptr [eax+3]
- .text:00CA5F9F push eax
- .text:00CA5FA0 mov eax, [ebp+var_30]
- .text:00CA5FA3 movzx eax, byte ptr [eax+2]
- .text:00CA5FA7 push eax
- .text:00CA5FA8 push 5C4h
- .text:00CA5FAD movzx eax, [ebp+var_2C]
- .text:00CA5FB1 push eax
- .text:00CA5FB2 call sub_A388F4
- .text:00CA5FB7 add esp, 14h
- .text:00CA5FBA mov [ebp+var_58], eax
- .text:00CA5FBD push 0
- .text:00CA5FBF mov eax, [ebp+var_58]
- .text:00CA5FC2 add eax, 40Ch
- .text:00CA5FC7 push eax
- .text:00CA5FC8 push [ebp+var_58]
- .text:00CA5FCB call sub_9E8DDF
- .text:00CA5FD0 add esp, 0Ch
- .text:00CA5FD3 mov eax, [ebp+var_58]
- .text:00CA5FD6 add eax, 40Ch
- .text:00CA5FDB mov [ebp+var_5C], eax
- .text:00CA5FDE mov eax, [ebp+var_30]
- .text:00CA5FE1 movzx eax, byte ptr [eax+4]
- .text:00CA5FE5 push eax
- .text:00CA5FE6 call sub_A45D0B
- .text:00CA5FEB pop ecx
- .text:00CA5FEC mov ecx, [ebp+var_58]
- .text:00CA5FEF mov [ecx+12h], al
- .text:00CA5FF2 mov eax, [ebp+var_58]
- .text:00CA5FF5 mov byte ptr [eax+13h], 0
- .text:00CA5FF9 mov eax, [ebp+var_30]
- .text:00CA5FFC movzx eax, byte ptr [eax+23h]
- .text:00CA6000 and eax, 0Fh
- .text:00CA6003 mov ecx, [ebp+var_58]
- .text:00CA6006 mov [ecx+1Fh], al
- .text:00CA6009 mov eax, [ebp+var_5C]
- .text:00CA600C mov byte ptr [eax+30h], 1
- .text:00CA6010 mov eax, [ebp+var_30]
- .text:00CA6013 movzx eax, byte ptr [eax+15h]
- .text:00CA6017 sar eax, 5
- .text:00CA601A and eax, 7
- .text:00CA601D mov [ebp+var_A0], eax
- .text:00CA6023 cmp [ebp+var_A0], 1
- .text:00CA602A jz short loc_CA6050
- .text:00CA602C cmp [ebp+var_A0], 2
- .text:00CA6033 jz short loc_CA606B
- .text:00CA6035 cmp [ebp+var_A0], 3
- .text:00CA603C jz short loc_CA609F
- .text:00CA603E cmp [ebp+var_A0], 4
- .text:00CA6045 jz loc_CA60D3
- .text:00CA604B jmp loc_CA6105
- .text:00CA6050 ; ---------------------------------------------------------------------------
- .text:00CA6050
- .text:00CA6050 loc_CA6050: ; CODE XREF: sub_CA5DC8+262j
- .text:00CA6050 push [ebp+var_58]
- .text:00CA6053 call sub_7655BE
- .text:00CA6058 pop ecx
- .text:00CA6059 push [ebp+arg_4]
- .text:00CA605C push [ebp+arg_0]
- .text:00CA605F call sub_C9E1B4
- .text:00CA6064 pop ecx
- .text:00CA6065 pop ecx
- .text:00CA6066 jmp loc_CA6105
- .text:00CA606B ; ---------------------------------------------------------------------------
- .text:00CA606B
- .text:00CA606B loc_CA606B: ; CODE XREF: sub_CA5DC8+26Bj
- .text:00CA606B mov eax, [ebp+var_58]
- .text:00CA606E movzx eax, byte ptr [eax+12h]
- .text:00CA6072 push eax
- .text:00CA6073 call sub_4E0433
- .text:00CA6078 pop ecx
- .text:00CA6079 test eax, eax
- .text:00CA607B jnz short loc_CA608E
- .text:00CA607D push 143h
- .text:00CA6082 push [ebp+var_5C]
- .text:00CA6085 call sub_5B2F40
- .text:00CA608A pop ecx
- .text:00CA608B pop ecx
- .text:00CA608C jmp short loc_CA609D
- .text:00CA608E ; ---------------------------------------------------------------------------
- .text:00CA608E
- .text:00CA608E loc_CA608E: ; CODE XREF: sub_CA5DC8+2B3j
- .text:00CA608E push 145h
- .text:00CA6093 push [ebp+var_5C]
- .text:00CA6096 call sub_5B2F40
- .text:00CA609B pop ecx
- .text:00CA609C pop ecx
- .text:00CA609D
- .text:00CA609D loc_CA609D: ; CODE XREF: sub_CA5DC8+2C4j
- .text:00CA609D jmp short loc_CA6105
- .text:00CA609F ; ---------------------------------------------------------------------------
- .text:00CA609F
- .text:00CA609F loc_CA609F: ; CODE XREF: sub_CA5DC8+274j
- .text:00CA609F mov eax, [ebp+var_58]
- .text:00CA60A2 movzx eax, byte ptr [eax+12h]
- .text:00CA60A6 push eax
- .text:00CA60A7 call sub_4E0433
- .text:00CA60AC pop ecx
- .text:00CA60AD test eax, eax
- .text:00CA60AF jnz short loc_CA60C2
- .text:00CA60B1 push 149h
- .text:00CA60B6 push [ebp+var_5C]
- .text:00CA60B9 call sub_5B2F40
- .text:00CA60BE pop ecx
- .text:00CA60BF pop ecx
- .text:00CA60C0 jmp short loc_CA60D1
- .text:00CA60C2 ; ---------------------------------------------------------------------------
- .text:00CA60C2
- .text:00CA60C2 loc_CA60C2: ; CODE XREF: sub_CA5DC8+2E7j
- .text:00CA60C2 push 14Ah
- .text:00CA60C7 push [ebp+var_5C]
- .text:00CA60CA call sub_5B2F40
- .text:00CA60CF pop ecx
- .text:00CA60D0 pop ecx
- .text:00CA60D1
- .text:00CA60D1 loc_CA60D1: ; CODE XREF: sub_CA5DC8+2F8j
- .text:00CA60D1 jmp short loc_CA6105
- .text:00CA60D3 ; ---------------------------------------------------------------------------
- .text:00CA60D3
- .text:00CA60D3 loc_CA60D3: ; CODE XREF: sub_CA5DC8+27Dj
- .text:00CA60D3 mov eax, [ebp+var_58]
- .text:00CA60D6 movzx eax, byte ptr [eax+12h]
- .text:00CA60DA push eax
- .text:00CA60DB call sub_4E0433
- .text:00CA60E0 pop ecx
- .text:00CA60E1 test eax, eax
- .text:00CA60E3 jnz short loc_CA60F6
- .text:00CA60E5 push 147h
- .text:00CA60EA push [ebp+var_5C]
- .text:00CA60ED call sub_5B2F40
- .text:00CA60F2 pop ecx
- .text:00CA60F3 pop ecx
- .text:00CA60F4 jmp short loc_CA6105
- .text:00CA60F6 ; ---------------------------------------------------------------------------
- .text:00CA60F6
- .text:00CA60F6 loc_CA60F6: ; CODE XREF: sub_CA5DC8+31Bj
- .text:00CA60F6 push 148h
- .text:00CA60FB push [ebp+var_5C]
- .text:00CA60FE call sub_5B2F40
- .text:00CA6103 pop ecx
- .text:00CA6104 pop ecx
- .text:00CA6105
- .text:00CA6105 loc_CA6105: ; CODE XREF: sub_CA5DC8+283j
- .text:00CA6105 ; sub_CA5DC8+29Ej ...
- .text:00CA6105 mov eax, [ebp+var_58]
- .text:00CA6108 cmp eax, dword_9D056FC
- .text:00CA610E jnz short loc_CA612F
- .text:00CA6110 call sub_98A52D
- .text:00CA6115 mov ecx, eax
- .text:00CA6117 call sub_98B111
- .text:00CA611C test eax, eax
- .text:00CA611E jz short loc_CA612F
- .text:00CA6120 push 150h
- .text:00CA6125 push [ebp+var_5C]
- .text:00CA6128 call sub_5B2F40
- .text:00CA612D pop ecx
- .text:00CA612E pop ecx
- .text:00CA612F
- .text:00CA612F loc_CA612F: ; CODE XREF: sub_CA5DC8+346j
- .text:00CA612F ; sub_CA5DC8+356j
- .text:00CA612F mov eax, [ebp+var_30]
- .text:00CA6132 movzx eax, byte ptr [eax+2]
- .text:00CA6136 mov ecx, [ebp+var_58]
- .text:00CA6139 mov [ecx+180h], eax
- .text:00CA613F mov eax, [ebp+var_30]
- .text:00CA6142 movzx eax, byte ptr [eax+3]
- .text:00CA6146 mov ecx, [ebp+var_58]
- .text:00CA6149 mov [ecx+184h], eax
- .text:00CA614F mov eax, [ebp+var_58]
- .text:00CA6152 mov ecx, [ebp+var_30]
- .text:00CA6155 mov cl, [ecx+21h]
- .text:00CA6158 mov [eax+2Dh], cl
- .text:00CA615B mov eax, [ebp+var_58]
- .text:00CA615E mov ecx, [ebp+var_30]
- .text:00CA6161 mov cl, [ecx+22h]
- .text:00CA6164 mov [eax+2Eh], cl
- .text:00CA6167 mov eax, [ebp+var_30]
- .text:00CA616A movzx eax, byte ptr [eax+23h]
- .text:00CA616E sar eax, 4
- .text:00CA6171 mov [ebp+var_A4], eax
- .text:00CA6177 fild [ebp+var_A4]
- .text:00CA617D fsub ds:dbl_154EBA8
- .text:00CA6183 fmul ds:dbl_1555678
- .text:00CA6189 push 2
- .text:00CA618B mov ecx, [ebp+var_58]
- .text:00CA618E add ecx, 534h
- .text:00CA6194 fstp [ebp+var_AC]
- .text:00CA619A call sub_9DA4CA
- .text:00CA619F fld [ebp+var_AC]
- .text:00CA61A5 fstp dword ptr [eax]
- .text:00CA61A7 mov eax, [ebp+var_30]
- .text:00CA61AA movzx eax, byte ptr [eax+24h]
- .text:00CA61AE mov ecx, [ebp+var_58]
- .text:00CA61B1 mov [ecx+420h], eax
- .text:00CA61B7 mov eax, [ebp+var_58]
- .text:00CA61BA mov byte ptr [eax+434h], 0
- .text:00CA61C1 mov eax, [ebp+var_58]
- .text:00CA61C4 mov ecx, [ebp+var_30]
- .text:00CA61C7 mov cl, [ecx+3Eh]
- .text:00CA61CA mov [eax+190h], cl
- .text:00CA61D0 and [ebp+var_68], 0
- .text:00CA61D4 jmp short loc_CA61DD
- .text:00CA61D6 ; ---------------------------------------------------------------------------
- .text:00CA61D6
- .text:00CA61D6 loc_CA61D6: ; CODE XREF: sub_CA5DC8:loc_CA62C9j
- .text:00CA61D6 mov eax, [ebp+var_68]
- .text:00CA61D9 inc eax
- .text:00CA61DA mov [ebp+var_68], eax
- .text:00CA61DD
- .text:00CA61DD loc_CA61DD: ; CODE XREF: sub_CA5DC8+40Cj
- .text:00CA61DD cmp [ebp+var_68], 3
- .text:00CA61E1 jge loc_CA62CE
- .text:00CA61E7 mov eax, [ebp+var_68]
- .text:00CA61EA mov ecx, [ebp+var_58]
- .text:00CA61ED or dword ptr [ecx+eax*4+3F0h], 0FFFFFFFFh
- .text:00CA61F5 mov eax, [ebp+var_68]
- .text:00CA61F8 imul eax, 3
- .text:00CA61FB mov ecx, [ebp+var_30]
- .text:00CA61FE movzx eax, byte ptr [ecx+eax+26h]
- .text:00CA6203 and eax, 0FFh
- .text:00CA6208 movzx eax, al
- .text:00CA620B mov ecx, [ebp+var_68]
- .text:00CA620E imul ecx, 3
- .text:00CA6211 mov edx, [ebp+var_30]
- .text:00CA6214 movzx ecx, byte ptr [edx+ecx+25h]
- .text:00CA6219 and ecx, 0FFh
- .text:00CA621F movzx ecx, cl
- .text:00CA6222 shl ecx, 8
- .text:00CA6225 or eax, ecx
- .text:00CA6227 mov word ptr [ebp+var_6D+1], ax
- .text:00CA622B movzx eax, word ptr [ebp+var_6D+1]
- .text:00CA622F cmp eax, 0FFFFh
- .text:00CA6234 jz loc_CA62C9
- .text:00CA623A push 0Ch
- .text:00CA623C movzx eax, word ptr [ebp+var_6D+1]
- .text:00CA6240 push eax
- .text:00CA6241 call sub_A765F5
- .text:00CA6246 mov ecx, eax
- .text:00CA6248 call sub_A77705
- .text:00CA624D ; ---------------------------------------------------------------------------
- .text:00CA624D movzx eax, al
- .text:00CA6250 test eax, eax
- .text:00CA6252 jz short loc_CA62C9
- .text:00CA6254 mov eax, [ebp+var_68]
- .text:00CA6257 imul eax, 3
- .text:00CA625A mov ecx, [ebp+var_30]
- .text:00CA625D mov al, [ecx+eax+27h]
- .text:00CA6261 mov [ebp+var_6E], al
- .text:00CA6264 movzx eax, word ptr [ebp+var_6D+1]
- .text:00CA6268 push eax
- .text:00CA6269 call sub_5E6246
- .text:00CA626E mov ecx, eax
- .text:00CA6270 call sub_C731B9
- .text:00CA6275 mov [ebp+var_74], eax
- .text:00CA6278 mov byte ptr [ebp+var_6D], 0
- .text:00CA627C cmp [ebp+var_74], 0
- .text:00CA6280 jz short loc_CA629E
- .text:00CA6282 movzx eax, [ebp+var_6E]
- .text:00CA6286 test eax, eax
- .text:00CA6288 jz short loc_CA629A
- .text:00CA628A movzx eax, [ebp+var_6E]
- .text:00CA628E mov ecx, [ebp+var_74]
- .text:00CA6291 movzx ecx, byte ptr [ecx+9]
- .text:00CA6295 inc ecx
- .text:00CA6296 cmp eax, ecx
- .text:00CA6298 jnz short loc_CA629E
- .text:00CA629A
- .text:00CA629A loc_CA629A: ; CODE XREF: sub_CA5DC8+4C0j
- .text:00CA629A mov byte ptr [ebp+var_6D], 1
- .text:00CA629E
- .text:00CA629E loc_CA629E: ; CODE XREF: sub_CA5DC8+4B8j
- .text:00CA629E ; sub_CA5DC8+4D0j
- .text:00CA629E push [ebp+var_6D]
- .text:00CA62A1 push [ebp+var_68]
- .text:00CA62A4 push [ebp+var_58]
- .text:00CA62A7 movzx eax, word ptr [ebp+var_6D+1]
- .text:00CA62AB push eax
- .text:00CA62AC call sub_502A7A
- .text:00CA62B1 mov ecx, eax
- .text:00CA62B3 call sub_C78F9D
- .text:00CA62B8 movzx eax, word ptr [ebp+var_6D+1]
- .text:00CA62BC mov ecx, [ebp+var_68]
- .text:00CA62BF mov edx, [ebp+var_58]
- .text:00CA62C2 mov [edx+ecx*4+3F0h], eax
- .text:00CA62C9
- .text:00CA62C9 loc_CA62C9: ; CODE XREF: sub_CA5DC8+46Cj
- .text:00CA62C9 ; sub_CA5DC8+48Aj
- .text:00CA62C9 jmp loc_CA61D6
- .text:00CA62CE ; ---------------------------------------------------------------------------
- .text:00CA62CE
- .text:00CA62CE loc_CA62CE: ; CODE XREF: sub_CA5DC8+419j
- .text:00CA62CE mov eax, [ebp+var_30]
- .text:00CA62D1 movzx eax, byte ptr [eax+2Eh]
- .text:00CA62D5 push eax
- .text:00CA62D6 mov ecx, [ebp+var_58]
- .text:00CA62D9 call sub_ADB177
- .text:00CA62DE mov eax, [ebp+var_30]
- .text:00CA62E1 movzx eax, byte ptr [eax+30h]
- .text:00CA62E5 and eax, 0FFh
- .text:00CA62EA movzx eax, al
- .text:00CA62ED mov ecx, [ebp+var_30]
- .text:00CA62F0 movzx ecx, byte ptr [ecx+2Fh]
- .text:00CA62F4 and ecx, 0FFh
- .text:00CA62FA movzx ecx, cl
- .text:00CA62FD shl ecx, 8
- .text:00CA6300 or eax, ecx
- .text:00CA6302 mov word ptr [ebp+var_3C], ax
- .text:00CA6306 push [ebp+var_3C]
- .text:00CA6309 mov ecx, [ebp+var_58]
- .text:00CA630C call sub_4F782F
- .text:00CA6311 mov eax, [ebp+var_30]
- .text:00CA6314 add eax, 5
- .text:00CA6317 push eax
- .text:00CA6318 mov ecx, [ebp+var_58]
- .text:00CA631B call sub_4F7848
- .text:00CA6320 mov eax, [ebp+var_30]
- .text:00CA6323 movzx eax, byte ptr [eax+31h]
- .text:00CA6327 test eax, eax
- .text:00CA6329 jz short loc_CA6334
- .text:00CA632B push [ebp+var_58]
- .text:00CA632E call sub_56F2AB
- .text:00CA6333 ; ---------------------------------------------------------------------------
- .text:00CA6333 pop ecx
- .text:00CA6334
- .text:00CA6334 loc_CA6334: ; CODE XREF: sub_CA5DC8+561j
- .text:00CA6334 cmp [ebp+var_1C], 0
- .text:00CA6338 jz loc_CA6403
- .text:00CA633E mov eax, [ebp+var_58]
- .text:00CA6341 fild dword ptr [eax+180h]
- .text:00CA6347 fadd ds:dbl_154E790
- .text:00CA634D fmul ds:dbl_15503E0
- .text:00CA6353 push 0
- .text:00CA6355 mov ecx, [ebp+var_58]
- .text:00CA6358 add ecx, 528h
- .text:00CA635E fstp [ebp+var_B4]
- .text:00CA6364 call sub_9DA4CA
- .text:00CA6369 fld [ebp+var_B4]
- .text:00CA636F fstp dword ptr [eax]
- .text:00CA6371 mov eax, [ebp+var_58]
- .text:00CA6374 fild dword ptr [eax+184h]
- .text:00CA637A fadd ds:dbl_154E790
- .text:00CA6380 fmul ds:dbl_15503E0
- .text:00CA6386 push 1
- .text:00CA6388 mov ecx, [ebp+var_58]
- .text:00CA638B add ecx, 528h
- .text:00CA6391 fstp [ebp+var_BC]
- .text:00CA6397 call sub_9DA4CA
- .text:00CA639C fld [ebp+var_BC]
- .text:00CA63A2 fstp dword ptr [eax]
- .text:00CA63A4 push 0FFFFFFFFh
- .text:00CA63A6 push ecx
- .text:00CA63A7 fldz
- .text:00CA63A9 fstp [esp+0D8h+var_D8]
- .text:00CA63AC push 0
- .text:00CA63AE push 0
- .text:00CA63B0 push 0
- .text:00CA63B2 push 0FFFFFFFFh
- .text:00CA63B4 push [ebp+var_5C]
- .text:00CA63B7 push 0
- .text:00CA63B9 mov ecx, [ebp+var_5C]
- .text:00CA63BC add ecx, 0BCh
- .text:00CA63C2 call sub_9DA4F2
- .text:00CA63C7 push eax
- .text:00CA63C8 mov ecx, [ebp+var_5C]
- .text:00CA63CB add ecx, 128h
- .text:00CA63D1 call sub_9DA4F2
- .text:00CA63D6 push eax
- .text:00CA63D7 mov ecx, [ebp+var_5C]
- .text:00CA63DA add ecx, 11Ch
- .text:00CA63E0 call sub_9DA4F2
- .text:00CA63E5 push eax
- .text:00CA63E6 push 7D90h
- .text:00CA63EB call sub_6627F3
- .text:00CA63F0 ; ---------------------------------------------------------------------------
- .text:00CA63F0 add esp, 30h
- .text:00CA63F3 mov eax, [ebp+var_58]
- .text:00CA63F6 fldz
- .text:00CA63F8 fstp dword ptr [eax+4C4h]
- .text:00CA63FE jmp loc_CA6525
- .text:00CA6403 ; ---------------------------------------------------------------------------
- .text:00CA6403
- .text:00CA6403 loc_CA6403: ; CODE XREF: sub_CA5DC8+570j
- .text:00CA6403 push 2
- .text:00CA6405 push ecx
- .text:00CA6406 fldz
- .text:00CA6408 fstp [esp+0D8h+var_D8]
- .text:00CA640B mov eax, [ebp+var_58]
- .text:00CA640E add eax, 350h
- .text:00CA6413 push eax
- .text:00CA6414 mov eax, [ebp+var_58]
- .text:00CA6417 movzx eax, byte ptr [eax+2Eh]
- .text:00CA641B push eax
- .text:00CA641C mov eax, [ebp+var_58]
- .text:00CA641F movzx eax, byte ptr [eax+2Dh]
- .text:00CA6423 push eax
- .text:00CA6424 mov eax, [ebp+var_58]
- .text:00CA6427 push dword ptr [eax+184h]
- .text:00CA642D mov eax, [ebp+var_58]
- .text:00CA6430 push dword ptr [eax+180h]
- .text:00CA6436 call sub_5B3AE7
- .text:00CA643B add esp, 1Ch
- .text:00CA643E movzx eax, al
- .text:00CA6441 test eax, eax
- .text:00CA6443 jz short loc_CA6451
- .text:00CA6445 mov eax, [ebp+var_58]
- .text:00CA6448 mov byte ptr [eax+38h], 1
- .text:00CA644C jmp loc_CA6525
- .text:00CA6451 ; ---------------------------------------------------------------------------
- .text:00CA6451
- .text:00CA6451 loc_CA6451: ; CODE XREF: sub_CA5DC8+67Bj
- .text:00CA6451 push 4
- .text:00CA6453 push ecx
- .text:00CA6454 fldz
- .text:00CA6456 fstp [esp+0D8h+var_D8]
- .text:00CA6459 mov eax, [ebp+var_58]
- .text:00CA645C add eax, 350h
- .text:00CA6461 push eax
- .text:00CA6462 mov eax, [ebp+var_58]
- .text:00CA6465 movzx eax, byte ptr [eax+2Eh]
- .text:00CA6469 push eax
- .text:00CA646A mov eax, [ebp+var_58]
- .text:00CA646D movzx eax, byte ptr [eax+2Dh]
- .text:00CA6471 push eax
- .text:00CA6472 mov eax, [ebp+var_58]
- .text:00CA6475 push dword ptr [eax+184h]
- .text:00CA647B mov eax, [ebp+var_58]
- .text:00CA647E push dword ptr [eax+180h]
- .text:00CA6484 call sub_5B3AE7
- .text:00CA6489 add esp, 1Ch
- .text:00CA648C movzx eax, al
- .text:00CA648F test eax, eax
- .text:00CA6491 jz short loc_CA649F
- .text:00CA6493 mov eax, [ebp+var_58]
- .text:00CA6496 mov byte ptr [eax+38h], 1
- .text:00CA649A jmp loc_CA6525
- .text:00CA649F ; ---------------------------------------------------------------------------
- .text:00CA649F
- .text:00CA649F loc_CA649F: ; CODE XREF: sub_CA5DC8+6C9j
- .text:00CA649F mov eax, [ebp+var_58]
- .text:00CA64A2 movzx eax, byte ptr [eax+2Dh]
- .text:00CA64A6 mov ecx, [ebp+var_58]
- .text:00CA64A9 mov [ecx+180h], eax
- .text:00CA64AF mov eax, [ebp+var_58]
- .text:00CA64B2 movzx eax, byte ptr [eax+2Eh]
- .text:00CA64B6 mov ecx, [ebp+var_58]
- .text:00CA64B9 mov [ecx+184h], eax
- .text:00CA64BF mov eax, [ebp+var_58]
- .text:00CA64C2 fild dword ptr [eax+180h]
- .text:00CA64C8 fmul ds:dbl_15503E0
- .text:00CA64CE fadd ds:dbl_154E9D0
- .text:00CA64D4 push 0
- .text:00CA64D6 mov ecx, [ebp+var_5C]
- .text:00CA64D9 add ecx, 11Ch
- .text:00CA64DF fstp [ebp+var_C4]
- .text:00CA64E5 call sub_9DA4CA
- .text:00CA64EA fld [ebp+var_C4]
- .text:00CA64F0 fstp dword ptr [eax]
- .text:00CA64F2 mov eax, [ebp+var_58]
- .text:00CA64F5 fild dword ptr [eax+184h]
- .text:00CA64FB fmul ds:dbl_15503E0
- .text:00CA6501 fadd ds:dbl_154E9D0
- .text:00CA6507 push 1
- .text:00CA6509 mov ecx, [ebp+var_5C]
- .text:00CA650C add ecx, 11Ch
- .text:00CA6512 fstp [ebp+var_CC]
- .text:00CA6518 call sub_9DA4CA
- .text:00CA651D fld [ebp+var_CC]
- .text:00CA6523 fstp dword ptr [eax]
- .text:00CA6525
- .text:00CA6525 loc_CA6525: ; CODE XREF: sub_CA5DC8+636j
- .text:00CA6525 ; sub_CA5DC8+684j ...
- .text:00CA6525 push dword_177307C
- .text:00CA652B call sub_50CB90
- .text:00CA6530 pop ecx
- .text:00CA6531 movzx eax, al
- .text:00CA6534 test eax, eax
- .text:00CA6536 jz short loc_CA658D
- .text:00CA6538 push 0FFFFFFFFh
- .text:00CA653A push 0
- .text:00CA653C push 0FFFFFFFFh
- .text:00CA653E push 0
- .text:00CA6540 push 0
- .text:00CA6542 push 0FFFFFFFFh
- .text:00CA6544 push ecx
- .text:00CA6545 fld ds:flt_154F518
- .text:00CA654B fstp [esp+0ECh+var_EC]
- .text:00CA654E push [ebp+var_5C]
- .text:00CA6551 push 8
- .text:00CA6553 mov ecx, [ebp+var_5C]
- .text:00CA6556 add ecx, 128h
- .text:00CA655C call sub_9DA4F2
- .text:00CA6561 push eax
- .text:00CA6562 mov ecx, [ebp+var_5C]
- .text:00CA6565 add ecx, 11Ch
- .text:00CA656B call sub_9DA4F2
- .text:00CA6570 push eax
- .text:00CA6571 mov ecx, [ebp+var_5C]
- .text:00CA6574 add ecx, 11Ch
- .text:00CA657A call sub_9DA4F2
- .text:00CA657F push eax
- .text:00CA6580 push 7D84h
- .text:00CA6585 call sub_732811
- .text:00CA658A add esp, 34h
- .text:00CA658D
- .text:00CA658D loc_CA658D: ; CODE XREF: sub_CA5DC8+76Ej
- .text:00CA658D mov eax, [ebp+var_30]
- .text:00CA6590 movzx eax, byte ptr [eax+4]
- .text:00CA6594 and eax, 7
- .text:00CA6597 cmp eax, 1
- .text:00CA659A jnz short loc_CA65FF
- .text:00CA659C cmp [ebp+var_34], 190h
- .text:00CA65A3 jz short loc_CA65FF
- .text:00CA65A5 mov eax, [ebp+var_58]
- .text:00CA65A8 mov cx, [ebp+var_54]
- .text:00CA65AC mov [eax+3Ch], cx
- .text:00CA65B0 mov eax, [ebp+var_58]
- .text:00CA65B3 mov cl, [ebp+var_35]
- .text:00CA65B6 mov [eax+17h], cl
- .text:00CA65B9 mov eax, [ebp+var_58]
- .text:00CA65BC mov cl, [ebp+var_3D]
- .text:00CA65BF mov [eax+18h], cl
- .text:00CA65C2 mov eax, [ebp+var_58]
- .text:00CA65C5 mov cl, [ebp+var_3F]
- .text:00CA65C8 mov [eax+19h], cl
- .text:00CA65CB mov eax, [ebp+var_58]
- .text:00CA65CE mov cl, [ebp+var_4D]
- .text:00CA65D1 mov [eax+16h], cl
- .text:00CA65D4 mov eax, [ebp+var_58]
- .text:00CA65D7 mov cl, [ebp+var_3E]
- .text:00CA65DA mov [eax+1Bh], cl
- .text:00CA65DD push [ebp+var_34]
- .text:00CA65E0 call sub_458067
- .text:00CA65E5 mov ecx, eax
- .text:00CA65E7 call sub_A855D6
- .text:00CA65EC cmp eax, dword_9D056FC
- .text:00CA65F2 jnz short loc_CA65FD
- .text:00CA65F4 mov eax, [ebp+var_58]
- .text:00CA65F7 mov cl, [ebp+var_36]
- .text:00CA65FA mov [eax+14h], cl
- .text:00CA65FD
- .text:00CA65FD loc_CA65FD: ; CODE XREF: sub_CA5DC8+82Aj
- .text:00CA65FD jmp short loc_CA6657
- .text:00CA65FF ; ---------------------------------------------------------------------------
- .text:00CA65FF
- .text:00CA65FF loc_CA65FF: ; CODE XREF: sub_CA5DC8+7D2j
- .text:00CA65FF ; sub_CA5DC8+7DBj
- .text:00CA65FF mov eax, [ebp+var_58]
- .text:00CA6602 mov cx, [ebp+var_54]
- .text:00CA6606 mov [eax+3Ch], cx
- .text:00CA660A mov eax, [ebp+var_58]
- .text:00CA660D mov cl, [ebp+var_35]
- .text:00CA6610 mov [eax+17h], cl
- .text:00CA6613 mov eax, [ebp+var_58]
- .text:00CA6616 mov cl, [ebp+var_3D]
- .text:00CA6619 mov [eax+18h], cl
- .text:00CA661C mov eax, [ebp+var_58]
- .text:00CA661F mov cl, [ebp+var_3F]
- .text:00CA6622 mov [eax+19h], cl
- .text:00CA6625 mov eax, [ebp+var_58]
- .text:00CA6628 mov cl, [ebp+var_3E]
- .text:00CA662B mov [eax+1Bh], cl
- .text:00CA662E mov eax, [ebp+var_58]
- .text:00CA6631 mov cl, [ebp+var_4D]
- .text:00CA6634 mov [eax+16h], cl
- .text:00CA6637 push [ebp+var_34]
- .text:00CA663A call sub_458067
- .text:00CA663F mov ecx, eax
- .text:00CA6641 call sub_A855D6
- .text:00CA6646 cmp eax, dword_9D056FC
- .text:00CA664C jnz short loc_CA6657
- .text:00CA664E mov eax, [ebp+var_58]
- .text:00CA6651 mov cl, [ebp+var_36]
- .text:00CA6654 mov [eax+14h], cl
- .text:00CA6657
- .text:00CA6657 loc_CA6657: ; CODE XREF: sub_CA5DC8:loc_CA65FDj
- .text:00CA6657 ; sub_CA5DC8+884j
- .text:00CA6657 push 0
- .text:00CA6659 push 0
- .text:00CA665B mov eax, [ebp+var_30]
- .text:00CA665E add eax, 5
- .text:00CA6661 push eax
- .text:00CA6662 movzx eax, [ebp+var_2C]
- .text:00CA6666 push eax
- .text:00CA6667 call sub_A36EC6
- .text:00CA666C pop ecx
- .text:00CA666D push eax
- .text:00CA666E call sub_A3987D
- .text:00CA6673 add esp, 10h
- .text:00CA6676 mov [ebp+var_4C], 0
- .text:00CA667A xor eax, eax
- .text:00CA667C lea edi, [ebp+var_4B]
- .text:00CA667F stosd
- .text:00CA6680 stosd
- .text:00CA6681 stosw
- .text:00CA6683 push 0Ah
- .text:00CA6685 mov eax, [ebp+var_30]
- .text:00CA6688 add eax, 17h
- .text:00CA668B push eax
- .text:00CA668C lea eax, [ebp+var_4C]
- .text:00CA668F push eax
- .text:00CA6690 call loc_11B4460
- .text:00CA6695 ; ---------------------------------------------------------------------------
- .text:00CA6695 add esp, 0Ch
- .text:00CA6698 mov [ebp+var_42], 0
- .text:00CA669C lea eax, [ebp+var_4C]
- .text:00CA669F push eax
- .text:00CA66A0 lea ecx, [ebp+var_9C]
- .text:00CA66A6 call sub_406FC0
- .text:00CA66AB and [ebp+var_4], 0
- .text:00CA66AF lea eax, [ebp+var_9C]
- .text:00CA66B5 push eax
- .text:00CA66B6 mov ecx, [ebp+var_58]
- .text:00CA66B9 call sub_4F7989
- .text:00CA66BE or [ebp+var_4], 0FFFFFFFFh
- .text:00CA66C2 lea ecx, [ebp+var_9C]
- .text:00CA66C8 call sub_407B10
- .text:00CA66CD mov eax, [ebp+var_30]
- .text:00CA66D0 movzx eax, byte ptr [eax+4]
- .text:00CA66D4 and eax, 7
- .text:00CA66D7 cmp eax, 1
- .text:00CA66DA jnz short loc_CA66EE
- .text:00CA66DC cmp [ebp+var_34], 190h
- .text:00CA66E3 jz short loc_CA66EE
- .text:00CA66E5 mov eax, [ebp+var_58]
- .text:00CA66E8 mov cl, [ebp+var_4D]
- .text:00CA66EB mov [eax+16h], cl
- .text:00CA66EE
- .text:00CA66EE loc_CA66EE: ; CODE XREF: sub_CA5DC8+912j
- .text:00CA66EE ; sub_CA5DC8+91Bj
- .text:00CA66EE and [ebp+var_78], 0
- .text:00CA66F2 jmp short loc_CA66FB
- .text:00CA66F4 ; ---------------------------------------------------------------------------
- .text:00CA66F4
- .text:00CA66F4 loc_CA66F4: ; CODE XREF: sub_CA5DC8+9B0j
- .text:00CA66F4 mov eax, [ebp+var_78]
- .text:00CA66F7 inc eax
- .text:00CA66F8 mov [ebp+var_78], eax
- .text:00CA66FB
- .text:00CA66FB loc_CA66FB: ; CODE XREF: sub_CA5DC8+92Aj
- .text:00CA66FB mov eax, [ebp+var_30]
- .text:00CA66FE movzx eax, byte ptr [eax+3Fh]
- .text:00CA6702 cmp [ebp+var_78], eax
- .text:00CA6705 jge short loc_CA677D
- .text:00CA6707 mov eax, [ebp+var_78]
- .text:00CA670A mov ecx, [ebp+var_30]
- .text:00CA670D movzx eax, word ptr [ecx+eax*8+40h]
- .text:00CA6712 push eax
- .text:00CA6713 mov ecx, offset off_A5985E8
- .text:00CA6718 call sub_E06C48
- .text:00CA671D cmp eax, 1
- .text:00CA6720 jnz short loc_CA6747
- .text:00CA6722 mov eax, [ebp+var_78]
- .text:00CA6725 mov ecx, [ebp+var_30]
- .text:00CA6728 push dword ptr [ecx+eax*8+44h]
- .text:00CA672C push 0
- .text:00CA672E push [ebp+var_5C]
- .text:00CA6731 mov eax, [ebp+var_78]
- .text:00CA6734 mov ecx, [ebp+var_30]
- .text:00CA6737 movzx eax, word ptr [ecx+eax*8+40h]
- .text:00CA673C push eax
- .text:00CA673D call sub_CE7756
- .text:00CA6742 add esp, 10h
- .text:00CA6745 jmp short loc_CA6762
- .text:00CA6747 ; ---------------------------------------------------------------------------
- .text:00CA6747
- .text:00CA6747 loc_CA6747: ; CODE XREF: sub_CA5DC8+958j
- .text:00CA6747 push 0
- .text:00CA6749 push 0
- .text:00CA674B push [ebp+var_5C]
- .text:00CA674E mov eax, [ebp+var_78]
- .text:00CA6751 mov ecx, [ebp+var_30]
- .text:00CA6754 movzx eax, word ptr [ecx+eax*8+40h]
- .text:00CA6759 push eax
- .text:00CA675A call sub_CE7756
- .text:00CA675F add esp, 10h
- .text:00CA6762
- .text:00CA6762 loc_CA6762: ; CODE XREF: sub_CA5DC8+97Dj
- .text:00CA6762 mov eax, [ebp+var_78]
- .text:00CA6765 mov ecx, [ebp+var_30]
- .text:00CA6768 movzx eax, word ptr [ecx+eax*8+40h]
- .text:00CA676D push eax
- .text:00CA676E push [ebp+var_58]
- .text:00CA6771 call sub_8E2B37
- .text:00CA6776 pop ecx
- .text:00CA6777 pop ecx
- .text:00CA6778 jmp loc_CA66F4
- .text:00CA677D ; ---------------------------------------------------------------------------
- .text:00CA677D
- .text:00CA677D loc_CA677D: ; CODE XREF: sub_CA5DC8+93Dj
- .text:00CA677D push dword_177307C
- .text:00CA6783 call sub_50CAC8
- .text:00CA6788 pop ecx
- .text:00CA6789 movzx eax, al
- .text:00CA678C test eax, eax
- .text:00CA678E jz short loc_CA6795
- .text:00CA6790 call sub_8E1C8F
- .text:00CA6795
- .text:00CA6795 loc_CA6795: ; CODE XREF: sub_CA5DC8+9C6j
- .text:00CA6795 mov eax, [ebp+var_58]
- .text:00CA6798 cmp eax, dword_9D056FC
- .text:00CA679E jz short loc_CA67C2
- .text:00CA67A0 push dword_177307C
- .text:00CA67A6 call sub_51BDFF
- .text:00CA67AB pop ecx
- .text:00CA67AC movzx eax, al
- .text:00CA67AF test eax, eax
- .text:00CA67B1 jnz short loc_CA67C2
- .text:00CA67B3 push [ebp+var_58]
- .text:00CA67B6 call sub_458067
- .text:00CA67BB mov ecx, eax
- .text:00CA67BD call sub_A858D2
- .text:00CA67C2
- .text:00CA67C2 loc_CA67C2: ; CODE XREF: sub_CA5DC8+9D6j
- .text:00CA67C2 ; sub_CA5DC8+9E9j
- .text:00CA67C2 call sub_45AFBC
- .text:00CA67C7 mov ecx, eax
- .text:00CA67C9 call sub_45B1CF
- .text:00CA67CE movzx eax, al
- .text:00CA67D1 test eax, eax
- .text:00CA67D3 jz short loc_CA682B
- .text:00CA67D5 mov eax, [ebp+var_58]
- .text:00CA67D8 mov ecx, [ebp+var_30]
- .text:00CA67DB mov cx, [ecx+3Ch]
- .text:00CA67DF mov [eax+42h], cx
- .text:00CA67E3 mov eax, [ebp+var_58]
- .text:00CA67E6 movzx eax, word ptr [eax+42h]
- .text:00CA67EA push eax
- .text:00CA67EB call sub_C34406
- .text:00CA67F0 mov ecx, eax
- .text:00CA67F2 call sub_C347FF
- .text:00CA67F7 mov [ebp+var_7C], eax
- .text:00CA67FA cmp [ebp+var_7C], 0
- .text:00CA67FE jz short loc_CA682B
- .text:00CA6800 push [ebp+var_7C]
- .text:00CA6803 push offset asc_157E3C8 ; "%s"
- .text:00CA6808 push 0FFh
- .text:00CA680D mov eax, [ebp+var_58]
- .text:00CA6810 add eax, 44h
- .text:00CA6813 push eax
- .text:00CA6814 call loc_11B49E3
- .text:00CA6819 ; ---------------------------------------------------------------------------
- .text:00CA6819 add esp, 10h
- .text:00CA681C push [ebp+var_58]
- .text:00CA681F call sub_458067
- .text:00CA6824 mov ecx, eax
- .text:00CA6826 call sub_A85984
- .text:00CA682B
- .text:00CA682B loc_CA682B: ; CODE XREF: sub_CA5DC8+A0Bj
- .text:00CA682B ; sub_CA5DC8+A36j
- .text:00CA682B mov eax, [ebp+var_58]
- .text:00CA682E movzx eax, byte ptr [eax+12h]
- .text:00CA6832 push eax
- .text:00CA6833 call sub_45A27C
- .text:00CA6838 pop ecx
- .text:00CA6839 cmp eax, 8
- .text:00CA683C jnz loc_CA68C3
- .text:00CA6842 push 0FFFFFFFFh
- .text:00CA6844 push [ebp+var_5C]
- .text:00CA6847 push 353h
- .text:00CA684C call sub_72B556
- .text:00CA6851 add esp, 0Ch
- .text:00CA6854 movzx eax, al
- .text:00CA6857 test eax, eax
- .text:00CA6859 jnz short loc_CA68C3
- .text:00CA685B mov eax, [ebp+var_58]
- .text:00CA685E movzx eax, byte ptr [eax+12h]
- .text:00CA6862 push eax
- .text:00CA6863 call sub_A46095
- .text:00CA6868 pop ecx
- .text:00CA6869 movzx eax, al
- .text:00CA686C mov [ebp+var_80], eax
- .text:00CA686F push 0FFFFFFFFh
- .text:00CA6871 push ecx
- .text:00CA6872 fld ds:flt_154EBB0
- .text:00CA6878 fstp [esp+0D8h+var_D8]
- .text:00CA687B push 0
- .text:00CA687D push 0
- .text:00CA687F push 0
- .text:00CA6881 push 0FFFFFFFFh
- .text:00CA6883 push [ebp+var_5C]
- .text:00CA6886 push [ebp+var_80]
- .text:00CA6889 mov ecx, [ebp+var_5C]
- .text:00CA688C add ecx, 0BCh
- .text:00CA6892 call sub_9DA4F2
- .text:00CA6897 push eax
- .text:00CA6898 mov ecx, [ebp+var_5C]
- .text:00CA689B add ecx, 128h
- .text:00CA68A1 call sub_9DA4F2
- .text:00CA68A6 push eax
- .text:00CA68A7 mov ecx, [ebp+var_5C]
- .text:00CA68AA add ecx, 11Ch
- .text:00CA68B0 call sub_9DA4F2
- .text:00CA68B5 push eax
- .text:00CA68B6 push 353h
- .text:00CA68BB call sub_6627F3
- .text:00CA68C0 ; ---------------------------------------------------------------------------
- .text:00CA68C0 add esp, 30h
- .text:00CA68C3
- .text:00CA68C3 loc_CA68C3: ; CODE XREF: sub_CA5DC8+B0j
- .text:00CA68C3 ; sub_CA5DC8+A74j ...
- .text:00CA68C3 mov eax, [ebp+var_30]
- .text:00CA68C6 movzx eax, byte ptr [eax+3Fh]
- .text:00CA68CA push 20h
- .text:00CA68CC pop ecx
- .text:00CA68CD sub ecx, eax
- .text:00CA68CF shl ecx, 3
- .text:00CA68D2 mov eax, 140h
- .text:00CA68D7 sub eax, ecx
- .text:00CA68D9 add eax, [ebp+var_10]
- .text:00CA68DC mov [ebp+var_10], eax
- .text:00CA68DF jmp loc_CA5DFA
- .text:00CA68E4 ; ---------------------------------------------------------------------------
- .text:00CA68E4
- .text:00CA68E4 loc_CA68E4: ; CODE XREF: sub_CA5DC8+43j
- .text:00CA68E4 push dword_9D056FC
- .text:00CA68EA call sub_4F84F5
- .text:00CA68EF mov ecx, eax
- .text:00CA68F1 call sub_99F082
- .text:00CA68F6 call ds:off_154D468
- .text:00CA68FC mov dword_17AACF4, eax
- .text:00CA6901 mov ecx, [ebp+var_C]
- .text:00CA6904 mov large fs:0, ecx
- .text:00CA690B pop edi
- .text:00CA690C leave
- .text:00CA690D retn
- .text:00CA690D sub_CA5DC8 endp
Add Comment
Please, Sign In to add comment