Function at 0x140004cdc
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.14000f284
xor r14d, r14d
mov rsi, rax
test rax, rax
jne 0x140004d27
or eax, 0xffffffff
jmp 0x140005008
mov rdx, rsi
mov ecx, r15d
call fcn.1400047f4
mov qword [rsp + 0x20], rax
cmp rax, 0xffffffffffffffff
je 0x140004ff9
mov r13d, 0x400
mov rdx, rsi
mov r8d, r13d
mov ecx, r15d
call fcn.140019db0
mov ebp, eax
test eax, eax
js 0x140004ff9
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 0x140004ff9
cmp ebp, 0x2e
jge 0x140004dc6
movsxd rbx, ebp
mov rdx, rdi
mov r8, rbx
mov rcx, rsi
call fcn.14000b450
lea rdx, [rbx + rsi]
mov r8d, r13d
mov ecx, r15d
mov rdi, rax
call fcn.140019db0
test eax, eax
jle 0x140004ff9
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 0x140004e46
movsxd r13, ebp
cmp rdi, rsi
je 0x140004e14
mov r8, r13
mov rdx, rdi
mov rcx, rsi
call fcn.14000b450
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.140019db0
test eax, eax
jle 0x140004ff9
add ebp, eax
mov r13d, 0x400
mov rcx, r12
call fcn.14000f130
movzx edx, byte [rdi + 0x1d]
movzx ecx, byte [rdi + 0x1c]
shl rdx, 8
or rdx, rcx
cmp rdx, rax
jne 0x140004e7d
mov rcx, r12
call fcn.14000f130
mov r8, rax
lea rcx, [rdi + 0x2e]
mov rdx, r12
call fcn.14000bea0
test eax, eax
je 0x140004ead
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 0x140004d8e
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.140016154
test rax, rax
js 0x140004ff9
mov r8d, 0x1e
lea rdx, [rsp + 0x30]
mov ecx, r15d
call fcn.140019db0
test eax, eax
js 0x140004ff9
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 0x140004ff9
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 0x140004ffd
or r14d, 0xffffffff
mov rcx, rsi
call fcn.14000f270
mov eax, r14d
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.14000ac50
mov rbx, qword [rsp + 0xb8]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret