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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x8c
mov eax, dword [esp + 0xa0]
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 8], edx
mov eax, dword [eax]
mov dword [esp], eax
call fcn.0040ea30
test eax, eax
mov dword [esp + 0x6c], eax
je 0x40f077
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x5c], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x44], 0
sub eax, 0x50
mov ecx, eax
mov dword [esp + 0x68], eax
shr eax, 3
mov dword [esp + 0x58], eax
mov dword [esp + 0x40], ecx
nop
mov eax, dword [esp + 0xa0]
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 8], edx
mov eax, dword [eax]
mov dword [esp], eax
call fcn.0040ea30
mov edi, eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov eax, dword [eax + 0x14]
mov dword [esp], eax
call fcn.0040d300
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov ebx, eax
mov dword [esp + 0x18], 1
mov dword [esp + 0x14], 0
mov dword [esp + 0x60], eax
mov edx, dword [edi + 0xc]
mov eax, dword [edi + 8]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
mov eax, dword [edi]
mov dword [esp], 0x40e820
mov dword [esp + 8], eax
lea eax, [esp + 0x78]
mov dword [esp + 4], eax
call fcn.0040e4b0
test eax, eax
mov dword [esp + 0x4c], eax
je 0x40f070
test ebx, ebx
je 0x40f067
xor ebp, ebp
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov eax, dword [esp + 0x4c]
mov edx, ebx
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
call fcn.0040e840
mov esi, dword [esp + 0x38]
add esi, dword [esp + 0x78]
mov edi, dword [esp + 0x3c]
adc edi, dword [esp + 0x7c]
cmp edi, dword [esp + 0x44]
jl 0x40f03a
jle 0x40f030
test ebp, ebp
mov edx, ebx
je 0x40ef39
mov esi, dword [esp + 0x40]
sub esi, dword [esp + 0x38]
mov edi, dword [esp + 0x44]
sbb edi, dword [esp + 0x3c]
cmp edi, dword [esp + 0x5c]
jl 0x40f020
jg 0x40ef39
cmp esi, dword [esp + 0x58]
jbe 0x40f020
mov eax, dword [esp + 0x68]
sub eax, dword [esp + 0x38]
mov dword [esp + 4], ebx
mov dword [esp + 0x64], edx
mov dword [esp + 8], eax
mov eax, dword [esp + 0xa0]
mov eax, dword [eax + 0x14]
mov dword [esp], eax
call fcn.0040d840
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x60]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x38], edx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 0x14]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa0]
mov eax, dword [eax + 0x14]
mov dword [esp], eax
call fcn.0040d580
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
call fcn.0040e480
mov edx, dword [esp + 0x38]
mov ebx, edx
mov eax, dword [esp + 0x54]
cmp eax, dword [esp + 0xac]
jge 0x40f07e
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0x50]
mov dword [ecx + eax*4], edx
add dword [esp + 0x54], 1
test ebx, ebx
jne 0x40ee10
mov eax, dword [esp + 0xa0]
mov edi, dword [esp + 0x6c]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov eax, dword [eax + 0x14]
mov dword [esp + 4], eax
mov eax, dword [edi + 0x14]
mov dword [esp], eax
call fcn.0040d580
mov eax, dword [edi + 0x14]
mov dword [esp], eax
call fcn.0040d550
mov dword [esp], edi
call sub.msvcrt.dll_free
mov eax, dword [esp + 0x54]
add esp, 0x8c
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, ebp
jmp 0x40ef63
cmp esi, dword [esp + 0x40]
ja 0x40ef0d
mov dword [esp], ebx
mov ebp, ebx
call fcn.0040d310
test eax, eax
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], edi
je 0x40f060
mov ebx, eax
jmp 0x40eed2
mov edx, eax
jmp 0x40ef63
xor edx, edx
xor ebx, ebx
jmp 0x40ef63
xor ebx, ebx
jmp 0x40efa2
mov eax, 0xfffffff4
jmp 0x40f012
mov eax, dword [esp + 0x6c]
mov edi, dword [esp + 0x50]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov eax, dword [eax + 0x14]
mov dword [esp + 4], eax
mov eax, dword [edi + 0x14]
mov dword [esp], eax
call fcn.0040d580
mov eax, dword [edi + 0x14]
mov dword [esp], eax
call fcn.0040d550
mov dword [esp], edi
call sub.msvcrt.dll_free
jmp 0x40efc1