Function at 0x469688
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffdc
push ebx
xor ecx, ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x469a19
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 0xd], 1
push 0
lea eax, [ebp - 0xc]
push eax
push 0x24
push 0x4839c0
mov eax, dword [ebp - 4]
push eax
call sub.KERNEL32.DLL_ReadFile_1
cmp dword [ebp - 0xc], 0
jne 0x4696d5
mov byte [ebp - 0xd], 0
mov eax, dword [ebp - 4]
call fcn.004610d0
mov edx, dword [ebp - 8]
mov dword [edx], eax
cmp dword [0x4839c0], 0x4643534d
jne 0x4699f7
mov ax, word [0x4839de]
and ax, 4
cmp ax, 4
jne 0x469763
push 0
lea eax, [ebp - 0xc]
push eax
push 2
push 0x483a18
mov eax, dword [ebp - 4]
push eax
call sub.KERNEL32.DLL_ReadFile_1
push 0
lea eax, [ebp - 0xc]
push eax
push 1
push 0x483a1a
mov eax, dword [ebp - 4]
push eax
call sub.KERNEL32.DLL_ReadFile_1
push 0
lea eax, [ebp - 0xc]
push eax
push 1
push 0x483a1b
mov eax, dword [ebp - 4]
push eax
call sub.KERNEL32.DLL_ReadFile_1
mov eax, dword [ebp - 4]
call fcn.004610d0
mov edx, eax
movzx eax, word [0x483a18]
add edx, eax
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.004610e0
jmp 0x46977a
mov word [0x483a18], 0
mov byte [0x483a1a], 0
mov byte [0x483a1b], 0
mov ax, word [0x4839de]
and ax, 1
cmp ax, 1
jne 0x469875
mov eax, pe_nt_image_headers32
call fcn.0040271c
mov dword [ebp - 0x14], eax
xor eax, eax
push ebp
push 0x46986e
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
lea eax, [ebp - 0xc]
push eax
push 0xff
mov ebx, dword [ebp - 0x14]
push ebx
mov eax, dword [ebp - 4]
push eax
call sub.KERNEL32.DLL_ReadFile_1
cmp dword [ebp - 0xc], 0
jne 0x4697cb
mov byte [ebp - 0xd], 0
lea edx, [ebp - 0x18]
mov eax, dword [ebp - 0x14]
call fcn.00409954
mov edx, dword [ebp - 0x18]
mov eax, 0x483a04
call fcn.00403b8c
mov eax, dword [0x483a04]
call fcn.00403db8
inc eax
mov edx, dword [ebp - 8]
add dword [edx], eax
mov edx, dword [ebp - 8]
mov edx, dword [edx]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.004610e0
push 0
lea eax, [ebp - 0xc]
push eax
push 0xff
push ebx
mov eax, dword [ebp - 4]
push eax
call sub.KERNEL32.DLL_ReadFile_1
cmp dword [ebp - 0xc], 0
jne 0x469821
mov byte [ebp - 0xd], 0
lea edx, [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
call fcn.00409954
mov edx, dword [ebp - 0x1c]
mov eax, 0x483a08
call fcn.00403b8c
mov eax, dword [0x483a08]
call fcn.00403db8
inc eax
mov edx, dword [ebp - 8]
add dword [edx], eax
mov edx, dword [ebp - 8]
mov edx, dword [edx]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.004610e0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x46988e
mov eax, dword [ebp - 0x14]
call fcn.00402734
ret
mov eax, 0x483a04
call fcn.00403b38
mov eax, 0x483a08
mov edx, 0x469a30
call fcn.00403b8c
mov ax, word [0x4839de]
and ax, 2
cmp ax, 2
jne 0x469989
mov eax, pe_nt_image_headers32
call fcn.0040271c
mov dword [ebp - 0x14], eax
xor eax, eax
push ebp
push 0x469982
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
lea eax, [ebp - 0xc]
push eax
push 0xff
mov ebx, dword [ebp - 0x14]
push ebx
mov eax, dword [ebp - 4]
push eax
call sub.KERNEL32.DLL_ReadFile_1
cmp dword [ebp - 0xc], 0
jne 0x4698df
mov byte [ebp - 0xd], 0
lea edx, [ebp - 0x20]
mov eax, dword [ebp - 0x14]
call fcn.00409954
mov edx, dword [ebp - 0x20]
mov eax, 0x483a0c
call fcn.00403b8c
mov eax, dword [0x483a0c]
call fcn.00403db8
inc eax
mov edx, dword [ebp - 8]
add dword [edx], eax
mov edx, dword [ebp - 8]
mov edx, dword [edx]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.004610e0
push 0
lea eax, [ebp - 0xc]
push eax
push 0xff
push ebx
mov eax, dword [ebp - 4]
push eax
call sub.KERNEL32.DLL_ReadFile_1
cmp dword [ebp - 0xc], 0
jne 0x469935
mov byte [ebp - 0xd], 0
lea edx, [ebp - 0x24]
mov eax, dword [ebp - 0x14]
call fcn.00409954
mov edx, dword [ebp - 0x24]
mov eax, 0x483a10
call fcn.00403b8c
mov eax, dword [0x483a10]
call fcn.00403db8
inc eax
mov edx, dword [ebp - 8]
add dword [edx], eax
mov edx, dword [ebp - 8]
mov edx, dword [edx]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.004610e0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4699a2
mov eax, dword [ebp - 0x14]
call fcn.00402734
ret
mov eax, 0x483a0c
call fcn.00403b38
mov eax, 0x483a10
mov edx, 0x469a30
call fcn.00403b8c
mov eax, dword [ebp - 4]
call fcn.004610d0
mov dword [0x483a14], eax
push 0
lea eax, [ebp - 0xc]
push eax
push 8
push 0x4839e4
mov eax, dword [ebp - 4]
push eax
call sub.KERNEL32.DLL_ReadFile_1
cmp dword [ebp - 0xc], 0
jne 0x4699cf
mov byte [ebp - 0xd], 0
xor ecx, ecx
mov edx, dword [0x4839e4]
mov eax, dword [ebp - 4]
call fcn.004610e0
push 0
lea eax, [ebp - 0xc]
push eax
push 8
push 0x4839ec
mov eax, dword [ebp - 4]
push eax
call sub.KERNEL32.DLL_ReadFile_1
jmp 0x4699fb
mov byte [ebp - 0xd], 0
mov bl, byte [ebp - 0xd]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x469a20
lea eax, [ebp - 0x24]
mov edx, 4
call fcn.00403b5c
ret