Function at 0x14009b480
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 [0x1402bcf00]
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 0x14009b658
mov r15, qword [rbp + 0x7f]
cmp r15, rcx
ja 0x14009b658
xor ebx, ebx
test r13, r13
je 0x14009b658
cmp r8, 1
jbe 0x14009b4ed
cmp byte [r8 + rdx - 1], bl
jne 0x14009b4ed
dec rsi
mov rcx, qword [r13 + 0x1018]
mov r12d, 0xffffffff
test rcx, rcx
je 0x14009b684
mov r8, rdx
mov dword [rsp + 0x20], ebx
xor edx, edx
mov r9d, esi
call fcn.140096d5c
test rax, rax
je 0x14009b51f
mov rdi, qword [rax + 0x28]
jmp 0x14009b522
mov rdi, rbx
test rdi, rdi
jne 0x14009b624
lea rcx, [rsi + 4]
mov qword [rbp - 0x51], rbx
mov eax, 0xffffffff
mov r12, rbx
cmp rcx, rax
jae 0x14009b55f
mov eax, 0xfffffffb
cmp rax, rsi
je 0x14009b55f
mov eax, 0xffffffe7
cmp rcx, rax
jae 0x14009b55f
lea rcx, [rsi + 0x1c]
call fcn.1401cb03c
jmp 0x14009b562
mov rax, rbx
movsxd rdx, esi
xor r9d, r9d
add rdx, 4
xor r8d, r8d
mov rcx, rax
call fcn.14008f710
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.1400a9f08
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.140096d5c
test rax, rax
je 0x14009b5c7
mov rdi, qword [rax + 0x28]
jmp 0x14009b5ca
mov rdi, rbx
test rdi, rdi
je 0x14009b60c
movsxd rdx, dword [rdi + 0x30]
lea rcx, [rdi + 0x34]
lea r9, [rbp - 0x51]
xor r8d, r8d
call fcn.14004e5f0
mov r12, qword [rbp - 0x51]
test r14, r14
je 0x14009b60c
movsxd rax, r12d
cmp r15, rax
jb 0x14009b60c
movsxd rdx, dword [rdi + 0x30]
lea r9, [rbp - 0x51]
mov r8, r14
lea rcx, [rdi + 0x34]
call fcn.14004e5f0
mov r12, qword [rbp - 0x51]
mov rcx, qword [rbp - 0x49]
call fcn.14008f7f8
test r12, r12
je 0x14009b61f
mov eax, r12d
jmp 0x14009b65a
test rdi, rdi
je 0x14009b67a
test r14, r14
je 0x14009b653
movsxd r9, dword [rdi + 0x30]
cmp r15, r9
jb 0x14009b653
lea r8, [rdi + 0x34]
mov rdx, r15
mov rcx, r14
call section..text
movsxd rax, dword [rdi + 0x30]
cmp r15, rax
jbe 0x14009b64e
mov byte [rax + r14], bl
mov eax, dword [rdi + 0x30]
jmp 0x14009b65a
test r15, r15
je 0x14009b64e
xor eax, eax
mov rcx, qword [rbp - 1]
xor rcx, rsp
call fcn.1401c2260
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.140096d5c
test rax, rax
je 0x14009b6a7
mov rdi, qword [rax + 0x28]
jmp 0x14009b6aa
mov rdi, rbx
test rdi, rdi
jne 0x14009b75d
lea rax, [rsi + 4]
cmp rax, r12
jae 0x14009b6db
mov ecx, 0xfffffffb
cmp rcx, rsi
je 0x14009b6db
mov ecx, 0xffffffe7
cmp rax, rcx
jae 0x14009b6db
lea rcx, [rsi + 0x1c]
call fcn.1401cb03c
jmp 0x14009b6de
mov rax, rbx
movsxd rdx, esi
xor r9d, r9d
add rdx, 4
xor r8d, r8d
mov rcx, rax
call fcn.14008f710
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.1400a9f08
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.140096d5c
test rax, rax
je 0x14009b741
mov rdi, qword [rax + 0x28]
jmp 0x14009b744
mov rdi, rbx
mov rcx, qword [rbp - 0x49]
call fcn.14008f7f8
test rdi, rdi
je 0x14009b658
mov ecx, 1
jmp 0x14009b75f
mov ecx, ebx
test r14, r14
je 0x14009b7fd
movsxd rax, dword [rdi]
cmp r15, rax
jb 0x14009b7fd
test ecx, ecx
jne 0x14009b801
mov rdx, qword [rdi + 0x38]
xor r8d, r8d
mov rcx, qword [r13]
call fcn.1401c9b74
test eax, eax
jne 0x14009b658
movsxd r8, dword [rdi]
lea edx, [rax + 1]
mov r9, qword [r13]
mov rcx, r14
call fcn.1401caf74
test rax, rax
je 0x14009b658
movsxd rdx, dword [rdi]
lea r8, [rbp - 0x31]
mov rcx, r14
call fcn.14008d730
lea rdx, [rdi + 4]
mov r8d, 0x30
lea rcx, [rbp - 0x31]
call fcn.1401c38e0
test eax, eax
jne 0x14009b658
movsxd rax, dword [rdi]
cmp r15, rax
jbe 0x14009b7e5
mov byte [rax + r14], bl
test r15, r15
je 0x14009b7f6
movsxd rax, dword [rdi]
cmp r15, rax
jb 0x14009b8c5
mov ebx, dword [rdi]
jmp 0x14009b8c5
test ecx, ecx
je 0x14009b7e5
movsxd rcx, dword [rdi]
cmp rcx, r12
jae 0x14009b823
cmp r12, rcx
je 0x14009b823
mov eax, 0xffffffe7
cmp rcx, rax
jae 0x14009b823
add rcx, 0x18
call fcn.1401cb03c
jmp 0x14009b826
mov rax, rbx
movsxd rdx, dword [rdi]
xor r9d, r9d
xor r8d, r8d
mov rcx, rax
call fcn.14008f710
mov rdx, qword [rdi + 0x38]
xor r8d, r8d
mov rcx, qword [r13]
mov rsi, rax
mov qword [rbp - 0x51], r15
call fcn.1401c9b74
test eax, eax
jne 0x14009b658
movsxd r8, dword [rdi]
lea edx, [rax + 1]
mov r9, qword [r13]
mov rcx, rsi
call fcn.1401caf74
test rax, rax
je 0x14009b658
movsxd rdx, dword [rdi]
lea r9, [rbp - 0x51]
mov r8, r14
mov rcx, rsi
call fcn.14004e5f0
mov rcx, rsi
test eax, eax
jne 0x14009b8cc
call fcn.14008f7f8
test r14, r14
jne 0x14009b89c
mov eax, dword [rbp - 0x51]
jmp 0x14009b65a
movsxd rdx, dword [rbp - 0x51]
lea r8, [rbp - 0x31]
mov rcx, r14
call fcn.14008d730
lea rdx, [rdi + 4]
mov r8d, 0x30
lea rcx, [rbp - 0x31]
call fcn.1401c38e0
test eax, eax
cmove ebx, dword [rbp - 0x51]
mov eax, ebx
jmp 0x14009b65a
call fcn.14008f7f8
jmp 0x14009b658