Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .text:0051CD00
- .text:0051CD00 ; =============== S U B R O U T I N E =======================================
- .text:0051CD00
- .text:0051CD00
- .text:0051CD00 sub_51CD00 proc near ; CODE XREF: sub_51DB30+22p
- .text:0051CD00 ; sub_51DB60+F6p ...
- .text:0051CD00
- .text:0051CD00 var_15 = byte ptr -15h
- .text:0051CD00 var_14 = dword ptr -14h
- .text:0051CD00 var_10 = dword ptr -10h
- .text:0051CD00 arg_0 = dword ptr 4
- .text:0051CD00 arg_4 = dword ptr 8
- .text:0051CD00 arg_8 = dword ptr 0Ch
- .text:0051CD00 arg_C = dword ptr 10h
- .text:0051CD00 arg_10 = dword ptr 14h
- .text:0051CD00
- .text:0051CD00 sub esp, 18h
- .text:0051CD03 push ebx
- .text:0051CD04 push ebp
- .text:0051CD05 push esi
- .text:0051CD06 push edi
- .text:0051CD07 mov edi, eax
- .text:0051CD09 call ?__uncaught_exception@@YA_NXZ_0 ; __uncaught_exception(void)
- .text:0051CD0E mov eax, [edi+40h]
- .text:0051CD11 mov ecx, [edi+3Ch]
- .text:0051CD14 mov edx, [esp+28h+arg_0]
- .text:0051CD18 mov ebx, [esp+28h+arg_4]
- .text:0051CD1C mov ebp, [esp+28h+arg_8]
- .text:0051CD20 mov esi, [esp+28h+arg_C]
- .text:0051CD24 push eax
- .text:0051CD25 push ecx
- .text:0051CD26 sub esp, 10h
- .text:0051CD29 mov eax, esp
- .text:0051CD2B mov [eax], edx
- .text:0051CD2D mov [eax+4], ebx
- .text:0051CD30 mov [eax+8], ebp
- .text:0051CD33 mov [eax+0Ch], esi
- .text:0051CD36 movzx eax, byte ptr [edi+8]
- .text:0051CD3A push eax
- .text:0051CD3B call sub_51C4F0
- .text:0051CD40 add esp, 1Ch
- .text:0051CD43 test al, al
- .text:0051CD45 jnz short loc_51CDB3
- .text:0051CD47 mov ecx, [edi]
- .text:0051CD49 push ecx
- .text:0051CD4A sub esp, 10h
- .text:0051CD4D mov eax, esp
- .text:0051CD4F mov [eax], edx
- .text:0051CD51 mov [eax+4], ebx
- .text:0051CD54 mov [eax+8], ebp
- .text:0051CD57 push edi ; int
- .text:0051CD58 mov [eax+0Ch], esi
- .text:0051CD5B call sub_51BC40
- .text:0051CD60 add esp, 14h
- .text:0051CD63 push eax ; char
- .text:0051CD64 push offset aSIsNotAValidVa ; "'%s' is not a valid value for dvar '%s'"...
- .text:0051CD69 push 10h ; int
- .text:0051CD6B push edi ; int
- .text:0051CD6C call sub_51C9F0
- .text:0051CD71 add esp, 14h
- .text:0051CD74 test al, al
- .text:0051CD76 jz short loc_51CD8D
- .text:0051CD78 mov edx, [edi+40h]
- .text:0051CD7B mov eax, [edi+3Ch]
- .text:0051CD7E movzx ecx, byte ptr [edi+8]
- .text:0051CD82 push edx ; float
- .text:0051CD83 push eax ; float
- .text:0051CD84 push ecx ; char
- .text:0051CD85 call sub_51CA60
- .text:0051CD8A add esp, 0Ch
- .text:0051CD8D
- .text:0051CD8D loc_51CD8D: ; CODE XREF: sub_51CD00+76j
- .text:0051CD8D cmp byte ptr [edi+8], 6
- .text:0051CD91 jnz loc_51D260
- .text:0051CD97 mov edx, [edi+2Ch]
- .text:0051CD9A mov ebx, [edi+30h]
- .text:0051CD9D mov ebp, [edi+34h]
- .text:0051CDA0 mov esi, [edi+38h]
- .text:0051CDA3 mov [esp+28h+arg_0], edx
- .text:0051CDA7 mov [esp+28h+arg_4], ebx
- .text:0051CDAB mov [esp+28h+arg_8], ebp
- .text:0051CDAF mov [esp+28h+arg_C], esi
- .text:0051CDB3
- .text:0051CDB3 loc_51CDB3: ; CODE XREF: sub_51CD00+45j
- .text:0051CDB3 mov ecx, [edi+44h]
- .text:0051CDB6 test ecx, ecx
- .text:0051CDB8 jz short loc_51CE29
- .text:0051CDBA sub esp, 10h
- .text:0051CDBD mov eax, esp
- .text:0051CDBF mov [eax], edx
- .text:0051CDC1 mov [eax+4], ebx
- .text:0051CDC4 mov [eax+8], ebp
- .text:0051CDC7 push edi
- .text:0051CDC8 mov [eax+0Ch], esi
- .text:0051CDCB call ecx
- .text:0051CDCD add esp, 14h
- .text:0051CDD0 test al, al
- .text:0051CDD2 jnz short loc_51CE19
- .text:0051CDD4 mov eax, [edi]
- .text:0051CDD6 mov ecx, [esp+28h+arg_0]
- .text:0051CDDA mov edx, [esp+28h+arg_4]
- .text:0051CDDE push eax
- .text:0051CDDF sub esp, 10h
- .text:0051CDE2 mov eax, esp
- .text:0051CDE4 mov [eax], ecx
- .text:0051CDE6 mov ecx, [esp+3Ch+arg_8]
- .text:0051CDEA mov [eax+4], edx
- .text:0051CDED mov edx, [esp+3Ch+arg_C]
- .text:0051CDF1 mov [eax+8], ecx
- .text:0051CDF4 push edi ; int
- .text:0051CDF5 mov [eax+0Ch], edx
- .text:0051CDF8 call sub_51BC40
- .text:0051CDFD add esp, 14h
- .text:0051CE00 push eax ; char
- .text:0051CE01 push offset aSIsNotAValid_0 ; "'%s' is not a valid value for dvar '%s'"...
- .text:0051CE06 push 10h ; int
- .text:0051CE08 push edi ; int
- .text:0051CE09 call sub_51C9F0
- .text:0051CE0E add esp, 14h
- .text:0051CE11 pop edi
- .text:0051CE12 pop esi
- .text:0051CE13 pop ebp
- .text:0051CE14 pop ebx
- .text:0051CE15 add esp, 18h
- .text:0051CE18 retn
- .text:0051CE19 ; ---------------------------------------------------------------------------
- .text:0051CE19
- .text:0051CE19 loc_51CE19: ; CODE XREF: sub_51CD00+D2j
- .text:0051CE19 mov esi, [esp+28h+arg_C]
- .text:0051CE1D mov ebp, [esp+28h+arg_8]
- .text:0051CE21 mov ebx, [esp+28h+arg_4]
- .text:0051CE25 mov edx, [esp+28h+arg_0]
- .text:0051CE29
- .text:0051CE29 loc_51CE29: ; CODE XREF: sub_51CD00+B8j
- .text:0051CE29 mov ecx, [esp+28h+arg_10]
- .text:0051CE2D cmp ecx, 1
- .text:0051CE30 jz short loc_51CE3B
- .text:0051CE32 cmp ecx, 2
- .text:0051CE35 jnz loc_51D056
- .text:0051CE3B
- .text:0051CE3B loc_51CE3B: ; CODE XREF: sub_51CD00+130j
- .text:0051CE3B mov eax, [edi+4]
- .text:0051CE3E test eax, 2000h
- .text:0051CE43 jz short loc_51CE9F
- .text:0051CE45 mov ecx, [edi+0Ch]
- .text:0051CE48 sub esp, 10h
- .text:0051CE4B mov eax, esp
- .text:0051CE4D mov [eax], edx
- .text:0051CE4F mov edx, [edi+10h]
- .text:0051CE52 mov [eax+4], ebx
- .text:0051CE55 mov [eax+8], ebp
- .text:0051CE58 mov [eax+0Ch], esi
- .text:0051CE5B sub esp, 10h
- .text:0051CE5E mov eax, esp
- .text:0051CE60 mov [eax], ecx
- .text:0051CE62 mov ecx, [edi+14h]
- .text:0051CE65 mov [eax+4], edx
- .text:0051CE68 mov edx, [edi+18h]
- .text:0051CE6B mov [eax+8], ecx
- .text:0051CE6E mov [eax+0Ch], edx
- .text:0051CE71 mov al, [edi+8]
- .text:0051CE74 call sub_51CAA0
- .text:0051CE79 add esp, 20h
- .text:0051CE7C test eax, eax
- .text:0051CE7E jnz loc_51D260
- .text:0051CE84 mov eax, [edi]
- .text:0051CE86 push eax ; char
- .text:0051CE87 push offset aSIsReadOnly_ ; "%s is read only.\n"
- .text:0051CE8C push 10h ; int
- .text:0051CE8E push edi ; int
- .text:0051CE8F call sub_51C9F0
- .text:0051CE94 add esp, 10h
- .text:0051CE97 pop edi
- .text:0051CE98 pop esi
- .text:0051CE99 pop ebp
- .text:0051CE9A pop ebx
- .text:0051CE9B add esp, 18h
- .text:0051CE9E retn
- .text:0051CE9F ; ---------------------------------------------------------------------------
- .text:0051CE9F
- .text:0051CE9F loc_51CE9F: ; CODE XREF: sub_51CD00+143j
- .text:0051CE9F test eax, 800h
- .text:0051CEA4 jz short loc_51CF00
- .text:0051CEA6 mov ecx, [edi+0Ch]
- .text:0051CEA9 sub esp, 10h
- .text:0051CEAC mov eax, esp
- .text:0051CEAE mov [eax], edx
- .text:0051CEB0 mov edx, [edi+10h]
- .text:0051CEB3 mov [eax+4], ebx
- .text:0051CEB6 mov [eax+8], ebp
- .text:0051CEB9 mov [eax+0Ch], esi
- .text:0051CEBC sub esp, 10h
- .text:0051CEBF mov eax, esp
- .text:0051CEC1 mov [eax], ecx
- .text:0051CEC3 mov ecx, [edi+14h]
- .text:0051CEC6 mov [eax+4], edx
- .text:0051CEC9 mov edx, [edi+18h]
- .text:0051CECC mov [eax+8], ecx
- .text:0051CECF mov [eax+0Ch], edx
- .text:0051CED2 mov al, [edi+8]
- .text:0051CED5 call sub_51CAA0
- .text:0051CEDA add esp, 20h
- .text:0051CEDD test eax, eax
- .text:0051CEDF jnz loc_51D260
- .text:0051CEE5 mov eax, [edi]
- .text:0051CEE7 push eax ; char
- .text:0051CEE8 push offset aSIsWriteProtec ; "%s is write protected.\n"
- .text:0051CEED push 10h ; int
- .text:0051CEEF push edi ; int
- .text:0051CEF0 call sub_51C9F0
- .text:0051CEF5 add esp, 10h
- .text:0051CEF8 pop edi
- .text:0051CEF9 pop esi
- .text:0051CEFA pop ebp
- .text:0051CEFB pop ebx
- .text:0051CEFC add esp, 18h
- .text:0051CEFF retn
- .text:0051CF00 ; ---------------------------------------------------------------------------
- .text:0051CF00
- .text:0051CF00 loc_51CF00: ; CODE XREF: sub_51CD00+1A4j
- .text:0051CF00 cmp ecx, 1
- .text:0051CF03 jnz loc_51CFD8
- .text:0051CF09 test al, 4
- .text:0051CF0B jz short loc_51CF70
- .text:0051CF0D cmp byte_78ED24, 0
- .text:0051CF14 jnz short loc_51CF70
- .text:0051CF16 mov ecx, [edi+0Ch]
- .text:0051CF19 sub esp, 10h
- .text:0051CF1C mov eax, esp
- .text:0051CF1E mov [eax], edx
- .text:0051CF20 mov edx, [edi+10h]
- .text:0051CF23 mov [eax+4], ebx
- .text:0051CF26 mov [eax+8], ebp
- .text:0051CF29 mov [eax+0Ch], esi
- .text:0051CF2C sub esp, 10h
- .text:0051CF2F mov eax, esp
- .text:0051CF31 mov [eax], ecx
- .text:0051CF33 mov ecx, [edi+14h]
- .text:0051CF36 mov [eax+4], edx
- .text:0051CF39 mov edx, [edi+18h]
- .text:0051CF3C mov [eax+8], ecx
- .text:0051CF3F mov [eax+0Ch], edx
- .text:0051CF42 mov al, [edi+8]
- .text:0051CF45 call sub_51CAA0
- .text:0051CF4A add esp, 20h
- .text:0051CF4D test eax, eax
- .text:0051CF4F jnz loc_51D260
- .text:0051CF55 mov eax, [edi]
- .text:0051CF57 push eax ; char
- .text:0051CF58 push offset aSIsCheatProtec ; "%s is cheat protected.\n"
- .text:0051CF5D push 10h ; int
- .text:0051CF5F push edi ; int
- .text:0051CF60 call sub_51C9F0
- .text:0051CF65 add esp, 10h
- .text:0051CF68 pop edi
- .text:0051CF69 pop esi
- .text:0051CF6A pop ebp
- .text:0051CF6B pop ebx
- .text:0051CF6C add esp, 18h
- .text:0051CF6F retn
- .text:0051CF70 ; ---------------------------------------------------------------------------
- .text:0051CF70
- .text:0051CF70 loc_51CF70: ; CODE XREF: sub_51CD00+20Bj
- .text:0051CF70 ; sub_51CD00+214j
- .text:0051CF70 cmp eax, 100h
- .text:0051CF75 jz short loc_51CFD8
- .text:0051CF77 test eax, 10001h
- .text:0051CF7C jnz short loc_51CFD8
- .text:0051CF7E mov ecx, [edi+0Ch]
- .text:0051CF81 sub esp, 10h
- .text:0051CF84 mov eax, esp
- .text:0051CF86 mov [eax], edx
- .text:0051CF88 mov edx, [edi+10h]
- .text:0051CF8B mov [eax+4], ebx
- .text:0051CF8E mov [eax+8], ebp
- .text:0051CF91 mov [eax+0Ch], esi
- .text:0051CF94 sub esp, 10h
- .text:0051CF97 mov eax, esp
- .text:0051CF99 mov [eax], ecx
- .text:0051CF9B mov ecx, [edi+14h]
- .text:0051CF9E mov [eax+4], edx
- .text:0051CFA1 mov edx, [edi+18h]
- .text:0051CFA4 mov [eax+8], ecx
- .text:0051CFA7 mov [eax+0Ch], edx
- .text:0051CFAA mov al, [edi+8]
- .text:0051CFAD call sub_51CAA0
- .text:0051CFB2 add esp, 20h
- .text:0051CFB5 test eax, eax
- .text:0051CFB7 jnz loc_51D260
- .text:0051CFBD mov eax, [edi]
- .text:0051CFBF push eax ; char
- .text:0051CFC0 push offset aSIsInternal_ ; "%s is internal.\n"
- .text:0051CFC5 push 10h ; int
- .text:0051CFC7 push edi ; int
- .text:0051CFC8 call sub_51C9F0
- .text:0051CFCD add esp, 10h
- .text:0051CFD0 pop edi
- .text:0051CFD1 pop esi
- .text:0051CFD2 pop ebp
- .text:0051CFD3 pop ebx
- .text:0051CFD4 add esp, 18h
- .text:0051CFD7 retn
- .text:0051CFD8 ; ---------------------------------------------------------------------------
- .text:0051CFD8
- .text:0051CFD8 loc_51CFD8: ; CODE XREF: sub_51CD00+203j
- .text:0051CFD8 ; sub_51CD00+275j ...
- .text:0051CFD8 test al, 2
- .text:0051CFDA jz short loc_51D056
- .text:0051CFDC sub esp, 10h
- .text:0051CFDF mov eax, esp
- .text:0051CFE1 mov [eax], edx
- .text:0051CFE3 mov [eax+4], ebx
- .text:0051CFE6 mov [eax+8], ebp
- .text:0051CFE9 mov [eax+0Ch], esi
- .text:0051CFEC mov eax, edi
- .text:0051CFEE call sub_51CBB0
- .text:0051CFF3 mov ecx, [edi+0Ch]
- .text:0051CFF6 mov edx, [edi+10h]
- .text:0051CFF9 mov eax, esp
- .text:0051CFFB mov [eax], ecx
- .text:0051CFFD mov ecx, [edi+14h]
- .text:0051D000 mov [eax+4], edx
- .text:0051D003 mov edx, [edi+18h]
- .text:0051D006 mov [eax+8], ecx
- .text:0051D009 mov ecx, [edi+1Ch]
- .text:0051D00C mov [eax+0Ch], edx
- .text:0051D00F mov edx, [edi+20h]
- .text:0051D012 sub esp, 10h
- .text:0051D015 mov eax, esp
- .text:0051D017 mov [eax], ecx
- .text:0051D019 mov ecx, [edi+24h]
- .text:0051D01C mov [eax+4], edx
- .text:0051D01F mov edx, [edi+28h]
- .text:0051D022 mov [eax+8], ecx
- .text:0051D025 mov [eax+0Ch], edx
- .text:0051D028 mov al, [edi+8]
- .text:0051D02B call sub_51CAA0
- .text:0051D030 add esp, 20h
- .text:0051D033 test eax, eax
- .text:0051D035 jnz loc_51D260
- .text:0051D03B mov eax, [edi]
- .text:0051D03D push eax ; char
- .text:0051D03E push offset aSWillBeChanged ; "%s will be changed upon restarting.\n"
- .text:0051D043 push 10h ; int
- .text:0051D045 push edi ; int
- .text:0051D046 call sub_51C9F0
- .text:0051D04B add esp, 10h
- .text:0051D04E pop edi
- .text:0051D04F pop esi
- .text:0051D050 pop ebp
- .text:0051D051 pop ebx
- .text:0051D052 add esp, 18h
- .text:0051D055 retn
- .text:0051D056 ; ---------------------------------------------------------------------------
- .text:0051D056
- .text:0051D056 loc_51D056: ; CODE XREF: sub_51CD00+135j
- .text:0051D056 ; sub_51CD00+2DAj
- .text:0051D056 mov eax, large fs:2Ch
- .text:0051D05C mov ecx, TlsIndex
- .text:0051D062 mov ecx, [eax+ecx*4]
- .text:0051D065 mov eax, [edi+4]
- .text:0051D068 mov [esp+28h+var_14], ecx
- .text:0051D06C mov ecx, [ecx+0DCh]
- .text:0051D072 not ecx
- .text:0051D074 test eax, ecx
- .text:0051D076 jz short loc_51D0CB
- .text:0051D078 call sub_4D5300
- .text:0051D07D test al, al
- .text:0051D07F jz short loc_51D0B0
- .text:0051D081 test dword ptr [edi+4], 1200h
- .text:0051D088 jnz short loc_51D0B0
- .text:0051D08A call sub_4ECDF0
- .text:0051D08F call sub_4CCC10
- .text:0051D094 mov edx, [edi+4]
- .text:0051D097 mov eax, dword_585132C
- .text:0051D09C or [eax], edx
- .text:0051D09E mov esi, [esp+28h+arg_C]
- .text:0051D0A2 mov ebp, [esp+28h+arg_8]
- .text:0051D0A6 mov ebx, [esp+28h+arg_4]
- .text:0051D0AA mov edx, [esp+28h+arg_0]
- .text:0051D0AE jmp short loc_51D0D5
- .text:0051D0B0 ; ---------------------------------------------------------------------------
- .text:0051D0B0
- .text:0051D0B0 loc_51D0B0: ; CODE XREF: sub_51CD00+37Fj
- .text:0051D0B0 ; sub_51CD00+388j
- .text:0051D0B0 mov eax, [edi]
- .text:0051D0B2 push eax ; char
- .text:0051D0B3 push offset aSCannotBeChang ; "%s cannot be changed.\n"
- .text:0051D0B8 push 10h ; int
- .text:0051D0BA push edi ; int
- .text:0051D0BB call sub_51C9F0
- .text:0051D0C0 add esp, 10h
- .text:0051D0C3 pop edi
- .text:0051D0C4 pop esi
- .text:0051D0C5 pop ebp
- .text:0051D0C6 pop ebx
- .text:0051D0C7 add esp, 18h
- .text:0051D0CA retn
- .text:0051D0CB ; ---------------------------------------------------------------------------
- .text:0051D0CB
- .text:0051D0CB loc_51D0CB: ; CODE XREF: sub_51CD00+376j
- .text:0051D0CB mov ecx, [esp+28h+var_14]
- .text:0051D0CF or [ecx+0D8h], eax
- .text:0051D0D5
- .text:0051D0D5 loc_51D0D5: ; CODE XREF: sub_51CD00+3AEj
- .text:0051D0D5 mov al, [edi+8]
- .text:0051D0D8 sub esp, 10h
- .text:0051D0DB mov ecx, esp
- .text:0051D0DD mov [ecx], edx
- .text:0051D0DF mov edx, [edi+0Ch]
- .text:0051D0E2 mov [ecx+4], ebx
- .text:0051D0E5 mov [ecx+8], ebp
- .text:0051D0E8 mov [ecx+0Ch], esi
- .text:0051D0EB sub esp, 10h
- .text:0051D0EE mov ecx, esp
- .text:0051D0F0 mov [ecx], edx
- .text:0051D0F2 mov edx, [edi+10h]
- .text:0051D0F5 mov [ecx+4], edx
- .text:0051D0F8 mov edx, [edi+14h]
- .text:0051D0FB mov [ecx+8], edx
- .text:0051D0FE mov edx, [edi+18h]
- .text:0051D101 mov [ecx+0Ch], edx
- .text:0051D104 call sub_51CAA0
- .text:0051D109 add esp, 20h
- .text:0051D10C test eax, eax
- .text:0051D10E jz short loc_51D13E
- .text:0051D110 mov ecx, [edi+0Ch]
- .text:0051D113 mov edx, [edi+10h]
- .text:0051D116 sub esp, 10h
- .text:0051D119 mov eax, esp
- .text:0051D11B mov [eax], ecx
- .text:0051D11D mov ecx, [edi+14h]
- .text:0051D120 mov [eax+4], edx
- .text:0051D123 mov edx, [edi+18h]
- .text:0051D126 mov [eax+8], ecx
- .text:0051D129 mov [eax+0Ch], edx
- .text:0051D12C mov eax, edi
- .text:0051D12E call sub_51CBB0
- .text:0051D133 add esp, 10h
- .text:0051D136 pop edi
- .text:0051D137 pop esi
- .text:0051D138 pop ebp
- .text:0051D139 pop ebx
- .text:0051D13A add esp, 18h
- .text:0051D13D retn
- .text:0051D13E ; ---------------------------------------------------------------------------
- .text:0051D13E
- .text:0051D13E loc_51D13E: ; CODE XREF: sub_51CD00+40Ej
- .text:0051D13E movzx eax, byte ptr [edi+8]
- .text:0051D142 add eax, 0FFFFFFFEh ; switch 8 cases
- .text:0051D145 cmp eax, 7
- .text:0051D148 ja loc_51D240 ; default
- .text:0051D148 ; jumptable 0051D14E cases 5,6,8
- .text:0051D14E jmp ds:off_51D268[eax*4] ; switch jump
- .text:0051D155
- .text:0051D155 loc_51D155: ; DATA XREF: .text:off_51D268o
- .text:0051D155 mov ecx, edi ; jumptable 0051D14E case 7
- .text:0051D157 call sub_51B930
- .text:0051D15C mov [esp+28h+var_15], al
- .text:0051D160 test al, al
- .text:0051D162 jz short loc_51D169
- .text:0051D164 mov ebp, [edi+0Ch]
- .text:0051D167 jmp short loc_51D16D
- .text:0051D169 ; ---------------------------------------------------------------------------
- .text:0051D169
- .text:0051D169 loc_51D169: ; CODE XREF: sub_51CD00+462j
- .text:0051D169 mov ebp, [esp+28h+var_10]
- .text:0051D16D
- .text:0051D16D loc_51D16D: ; CODE XREF: sub_51CD00+467j
- .text:0051D16D mov ebx, [esp+28h+arg_0]
- .text:0051D171 lea eax, [esp+28h+var_10]
- .text:0051D175 push eax
- .text:0051D176 call sub_51B9B0
- .text:0051D17B mov ecx, [esp+2Ch+var_10]
- .text:0051D17F mov [edi+0Ch], ecx
- .text:0051D182 add esp, 4
- .text:0051D185 mov ecx, edi
- .text:0051D187 call sub_51B950
- .text:0051D18C test al, al
- .text:0051D18E jz short loc_51D198
- .text:0051D190 lea esi, [edi+1Ch]
- .text:0051D193 call sub_51B990
- .text:0051D198
- .text:0051D198 loc_51D198: ; CODE XREF: sub_51CD00+48Ej
- .text:0051D198 cmp [esp+28h+var_15], 0
- .text:0051D19D mov edx, [edi+0Ch]
- .text:0051D1A0 mov [edi+1Ch], edx
- .text:0051D1A3 jz loc_51D25C
- .text:0051D1A9 push ebp
- .text:0051D1AA call sub_516EA0
- .text:0051D1AF add esp, 4
- .text:0051D1B2 mov byte ptr [edi+9], 1
- .text:0051D1B6 pop edi
- .text:0051D1B7 pop esi
- .text:0051D1B8 pop ebp
- .text:0051D1B9 pop ebx
- .text:0051D1BA add esp, 18h
- .text:0051D1BD retn
- .text:0051D1BE ; ---------------------------------------------------------------------------
- .text:0051D1BE
- .text:0051D1BE loc_51D1BE: ; CODE XREF: sub_51CD00+44Ej
- .text:0051D1BE ; DATA XREF: .text:off_51D268o
- .text:0051D1BE fld [esp+28h+arg_0] ; jumptable 0051D14E case 2
- .text:0051D1C2 fst dword ptr [edi+0Ch]
- .text:0051D1C5 fld [esp+28h+arg_4]
- .text:0051D1C9 fst dword ptr [edi+10h]
- .text:0051D1CC fstp dword ptr [edi+20h]
- .text:0051D1CF fstp dword ptr [edi+1Ch]
- .text:0051D1D2 mov byte ptr [edi+9], 1
- .text:0051D1D6 pop edi
- .text:0051D1D7 pop esi
- .text:0051D1D8 pop ebp
- .text:0051D1D9 pop ebx
- .text:0051D1DA add esp, 18h
- .text:0051D1DD retn
- .text:0051D1DE ; ---------------------------------------------------------------------------
- .text:0051D1DE
- .text:0051D1DE loc_51D1DE: ; CODE XREF: sub_51CD00+44Ej
- .text:0051D1DE ; DATA XREF: .text:off_51D268o
- .text:0051D1DE fld [esp+28h+arg_0] ; jumptable 0051D14E cases 3,9
- .text:0051D1E2 fst dword ptr [edi+0Ch]
- .text:0051D1E5 fld [esp+28h+arg_4]
- .text:0051D1E9 fst dword ptr [edi+10h]
- .text:0051D1EC fld [esp+28h+arg_8]
- .text:0051D1F0 fst dword ptr [edi+14h]
- .text:0051D1F3 fstp dword ptr [edi+24h]
- .text:0051D1F6 fxch st(1)
- .text:0051D1F8 fstp dword ptr [edi+1Ch]
- .text:0051D1FB fstp dword ptr [edi+20h]
- .text:0051D1FE mov byte ptr [edi+9], 1
- .text:0051D202 pop edi
- .text:0051D203 pop esi
- .text:0051D204 pop ebp
- .text:0051D205 pop ebx
- .text:0051D206 add esp, 18h
- .text:0051D209 retn
- .text:0051D20A ; ---------------------------------------------------------------------------
- .text:0051D20A
- .text:0051D20A loc_51D20A: ; CODE XREF: sub_51CD00+44Ej
- .text:0051D20A ; DATA XREF: .text:off_51D268o
- .text:0051D20A fld [esp+28h+arg_0] ; jumptable 0051D14E case 4
- .text:0051D20E fst dword ptr [edi+0Ch]
- .text:0051D211 fld [esp+28h+arg_4]
- .text:0051D215 fst dword ptr [edi+10h]
- .text:0051D218 fld [esp+28h+arg_8]
- .text:0051D21C fst dword ptr [edi+14h]
- .text:0051D21F fld [esp+28h+arg_C]
- .text:0051D223 fst dword ptr [edi+18h]
- .text:0051D226 fstp dword ptr [edi+28h]
- .text:0051D229 fxch st(2)
- .text:0051D22B fstp dword ptr [edi+1Ch]
- .text:0051D22E fstp dword ptr [edi+20h]
- .text:0051D231 fstp dword ptr [edi+24h]
- .text:0051D234 mov byte ptr [edi+9], 1
- .text:0051D238 pop edi
- .text:0051D239 pop esi
- .text:0051D23A pop ebp
- .text:0051D23B pop ebx
- .text:0051D23C add esp, 18h
- .text:0051D23F retn
- .text:0051D240 ; ---------------------------------------------------------------------------
- .text:0051D240
- .text:0051D240 loc_51D240: ; CODE XREF: sub_51CD00+448j
- .text:0051D240 ; sub_51CD00+44Ej
- .text:0051D240 ; DATA XREF: ...
- .text:0051D240 mov eax, [esp+28h+arg_0] ; default
- .text:0051D240 ; jumptable 0051D14E cases 5,6,8
- .text:0051D244 mov [edi+0Ch], eax
- .text:0051D247 mov [edi+1Ch], eax
- .text:0051D24A mov [edi+10h], ebx
- .text:0051D24D mov [edi+20h], ebx
- .text:0051D250 mov [edi+14h], ebp
- .text:0051D253 mov [edi+24h], ebp
- .text:0051D256 mov [edi+18h], esi
- .text:0051D259 mov [edi+28h], esi
- .text:0051D25C
- .text:0051D25C loc_51D25C: ; CODE XREF: sub_51CD00+4A3j
- .text:0051D25C mov byte ptr [edi+9], 1
- .text:0051D260
- .text:0051D260 loc_51D260: ; CODE XREF: sub_51CD00+91j
- .text:0051D260 ; sub_51CD00+17Ej ...
- .text:0051D260 pop edi
- .text:0051D261 pop esi
- .text:0051D262 pop ebp
- .text:0051D263 pop ebx
- .text:0051D264 add esp, 18h
- .text:0051D267 retn
- .text:0051D267 sub_51CD00 endp
- .text:0051D267
- .text:0051D267 ; ---------------------------------------------------------------------------
- .text:0051D268 off_51D268 dd offset loc_51D1BE ; DATA XREF: sub_51CD00+44Er
- .text:0051D268 dd offset loc_51D1DE ; jump table for switch statement
- .text:0051D268 dd offset loc_51D20A
- .text:0051D268 dd offset loc_51D240
- .text:0051D268 dd offset loc_51D240
- .text:0051D268 dd offset loc_51D155
- .text:0051D268 dd offset loc_51D240
- .text:0051D268 dd offset loc_51D1DE
- .text:0051D288 align 10h
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement