Function at 0x140004cec
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov rax, qword [0x14003a060]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov r15d, ecx
mov qword [rsp + 0x28], rdx
mov ecx, 0x30032
mov r12, r8
call fcn.14000f884
xor r14d, r14d
mov rsi, rax
test rax, rax
jne 0x140004d37
or eax, 0xffffffff
jmp 0x140005018
mov rdx, rsi
mov ecx, r15d
call fcn.140004804
mov qword [rsp + 0x20], rax
cmp rax, 0xffffffffffffffff
je 0x140005009
mov r13d, 0x400
mov rdx, rsi
mov r8d, r13d
mov ecx, r15d
call fcn.140019e24
mov ebp, eax
test eax, eax
js 0x140005009
movzx ecx, byte [rsi + 2]
mov rdi, rsi
movzx r8d, byte [rsi + 3]
movzx eax, byte [rsi]
shl r8d, 8
or r8d, ecx
movzx ecx, byte [rsi + 1]
shl r8d, 8
or r8d, ecx
shl r8d, 8
or r8d, eax
cmp r8d, 0x2014b50
jne 0x140005009
cmp ebp, 0x2e
jge 0x140004dd6
movsxd rbx, ebp
mov rdx, rdi
mov r8, rbx
mov rcx, rsi
call fcn.14000b4a0
lea rdx, [rbx + rsi]
mov r8d, r13d
mov ecx, r15d
mov rdi, rax
call fcn.140019e24
test eax, eax
jle 0x140005009
add ebp, eax
movzx eax, byte [rdi + 0x20]
movzx edx, byte [rdi + 0x21]
movzx ecx, byte [rdi + 0x1f]
movzx ebx, byte [rdi + 0x1d]
shl ebx, 8
shl edx, 8
or edx, eax
shl ecx, 8
movzx eax, byte [rdi + 0x1e]
or ecx, eax
movzx eax, byte [rdi + 0x1c]
or ebx, eax
add edx, ecx
add ebx, 0x2e
add ebx, edx
lea eax, [rbx + 4]
cmp ebp, eax
jge 0x140004e56
movsxd r13, ebp
cmp rdi, rsi
je 0x140004e24
mov r8, r13
mov rdx, rdi
mov rcx, rsi
call fcn.14000b4a0
mov rdi, rax
mov eax, 0x400
lea rdx, [rsi + r13]
mov r8d, ebx
mov ecx, r15d
sub r8d, ebp
add r8d, 4
cmp r8d, eax
cmovl r8d, eax
call fcn.140019e24
test eax, eax
jle 0x140005009
add ebp, eax
mov r13d, 0x400
mov rcx, r12
call fcn.14000f730
movzx edx, byte [rdi + 0x1d]
movzx ecx, byte [rdi + 0x1c]
shl rdx, 8
or rdx, rcx
cmp rdx, rax
jne 0x140004e8d
mov rcx, r12
call fcn.14000f730
mov r8, rax
lea rcx, [rdi + 0x2e]
mov rdx, r12
call fcn.14000bef0
test eax, eax
je 0x140004ebd
mov eax, ebx
sub ebp, ebx
add rdi, rax
movzx eax, byte [rdi + 2]
movzx ecx, byte [rdi + 3]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdi + 1]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdi]
shl ecx, 8
or ecx, eax
cmp ecx, 0x2014b50
jmp 0x140004d9e
movzx eax, byte [rdi + 0x2c]
xor r8d, r8d
movzx edx, byte [rdi + 0x2d]
mov ecx, r15d
mov rbx, qword [rsp + 0x20]
shl rdx, 8
or rdx, rax
movzx eax, byte [rdi + 0x2b]
shl rdx, 8
or rdx, rax
movzx eax, byte [rdi + 0x2a]
shl rdx, 8
or rdx, rax
add rdx, rbx
call fcn.140016754
test rax, rax
js 0x140005009
mov r8d, 0x1e
lea rdx, [rsp + 0x30]
mov ecx, r15d
call fcn.140019e24
test eax, eax
js 0x140005009
movzx eax, byte [rsp + 0x32]
movzx ecx, byte [rsp + 0x33]
shl ecx, 8
or ecx, eax
movzx eax, byte [rsp + 0x31]
shl ecx, 8
or ecx, eax
movzx eax, byte [rsp + 0x30]
shl ecx, 8
or ecx, eax
cmp ecx, 0x4034b50
jne 0x140005009
movzx eax, byte [rdi + 0x1a]
movzx ecx, byte [rdi + 0x1b]
mov r9, qword [rsp + 0x28]
movzx edx, byte [rsp + 0x4b]
shl rcx, 8
or rcx, rax
shl edx, 8
movzx eax, byte [rdi + 0x19]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdi + 0x18]
shl rcx, 8
or rcx, rax
mov qword [r9], rcx
movzx eax, byte [rdi + 0x16]
movzx ecx, byte [rdi + 0x17]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdi + 0x15]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdi + 0x14]
shl rcx, 8
or rcx, rax
mov qword [r9 + 8], rcx
movzx eax, byte [rdi + 0x2c]
movzx r8d, byte [rdi + 0x2d]
movzx ecx, byte [rsp + 0x4d]
shl r8, 8
or r8, rax
shl ecx, 8
movzx eax, byte [rdi + 0x2b]
shl r8, 8
or r8, rax
movzx eax, byte [rdi + 0x2a]
shl r8, 8
or r8, rax
movzx eax, byte [rsp + 0x4a]
or rdx, rax
movzx eax, byte [rsp + 0x4c]
or rcx, rax
add rdx, rbx
add rcx, 0x1e
lea rax, [r8 + rdx]
add rax, rcx
mov qword [r9 + 0x10], rax
movzx ecx, byte [rdi + 0xb]
movzx eax, byte [rdi + 0xa]
shl ecx, 8
or ecx, eax
mov dword [r9 + 0x18], ecx
jmp 0x14000500d
or r14d, 0xffffffff
mov rcx, rsi
call fcn.14000f870
mov eax, r14d
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.14000ac60
mov rbx, qword [rsp + 0xb8]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret