Function at 0x4229fc
Capabilities:
Read file on windows

Disassembly:
push ebx
push esi
push edi
add esp, 0xfffffff4
mov byte [esp], dl
mov esi, eax
xor ebx, ebx
xor eax, eax
mov dword [0x4c0e78], eax
xor edi, edi
cmp byte [0x4c0e88], 0
jne 0x422a67
push 0
push 0
push 3
push 0
push 0
push 0x80000000
push esi
call sub.kernel32.dll_CreateFileA_1
mov dword [0x4c0e58], eax
cmp dword [0x4c0e58], 0xffffffff
je 0x422e77
mov eax, dword [0x4c0e58]
call fcn.004b22b8
fistp qword [0x4c0e5c]
wait
mov dword [0x4c0e64], 0
mov dword [0x4c0e68], 0
fild qword [0x4c0e5c]
fcomp dword [0x422e80]
fnstsw ax
sahf
ja 0x422c07
cmp byte [esp], 1
jne 0x422b55
push 0
push 0x4c0e78
push dword [0x4c0e60]
push dword [0x4c0e5c]
call fcn.004af008
push eax
mov eax, dword [0x4c0e6c]
add eax, dword [0x4c0e4c]
push eax
mov eax, dword [0x4c0e58]
push eax
call sub.kernel32.dll_ReadFile_1
mov eax, dword [0x4c0e78]
mov dword [esp + 4], eax
xor eax, eax
mov dword [esp + 8], eax
fild qword [esp + 4]
fild qword [0x4c0e5c]
fcompp
fnstsw ax
sahf
jbe 0x422ae7
mov eax, dword [0x4c0e58]
push eax
call sub.kernel32.dll_CloseHandle_1
jmp 0x422e77
cmp byte [0x4c0e88], 0
jne 0x422b06
jmp 0x422af3
inc edi
mov eax, dword [0x4c0e6c]
add eax, dword [0x4c0e4c]
add eax, edi
cmp byte [eax], 0xa
jne 0x422af2
mov eax, dword [0x4c0e6c]
mov ecx, eax
add ecx, dword [0x4c0e4c]
mov eax, ecx
add eax, edi
push eax
mov eax, ecx
mov ecx, dword [0x4c0e78]
sub ecx, edi
pop edx
call fcn.004066dc
mov eax, dword [0x4c0e78]
xor edx, edx
push edx
push eax
mov eax, edi
cdq
sub dword [esp], eax
sbb dword [esp + 4], edx
pop eax
pop edx
add dword [0x4c0e6c], eax
adc dword [0x4c0e70], edx
sub dword [0x4c0e50], edi
jmp 0x422bf7
cmp byte [esp], 0
jne 0x422bf7
push 0
push 0x4c0e78
push dword [0x4c0e60]
push dword [0x4c0e5c]
call fcn.004af008
push eax
mov eax, dword [0x4c0e4c]
push eax
mov eax, dword [0x4c0e58]
push eax
call sub.kernel32.dll_ReadFile_1
mov eax, dword [0x4c0e78]
mov dword [esp + 4], eax
xor eax, eax
mov dword [esp + 8], eax
fild qword [esp + 4]
fild qword [0x4c0e5c]
fcompp
fnstsw ax
sahf
jbe 0x422bb9
mov eax, dword [0x4c0e58]
push eax
call sub.kernel32.dll_CloseHandle_1
jmp 0x422e77
cmp byte [0x4c0e88], 0
jne 0x422bd1
jmp 0x422bc5
inc edi
mov eax, dword [0x4c0e4c]
add eax, edi
cmp byte [eax], 0xa
jne 0x422bc4
mov ecx, dword [0x4c0e78]
sub ecx, edi
mov edx, dword [0x4c0e4c]
add edx, edi
mov eax, dword [0x4c0e4c]
call fcn.004066dc
mov eax, dword [0x4c0e78]
sub eax, edi
mov dword [0x4c0e50], eax
mov eax, dword [0x4c0e58]
push eax
call sub.kernel32.dll_CloseHandle_1
jmp 0x422e75
cmp byte [0x4c0e88], 0
je 0x422c4c
add dword [0x4c0e64], 0x1000000
adc dword [0x4c0e68], 0
push 0
mov eax, 0x4c0e64
call fcn.004af014
push eax
fild qword [0x4c0e64]
add esp, 0xfffffff8
fistp qword [esp]
wait
call fcn.004af008
push eax
mov eax, dword [0x4c0e58]
push eax
call sub.kernel32.dll_SetFilePointer_1
cmp byte [esp], 1
jne 0x422d8a
push 0
push 0x4c0e78
push 0x1000000
mov eax, dword [0x4c0e6c]
add eax, dword [0x4c0e4c]
push eax
mov eax, dword [0x4c0e58]
push eax
call sub.kernel32.dll_ReadFile_1
cmp eax, 1
sbb ecx, ecx
inc ecx
xor esi, esi
cmp dword [0x4c0e78], 0x1000000
jne 0x422cca
dec esi
jmp 0x422c92
dec esi
mov eax, dword [0x4c0e6c]
add eax, dword [0x4c0e4c]
add eax, 0x1000000
add eax, esi
cmp byte [eax], 0xa
jne 0x422c91
inc esi
test esi, esi
je 0x422cca
mov eax, esi
cdq
add eax, dword [0x4c0e64]
adc edx, dword [0x4c0e68]
mov dword [0x4c0e64], eax
mov dword [0x4c0e68], edx
cmp byte [0x4c0e88], 0
jne 0x422cef
jmp 0x422cd6
inc edi
mov eax, dword [0x4c0e6c]
add eax, dword [0x4c0e4c]
add eax, edi
cmp byte [eax], 0xa
jne 0x422cd5
sub dword [0x4c0e50], edi
cmp dword [0x4c0e78], 0x1000000
jb 0x422d08
test cl, cl
je 0x422d29
cmp dword [0x4c0e78], 0
jne 0x422d29
mov eax, dword [0x4c0e58]
push eax
call sub.kernel32.dll_CloseHandle_1
cmp byte [0x4c0e88], 0
je 0x422e77
mov byte [0x4c0e88], 0
jmp 0x422d30
mov byte [0x4c0e88], 1
mov eax, dword [0x4c0e6c]
mov ecx, eax
add ecx, dword [0x4c0e4c]
mov eax, ecx
add eax, edi
push eax
mov eax, ecx
mov ecx, dword [0x4c0e78]
add ecx, esi
sub ecx, edi
pop edx
call fcn.004066dc
mov eax, dword [0x4c0e78]
xor edx, edx
push edx
push eax
mov eax, esi
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
push edx
push eax
mov eax, edi
cdq
sub dword [esp], eax
sbb dword [esp + 4], edx
pop eax
pop edx
add dword [0x4c0e6c], eax
adc dword [0x4c0e70], edx
jmp 0x422e75
cmp byte [esp], 0
jne 0x422e75
push 0
push 0x4c0e78
push 0x1000000
mov eax, dword [0x4c0e4c]
push eax
mov eax, dword [0x4c0e58]
push eax
call sub.kernel32.dll_ReadFile_1
cmp eax, 1
sbb ecx, ecx
inc ecx
xor esi, esi
cmp dword [0x4c0e78], 0x1000000
jne 0x422dfa
dec esi
jmp 0x422dc9
dec esi
mov eax, dword [0x4c0e4c]
add eax, 0x1000000
add eax, esi
cmp byte [eax], 0xa
jne 0x422dc8
inc esi
test esi, esi
je 0x422dfa
mov eax, esi
cdq
add eax, dword [0x4c0e64]
adc edx, dword [0x4c0e68]
mov dword [0x4c0e64], eax
mov dword [0x4c0e68], edx
cmp byte [0x4c0e88], 0
jne 0x422e12
jmp 0x422e06
inc edi
mov eax, dword [0x4c0e4c]
add eax, edi
cmp byte [eax], 0xa
jne 0x422e05
cmp dword [0x4c0e78], 0x1000000
jb 0x422e2b
test cl, cl
je 0x422e48
cmp dword [0x4c0e78], 0
jne 0x422e48
mov eax, dword [0x4c0e58]
push eax
call sub.kernel32.dll_CloseHandle_1
cmp byte [0x4c0e88], 0
je 0x422e77
mov byte [0x4c0e88], 0
jmp 0x422e4f
mov byte [0x4c0e88], 1
mov ecx, dword [0x4c0e78]
sub ecx, edi
mov edx, dword [0x4c0e4c]
add edx, edi
mov eax, dword [0x4c0e4c]
call fcn.004066dc
mov eax, dword [0x4c0e78]
sub eax, edi
mov dword [0x4c0e50], eax
mov bl, 1
mov eax, ebx
add esp, 0xc
pop edi
pop esi
pop ebx
ret