Function at 0x9fb750
Capabilities:
Parse pe header

Disassembly:
push 0xffffffffffffffff
push 0xa8a018
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x88
push ebx
push ebp
push esi
push edi
push 0
call fcn.009e4180
add esp, 4
mov ebx, dword [esp + 0xa8]
push 0
push 0x80
push 3
push 0
push 3
push 0x80000000
push ebx
mov dword [esp + 0xbc], 0
call fcn.00a2de30
mov esi, eax
or ebp, 0xffffffff
cmp esi, ebp
jne 0x9fb7e3
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x9fb7d6
mov ecx, dword [0xaa2204]
mov edx, dword [ecx]
shr edx, 0x1c
test dl, 1
je 0x9fb7d6
push ebx
push str._ConstructStubExe_failed_to_open__ls__
push eax
call fcn.00a16060
add esp, 0xc
push 2
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x9fbab3
lea eax, [esp + 0x14]
push 0
push eax
lea ecx, [esp + 0x20]
push 0x40
push ecx
push esi
call fcn.00a2abe0
test eax, eax
je 0x9fba78
cmp dword [esp + 0x14], 0x40
jne 0x9fba78
cmp word [esp + 0x18], 0x5a4d
jne 0x9fba78
mov eax, dword [esp + 0x54]
test eax, eax
jne 0x9fb86a
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x9fb849
mov edx, dword [0xaa2204]
mov ecx, dword [edx]
shr ecx, 0x1c
test cl, 1
je 0x9fb849
push ebx
push str.__ls_is_a_DOS_executable_
push eax
call fcn.00a16060
add esp, 0xc
push esi
call fcn.00a2aff0
push 1
mov dword [esp + 0xa4], ebp
call fcn.009e4180
add esp, 4
mov eax, 1
jmp 0x9fbac6
push 0
push 0
push eax
push esi
call fcn.00a2a140
cmp eax, dword [esp + 0x54]
jne 0x9fba55
mov edi, dword [esp + 0xac]
lea edx, [esp + 0x10]
push 0
push edx
push 4
push edi
push esi
call fcn.00a2abe0
test eax, eax
je 0x9fba55
cmp dword [esp + 0x10], 4
jne 0x9fba55
mov eax, dword [edi]
mov ecx, eax
and ecx, 0xffff
cmp ecx, 0x454e
jne 0x9fb9b2
lea edx, [esp + 0x10]
mov dword [esp + 0x58], eax
push 0
push edx
lea eax, [esp + 0x64]
push 0x3c
push eax
push esi
call fcn.00a2abe0
test eax, eax
je 0x9fb97b
cmp dword [esp + 0x10], 0x3c
jne 0x9fb97b
push esi
call fcn.00a2aff0
mov al, byte [esp + 0x8e]
cmp al, 2
je 0x9fb936
cmp al, 4
je 0x9fb936
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x9fbab3
mov ecx, dword [0xaa2204]
mov edx, dword [ecx]
shr edx, 0x1c
test dl, 1
je 0x9fbab3
push ebx
push str._Unrecognized_OS2_exetyp_in__ls__
push eax
call fcn.00a16060
add esp, 0xc
jmp 0x9fbab3
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x9fb960
mov ecx, dword [0xaa2204]
mov edx, dword [ecx]
shr edx, 0x1c
test dl, 1
je 0x9fb960
push ebx
push str.__ls_is_a_Win16_executable_
push eax
call fcn.00a16060
add esp, 0xc
push 1
mov dword [esp + 0xa4], ebp
call fcn.009e4180
add esp, 4
mov eax, 2
jmp 0x9fbac6
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x9fbaad
mov ecx, dword [0xaa2204]
mov edx, dword [ecx]
shr edx, 0x1c
test dl, 1
je 0x9fbaad
push ebx
push str.__ls_contains_an_OS2_signature_but_unable_to_load_OS2_header__
push eax
call fcn.00a16060
add esp, 0xc
jmp 0x9fbaad
cmp eax, 0x4550
je 0x9fb9e7
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x9fbaa2
mov ecx, dword [0xaa2204]
mov edx, dword [ecx]
shr edx, 0x1c
test dl, 1
je 0x9fbaa2
push ebx
push str._Unrecognized_executable_type_signature_in__ls_
jmp 0x9fba99
lea eax, [esp + 0x10]
push 0
push eax
lea ecx, [edi + 4]
push 0xf4
push ecx
push esi
call fcn.00a2abe0
test eax, eax
je 0x9fba32
cmp dword [esp + 0x10], 0xf4
jne 0x9fba32
test byte [edi + 0x17], 0x20
jne 0x9fba32
push esi
call fcn.00a2aff0
push 1
mov dword [esp + 0xa4], ebp
call fcn.009e4180
add esp, 4
mov eax, 3
jmp 0x9fbac6
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x9fbaa2
mov edx, dword [0xaa2204]
mov ecx, dword [edx]
shr ecx, 0x1c
test cl, 1
je 0x9fbaa2
push ebx
push str.__ls_is_not_32bit_PE_EXE__
jmp 0x9fba99
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x9fbaa2
mov edx, dword [0xaa2204]
mov ecx, dword [edx]
shr ecx, 0x1c
test cl, 1
je 0x9fbaa2
push ebx
push str._Unable_to_read_executable_type_signature_from__ls_
jmp 0x9fba99
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x9fbaa2
mov edx, dword [0xaa2204]
mov ecx, dword [edx]
shr ecx, 0x1c
test cl, 1
je 0x9fbaa2
push ebx
push str.__ls_does_not_have_a_valid_DOS_header__
push eax
call fcn.00a16060
add esp, 0xc
push 0xc1
call dword [sym.imp.KERNEL32.dll_SetLastError]
push esi
call fcn.00a2aff0
push 1
mov dword [esp + 0xa4], ebp
call fcn.009e4180
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x98]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x94
ret