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

Disassembly:
push 0xffffffffffffffff
push 0x45c8a5
mov eax, dword fs:[0]
push eax
sub esp, 0x88
mov eax, dword [0x473564]
xor eax, esp
mov dword [esp + 0x84], eax
push ebx
push ebp
push esi
mov eax, dword [0x473564]
xor eax, esp
push eax
lea eax, [esp + 0x98]
mov dword fs:[0], eax
mov eax, dword [esp + 0xa8]
mov ebp, dword [esp + 0xac]
xor ebx, ebx
mov dword [esp + 0xa0], ebx
push edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ebx
call fcn.0040ca60
mov dword [esp + 0x18], 1
mov dword [esp + 0x10], ebx
nop
mov esi, 0xf
mov dword [esp + 0x90], esi
mov dword [esp + 0x8c], ebx
mov byte [esp + 0x7c], bl
lea ecx, [esp + 0x78]
push ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xa4], 1
call fcn.0040d220
mov dword [esp + 0x58], esi
mov dword [esp + 0x54], ebx
mov byte [esp + 0x44], bl
lea edx, [esp + 0x20]
push edx
lea ecx, [esp + 0x44]
lea edx, [esp + 0x7c]
mov byte [esp + 0xa4], 2
call fcn.0040e390
add esp, 4
mov byte [esp + 0xa0], 3
mov ecx, dword [eax]
push 0xffffffffffffffff
push ebx
add eax, 4
mov dword [edi], ecx
lea esi, [edi + 4]
push eax
mov ecx, esi
call fcn.00403810
mov byte [esp + 0xa0], 2
cmp dword [esp + 0x3c], 0x10
jb 0x40eaa2
mov edx, dword [esp + 0x28]
push edx
call fcn.0043870c
add esp, 4
cmp dword [edi], ebx
jne 0x40eae9
cmp dword [esp + 0x58], 0x10
jb 0x40eaba
mov eax, dword [esp + 0x44]
push eax
call fcn.0043870c
add esp, 4
mov byte [esp + 0xa0], bl
cmp dword [esp + 0x90], 0x10
mov dword [esp + 0x58], 0xf
mov dword [esp + 0x54], ebx
mov byte [esp + 0x44], bl
jb 0x40ebda
mov ecx, dword [esp + 0x7c]
push ecx
jmp 0x40ebd2
push ebx
push 0x45fd0b
mov ecx, esi
mov dword [edi], ebx
call fcn.00403c00
push 0xffffffffffffffff
push ebx
mov ecx, ebp
call fcn.00403cd0
lea edx, [esp + 0x40]
push edx
mov ecx, ebp
call fcn.00412fd0
mov esi, dword [ebp + 0x14]
add esp, 4
mov eax, ebp
call fcn.00403610
mov ecx, esi
push eax
lea esi, [esp + 0x60]
call fcn.0040b150
add esp, 4
mov eax, dword [esp + 0x14]
mov esi, 0x10
mov byte [esp + 0xa0], 4
cmp dword [eax + 0x50], esi
jb 0x40eb45
mov eax, dword [eax + 0x3c]
jmp 0x40eb48
add eax, 0x3c
cmp dword [esp + 0x74], esi
mov ecx, dword [esp + 0x60]
jae 0x40eb56
lea ecx, [esp + 0x60]
push eax
push ecx
call fcn.00451ca4
add esp, 8
test eax, eax
je 0x40ebf0
push 0xb
push 0x4602d4
lea ecx, [edi + 4]
call fcn.00403c00
cmp dword [esp + 0x74], esi
jb 0x40eb8a
mov eax, dword [esp + 0x60]
push eax
call fcn.0043870c
add esp, 4
cmp dword [esp + 0x58], esi
mov dword [esp + 0x74], 0xf
mov dword [esp + 0x70], ebx
mov byte [esp + 0x60], bl
jb 0x40ebad
mov ecx, dword [esp + 0x44]
push ecx
call fcn.0043870c
add esp, 4
mov byte [esp + 0xa0], bl
cmp dword [esp + 0x90], esi
mov dword [esp + 0x58], 0xf
mov dword [esp + 0x54], ebx
mov byte [esp + 0x44], bl
jb 0x40ebda
mov edx, dword [esp + 0x7c]
push edx
call fcn.0043870c
add esp, 4
mov eax, dword [esp + 0x10]
add eax, 1
cmp eax, 2
mov dword [esp + 0x10], eax
jl 0x40ea10
jmp 0x40ec4f
cmp dword [esp + 0x74], esi
jb 0x40ec03
mov eax, dword [esp + 0x60]
push eax
call fcn.0043870c
add esp, 4
cmp dword [esp + 0x58], esi
mov ebp, 0xf
mov dword [esp + 0x74], ebp
mov dword [esp + 0x70], ebx
mov byte [esp + 0x60], bl
jb 0x40ec27
mov ecx, dword [esp + 0x44]
push ecx
call fcn.0043870c
add esp, 4
cmp dword [esp + 0x90], esi
mov dword [esp + 0x58], ebp
mov dword [esp + 0x54], ebx
mov byte [esp + 0x44], bl
jb 0x40ec49
mov edx, dword [esp + 0x7c]
push edx
call fcn.0043870c
add esp, 4
mov dword [edi], 1
mov eax, edi
mov ecx, dword [esp + 0x98]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x84]
xor ecx, esp
call fcn.00438866
add esp, 0x94
ret