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

Disassembly:
push 0xffffffffffffffff
push 0x53aa39
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.004733a0
xor ebx, ebx
lea ecx, [esp + 0xa4]
mov dword [esp + 0xc0], ebx
call fcn.004733a0
mov esi, 0x54d910
mov dword [esp + 0xa4], esi
lea ecx, [esp + 0x8c]
mov byte [esp + 0xc0], 1
call fcn.004733a0
mov dword [esp + 0x8c], esi
lea ecx, [esp + 0x64]
mov byte [esp + 0xc0], 2
call fcn.004733a0
mov dword [esp + 0x64], esi
lea ecx, [esp + 0x3c]
mov byte [esp + 0xc0], 3
call fcn.004733a0
mov dword [esp + 0x3c], esi
lea ecx, [esp + 0x78]
mov byte [esp + 0xc0], 4
call fcn.004733a0
mov dword [esp + 0x78], esi
lea ecx, [esp + 0x28]
mov byte [esp + 0xc0], 5
call fcn.004733a0
mov dword [esp + 0x28], esi
lea ecx, [esp + 0x50]
mov byte [esp + 0xc0], 6
call fcn.004733a0
mov dword [esp + 0x50], esi
mov ecx, 0x59a520
mov byte [esp + 0xc0], 7
call fcn.0046b000
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.004127f0
mov ebp, eax
cmp ebp, ebx
je 0x4124fb
mov ecx, 0x59a520
call fcn.0046b020
test eax, eax
jne 0x412438
lea eax, [esp + 0x10]
mov ecx, 0x599dc0
push eax
push ebx
push ebp
call fcn.004d2760
test eax, eax
je 0x4123b8
test dword [0x59a544], 0xfffffffc
jne 0x412391
xor eax, eax
jmp 0x41239e
mov ecx, dword [0x59a53c]
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 0x41242e
xor esi, esi
lea ecx, [esp + 0xa0]
mov eax, esi
push ecx
push eax
mov ecx, 0x599dfc
inc esi
call fcn.004d2de0
test eax, eax
je 0x412438
mov edx, dword [esp + 0xa0]
cmp dword [edx + 0x44], ebx
jne 0x4123ba
lea eax, [esp + 0x10]
mov ecx, 0x599dc0
push eax
push ebx
push ebp
call fcn.004d2760
test eax, eax
je 0x4123ba
test dword [0x59a544], 0xfffffffc
jne 0x412405
xor eax, eax
jmp 0x412412
mov ecx, dword [0x59a53c]
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, 0x599b30
call fcn.00403170
mov esi, 0x54d7d0
mov byte [esp + 0xc0], 6
mov dword [esp + 0x50], esi
lea ecx, [esp + 0x50]
call fcn.004735a0
lea ecx, [esp + 0x28]
mov byte [esp + 0xc0], 5
mov dword [esp + 0x28], esi
call fcn.004735a0
lea ecx, [esp + 0x78]
mov byte [esp + 0xc0], 4
mov dword [esp + 0x78], esi
call fcn.004735a0
lea ecx, [esp + 0x3c]
mov byte [esp + 0xc0], 3
mov dword [esp + 0x3c], esi
call fcn.004735a0
lea ecx, [esp + 0x64]
mov byte [esp + 0xc0], 2
mov dword [esp + 0x64], esi
call fcn.004735a0
lea ecx, [esp + 0x8c]
mov byte [esp + 0xc0], 1
mov dword [esp + 0x8c], esi
call fcn.004735a0
lea ecx, [esp + 0xa4]
mov byte [esp + 0xc0], bl
mov dword [esp + 0xa4], esi
call fcn.004735a0
lea ecx, [esp + 0x14]
mov dword [esp + 0xc0], 0xffffffff
mov dword [esp + 0x14], esi
call fcn.004735a0
or eax, 0xffffffff
jmp 0x412620
push 0xc3
lea ecx, [esp + 0x18]
call fcn.004736e0
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.00473c60
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.00412640
mov esi, 0x54d7d0
mov byte [esp + 0xc0], 6
test eax, eax
mov dword [esp + 0x50], esi
lea ecx, [esp + 0x50]
je 0x41244d
call fcn.004735a0
lea ecx, [esp + 0x28]
mov byte [esp + 0xc0], 5
mov dword [esp + 0x28], esi
call fcn.004735a0
lea ecx, [esp + 0x78]
mov byte [esp + 0xc0], 4
mov dword [esp + 0x78], esi
call fcn.004735a0
lea ecx, [esp + 0x3c]
mov byte [esp + 0xc0], 3
mov dword [esp + 0x3c], esi
call fcn.004735a0
lea ecx, [esp + 0x64]
mov byte [esp + 0xc0], 2
mov dword [esp + 0x64], esi
call fcn.004735a0
lea ecx, [esp + 0x8c]
mov byte [esp + 0xc0], 1
mov dword [esp + 0x8c], esi
call fcn.004735a0
lea ecx, [esp + 0xa4]
mov byte [esp + 0xc0], bl
mov dword [esp + 0xa4], esi
call fcn.004735a0
lea ecx, [esp + 0x14]
mov dword [esp + 0xc0], 0xffffffff
mov dword [esp + 0x14], esi
call fcn.004735a0
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