Function at 0x14007e980
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xa0
mov rax, qword [0x14020b948]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov rdi, rdx
mov r13, rcx
mov qword [rbp - 0x31], rcx
xor esi, esi
mov dword [rbp - 0x49], esi
mov byte [rcx], sil
lea r14, [rcx + 8]
xorps xmm0, xmm0
movups xmmword [r14], xmm0
mov qword [r14 + 0x10], rsi
mov qword [r14 + 0x18], 0xf
mov byte [r14], sil
lea r12, [rcx + 0x28]
mov qword [rbp - 0x49], r12
mov qword [r12], rsi
mov qword [r12 + 8], rsi
mov qword [r12 + 0x10], rsi
mov byte [r12 + 0x18], sil
lea rbx, [r12 + 0x20]
mov qword [rbp - 0x41], rbx
mov qword [rbx], rsi
mov qword [rbx + 8], rsi
lea ecx, [rsi + 0x48]
call fcn.1400fc72c
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbx], rax
mov qword [r12 + 0x30], rsi
mov qword [r12 + 0x38], rsi
lea ecx, [rsi + 0x28]
call fcn.1400fc72c
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [r12 + 0x30], rax
mov dword [r12 + 0x40], 0x1000000
mov word [r12 + 0x44], si
mov dword [r12 + 0x48], esi
cmp r14, rdi
je 0x14007ea6d
mov rdx, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x14007ea61
mov rdx, qword [rdi]
mov r8, qword [rdi + 0x10]
mov rcx, r14
call fcn.140008fe0
lea rax, [rbp - 0x29]
mov qword [rbp - 0x41], rax
mov rsi, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 0x10
jb 0x14007ea83
mov rdi, qword [rdi]
call fcn.1400fafc8
mov r15d, eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x29], xmm0
xor eax, eax
mov ecx, eax
mov qword [rbp - 0x19], rax
mov edx, 7
mov qword [rbp - 0x11], rdx
mov word [rbp - 0x29], ax
mov dword [rbp - 0x49], 4
test rsi, rsi
je 0x14007eb27
cmp rsi, 0x7fffffff
ja 0x14007ed5c
mov dword [rsp + 0x20], eax
xor r9d, r9d
mov r8d, esi
mov rdx, rdi
mov ecx, r15d
call fcn.1400faff0
mov rbx, rax
shr rax, 0x20
test eax, eax
jne 0x14007ed67
xor r8d, r8d
movsxd rdx, ebx
lea rcx, [rbp - 0x29]
call fcn.140049140
lea r9, [rbp - 0x29]
cmp qword [rbp - 0x11], 8
cmovae r9, qword [rbp - 0x29]
mov dword [rsp + 0x20], ebx
mov r8d, esi
mov rdx, rdi
mov ecx, r15d
call fcn.1400faff0
shr rax, 0x20
test eax, eax
jne 0x14007ed6f
mov rdx, qword [rbp - 0x11]
mov rcx, qword [rbp - 0x19]
lea rdi, [rbp - 0x29]
cmp rdx, 8
cmovae rdi, qword [rbp - 0x29]
lea rbx, [rdi + rcx*2]
mov rdx, rbx
mov rcx, rdi
call fcn.140046e80
cmp rax, rbx
je 0x14007ebad
nop dword [rax + rax]
movzx ecx, word [rax]
cmp cx, 0x5c
je 0x14007eb5f
cmp cx, 0x2f
jne 0x14007eb68
add rax, 2
cmp rax, rbx
jne 0x14007eb50
cmp rax, rbx
je 0x14007ebad
nop dword [rax]
lea rdx, [rbx - 2]
movzx ecx, word [rdx]
cmp cx, 0x5c
je 0x14007eb8d
cmp cx, 0x2f
je 0x14007eb8d
mov rbx, rdx
cmp rax, rdx
jne 0x14007eb70
jmp 0x14007ebad
cmp rax, rbx
je 0x14007ebad
lea rdx, [rbx - 2]
movzx ecx, word [rdx]
cmp cx, 0x5c
je 0x14007eba5
cmp cx, 0x2f
jne 0x14007ebad
mov rbx, rdx
cmp rax, rdx
jne 0x14007eb92
sub rbx, rdi
sar rbx, 1
xorps xmm0, xmm0
movups xmmword [rbp - 9], xmm0
xor esi, esi
mov qword [rbp + 7], rsi
mov qword [rbp + 0xf], rsi
mov r8, rbx
mov rdx, rdi
lea rcx, [rbp - 9]
call fcn.14003f850
nop
mov dword [rbp - 0x41], esi
lea rax, [0x140202c08]
mov qword [rbp - 0x39], rax
lea rdx, [rbp - 0x41]
lea rcx, [rbp - 9]
call fcn.14007ffe0
cmp dword [rbp - 0x41], esi
jne 0x14007ed77
mov rdx, qword [rbp + 0xf]
cmp rdx, 8
jb 0x14007ec38
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 9]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14007ec33
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14007ed8c
call fcn.1400fc768
mov byte [r12 + 0x41], 1
cmp qword [r14 + 0x18], 0x10
jb 0x14007ec48
mov r14, qword [r14]
mov qword [rbp - 0x49], rsi
lea r8, [0x140143828]
mov rdx, r14
lea rcx, [rbp - 0x49]
call fcn.140110324
mov rdi, qword [rbp - 0x49]
test rdi, rdi
je 0x14007ecef
xor edx, edx
lea r8d, [rdx + 2]
mov rcx, rdi
call fcn.14010f284
test eax, eax
jne 0x14007ece5
mov rcx, rdi
call fcn.14011099c
cmp eax, 1
jl 0x14007ece5
movsxd rsi, eax
lea rcx, [rsi + 1]
lea rdx, [0x1401c9938]
call fcn.1400fd09c
mov rbx, rax
test rax, rax
je 0x14007ece5
mov byte [rax + rsi], 0
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.14010f284
mov r9, rdi
mov r8, rsi
mov edx, 1
mov rcx, rbx
call fcn.14010ee9c
cmp rax, rsi
jne 0x14007ecdd
mov r8, rax
mov rdx, rbx
mov rcx, r12
call fcn.1400611c0
mov rcx, rbx
call fcn.1400fc768
mov rcx, qword [rbp - 0x49]
call fcn.14010e40c
nop
mov rdx, qword [rbp - 0x11]
cmp rdx, 8
jb 0x14007ed2c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14007ed26
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14007ed56
call fcn.1400fc768
nop
mov rax, r13
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.1400fc880
mov rbx, qword [rsp + 0xf0]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1401033e4
nop
mov ecx, 0x16
call fcn.140046f90
int3
mov ecx, eax
call fcn.140046fd0
int3
mov ecx, eax
call fcn.140046fd0
nop
lea r8, [rbp - 9]
lea rdx, [rbp - 0x41]
lea rcx, str.create_directories
call fcn.140051e40
nop
call fcn.1401033e4
int3