Function at 0x427180
Capabilities:
Read file on windows

Disassembly:
push ebp
push edi
push esi
push ebx
movzx ebx, al
sub esp, 0x4c
mov edx, dword [0xf6c740]
mov dword [esp + 0x28], edx
mov edx, dword [0xf6c744]
mov dword [esp + 0x2c], edx
mov edx, dword [0xf6c748]
mov dword [esp + 0x30], edx
mov edx, dword [0xf6c74c]
mov dword [esp + 0x34], edx
mov edx, dword [0xf6c750]
mov dword [esp + 0x38], edx
mov edx, dword [0xf6c754]
mov dword [esp + 0x3c], edx
mov edx, dword [0xf6c758]
mov dword [esp + 0x40], edx
mov edx, dword [0xf6c75c]
mov dword [esp + 0x44], edx
mov edx, dword [0xf6c760]
mov dword [esp + 0x48], edx
mov edx, eax
shr edx, 0xf
and edx, 1
mov dword [esp + 0x10], edx
jmp 0x427284
movzx edi, word [0xf6c746]
cmp di, 6
jbe 0x4273da
mov ecx, dword [0xc10bf0]
movzx eax, di
movzx ebp, word [0xf6c744]
add eax, ecx
test bp, bp
mov dword [0xc10c00], eax
js 0x4273c1
mov esi, dword [0xc10c00]
cmp ecx, esi
jge 0x4273da
mov edx, dword [esp + 0x18]
test edx, edx
setg byte [esp + 0x17]
jle 0x42724c
cmp ebx, 0x77
je 0x42724c
mov dword [0xc10b70], ebx
test ebx, ebx
je 0x4272bf
movzx edx, byte [0xf6c742]
movzx eax, dl
cmp eax, ebx
je 0x4273ee
cmp dl, 0x77
je 0x427378
mov eax, dword [0xc10ba0]
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov dword [esp], eax
call sub.msvcrt.dll_fseek
mov eax, dword [0xc10ba0]
mov dword [esp], eax
call sub.msvcrt.dll_ftell
mov dword [0xc10bf0], eax
mov eax, 0x74
call fcn.00426e00
test eax, eax
mov dword [esp + 0x18], eax
jne 0x4271f5
movzx ebp, word [0xf6c744]
movzx edi, word [0xf6c746]
mov byte [esp + 0x17], 0
movzx eax, word [0xf6c740]
movzx edx, byte [0xf6c742]
mov word [0xf70214], bp
mov word [0xf70216], di
mov word [0xf70210], ax
mov eax, dword [0xf6c748]
mov byte [0xf70212], dl
movzx edx, dl
cmp edx, ebx
mov dword [0xf70218], eax
je 0x427419
mov ecx, dword [0xc10bf0]
mov eax, dword [esp + 0x28]
mov dword [esp + 8], 0
mov dword [esp + 4], ecx
mov dword [0xf6c740], eax
mov eax, dword [esp + 0x2c]
mov dword [0xf6c744], eax
mov eax, dword [esp + 0x30]
mov dword [0xf6c748], eax
mov eax, dword [esp + 0x34]
mov dword [0xf6c74c], eax
mov eax, dword [esp + 0x38]
mov dword [0xf6c750], eax
mov eax, dword [esp + 0x3c]
mov dword [0xf6c754], eax
mov eax, dword [esp + 0x40]
mov dword [0xf6c758], eax
mov eax, dword [esp + 0x44]
mov dword [0xf6c75c], eax
mov eax, dword [esp + 0x48]
mov dword [0xf6c760], eax
mov eax, dword [0xc10ba0]
mov dword [esp], eax
call sub.msvcrt.dll_fseek
mov eax, dword [esp + 0x18]
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x10]
test eax, eax
je 0x42726b
cmp dword [0xc10b70], ebx
jne 0x42726b
movzx eax, word [0xf6c740]
mov byte [0xf70212], 0x77
mov word [0xf70214], bp
mov word [0xf70216], di
mov word [0xf70210], ax
mov eax, dword [0xf6c748]
mov dword [0xf70218], eax
jmp 0x427302
add eax, dword [0xf6c748]
mov dword [0xc10c00], eax
mov esi, dword [0xc10c00]
cmp ecx, esi
jl 0x427234
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x18]
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
movzx eax, word [0xf6c740]
mov byte [0xf70212], dl
mov word [0xf70214], bp
mov word [0xf70216], di
mov word [0xf70210], ax
mov eax, dword [0xf6c748]
mov dword [0xf70218], eax
cmp byte [esp + 0x17], 0
je 0x4272fc
cmp ebx, 0x74
jne 0x4272fc
movzx eax, word [0xf6c75e]
add eax, 1
mov dword [esp + 4], eax
mov eax, dword [0xc10b30]
mov dword [esp], eax
call sub.msvcrt.dll_realloc
mov edx, dword [0xc10ba0]
mov dword [esp + 4], 1
mov dword [esp + 0xc], edx
movzx edx, word [0xf6c75e]
mov dword [esp], eax
mov dword [0xc10b30], eax
mov dword [esp + 8], edx
call sub.msvcrt.dll_fread
mov eax, dword [0xc10b30]
movzx edx, word [0xf6c75e]
mov byte [edx + eax], 0
movzx eax, word [0xf6c75e]
add dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret