Function at 0x42fb40
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push esi
push ebx
sub esp, 0x20
lea eax, [ebp - 0x26]
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
push esi
push 0x1e
push 1
push eax
call sub.msvcrt.dll_fread
add esp, 0x10
mov edx, 0x80000000
cmp eax, 0x1e
je 0x42fb72
lea esp, [ebp - 8]
mov eax, edx
pop ebx
pop esi
pop ebp
ret
xor edx, edx
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
cmp edx, 0x4034b50
jne 0x42fcd1
xor edx, edx
xor eax, eax
mov dl, byte [ebp - 0x21]
mov al, byte [ebp - 0x22]
shl edx, 8
or eax, edx
xor edx, edx
mov word [ebx + 4], ax
xor eax, eax
mov dl, byte [ebp - 0x1f]
mov al, byte [ebp - 0x20]
shl edx, 8
or eax, edx
xor edx, edx
mov word [ebx + 6], ax
xor eax, eax
mov dl, byte [ebp - 0x1d]
mov al, byte [ebp - 0x1e]
shl edx, 8
or eax, edx
xor edx, edx
mov word [ebx + 8], ax
xor eax, eax
mov dl, byte [ebp - 0x1b]
mov al, byte [ebp - 0x1c]
shl edx, 8
or eax, edx
xor edx, edx
mov word [ebx + 0xa], ax
xor eax, eax
mov dl, byte [ebp - 0x19]
mov al, byte [ebp - 0x1a]
shl edx, 8
or eax, edx
xor edx, edx
mov word [ebx + 0xc], ax
xor eax, eax
mov dl, byte [ebp - 0x17]
mov al, byte [ebp - 0x16]
shl eax, 0x10
shl edx, 8
or edx, eax
xor eax, eax
mov al, byte [ebp - 0x18]
or edx, eax
xor eax, eax
mov al, byte [ebp - 0x15]
shl eax, 0x18
or edx, eax
xor eax, eax
mov dword [ebx + 0x10], edx
xor edx, edx
mov dl, byte [ebp - 0x13]
mov al, byte [ebp - 0x12]
shl edx, 8
shl eax, 0x10
xor ecx, ecx
or edx, eax
xor eax, eax
mov al, byte [ebp - 0x14]
or edx, eax
xor eax, eax
mov al, byte [ebp - 0x11]
shl eax, 0x18
or edx, eax
xor eax, eax
mov dword [ebx + 0x14], edx
xor edx, edx
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 + 0x18], edx
xor edx, edx
mov al, byte [ebp - 0xb]
mov cl, byte [ebp - 0xc]
shl eax, 8
or ecx, eax
xor eax, eax
mov word [ebx + 0x1c], cx
mov dl, byte [ebp - 9]
mov al, byte [ebp - 0xa]
shl edx, 8
or eax, edx
test cx, cx
mov word [ebx + 0x1e], ax
jne 0x42fcf0
mov ax, word [ebx + 0x1e]
xor edx, edx
test ax, ax
je 0x42fb69
sub esp, 0xc
and eax, 0xffff
inc eax
push eax
call fcn.004a39a0
add esp, 0x10
mov edx, eax
mov dword [ebx + 0x24], eax
test eax, eax
jne 0x42fd45
mov edx, 0xfffffff4
jmp 0x42fb69
push ebx
push str.whoops:_didnt_find_expected_signature_n
push 0x4b34c0
push 3
call fcn.0044c320
mov edx, 0x80000000
add esp, 0x10
jmp 0x42fb69
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 + 0x20], eax
test eax, eax
je 0x42fcc7
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 0x42fb69
mov eax, dword [ebx + 0x20]
mov byte [eax + ecx], 0
jmp 0x42fc9d
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 0x42fb69
mov eax, dword [ebx + 0x24]
xor edx, edx
mov byte [eax + ecx], 0
jmp 0x42fb69