Function at 0x1401687f0
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov dword [rsp + 0x18], r8d
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
xor eax, eax
mov rsi, rcx
mov ecx, 1
mov r10d, eax
mov r13d, eax
mov qword [rsp + 0x30], rax
mov ebp, eax
mov r15d, eax
mov eax, 0x1ff
mov dword [rsp + 0x24], eax
mov eax, 0x102
mov ebx, r9d
mov rdi, rdx
mov word [rsp + 0x28], cx
lea r12d, [r10 + 9]
mov dword [rsp + 0x20], eax
lea r14, [0x14020bdd0]
test r9d, r9d
jle 0x1401688d9
movsxd rsi, ebx
mov rcx, rsi
call fcn.1401bee78
mov r10, rax
mov qword [rsp + 0x30], rax
test rax, rax
je 0x1401688c4
mov r9, qword [rsp + 0x90]
lea r8d, [r13 + 1]
mov rdx, rsi
mov r9, qword [r9]
mov rcx, rax
call fcn.1401c1e14
mov rsi, qword [rsp + 0xb0]
mov r10, qword [rsp + 0x30]
cmp word [rsi + 0x66], 2
jne 0x1401688c4
test ebx, ebx
je 0x1401688c4
mov rcx, r10
mov edx, ebx
nop dword [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
movzx eax, byte [rax + r14]
mov byte [rcx - 1], al
dec rdx
jne 0x1401688b0
mov rsi, qword [rsp + 0x90]
mov r8d, dword [rsp + 0xa0]
mov r14, r10
jmp 0x1401688de
mov r14, qword [rsp + 0x40]
test r8d, r8d
jle 0x140168bee
mov ebx, dword [rsp + 0xa0]
mov qword [rsp + 0x38], rbx
test r10, r10
je 0x140168909
movzx eax, byte [r14]
mov r8, qword [rsp + 0xb0]
inc r14
jmp 0x140168933
mov rcx, qword [rsi]
call fcn.1401c3f28
mov r8, qword [rsp + 0xb0]
mov r10, qword [rsp + 0x30]
cmp word [r8 + 0x66], 2
jne 0x140168933
lea rcx, [0x14020bdd0]
cdqe
movzx eax, byte [rax + rcx]
mov ecx, ebp
add ebp, 8
shl eax, cl
or r15d, eax
cmp ebp, r12d
jge 0x140168984
test r10, r10
je 0x140168950
movzx eax, byte [r14]
inc r14
jmp 0x14016897a
mov rcx, qword [rsi]
call fcn.1401c3f28
mov r8, qword [rsp + 0xb0]
mov r10, qword [rsp + 0x30]
cmp word [r8 + 0x66], 2
jne 0x14016897a
lea rcx, [0x14020bdd0]
cdqe
movzx eax, byte [rax + rcx]
mov ecx, ebp
shl eax, cl
or r15d, eax
add ebp, 8
movzx esi, r15w
mov ecx, r12d
mov eax, 0x101
and si, word [rsp + 0x24]
sub ebp, r12d
sar r15d, cl
cmp si, ax
je 0x140168bee
cmp word [rsp + 0x28], 0
mov eax, 0x100
je 0x1401689ba
cmp si, ax
jne 0x140168be4
mov dword [rsp + 0x28], 0
cmp si, ax
jne 0x140168ab4
lea rdx, [rsp + 0x40]
mov rcx, r8
call fcn.140168c30
mov rbx, qword [rsp + 0x90]
mov eax, 0x102
mov dword [rsp + 0x20], eax
mov r12d, 9
mov dword [rsp + 0x24], 0x1ff
test r10, r10
je 0x140168a2f
movzx eax, byte [r14]
mov rsi, qword [rsp + 0xb0]
inc r14
lea r13, [0x14020bdd0]
mov ecx, ebp
add ebp, 8
shl eax, cl
or r15d, eax
cmp ebp, r12d
jge 0x140168a7b
test r10, r10
je 0x140168a5b
movzx eax, byte [r14]
inc r14
jmp 0x140168a71
mov rcx, qword [rbx]
call fcn.1401c3f28
mov rsi, qword [rsp + 0xb0]
mov r10, qword [rsp + 0x30]
cmp word [rsi + 0x66], 2
jne 0x140168a0b
lea r13, [0x14020bdd0]
cdqe
movzx eax, byte [rax + r13]
jmp 0x140168a12
mov rcx, qword [rbx]
call fcn.1401c3f28
cmp word [rsi + 0x66], 2
jne 0x140168a71
cdqe
movzx eax, byte [rax + r13]
mov ecx, ebp
shl eax, cl
or r15d, eax
add ebp, 8
movzx esi, r15w
mov eax, 0x1ff
sub ebp, r12d
and si, ax
mov eax, 0x101
sar r15d, 9
cmp si, ax
je 0x140168bee
mov ebx, 1
mov r13, rdi
mov byte [rdi], sil
mov qword [rsp + 0x38], rbx
inc rdi
jmp 0x140168bb2
mov r10d, dword [rsp + 0x20]
movzx eax, si
cmp eax, r10d
jge 0x140168af8
movzx eax, si
mov r13, rdi
shl rax, 4
add rax, qword [r8 + 0xc8]
movzx ebx, word [rax + 8]
mov qword [rsp + 0x38], rbx
add rdi, rbx
nop
movzx ecx, byte [rax + 0xa]
dec rdi
mov byte [rdi], cl
cmp rdi, r13
jbe 0x140168b30
mov rax, qword [rax]
test rax, rax
jne 0x140168ae0
jmp 0x140168b30
movsxd rbx, ebx
mov rdx, r13
mov rcx, rdi
mov r8, rbx
cmovg si, r10w
call fcn.1401bd6e0
movzx eax, byte [rdi]
mov r8, qword [rsp + 0xb0]
mov r10d, dword [rsp + 0x20]
mov byte [rbx + rdi], al
mov rbx, qword [rsp + 0x38]
inc ebx
mov r13, rdi
mov qword [rsp + 0x38], rbx
mov r9, qword [rsp + 0x40]
movzx edx, word [rsp + 0xa8]
movsxd rax, ebx
add rdi, rax
movzx eax, byte [r13]
add rdx, rdx
mov byte [r9 + 0xa], al
mov rax, qword [r8 + 0xc8]
inc r10d
movzx ecx, word [rax + rdx*8 + 8]
add r9, 0x10
mov dword [rsp + 0x20], r10d
inc cx
mov qword [rsp + 0x40], r9
mov word [r9 - 8], cx
mov rax, qword [r8 + 0xc8]
lea rcx, [rax + rdx*8]
mov qword [r9 - 0x10], rcx
cmp r10d, dword [rsp + 0x24]
jle 0x140168bb2
inc r12d
cmp r12d, 0xc
jle 0x140168ba2
mov eax, 0xfff
mov r12d, 0xc
mov dword [rsp + 0x20], eax
mov ecx, r12d
mov eax, 1
shl eax, cl
dec eax
mov dword [rsp + 0x24], eax
mov r8d, dword [rsp + 0xa0]
mov word [rsp + 0xa8], si
sub r8d, ebx
mov dword [rsp + 0xa0], r8d
test r8d, r8d
jle 0x140168bee
mov r10, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x90]
jmp 0x1401688f3
mov eax, 9
movzx ebx, ax
jmp 0x140168bf0
xor ebx, ebx
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x140168bff
call fcn.1401be23c
movzx eax, bx
mov rbx, qword [rsp + 0x98]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret