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

Disassembly:
push 0xffffffffffffffff
push 0x53a989
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xa8
push ebx
push ebp
push esi
push edi
mov edi, ecx
lea ecx, [esp + 0x14]
call fcn.00473490
xor ebx, ebx
lea ecx, [esp + 0xa4]
mov dword [esp + 0xc0], ebx
call fcn.00473490
mov esi, 0x54d910
mov dword [esp + 0xa4], esi
lea ecx, [esp + 0x8c]
mov byte [esp + 0xc0], 1
call fcn.00473490
mov dword [esp + 0x8c], esi
lea ecx, [esp + 0x64]
mov byte [esp + 0xc0], 2
call fcn.00473490
mov dword [esp + 0x64], esi
lea ecx, [esp + 0x3c]
mov byte [esp + 0xc0], 3
call fcn.00473490
mov dword [esp + 0x3c], esi
lea ecx, [esp + 0x78]
mov byte [esp + 0xc0], 4
call fcn.00473490
mov dword [esp + 0x78], esi
lea ecx, [esp + 0x28]
mov byte [esp + 0xc0], 5
call fcn.00473490
mov dword [esp + 0x28], esi
lea ecx, [esp + 0x50]
mov byte [esp + 0xc0], 6
call fcn.00473490
mov dword [esp + 0x50], esi
mov ecx, 0x59a4d0
mov byte [esp + 0xc0], 7
call fcn.0046b0e0
mov esi, dword [esp + 0xc8]
mov eax, dword [esp + 0xd0]
push eax
lea eax, [esp + 0x54]
lea ecx, [esi + 0xb0]
lea edx, [esi + 0x9c]
push ecx
push edx
lea ecx, [esp + 0x34]
push eax
lea edx, [esp + 0x88]
push ecx
lea eax, [esp + 0x50]
push edx
lea ecx, [esp + 0x7c]
push eax
lea edx, [esp + 0xa8]
push ecx
lea eax, [esp + 0xc4]
push edx
mov edx, dword [esp + 0xf0]
lea ecx, [esp + 0x38]
push eax
push ecx
push edx
push ebx
push esi
mov ecx, edi
call fcn.00412600
mov ebp, eax
cmp ebp, ebx
je 0x41230b
mov ecx, 0x59a4d0
call fcn.0046b100
test eax, eax
jne 0x412248
lea eax, [esp + 0x10]
mov ecx, 0x599d70
push eax
push ebx
push ebp
call fcn.004d26d0
test eax, eax
je 0x4121c8
test dword [0x59a4f4], 0xfffffffc
jne 0x4121a1
xor eax, eax
jmp 0x4121ae
mov ecx, dword [0x59a4ec]
mov eax, dword [ecx]
and eax, 0xffffff
xor edx, edx
cmp eax, 0x2725
mov eax, dword [esp + 0x10]
push 0xffffffffffffffff
sete dl
push ebx
push edx
push ebx
push 0xffffffffffffffff
push eax
push 3
jmp 0x41223e
xor esi, esi
lea ecx, [esp + 0xa0]
mov eax, esi
push ecx
push eax
mov ecx, 0x599dac
inc esi
call fcn.004d2d50
test eax, eax
je 0x412248
mov edx, dword [esp + 0xa0]
cmp dword [edx + 0x44], ebx
jne 0x4121ca
lea eax, [esp + 0x10]
mov ecx, 0x599d70
push eax
push ebx
push ebp
call fcn.004d26d0
test eax, eax
je 0x4121ca
test dword [0x59a4f4], 0xfffffffc
jne 0x412215
xor eax, eax
jmp 0x412222
mov ecx, dword [0x59a4ec]
mov eax, dword [ecx]
and eax, 0xffffff
xor edx, edx
cmp eax, 0x2725
mov eax, dword [esp + 0x10]
push 0xffffffffffffffff
sete dl
push ebx
add eax, 3
push edx
push eax
dec esi
push 0xffffffffffffffff
push esi
push 1
mov ecx, 0x599ae0
call fcn.00403170
mov esi, 0x54d7d0
mov byte [esp + 0xc0], 6
mov dword [esp + 0x50], esi
lea ecx, [esp + 0x50]
call fcn.00473690
lea ecx, [esp + 0x28]
mov byte [esp + 0xc0], 5
mov dword [esp + 0x28], esi
call fcn.00473690
lea ecx, [esp + 0x78]
mov byte [esp + 0xc0], 4
mov dword [esp + 0x78], esi
call fcn.00473690
lea ecx, [esp + 0x3c]
mov byte [esp + 0xc0], 3
mov dword [esp + 0x3c], esi
call fcn.00473690
lea ecx, [esp + 0x64]
mov byte [esp + 0xc0], 2
mov dword [esp + 0x64], esi
call fcn.00473690
lea ecx, [esp + 0x8c]
mov byte [esp + 0xc0], 1
mov dword [esp + 0x8c], esi
call fcn.00473690
lea ecx, [esp + 0xa4]
mov byte [esp + 0xc0], bl
mov dword [esp + 0xa4], esi
call fcn.00473690
lea ecx, [esp + 0x14]
mov dword [esp + 0xc0], 0xffffffff
mov dword [esp + 0x14], esi
call fcn.00473690
or eax, 0xffffffff
jmp 0x412430
push 0xc3
lea ecx, [esp + 0x18]
call fcn.004737d0
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov eax, ecx
mov ebp, dword [esi + 0x58]
neg eax
sbb eax, eax
push ecx
and eax, edx
lea ecx, [esi + 0x48]
push eax
call fcn.00473d50
lea ecx, [esp + 0x3c]
lea edx, [esp + 0x64]
push ecx
lea eax, [esp + 0x90]
push edx
lea ecx, [esp + 0xac]
push eax
lea edx, [esp + 0x5c]
push ecx
lea eax, [esp + 0x38]
push edx
lea ecx, [esp + 0x8c]
push eax
push ecx
push ebp
push esi
mov ecx, edi
call fcn.00412450
mov esi, 0x54d7d0
mov byte [esp + 0xc0], 6
test eax, eax
mov dword [esp + 0x50], esi
lea ecx, [esp + 0x50]
je 0x41225d
call fcn.00473690
lea ecx, [esp + 0x28]
mov byte [esp + 0xc0], 5
mov dword [esp + 0x28], esi
call fcn.00473690
lea ecx, [esp + 0x78]
mov byte [esp + 0xc0], 4
mov dword [esp + 0x78], esi
call fcn.00473690
lea ecx, [esp + 0x3c]
mov byte [esp + 0xc0], 3
mov dword [esp + 0x3c], esi
call fcn.00473690
lea ecx, [esp + 0x64]
mov byte [esp + 0xc0], 2
mov dword [esp + 0x64], esi
call fcn.00473690
lea ecx, [esp + 0x8c]
mov byte [esp + 0xc0], 1
mov dword [esp + 0x8c], esi
call fcn.00473690
lea ecx, [esp + 0xa4]
mov byte [esp + 0xc0], bl
mov dword [esp + 0xa4], esi
call fcn.00473690
lea ecx, [esp + 0x14]
mov dword [esp + 0xc0], 0xffffffff
mov dword [esp + 0x14], esi
call fcn.00473690
mov eax, ebp
mov ecx, dword [esp + 0xb8]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0xb4
ret 0xc