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

Disassembly:
push 0xffffffffffffffff
push 0x41edf0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x44
push ebx
mov ebx, ecx
push ebp
push esi
mov eax, dword [ebx + 0x10]
push edi
xor edi, edi
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x18], edi
cmp ecx, edi
mov dword [esp + 0x1c], edi
je 0x41271a
cmp dword [ebx + 0x1d8], 4
jne 0x41271a
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
call dword [eax + 4]
lea esi, [ebx + 0x22c]
mov ebp, eax
mov dword [esp + 0x20], ebp
mov dword [esp + 0x14], edi
mov eax, dword [esi + 4]
cmp eax, edi
jne 0x4125c6
xor ecx, ecx
jmp 0x4125ce
mov ecx, dword [esi + 8]
sub ecx, eax
sar ecx, 2
cmp ecx, ebp
jae 0x4125f9
cmp eax, edi
jne 0x4125da
xor ecx, ecx
jmp 0x4125e2
mov ecx, dword [esi + 8]
sub ecx, eax
sar ecx, 2
mov eax, ebp
lea edx, [esp + 0x14]
sub eax, ecx
mov ecx, dword [esi + 8]
push edx
push eax
push ecx
mov ecx, esi
call fcn.00416b70
jmp 0x412616
mov ecx, esi
call fcn.00416a00
cmp ebp, eax
jae 0x412616
mov eax, dword [esi + 4]
mov edx, dword [esi + 8]
push edx
mov ecx, esi
lea eax, [eax + ebp*4]
push eax
call fcn.00416da0
or esi, 0xffffffff
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], edi
mov byte [esp + 0x4c], 0
mov dword [esp + 0x5c], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], edi
mov byte [esp + 0x34], 0
mov ecx, dword [ebx + 0x78]
mov byte [esp + 0x5c], 1
push ecx
lea ecx, [esp + 0x40]
call fcn.00407480
mov edx, dword [ebx + 0x7c]
mov ecx, esi
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
setne al
test al, al
mov dword [esp + 0x14], ecx
mov byte [esp + 0x13], al
je 0x412680
push edx
lea ecx, [esp + 0x28]
call fcn.00407480
mov edx, dword [ebx + 0x10]
push 0
mov ecx, dword [edx + 0x10]
mov eax, dword [ecx]
call dword [eax]
xor esi, esi
xor edi, edi
test ebp, ebp
mov dword [esp + 0x14], eax
jle 0x4126f7
mov ecx, dword [esp + 0x14]
mov ebp, dword [ecx]
lea ecx, [esp + 0x3c]
push ebp
call fcn.00407590
test al, al
je 0x4126ad
inc esi
mov al, byte [esp + 0x13]
test al, al
je 0x4126c4
push ebp
lea ecx, [esp + 0x28]
call fcn.00407590
test al, al
je 0x4126c4
dec esi
mov edx, dword [ebx + 0x230]
mov eax, dword [esp + 0x1c]
cmp esi, eax
mov dword [edx + edi*4], esi
jle 0x4126d9
mov dword [esp + 0x1c], esi
cmp esi, dword [esp + 0x18]
jge 0x4126e3
mov dword [esp + 0x18], esi
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
inc edi
add ecx, 0xc
cmp edi, eax
mov dword [esp + 0x14], ecx
jl 0x412698
lea ecx, [esp + 0x24]
mov byte [esp + 0x5c], 0
call fcn.004075c0
lea ecx, [esp + 0x3c]
mov dword [esp + 0x5c], 0xffffffff
call fcn.004075c0
xor edi, edi
jmp 0x41273e
lea esi, [ebx + 0x22c]
mov dword [esp + 0x20], edi
mov ecx, esi
call fcn.00416a00
test eax, eax
jbe 0x41273e
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
push ecx
push eax
mov ecx, esi
call fcn.00416da0
mov eax, dword [esp + 0x64]
cmp eax, edi
je 0x41274c
mov edx, dword [esp + 0x18]
mov dword [eax], edx
mov eax, dword [esp + 0x68]
cmp eax, edi
je 0x41275a
mov ecx, dword [esp + 0x1c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x54]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x50
ret 8