Function at 0x512d80
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x58]
cmp eax, dword [ecx + 8]
jbe 0x513249
sub esp, 0xd8
lea edi, [esp + 0xf0]
xor eax, eax
call fcn.00455e44
mov ecx, dword [esp + 0xdc]
test ecx, ecx
je 0x51323d
mov eax, dword [ecx + 8]
cmp eax, 0x188a5798
jne 0x512f09
lea eax, [0x53b760]
cmp eax, ecx
jne 0x512eee
mov eax, dword [esp + 0xe0]
mov edx, dword [eax]
mov ebx, dword [eax + 4]
mov ebp, dword [eax + 8]
jne 0x512e43
mov eax, dword [0x6667f8]
mov ecx, dword [0x6667f4]
mov esi, dword [0x6667f0]
mov dword [esp + 0xf0], esi
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov dword [esp + 0xe4], edx
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xec], ebp
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
add esp, 0xd8
ret
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], eax
lea eax, [0x5637a2]
mov dword [esp], eax
mov dword [esp + 4], 0x25
lea eax, [esp + 0x38]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004a36f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x34], ecx
lea edi, [esp + 0x48]
lea esi, [0x58c220]
call fcn.004562e8
lea edi, [esp + 0xf0]
lea esi, [esp + 0x48]
call fcn.004562e8
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x124], eax
add esp, 0xd8
ret
mov eax, dword [esp + 0xe0]
mov ebp, 0
mov ebx, 0
mov edx, 0
jmp 0x512de8
cmp eax, 0x2fd00e80
jne 0x5130f7
lea eax, [0x54de00]
cmp eax, ecx
jne 0x5130ed
mov eax, dword [esp + 0xe0]
je 0x512f37
mov eax, dword [esp + 0xe0]
jmp 0x512e43
mov dword [esp + 0x2c], eax
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov ebx, dword [eax + 8]
mov ebp, dword [eax + 0xc]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
call fcn.004e2ae0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x30], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x24], edx
mov ebx, dword [esp + 0x2c]
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
mov dword [esp], ebp
mov dword [esp + 4], ebx
call fcn.00513f70
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
movzx edx, byte [esp + 0x14]
mov ebx, dword [esp + 8]
test dl, dl
je 0x513071
mov edx, dword [0x6667e0]
mov ebp, dword [0x6667e4]
mov esi, dword [0x6667e8]
mov dword [esp + 0xf0], edx
mov dword [esp + 0xf4], ebp
mov dword [esp + 0xf8], esi
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408130
mov eax, dword [esp + 0xc]
lea ecx, [0x5425a0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
call fcn.004df570
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
test ebx, ebx
jne 0x51303b
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], ecx
mov dword [esp + 0x11c], edx
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x28]
mov edx, dword [esp + 0x30]
jmp 0x512e11
mov eax, dword [esp + 0x30]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0xec], eax
mov dword [esp + 0x120], ebx
mov dword [esp + 0x124], ebp
add esp, 0xd8
ret
lea eax, [0x53ff20]
mov dword [esp], eax
call fcn.0040a710
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x20
lea ecx, [0x5623a2]
mov dword [eax], ecx
lea edi, [esp + 0x78]
lea esi, [0x58c1e0]
call fcn.004562e8
lea edi, [esp + 0xf0]
lea esi, [esp + 0x78]
call fcn.004562e8
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
lea ecx, [0x58a9f0]
mov dword [esp + 0x120], ecx
mov dword [esp + 0x124], eax
add esp, 0xd8
ret
mov eax, 0
jmp 0x512f29
cmp eax, 0xcc456746
jne 0x512f2b
lea eax, [0x53d5e0]
cmp eax, ecx
jne 0x513233
mov eax, dword [esp + 0xe0]
jne 0x512f2b
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov ecx, dword [eax]
mov dword [esp + 0x40], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x44], eax
lea eax, [0x5434e0]
mov dword [esp], eax
lea eax, [esp + 0x40]
mov dword [esp + 4], eax
call fcn.00407f70
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
call fcn.004df570
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
test ebx, ebx
jne 0x5131d8
mov ebx, eax
mov eax, dword [0x666800]
mov ebp, ecx
mov ecx, dword [0x666804]
mov esi, ecx
mov ecx, dword [0x666808]
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], esi
mov dword [esp + 0xf8], ecx
lea edi, [esp + 0xfc]
lea esi, [0x668820]
call fcn.00456306
mov eax, ebx
mov ebx, ebp
mov ebp, edx
mov edx, eax
jmp 0x512e11
lea edi, [esp + 0xa8]
lea esi, [0x58c1a0]
call fcn.004562e8
lea edi, [esp + 0xf0]
lea esi, [esp + 0xa8]
call fcn.004562e8
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0x120], ebx
mov dword [esp + 0x124], ebp
add esp, 0xd8
ret
mov eax, 0
jmp 0x513117
mov eax, dword [esp + 0xe0]
jmp 0x512e43
call fcn.004543b0
jmp fcn.00512d80