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

Disassembly:
jmp 0x4da160
sub esp, 0xcc
mov eax, ecx
push ebx
push ebp
mov dword [esp + 0xc], eax
mov ebp, dword [eax]
push esi
push edi
mov ax, word [ebp + 0x38]
mov dh, al
mov dl, ah
test dx, dx
je 0x4da1de
mov ax, word [ebp + 0x36]
mov ch, al
mov cl, ah
cmp cx, 0x38
je 0x4da1de
movzx eax, cx
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x20]
mov word [esp + 0x40], 0x103
push eax
lea eax, [esp + 0x1c]
mov dword [esp + 0x3c], str.invalid_e_phentsize:
push eax
mov word [esp + 0x3c], 0x10a
mov dword [esp + 0x28], str.invalid_e_phentsize:
mov word [esp + 0x30], 0xa03
mov dword [esp + 0x1c], 3
call fcn.00402b1c
mov ecx, dword [esp + 0x20]
jmp 0x4da3ce
mov ax, word [ebp + 0x36]
mov ch, al
movzx esi, dx
mov cl, ah
mov eax, dword [ebp + 0x24]
bswap eax
mov dword [esp + 0x1c], eax
mov eax, esi
movzx edi, cx
mov ecx, dword [ebp + 0x20]
cdq
bswap ecx
mov ebx, eax
mov dword [esp + 0x10], ecx
mov ecx, edx
mov eax, edi
cdq
push edx
push eax
push ecx
push ebx
call fcn.0040646a
mov ecx, dword [esp + 0x1c]
mov ebx, eax
add ebx, ecx
adc edx, dword [esp + 0x10]
cmp edx, dword [esp + 0x10]
jb 0x4da279
ja 0x4da229
cmp ebx, ecx
jb 0x4da279
mov eax, dword [esp + 0x14]
test edx, edx
ja 0x4da27d
jb 0x4da238
cmp ebx, dword [eax + 4]
ja 0x4da27d
add ecx, ebp
lea eax, [esi*8]
sub eax, esi
lea eax, [ecx + eax*8]
push eax
push ecx
lea eax, [esp + 0x24]
push eax
call fcn.00408cc4
mov esi, dword [esp + 0xec]
add esp, 0xc
and byte [esi + 8], 0xfe
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, esi
mov dword [esi], ecx
mov dword [esi + 4], edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xcc
ret 4
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x4c]
mov dword [esp + 0x58], eax
lea eax, [esp + 0x14]
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x58]
mov dword [esp + 0x64], eax
lea eax, [esp + 0x64]
mov dword [esp + 0x70], eax
lea eax, [esp + 0x70]
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x7c]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x2c]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
push eax
lea eax, [esp + 0x18]
mov word [esp + 0x98], 0x103
push eax
mov dword [esp + 0x94], str.__e_phentsize_
mov word [esp + 0xa8], 0x103
mov dword [esp + 0xa0], str.__e_phnum_
mov dword [esp + 0x24], ecx
mov word [esp + 0xb4], 0x103
mov dword [esp + 0xac], str.:_e_phoff__0x
mov word [esp + 0xc0], 0x103
mov dword [esp + 0xb8], str.program_headers_are_longer_than_binary_of_size
mov word [esp + 0xcc], 0x10a
mov word [esp + 0xd8], 0x10a
mov dword [esp + 0x44], 0
mov word [esp + 0x48], 0x10f
mov word [esp + 0xe4], 0x109
mov dword [esp + 0x4c], str.program_headers_are_longer_than_binary_of_size
mov word [esp + 0x54], 0x903
mov dword [esp + 0x5c], str.:_e_phoff__0x
mov word [esp + 0x60], 0x302
mov word [esp + 0x6c], 0xf02
mov dword [esp + 0x74], str.__e_phnum_
mov word [esp + 0x78], 0x302
mov dword [esp + 0x80], esi
mov word [esp + 0x84], 0xa02
mov dword [esp + 0x8c], str.__e_phentsize_
mov word [esp + 0x90], 0x302
mov dword [esp + 0x38], edi
mov word [esp + 0x3c], 0xa02
mov dword [esp + 0x28], 3
call fcn.00402b1c
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0xec]
add esp, 0xc
or byte [eax + 8], 1
pop edi
pop esi
pop ebp
mov dword [eax], ecx
pop ebx
add esp, 0xcc
ret 4