Function at 0x4a9400
Capabilities:
Read file on windows

Disassembly:
push ebp
lea ebp, [esp - 0x1034]
mov eax, 0x1034
call fcn.004bfd80
push 0xffffffffffffffff
push 0x4e8458
mov eax, dword fs:[0]
push eax
sub esp, 0x10
mov eax, dword [0x50b0b0]
xor eax, ebp
mov dword [ebp + 0x1030], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, dword [ebp + 0x103c]
lea eax, [ebp + 0x30]
mov esi, dword [ebp + 0x1040]
push 0x1000
push 0
push eax
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x14], esi
call fcn.004c20c0
add esp, 0xc
mov dword [ebp - 0x10], 0
mov ecx, esi
push 0
push 0x4ea3f4
call fcn.0040b560
nop word [eax + eax]
mov eax, dword [ebp + 0x1044]
test eax, eax
je 0x4a9493
cmp byte [eax], 0
jne 0x4a962e
push 0
lea eax, [ebp - 0x10]
push eax
push 0xfff
lea eax, [ebp + 0x30]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x4a94cf
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
je 0x4a94c5
cmp eax, 0xe8
jne 0x4a9620
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4a9480
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x4a962e
cmp eax, 0x1000
jae 0x4a9678
lea ecx, [ebp + 0x30]
mov byte [ebp + eax + 0x30], 0
mov dword [ebp + 0x28], 0
lea edx, [ecx + 1]
mov dword [ebp + 0x2c], 0xf
mov byte [ebp + 0x18], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4a9502
sub ecx, edx
lea eax, [ebp + 0x30]
push ecx
push eax
lea ecx, [ebp + 0x18]
call fcn.0040b560
cmp dword [ebp + 0x2c], 0x10
lea eax, [ebp + 0x18]
push dword [ebp + 0x28]
cmovae eax, dword [ebp + 0x18]
mov ecx, esi
push eax
mov dword [ebp - 4], 0
call fcn.0040b100
mov edx, dword [ebp + 0x2c]
mov dword [ebp - 4], 0xffffffff
cmp edx, 0x10
jb 0x4a9570
mov ecx, dword [ebp + 0x18]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4a9566
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4a967d
push edx
push ecx
call fcn.004bf27b
add esp, 8
cmp dword [esi + 0x14], 0x10
mov ebx, esi
jb 0x4a957a
mov ebx, dword [esi]
mov eax, dword [esi + 0x10]
cmp eax, 0xd
jb 0x4a9609
add eax, 0xfffffff4
add eax, ebx
mov dword [ebp - 0x18], eax
sub eax, ebx
push eax
push 0x5e
push ebx
call fcn.004c2220
mov edi, eax
add esp, 0xc
test edi, edi
je 0x4a9609
mov edx, edi
mov ecx, str.25521814
mov esi, 9
nop
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x4a95c1
add edx, 4
add ecx, 4
sub esi, 4
jae 0x4a95b0
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x4a95e8
cmp esi, 0xfffffffd
je 0x4a95e4
mov al, byte [edx + 1]
cmp al, byte [ecx + 1]
jne 0x4a95e8
mov al, byte [edx + 2]
cmp al, byte [ecx + 2]
jne 0x4a95e8
mov al, byte [edx + 3]
cmp al, byte [ecx + 3]
jne 0x4a95e8
xor eax, eax
jmp 0x4a95ed
sbb eax, eax
or eax, 1
test eax, eax
je 0x4a961c
mov eax, dword [ebp - 0x18]
inc edi
sub eax, edi
push eax
push 0x5e
push edi
call fcn.004c2220
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x4a95a2
or edi, 0xffffffff
cmp edi, 0xffffffff
jne 0x4a9654
mov esi, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x1c]
jmp 0x4a9480
sub edi, ebx
jmp 0x4a960c
push eax
push str.read_pipe_failed___u_n
call fcn.004a9920
add esp, 8
or eax, 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x1030]
xor ecx, ebp
call fcn.004bf6e8
lea esp, [ebp + 0x1034]
pop ebp
ret
mov ecx, dword [ebp - 0x14]
lea eax, [ebp]
push edi
push 0
push eax
call fcn.0040df40
mov ecx, dword [ebp - 0x14]
push eax
call fcn.00404100
lea ecx, [ebp]
call fcn.00403820
xor eax, eax
jmp 0x4a9631
call fcn.004bf83d
call fcn.004c4b9a
int3