Function at 0x409dc0
Capabilities:
Read file on windows

Disassembly:
mov ax, word [0x4d84e4]
sub esp, 8
push ebx
xor ebx, ebx
cmp word [0x4de49c], 2
jne 0x409e12
cmp word [0x4d9d10], bx
je 0x409e12
cmp dword [0x4cd4dc], ebx
je 0x409e12
cmp dword [0x4cf560], ebx
jne 0x409e12
cmp dword [0x4de4ec], ebx
jne 0x409e12
cmp ax, bx
jne 0x409e12
cmp dword [0x4d97a4], 0x1c200
jb 0x409e12
call fcn.00409c50
pop ebx
add esp, 8
ret
cmp dword [0x4cf57c], ebx
je 0x40a06d
test byte [0x4de53c], 2
jne 0x40a06d
cmp dword [0x4cf534], ebx
mov ecx, dword [0x4cf544]
mov edx, dword [ecx + 0x15c]
mov dword [esp + 8], edx
je 0x409e74
xor cx, cx
cmp cx, ax
movzx eax, byte [0x4cf51c]
sbb edx, edx
neg edx
push eax
mov dword [0x4cf4e8], edx
call fcn.00409970
add esp, 4
neg ax
sbb eax, eax
inc eax
mov dword [0x4cf534], eax
jne 0x40a06d
cmp dword [0x4cf4e8], ebx
je 0x409e9d
movzx ecx, byte [0x4cf51c]
push ecx
call fcn.004099c0
add esp, 4
neg ax
sbb eax, eax
inc eax
mov dword [0x4cf4e8], eax
jne 0x40a06d
push ebp
push esi
push edi
mov edi, dword [sym.imp.KERNEL32.dll_ReadFile]
mov ebp, 1
mov eax, dword [0x4cf564]
cmp dword [0x4cf560], ebp
jne 0x409ef1
mov dl, byte [eax + 0x4c12a8]
add eax, ebp
cmp eax, 6
mov byte [0x4cf51c], dl
mov dword [0x4cf564], eax
mov esi, ebp
jb 0x409fbe
movzx eax, word [0x4d82c2]
mov dword [0x4cf560], 2
mov dword [0x4cd4dc], eax
jmp 0x409fb8
cmp dword [0x4cf524], ebx
jne 0x40a072
mov edx, dword [0x4cf544]
mov eax, dword [edx + 0x154]
push ebx
lea ecx, [esp + 0x14]
push ecx
push ebp
push 0x4cf51c
push eax
call edi
mov eax, dword [esp + 0x10]
mov ecx, dword [0x4cf544]
movzx edx, ax
add dword [ecx + 0x15c], edx
cmp dword [0x4cf518], ebx
movzx esi, ax
je 0x409f75
cmp si, bp
jne 0x409f75
cmp byte [0x4cf51c], 0xa
jne 0x409fbe
mov ecx, dword [0x4cf544]
mov edx, dword [ecx + 0x154]
push ebx
lea eax, [esp + 0x14]
push eax
push ebp
push 0x4cf51c
push edx
call edi
mov eax, dword [esp + 0x10]
mov ecx, dword [0x4cf544]
movzx esi, ax
movzx eax, ax
add dword [ecx + 0x15c], eax
cmp si, bx
jne 0x409fbe
mov eax, dword [0x4cf564]
cmp dword [0x4cf560], 2
jne 0x40a050
mov cl, byte [eax + 0x4c12b0]
add eax, ebp
cmp eax, 6
mov dword [0x4cf524], ebp
mov byte [0x4cf51c], cl
mov dword [0x4cf564], eax
mov esi, ebp
mov dword [0x4cd4dc], ebp
jb 0x409fbe
mov dword [0x4cf560], ebx
mov dword [0x4cf564], ebx
movzx edx, byte [0x4cf51c]
push edx
call fcn.00409970
mov cl, byte [0x4cf51c]
add esp, 4
cmp word [0x4d82c2], bx
movzx eax, ax
jne 0x409feb
cmp cl, 0xd
mov dword [0x4cf518], ebp
je 0x409ff1
mov dword [0x4cf518], ebx
xor edx, edx
cmp ax, bx
sete dl
mov eax, edx
cmp eax, ebx
mov dword [0x4cf534], eax
jne 0x40a079
cmp word [0x4d84e4], bx
jbe 0x40a023
push ecx
call fcn.004099c0
add esp, 4
neg ax
sbb eax, eax
inc eax
mov dword [0x4cf4e8], eax
jne 0x40a06a
cmp si, bx
je 0x40a050
mov eax, dword [0x4cf544]
mov eax, dword [eax + 0x15c]
cdq
mov ecx, 0x64
idiv ecx
test edx, edx
jne 0x409eab
mov eax, dword [0x4cf564]
cmp eax, ebx
jne 0x409eb0
mov ecx, dword [0x4cf57c]
call fcn.0040b810
cmp si, bx
jne 0x40a06a
push 2
call fcn.00409b90
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
xor esi, esi
jmp 0x409f7f
mov edx, dword [0x4cf544]
mov eax, dword [esp + 0x14]
cmp dword [edx + 0x15c], eax
je 0x40a06a
mov ecx, dword [0x4cf57c]
call fcn.0040b810
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret