Function at 0x14009c6b8
Capabilities:
Read file on windows

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x17]
sub rsp, 0x98
mov rax, qword [0x1402bdf00]
xor rax, rsp
mov qword [rbp - 1], rax
mov r13, rcx
mov qword [rbp - 0x39], rdx
mov ecx, 0x7fffffff
mov r14, r9
mov rsi, r8
mov rax, rdx
cmp r8, rcx
ja 0x14009c890
mov r15, qword [rbp + 0x7f]
cmp r15, rcx
ja 0x14009c890
xor ebx, ebx
test r13, r13
je 0x14009c890
cmp r8, 1
jbe 0x14009c725
cmp byte [r8 + rdx - 1], bl
jne 0x14009c725
dec rsi
mov rcx, qword [r13 + 0x1018]
mov r12d, 0xffffffff
test rcx, rcx
je 0x14009c8bc
mov r8, rdx
mov dword [rsp + 0x20], ebx
xor edx, edx
mov r9d, esi
call fcn.140097fec
test rax, rax
je 0x14009c757
mov rdi, qword [rax + 0x28]
jmp 0x14009c75a
mov rdi, rbx
test rdi, rdi
jne 0x14009c85c
lea rcx, [rsi + 4]
mov qword [rbp - 0x51], rbx
mov eax, 0xffffffff
mov r12, rbx
cmp rcx, rax
jae 0x14009c797
mov eax, 0xfffffffb
cmp rax, rsi
je 0x14009c797
mov eax, 0xffffffe7
cmp rcx, rax
jae 0x14009c797
lea rcx, [rsi + 0x1c]
call fcn.1401cc40c
jmp 0x14009c79a
mov rax, rbx
movsxd rdx, esi
xor r9d, r9d
add rdx, 4
xor r8d, r8d
mov rcx, rax
call fcn.140090854
mov r8, qword [rbp - 0x39]
mov r9, rsi
mov rcx, rax
mov qword [rbp - 0x49], rax
mov rdx, qword [rax - 0x18]
call section..text
mov rdx, qword [rbp - 0x39]
mov r8d, esi
xor ecx, ecx
call fcn.1400ab1e4
mov rcx, qword [rbp - 0x49]
xor edx, edx
mov r8, rcx
mov dword [rsp + 0x20], ebx
mov dword [rsi + rcx], eax
mov r9d, dword [rcx - 0x18]
mov rcx, qword [r13 + 0x1018]
call fcn.140097fec
test rax, rax
je 0x14009c7ff
mov rdi, qword [rax + 0x28]
jmp 0x14009c802
mov rdi, rbx
test rdi, rdi
je 0x14009c844
movsxd rdx, dword [rdi + 0x30]
lea rcx, [rdi + 0x34]
lea r9, [rbp - 0x51]
xor r8d, r8d
call fcn.14004e8b8
mov r12, qword [rbp - 0x51]
test r14, r14
je 0x14009c844
movsxd rax, r12d
cmp r15, rax
jb 0x14009c844
movsxd rdx, dword [rdi + 0x30]
lea r9, [rbp - 0x51]
mov r8, r14
lea rcx, [rdi + 0x34]
call fcn.14004e8b8
mov r12, qword [rbp - 0x51]
mov rcx, qword [rbp - 0x49]
call fcn.14009093c
test r12, r12
je 0x14009c857
mov eax, r12d
jmp 0x14009c892
test rdi, rdi
je 0x14009c8b2
test r14, r14
je 0x14009c88b
movsxd r9, dword [rdi + 0x30]
cmp r15, r9
jb 0x14009c88b
lea r8, [rdi + 0x34]
mov rdx, r15
mov rcx, r14
call section..text
movsxd rax, dword [rdi + 0x30]
cmp r15, rax
jbe 0x14009c886
mov byte [rax + r14], bl
mov eax, dword [rdi + 0x30]
jmp 0x14009c892
test r15, r15
je 0x14009c886
xor eax, eax
mov rcx, qword [rbp - 1]
xor rcx, rsp
call fcn.1401c3630
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rax, qword [rbp - 0x39]
mov r12d, 0xffffffff
mov rcx, qword [r13 + 0x1010]
mov r9d, esi
mov r8, rax
mov dword [rsp + 0x20], ebx
xor edx, edx
call fcn.140097fec
test rax, rax
je 0x14009c8df
mov rdi, qword [rax + 0x28]
jmp 0x14009c8e2
mov rdi, rbx
test rdi, rdi
jne 0x14009c995
lea rax, [rsi + 4]
cmp rax, r12
jae 0x14009c913
mov ecx, 0xfffffffb
cmp rcx, rsi
je 0x14009c913
mov ecx, 0xffffffe7
cmp rax, rcx
jae 0x14009c913
lea rcx, [rsi + 0x1c]
call fcn.1401cc40c
jmp 0x14009c916
mov rax, rbx
movsxd rdx, esi
xor r9d, r9d
add rdx, 4
xor r8d, r8d
mov rcx, rax
call fcn.140090854
mov r8, qword [rbp - 0x39]
mov r9, rsi
mov rcx, rax
mov qword [rbp - 0x49], rax
mov rdi, rax
mov rdx, qword [rax - 0x18]
call section..text
mov r8d, esi
mov rdx, rdi
xor ecx, ecx
call fcn.1400ab1e4
mov dword [rsi + rdi], eax
mov r8, rdi
mov r9d, dword [rdi - 0x18]
xor edx, edx
mov rcx, qword [r13 + 0x1010]
mov dword [rsp + 0x20], ebx
call fcn.140097fec
test rax, rax
je 0x14009c979
mov rdi, qword [rax + 0x28]
jmp 0x14009c97c
mov rdi, rbx
mov rcx, qword [rbp - 0x49]
call fcn.14009093c
test rdi, rdi
je 0x14009c890
mov ecx, 1
jmp 0x14009c997
mov ecx, ebx
test r14, r14
je 0x14009ca35
movsxd rax, dword [rdi]
cmp r15, rax
jb 0x14009ca35
test ecx, ecx
jne 0x14009ca39
mov rdx, qword [rdi + 0x38]
xor r8d, r8d
mov rcx, qword [r13]
call fcn.1401caf44
test eax, eax
jne 0x14009c890
movsxd r8, dword [rdi]
lea edx, [rax + 1]
mov r9, qword [r13]
mov rcx, r14
call fcn.1401cc344
test rax, rax
je 0x14009c890
movsxd rdx, dword [rdi]
lea r8, [rbp - 0x31]
mov rcx, r14
call fcn.14008e7d4
lea rdx, [rdi + 4]
mov r8d, 0x30
lea rcx, [rbp - 0x31]
call fcn.1401c4cb0
test eax, eax
jne 0x14009c890
movsxd rax, dword [rdi]
cmp r15, rax
jbe 0x14009ca1d
mov byte [rax + r14], bl
test r15, r15
je 0x14009ca2e
movsxd rax, dword [rdi]
cmp r15, rax
jb 0x14009cafd
mov ebx, dword [rdi]
jmp 0x14009cafd
test ecx, ecx
je 0x14009ca1d
movsxd rcx, dword [rdi]
cmp rcx, r12
jae 0x14009ca5b
cmp r12, rcx
je 0x14009ca5b
mov eax, 0xffffffe7
cmp rcx, rax
jae 0x14009ca5b
add rcx, 0x18
call fcn.1401cc40c
jmp 0x14009ca5e
mov rax, rbx
movsxd rdx, dword [rdi]
xor r9d, r9d
xor r8d, r8d
mov rcx, rax
call fcn.140090854
mov rdx, qword [rdi + 0x38]
xor r8d, r8d
mov rcx, qword [r13]
mov rsi, rax
mov qword [rbp - 0x51], r15
call fcn.1401caf44
test eax, eax
jne 0x14009c890
movsxd r8, dword [rdi]
lea edx, [rax + 1]
mov r9, qword [r13]
mov rcx, rsi
call fcn.1401cc344
test rax, rax
je 0x14009c890
movsxd rdx, dword [rdi]
lea r9, [rbp - 0x51]
mov r8, r14
mov rcx, rsi
call fcn.14004e8b8
mov rcx, rsi
test eax, eax
jne 0x14009cb04
call fcn.14009093c
test r14, r14
jne 0x14009cad4
mov eax, dword [rbp - 0x51]
jmp 0x14009c892
movsxd rdx, dword [rbp - 0x51]
lea r8, [rbp - 0x31]
mov rcx, r14
call fcn.14008e7d4
lea rdx, [rdi + 4]
mov r8d, 0x30
lea rcx, [rbp - 0x31]
call fcn.1401c4cb0
test eax, eax
cmove ebx, dword [rbp - 0x51]
mov eax, ebx
jmp 0x14009c892
call fcn.14009093c
jmp 0x14009c890