Function at 0x140168380
Capabilities:
Read file on windows

Disassembly:
mov rax, rsp
mov dword [rax + 0x18], r8d
mov qword [rax + 8], rcx
push r15
sub rsp, 0x70
mov qword [rax + 0x10], rbx
mov qword [rax - 0x10], rbp
xor r15d, r15d
mov qword [rax - 0x18], rsi
mov qword [rax - 0x20], rdi
mov qword [rax - 0x28], r12
mov qword [rax - 0x30], r13
mov r13, qword [rsp + 0xa0]
mov qword [rax - 0x38], r14
mov rax, rcx
mov ecx, 1
mov qword [rsp + 0x30], r9
mov word [rsp + 0x20], cx
mov ecx, 0x1ff
mov r11d, r8d
mov r14, rdx
mov r10d, r15d
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x98], ecx
mov edi, r15d
mov ebx, r15d
lea r12d, [r15 + 9]
lea rbp, [0x14020bdd0]
test r9d, r9d
jle 0x140168478
movsxd rsi, r9d
mov rcx, rsi
call fcn.1401bee78
mov r10, rax
mov qword [rsp + 0x28], rax
test rax, rax
je 0x140168463
mov rcx, qword [rsp + 0x80]
lea edx, [r15 + 1]
mov r8, rsi
mov r9, qword [rcx]
mov rcx, rax
call fcn.1401c1e14
cmp word [r13 + 0x66], 2
mov r10, qword [rsp + 0x28]
mov qword [rsp + 0x30], rax
jne 0x140168463
test eax, eax
je 0x140168463
mov rcx, r10
mov edx, eax
nop word [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
movzx eax, byte [rax + rbp]
mov byte [rcx - 1], al
dec rdx
jne 0x140168450
mov r11d, dword [rsp + 0x90]
mov rax, qword [rsp + 0x80]
mov rbp, r10
jmp 0x14016847d
mov rbp, qword [rsp + 0x38]
test r11d, r11d
jle 0x1401687a5
mov r15, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x38]
mov r9d, 0x100
test r10, r10
je 0x1401684c4
movzx eax, byte [rbp]
shl ebx, 8
add edi, 8
or ebx, eax
inc rbp
cmp edi, r12d
jge 0x140168534
movzx eax, byte [rbp]
shl ebx, 8
inc rbp
or ebx, eax
add edi, 8
jmp 0x140168534
mov rcx, qword [rax]
call fcn.1401c3f28
cmp word [r13 + 0x66], 2
jne 0x1401684e1
lea rcx, [0x14020bdd0]
cdqe
movzx eax, byte [rax + rcx]
shl ebx, 8
movzx eax, al
add edi, 8
or ebx, eax
cmp edi, r12d
jge 0x140168521
mov rcx, qword [rsp + 0x80]
mov rcx, qword [rcx]
call fcn.1401c3f28
cmp word [r13 + 0x66], 2
jne 0x140168516
lea rcx, [0x14020bdd0]
cdqe
movzx eax, byte [rax + rcx]
shl ebx, 8
movzx eax, al
or ebx, eax
add edi, 8
mov r11d, dword [rsp + 0x90]
mov r10, qword [rsp + 0x28]
mov r9d, 0x100
sub edi, r12d
mov r8d, ebx
mov eax, 0x101
mov ecx, edi
sar r8d, cl
and r8w, word [rsp + 0x98]
cmp r8w, ax
je 0x1401687a2
test r10, r10
je 0x14016856d
movsxd rax, dword [rsp + 0x30]
add rax, r10
cmp rbp, rax
jae 0x1401687a2
cmp word [rsp + 0x20], 0
je 0x14016857f
cmp r8w, r9w
jne 0x140168797
mov dword [rsp + 0x20], 0
cmp r8w, r9w
jne 0x14016869c
lea rdx, [rsp + 0x38]
mov rcx, r13
call fcn.140168c30
mov eax, 0x1ff
mov r12d, 9
mov dword [rsp + 0x98], eax
mov rax, qword [r13 + 0xc8]
lea r15, [rax + 0x1020]
add rax, 0x1fe0
mov qword [rsp + 0x38], rax
test r10, r10
je 0x1401685f3
movzx eax, byte [rbp]
shl ebx, 8
add edi, 8
or ebx, eax
inc rbp
cmp edi, r12d
jge 0x140168655
movzx eax, byte [rbp]
shl ebx, 8
inc rbp
or ebx, eax
add edi, 8
jmp 0x140168655
mov rsi, qword [rsp + 0x80]
mov rcx, qword [rsi]
call fcn.1401c3f28
cmp word [r13 + 0x66], 2
jne 0x140168618
lea rcx, [0x14020bdd0]
cdqe
movzx eax, byte [rax + rcx]
shl ebx, 8
movzx eax, al
add edi, 8
or ebx, eax
cmp edi, r12d
jge 0x140168650
mov rcx, qword [rsi]
call fcn.1401c3f28
cmp word [r13 + 0x66], 2
jne 0x140168645
lea rcx, [0x14020bdd0]
cdqe
movzx eax, byte [rax + rcx]
shl ebx, 8
movzx eax, al
or ebx, eax
add edi, 8
mov r10, qword [rsp + 0x28]
sub edi, r12d
mov eax, ebx
mov ecx, edi
sar eax, cl
mov ecx, 0x1ff
and ax, cx
mov ecx, 0x101
cmp ax, cx
je 0x1401687a2
mov r11d, dword [rsp + 0x90]
mov byte [r14], al
movzx esi, ax
shl rsi, 4
inc r14
dec r11d
add rsi, qword [r13 + 0xc8]
lea r9d, [rcx - 1]
jmp 0x14016877d
movzx edx, r8w
shl rdx, 4
add rdx, qword [r13 + 0xc8]
mov qword [r15], rsi
movzx eax, byte [rsi + 0xb]
mov byte [r15 + 0xb], al
movzx eax, word [rsi + 8]
inc ax
mov word [r15 + 8], ax
cmp rdx, r15
jae 0x1401686cd
movzx eax, byte [rdx + 0xb]
jmp 0x1401686d2
movzx eax, byte [r15 + 0xb]
mov byte [r15 + 0xa], al
mov rax, qword [rsp + 0x38]
add r15, 0x10
cmp r15, rax
jbe 0x14016872d
inc r12d
cmp r12d, 0xc
jle 0x140168700
add rax, 0x4000
mov r12d, 0xc
cmp r15, rax
cmova r15, rax
mov ecx, r12d
mov eax, 1
shl eax, cl
dec eax
movsxd rcx, eax
mov dword [rsp + 0x98], eax
mov rax, qword [r13 + 0xc8]
add rax, 0xfffffffffffffff0
shl rcx, 4
add rax, rcx
mov qword [rsp + 0x38], rax
mov rsi, rdx
cmp r8w, r9w
jb 0x140168774
movzx r8d, word [rdx + 8]
mov eax, r8d
lea r9, [r8 + r14]
mov rcx, r9
nop word [rax + rax]
movzx eax, byte [rdx + 0xa]
dec rcx
mov byte [rcx], al
mov rdx, qword [rdx]
test rdx, rdx
je 0x140168766
cmp rcx, r14
ja 0x140168750
mov r14, r9
sub r11d, r8d
mov r9d, 0x100
jmp 0x14016877d
mov byte [r14], r8b
inc r14
dec r11d
mov dword [rsp + 0x90], r11d
test r11d, r11d
jle 0x1401687a2
mov rax, qword [rsp + 0x80]
jmp 0x140168496
mov eax, 9
movzx r15d, ax
jmp 0x1401687a5
xor r15d, r15d
mov r14, qword [rsp + 0x40]
mov r13, qword [rsp + 0x48]
mov r12, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x88]
test r10, r10
je 0x1401687d8
mov rcx, r10
call fcn.1401be23c
movzx eax, r15w
add rsp, 0x70
pop r15
ret