Function at 0x42f7f0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push esi
push ebx
sub esp, 0x30
lea eax, [ebp - 0x36]
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
push esi
push 0x2e
push 1
push eax
call sub.msvcrt.dll_fread
add esp, 0x10
mov edx, 0x80000000
cmp eax, 0x2e
je 0x42f822
lea esp, [ebp - 8]
mov eax, edx
pop ebx
pop esi
pop ebp
ret
xor edx, edx
xor eax, eax
mov dl, byte [ebp - 0x35]
mov al, byte [ebp - 0x34]
shl eax, 0x10
shl edx, 8
or edx, eax
xor eax, eax
mov al, byte [ebp - 0x36]
or edx, eax
xor eax, eax
mov al, byte [ebp - 0x33]
shl eax, 0x18
or edx, eax
cmp edx, 0x2014b50
jne 0x42fa29
xor edx, edx
xor eax, eax
mov dl, byte [ebp - 0x31]
mov al, byte [ebp - 0x32]
shl edx, 8
or eax, edx
xor edx, edx
mov word [ebx + 4], ax
xor eax, eax
mov dl, byte [ebp - 0x2f]
mov al, byte [ebp - 0x30]
shl edx, 8
or eax, edx
xor edx, edx
mov word [ebx + 6], ax
xor eax, eax
mov dl, byte [ebp - 0x2d]
mov al, byte [ebp - 0x2e]
shl edx, 8
or eax, edx
xor edx, edx
mov word [ebx + 8], ax
xor eax, eax
mov dl, byte [ebp - 0x2b]
mov al, byte [ebp - 0x2c]
shl edx, 8
or eax, edx
xor edx, edx
mov word [ebx + 0xa], ax
xor eax, eax
mov dl, byte [ebp - 0x29]
mov al, byte [ebp - 0x2a]
shl edx, 8
or eax, edx
xor edx, edx
mov word [ebx + 0xc], ax
xor eax, eax
mov dl, byte [ebp - 0x27]
mov al, byte [ebp - 0x28]
shl edx, 8
or eax, edx
xor edx, edx
mov word [ebx + 0xe], ax
xor eax, eax
mov dl, byte [ebp - 0x25]
mov al, byte [ebp - 0x24]
shl eax, 0x10
shl edx, 8
or edx, eax
xor eax, eax
mov al, byte [ebp - 0x26]
or edx, eax
xor eax, eax
mov al, byte [ebp - 0x23]
shl eax, 0x18
or edx, eax
xor eax, eax
mov dword [ebx + 0x10], edx
xor edx, edx
mov dl, byte [ebp - 0x21]
mov al, byte [ebp - 0x20]
shl eax, 0x10
xor ecx, ecx
shl edx, 8
or edx, eax
xor eax, eax
mov al, byte [ebp - 0x22]
or edx, eax
xor eax, eax
mov al, byte [ebp - 0x1f]
shl eax, 0x18
or edx, eax
xor eax, eax
mov dword [ebx + 0x14], edx
xor edx, edx
mov dl, byte [ebp - 0x1d]
mov al, byte [ebp - 0x1c]
shl eax, 0x10
shl edx, 8
or edx, eax
xor eax, eax
mov al, byte [ebp - 0x1e]
or edx, eax
xor eax, eax
mov al, byte [ebp - 0x1b]
shl eax, 0x18
or edx, eax
xor eax, eax
mov dword [ebx + 0x18], edx
xor edx, edx
mov al, byte [ebp - 0x19]
mov cl, byte [ebp - 0x1a]
shl eax, 8
or ecx, eax
xor eax, eax
mov word [ebx + 0x1c], cx
mov dl, byte [ebp - 0x17]
shl edx, 8
mov al, byte [ebp - 0x18]
or eax, edx
xor edx, edx
mov word [ebx + 0x1e], ax
xor eax, eax
mov dl, byte [ebp - 0x15]
mov al, byte [ebp - 0x16]
shl edx, 8
or eax, edx
xor edx, edx
mov word [ebx + 0x20], ax
xor eax, eax
mov dl, byte [ebp - 0x13]
mov al, byte [ebp - 0x14]
shl edx, 8
or eax, edx
xor edx, edx
mov word [ebx + 0x22], ax
xor eax, eax
mov dl, byte [ebp - 0x11]
mov al, byte [ebp - 0x12]
shl edx, 8
or eax, edx
xor edx, edx
mov word [ebx + 0x24], ax
xor eax, eax
mov dl, byte [ebp - 0xf]
mov al, byte [ebp - 0xe]
shl eax, 0x10
shl edx, 8
or edx, eax
xor eax, eax
mov al, byte [ebp - 0x10]
or edx, eax
xor eax, eax
mov al, byte [ebp - 0xd]
shl eax, 0x18
or edx, eax
xor eax, eax
mov dword [ebx + 0x28], edx
xor edx, edx
mov dl, byte [ebp - 0xb]
mov al, byte [ebp - 0xa]
shl eax, 0x10
shl edx, 8
or edx, eax
xor eax, eax
mov al, byte [ebp - 0xc]
or edx, eax
xor eax, eax
mov al, byte [ebp - 9]
shl eax, 0x18
or edx, eax
test cx, cx
mov dword [ebx + 0x2c], edx
jne 0x42fa48
mov ax, word [ebx + 0x1e]
test ax, ax
jne 0x42faa0
mov eax, dword [ebx + 0x20]
xor edx, edx
test ax, ax
je 0x42f819
sub esp, 0xc
and eax, 0xffff
inc eax
push eax
call fcn.004a39a0
add esp, 0x10
mov edx, eax
mov dword [ebx + 0x38], eax
test eax, eax
jne 0x42faf9
mov edx, 0xfffffff4
jmp 0x42f819
push ecx
push str.Whoops:_didnt_find_expected_signature_n
push 0x4b34c0
push 3
call fcn.0044c320
mov edx, 0x80000000
add esp, 0x10
jmp 0x42f819
mov eax, ecx
sub esp, 0xc
and eax, 0xffff
inc eax
push eax
call fcn.004a39a0
add esp, 0x10
mov edx, eax
mov dword [ebx + 0x30], eax
test eax, eax
je 0x42fa1f
push esi
mov eax, dword [ebx + 0x1c]
and eax, 0xffff
push eax
push 1
push edx
call sub.msvcrt.dll_fread
mov ecx, eax
mov eax, dword [ebx + 0x1c]
and eax, 0xffff
add esp, 0x10
mov edx, 0x80000000
cmp ecx, eax
jne 0x42f819
mov eax, dword [ebx + 0x30]
mov byte [eax + ecx], 0
jmp 0x42f9e5
sub esp, 0xc
and eax, 0xffff
inc eax
push eax
call fcn.004a39a0
add esp, 0x10
mov edx, eax
mov dword [ebx + 0x34], eax
test eax, eax
je 0x42fa1f
push esi
mov ax, word [ebx + 0x1e]
and eax, 0xffff
push eax
push 1
push edx
call sub.msvcrt.dll_fread
mov ecx, eax
mov ax, word [ebx + 0x1e]
and eax, 0xffff
add esp, 0x10
mov edx, 0x80000000
cmp ecx, eax
jne 0x42f819
mov eax, dword [ebx + 0x34]
mov byte [eax + ecx], 0
jmp 0x42f9f2
push esi
mov eax, dword [ebx + 0x20]
and eax, 0xffff
push eax
push 1
push edx
call sub.msvcrt.dll_fread
mov ecx, eax
mov eax, dword [ebx + 0x20]
and eax, 0xffff
add esp, 0x10
mov edx, 0x80000000
cmp ecx, eax
jne 0x42f819
mov eax, dword [ebx + 0x38]
xor edx, edx
mov byte [eax + ecx], 0
jmp 0x42f819