Function at 0x14001a560
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rsi
push r13
push r15
sub rsp, 0x70
mov r13, rcx
mov edx, 1
mov ecx, 0x8000
mov rsi, r9
call fcn.1400f97a4
mov r15, rax
mov qword [rsp + 0x38], rax
test rax, rax
je 0x14001a9b0
mov rcx, qword [rsp + 0xa0]
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x68], rbp
mov qword [rsp + 0x60], rdi
xor ebx, ebx
xor edi, edi
lea rax, [rcx + rsi]
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x48], rdi
xor r9d, r9d
mov dword [rsp + 0x20], ebx
mov qword [rsp + 0x30], rax
xor r14d, r14d
xor ebp, ebp
mov qword [rsp + 0x28], r9
mov rdx, qword [rsp + 0x98]
cmp r9d, dword [rdx + 4]
jge 0x14001a980
cmp rcx, rax
jae 0x14001a980
cmp rbx, rdi
jb 0x14001a653
mov rcx, r13
call fcn.1400fa96c
test eax, eax
jne 0x14001a980
xor edx, edx
mov r8d, 0x8000
mov rcx, r15
xor ebx, ebx
call fcn.1400f9ab0
lea edx, [rbx + 1]
mov r9, r13
mov r8d, 0x8000
mov rcx, r15
call fcn.1400fabdc
movsxd rdi, eax
mov qword [rsp + 0x48], rdi
test eax, eax
jle 0x14001a980
mov r9, qword [rsp + 0x28]
mov rcx, qword [rsp + 0xa0]
movzx r12d, byte [rbx + r15]
inc rbx
test r12d, r12d
js 0x14001a980
je 0x14001a75f
mov rsi, r9
imul rsi, qword [rsp + 0xb0]
add rsi, rcx
cmp rbx, rdi
jb 0x14001a6c8
mov rcx, r13
call fcn.1400fa96c
test eax, eax
je 0x14001a690
or r8d, 0xffffffff
jmp 0x14001a6d0
xor edx, edx
mov r8d, 0x8000
mov rcx, r15
xor ebx, ebx
call fcn.1400f9ab0
lea edx, [rbx + 1]
mov r9, r13
mov r8d, 0x8000
mov rcx, r15
call fcn.1400fabdc
movsxd rdi, eax
mov qword [rsp + 0x48], rdi
test eax, eax
jg 0x14001a6c8
or r8d, 0xffffffff
jmp 0x14001a6d0
movzx r8d, byte [rbx + r15]
inc rbx
mov rax, qword [rsp + 0x30]
mov r9, qword [rsp + 0x28]
mov rcx, qword [rsp + 0xa0]
xor edx, edx
test r12d, r12d
jle 0x14001a5e0
lea rcx, [rsi + r14]
mov r9, rax
cmp rcx, r9
jae 0x14001a980
test ebp, ebp
je 0x14001a728
test dl, 1
je 0x14001a716
movzx eax, r8b
inc r14
and al, 0xf
or byte [rcx], al
inc rcx
jmp 0x14001a73a
mov eax, r8d
inc r14
sar eax, 4
and al, 0xf
or byte [rcx], al
inc rcx
jmp 0x14001a73a
movzx eax, r8b
test dl, 1
je 0x14001a736
shl al, 4
jmp 0x14001a738
and al, 0xf0
mov byte [rcx], al
xor eax, eax
test ebp, ebp
sete al
inc edx
mov ebp, eax
cmp edx, r12d
jl 0x14001a6f4
mov rcx, qword [rsp + 0xa0]
mov rax, r9
mov r9, qword [rsp + 0x28]
jmp 0x14001a5e0
cmp rbx, rdi
jb 0x14001a7aa
mov rcx, r13
call fcn.1400fa96c
test eax, eax
jne 0x14001a980
xor edx, edx
mov r8d, 0x8000
mov rcx, r15
xor ebx, ebx
call fcn.1400f9ab0
lea edx, [rbx + 1]
mov r9, r13
mov r8d, 0x8000
mov rcx, r15
call fcn.1400fabdc
movsxd rdi, eax
mov qword [rsp + 0x48], rdi
test eax, eax
jle 0x14001a980
movzx esi, byte [rbx + r15]
inc rbx
mov qword [rsp + 0x40], rbx
test esi, esi
js 0x14001a980
mov ecx, esi
je 0x14001a966
dec ecx
je 0x14001a980
dec ecx
mov r8d, 1
mov rdx, r13
lea rcx, [rsp + 0x38]
je 0x14001a917
mov rbx, qword [rsp + 0x28]
imul rbx, qword [rsp + 0xb0]
add rbx, qword [rsp + 0xa0]
call fcn.14001b060
xor edi, edi
mov edx, eax
test esi, esi
jle 0x14001a886
add rbx, r14
nop dword [rax + rax]
cmp rbx, qword [rsp + 0x30]
jae 0x14001a907
mov ecx, edi
test ebp, ebp
je 0x14001a846
and ecx, 1
je 0x14001a835
movzx eax, dl
inc r14
and al, 0xf
or byte [rbx], al
inc rbx
jmp 0x14001a857
mov eax, edx
inc r14
sar eax, 4
and al, 0xf
or byte [rbx], al
inc rbx
jmp 0x14001a857
movzx eax, dl
and ecx, 1
je 0x14001a853
shl al, 4
jmp 0x14001a855
and al, 0xf0
mov byte [rbx], al
test ecx, ecx
je 0x14001a877
lea eax, [rsi - 1]
cmp edi, eax
je 0x14001a877
lea rcx, [rsp + 0x38]
mov r8d, 1
mov rdx, r13
call fcn.14001b060
mov edx, eax
xor eax, eax
test ebp, ebp
sete al
inc edi
mov ebp, eax
cmp edi, esi
jl 0x14001a810
mov r12d, dword [rsp + 0x20]
mov r15, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
lea eax, [rsi + 1]
test al, 2
je 0x14001a8e7
cmp rbx, rdi
jb 0x14001a8e4
mov rcx, r13
call fcn.1400fa96c
test eax, eax
jne 0x14001a8e7
xor edx, edx
mov r8d, 0x8000
mov rcx, r15
xor ebx, ebx
call fcn.1400f9ab0
lea edx, [rbx + 1]
mov r9, r13
mov r8d, 0x8000
mov rcx, r15
call fcn.1400fabdc
movsxd rdi, eax
mov qword [rsp + 0x48], rdi
test eax, eax
jle 0x14001a8e7
inc rbx
test r12d, r12d
jne 0x14001a980
mov rax, qword [rsp + 0x30]
mov r9, qword [rsp + 0x28]
mov rcx, qword [rsp + 0xa0]
jmp 0x14001a5e0
mov r12d, 1
mov dword [rsp + 0x20], r12d
jmp 0x14001a88b
call fcn.14001b060
mov r8d, 1
cdq
sub eax, edx
mov rdx, r13
sar eax, 1
movsxd rcx, eax
add r14, rcx
lea rcx, [rsp + 0x38]
call fcn.14001b060
mov r9, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
mov r15, qword [rsp + 0x38]
movsxd rcx, eax
mov rax, qword [rsp + 0x30]
add r9, rcx
mov rcx, qword [rsp + 0xa0]
jmp 0x14001a5db
mov r9, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0xa0]
inc r9
jmp 0x14001a5d6
mov rcx, r15
call fcn.1400f97e8
mov r14, qword [rsp + 0x50]
mov r12, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x90]
xor eax, eax
add rsp, 0x70
pop r15
pop r13
pop rsi
ret
or eax, 0xffffffff
add rsp, 0x70
pop r15
pop r13
pop rsi
ret