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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x5128d5
sub esp, 0x58
mov eax, dword [esp + 0x60]
cmp eax, 7
jne 0x5128cc
mov ecx, dword [esp + 0x5c]
cmp dword [ecx], 0x6e6e6f63
jne 0x5124c4
cmp word [ecx + 4], 0x6365
jne 0x5124c4
cmp byte [ecx + 6], 0x74
je 0x512713
cmp eax, 6
jne 0x5126fb
cmp dword [ecx], 0x7473696c
jne 0x5126fb
cmp word [ecx + 4], 0x6e65
jne 0x5126fb
movzx eax, byte [esp + 0x70]
test al, al
je 0x512615
nop
mov eax, dword [0x700930]
lea ecx, [0x6fcee0]
mov dword [esp], ecx
lea ecx, [0x611dcc]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
lea eax, [0x5cff59]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 3
mov eax, dword [esp + 0x64]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x18], eax
call fcn.004f5c70
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
test eax, eax
je 0x5125c8
mov dword [esp + 0x2c], eax
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
lea edx, [0x5a5ba0]
mov dword [esp + 0x48], edx
lea edx, [0x60e7a8]
mov dword [esp + 0x4c], edx
je 0x5125c4
mov edx, dword [eax + 4]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], ecx
lea eax, [esp + 0x48]
mov dword [esp], eax
mov dword [esp + 4], 2
mov dword [esp + 8], 2
call fcn.004d12d0
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x78], eax
add esp, 0x58
ret
mov edx, eax
jmp 0x512588
mov dword [esp], 0x10
lea eax, [0x5def70]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
movzx eax, byte [esp + 0x70]
mov byte [esp + 0x10], al
movzx eax, word [esp + 0x72]
mov word [esp + 0x12], ax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x14], eax
call fcn.0043c1d0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
add esp, 0x58
ret
lea eax, [0x5cff59]
mov dword [esp], eax
mov dword [esp + 4], 3
mov ecx, dword [esp + 0x64]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0xc], ecx
call fcn.005023f0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
test ecx, ecx
je 0x5126ce
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
lea eax, [0x5a5ba0]
mov dword [esp + 0x48], eax
lea eax, [0x60e788]
mov dword [esp + 0x4c], eax
test edx, edx
je 0x512692
mov edx, dword [edx + 4]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], ebp
lea eax, [esp + 0x48]
mov dword [esp], eax
mov dword [esp + 4], 2
mov dword [esp + 8], 2
call fcn.004d12d0
mov eax, dword [esp + 0x44]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x78], eax
add esp, 0x58
ret
lea ecx, [0x5cff59]
mov dword [esp], ecx
mov dword [esp + 4], 3
mov dword [esp + 8], eax
call fcn.00503140
mov ebx, dword [esp + 0xc]
xor eax, eax
xor ecx, ecx
lea edx, [0x611a7c]
jmp 0x512547
mov eax, dword [0x701300]
mov ecx, dword [0x701304]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ecx
add esp, 0x58
ret
lea eax, [0x5cff59]
mov dword [esp], eax
mov dword [esp + 4], 3
mov ecx, dword [esp + 0x64]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0xc], ecx
call fcn.005023f0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
test ecx, ecx
je 0x5127cc
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
lea eax, [0x5a5ba0]
mov dword [esp + 0x48], eax
lea eax, [0x60e788]
mov dword [esp + 0x4c], eax
test edx, edx
je 0x512790
mov edx, dword [edx + 4]
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], ebp
lea eax, [esp + 0x48]
mov dword [esp], eax
mov dword [esp + 4], 2
mov dword [esp + 8], 2
call fcn.004d12d0
mov eax, dword [esp + 0x44]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x78], eax
add esp, 0x58
ret
lea ecx, [0x5cff59]
mov dword [esp], ecx
mov dword [esp + 4], 3
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
call fcn.00502910
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
test ecx, ecx
je 0x512881
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
lea eax, [0x5a5ba0]
mov dword [esp + 0x48], eax
lea eax, [0x60e790]
mov dword [esp + 0x4c], eax
test edx, edx
je 0x512845
mov edx, dword [edx + 4]
mov dword [esp + 0x30], ebp
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], ebp
lea eax, [esp + 0x48]
mov dword [esp], eax
mov dword [esp + 4], 2
mov dword [esp + 8], 2
call fcn.004d12d0
mov eax, dword [esp + 0x44]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x78], eax
add esp, 0x58
ret
mov dword [esp + 0x40], eax
mov dword [esp], eax
mov byte [esp + 4], 1
call fcn.00502790
mov dword [esp], 8
mov eax, dword [esp + 0x6c]
mov dword [esp + 4], eax
lea eax, [0x61292c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0xc], eax
call fcn.0043c1d0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
add esp, 0x58
ret
mov ecx, dword [esp + 0x5c]
jmp 0x5124c4
call fcn.0045ccc0
jmp fcn.00512480