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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd0
push ebx
push esi
push edi
sub eax, eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], eax
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
sub eax, eax
push ebp
push 0x4571cc
push dword fs:[eax]
mov dword fs:[eax], esp
sub eax, eax
mov dword [ebp - 4], eax
mov eax, dword [ebx + 0x3c]
add eax, ebx
mov edx, dword [eax + 0x78]
mov dword [ebp - 0xc], edx
mov edx, dword [eax + 0x7c]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0xc]
add eax, ebx
push eax
pop edx
add edx, 0x10
mov dword [ebp - 0x10], edx
mov edx, dword [ebp - 0x10]
mov edi, dword [edx]
mov edx, eax
add edx, 0x18
mov dword [ebp - 0x10], edx
mov edx, dword [ebp - 0x10]
mov edx, dword [edx]
mov dword [ebp - 0x18], edx
mov edx, eax
add edx, 0x1c
mov dword [ebp - 0x10], edx
mov edx, dword [ebp - 0x10]
mov edx, dword [edx]
mov dword [ebp - 0x1c], edx
push eax
pop edx
add edx, 0x20
mov dword [ebp - 0x10], edx
mov edx, dword [ebp - 0x10]
mov edx, dword [edx]
mov dword [ebp - 0x20], edx
add eax, 0x24
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
sub eax, eax
mov dword [ebp - 0x28], eax
mov eax, esi
cmp eax, 0xffff
jbe 0x4570bf
lea eax, [ebp - 0x2c]
mov edx, esi
call fcn.00404f94
mov edi, dword [ebp - 0x18]
test edi, edi
jbe 0x4570c4
pushfd
xor esi, esi
inc esi
popfd
mov eax, dword [ebp - 0x20]
add eax, ebx
mov edx, esi
dec edx
shl edx, 2
add eax, edx
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x10]
mov edx, dword [edx]
add edx, ebx
call fcn.00404f94
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x30]
call fcn.004051a8
jne 0x4570b9
mov eax, dword [ebp - 0x24]
add eax, ebx
push esi
pop edx
dec edx
add edx, edx
add eax, edx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
movzx eax, word [eax]
mov dword [ebp - 0x28], eax
jmp 0x4570c4
inc esi
dec edi
jne 0x457073
jmp 0x4570c4
sub eax, edi
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x1c]
add eax, ebx
mov edx, dword [ebp - 0x28]
shl edx, 2
add eax, edx
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0x10]
mov esi, dword [edx]
mov eax, dword [ebp - 0xc]
cmp esi, eax
jb 0x4571ac
add eax, dword [ebp - 8]
cmp esi, eax
ja 0x4571ac
lea eax, [ebp - 0x2c]
mov edx, esi
add edx, ebx
call fcn.00404f94
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
call fcn.00404e34
jmp 0x45713f
lea eax, [ebp - 0x30]
push eax
mov edx, dword [ebp - 0x30]
mov eax, 0x4571e8
call fcn.00405344
push eax
mov eax, dword [ebp - 0x30]
call fcn.0040505c
pop edx
sub eax, edx
push eax
mov edx, dword [ebp - 0x30]
mov eax, 0x4571e8
call fcn.00405344
mov edx, eax
inc edx
mov eax, dword [ebp - 0x30]
pop ecx
call fcn.004052bc
mov edx, dword [ebp - 0x30]
mov eax, 0x4571e8
call fcn.00405344
or eax, eax
jg 0x457108
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x2c]
call fcn.0040505c
push eax
mov eax, dword [ebp - 0x30]
call fcn.0040505c
pop ecx
sub ecx, eax
dec ecx
pushfd
xor edx, edx
inc edx
popfd
mov eax, dword [ebp - 0x2c]
call fcn.004052bc
mov eax, dword [ebp - 0x2c]
call fcn.0040525c
mov ebx, eax
push ebx
call fcn.00407124
push eax
pop edi
test edi, edi
jne 0x457194
push ebx
call fcn.004071f4
push eax
pop edi
or edi, edi
jbe 0x4571b1
mov eax, dword [ebp - 0x30]
call fcn.0040525c
push eax
push edi
call fcn.00456fc4
mov dword [ebp - 4], eax
jmp 0x4571b1
add ebx, esi
mov dword [ebp - 4], ebx
sub eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4571d3
lea eax, [ebp - 0x30]
mov edx, 2
call fcn.00404dc0
ret