Function at 0x140016d70
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 - 0x1008]
mov eax, 0x1108
call fcn.14001a810
sub rsp, rax
mov qword [rsp + 0x70], 0xfffffffffffffffe
mov rax, qword [0x140057080]
xor rax, rsp
mov qword [rbp + 0xff0], rax
mov qword [rsp + 0x68], r9
mov r13, r8
mov qword [rsp + 0x60], rdx
mov rsi, rcx
mov qword [rsp + 0x78], rcx
mov r12, qword [rbp + 0x1070]
xor r8d, r8d
lea rdx, [0x14004d678]
mov rcx, r12
call fcn.1400015e0
mov rcx, rsi
cmp qword [rsi + 0x18], 8
jb 0x140016de7
mov rcx, qword [rsi]
xor edi, edi
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [rdi + 1]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r15, rax
cmp rax, 0xffffffffffffffff
jne 0x140016e6e
mov rdx, qword [rsi + 0x18]
cmp rdx, 8
jb 0x140016e58
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsi]
cmp rdx, 0x1000
jb 0x140016e53
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140017351
mov rcx, r8
call fcn.140019dd0
mov qword [rsi + 0x10], rdi
mov qword [rsi + 0x18], 7
mov word [rsi], di
xor al, al
jmp 0x14001731c
xor edx, edx
mov r8d, 0x1000
lea rcx, [rbp - 0x10]
call fcn.14001bae0
mov rbx, rdi
mov qword [rbp - 0x68], rbx
mov r14d, 0xf
mov qword [rbp - 0x60], r14
mov byte [rbp - 0x78], bl
mov dword [rbp - 0x80], edi
nop word [rax + rax]
mov qword [rsp + 0x20], rdi
lea r9, [rbp - 0x80]
mov r8d, 0x1000
lea rdx, [rbp - 0x10]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x140016f27
mov edi, dword [rbp - 0x80]
mov rax, r14
sub rax, rbx
cmp rdi, rax
ja 0x140016efb
lea rax, [rbx + rdi]
mov qword [rbp - 0x68], rax
lea rax, [rbp - 0x78]
cmp r14, 0x10
cmovae rax, qword [rbp - 0x78]
add rbx, rax
mov r8d, edi
lea rdx, [rbp - 0x10]
mov rcx, rbx
call fcn.14001b680
mov byte [rbx + rdi], 0
jmp 0x140016f10
mov qword [rsp + 0x20], rdi
lea r9, [rbp - 0x10]
mov rdx, rdi
lea rcx, [rbp - 0x78]
call fcn.140001e90
mov r14, qword [rbp - 0x60]
mov rbx, qword [rbp - 0x68]
xor edi, edi
cmp dword [rbp - 0x80], 0x1000
je 0x140016ea0
cmp rbx, 0x46
ja 0x140016faa
cmp r14, 0x10
jb 0x140016f66
lea rdx, [r14 + 1]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140016f60
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140017357
call fcn.140019dd0
nop
mov rdx, qword [rsi + 0x18]
cmp rdx, 8
jb 0x140016e58
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsi]
cmp rdx, 0x1000
jb 0x140016e53
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140017345
jmp 0x140016e50
lea rax, [rbp - 0x78]
mov rcx, qword [rbp - 0x78]
cmp r14, 0x10
cmovae rax, rcx
cmp byte [rax + 0x1f], 2
sete al
mov rdx, qword [rsp + 0x60]
mov byte [rdx], al
movdqa xmm0, xmmword [0x14004e3b0]
movdqu xmmword [rsp + 0x50], xmm0
mov byte [rsp + 0x40], 0
cmp rbx, 0x20
jb 0x14001735d
lea rax, [rbx - 0x20]
mov r8d, 0x10
cmp rax, r8
cmovb r8, rax
lea rdx, [rbp - 0x78]
cmp r14, 0x10
cmovae rdx, rcx
add rdx, 0x20
lea rcx, [rsp + 0x40]
call fcn.1400015e0
lea rax, [rsp + 0x40]
cmp r13, rax
je 0x140017038
mov rcx, r13
call fcn.140001520
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [r13], xmm0
movups xmm1, xmmword [rsp + 0x50]
movups xmmword [r13 + 0x10], xmm1
jmp 0x140017075
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x140017075
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140017070
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140017363
call fcn.140019dd0
movdqa xmm0, xmmword [0x14004e3b0]
movdqu xmmword [rbp - 0x28], xmm0
mov byte [rbp - 0x38], 0
mov rax, qword [rbp - 0x68]
cmp rax, 0x30
jb 0x140017369
add rax, 0xffffffffffffffd0
mov r8d, 4
cmp rax, r8
cmovb r8, rax
lea rdx, [rbp - 0x78]
cmp qword [rbp - 0x60], 0x10
cmovae rdx, qword [rbp - 0x78]
add rdx, 0x30
lea rcx, [rbp - 0x38]
call fcn.1400015e0
nop
lea rax, [rbp - 0x38]
mov rbx, qword [rbp - 0x38]
mov rdi, qword [rbp - 0x20]
cmp rdi, 0x10
cmovae rax, rbx
movsxd r15, dword [rax]
movdqa xmm0, xmmword [0x14004e3b0]
movdqu xmmword [rbp - 0x48], xmm0
mov byte [rbp - 0x58], 0
mov rax, qword [rbp - 0x68]
cmp rax, 0x34
jb 0x14001736f
add rax, 0xffffffffffffffcc
mov r8, r15
cmp rax, r15
cmovb r8, rax
lea rdx, [rbp - 0x78]
cmp qword [rbp - 0x60], 0x10
cmovae rdx, qword [rbp - 0x78]
add rdx, 0x34
lea rcx, [rbp - 0x58]
call fcn.1400015e0
nop
mov rdx, r13
lea rcx, [rsp + 0x40]
call fcn.140016c00
lea rcx, [rbp - 0x58]
cmp qword [rbp - 0x40], 0x10
cmovae rcx, qword [rbp - 0x58]
mov r8, rax
mov edx, r15d
call fcn.140016b60
mov rdx, qword [rsp + 0x68]
lea rcx, [rbp - 0x58]
call fcn.140017390
lea eax, [r15 + 0x34]
movsxd rdx, eax
movdqa xmm0, xmmword [0x14004e3b0]
movdqu xmmword [rsp + 0x50], xmm0
mov byte [rsp + 0x40], 0
mov rcx, qword [rbp - 0x68]
cmp rcx, rdx
jb 0x140017375
mov r8, rcx
sub r8, r15
add r8, 0xffffffffffffffca
sub rcx, rdx
cmp rcx, r8
cmovb r8, rcx
lea rax, [rbp - 0x78]
cmp qword [rbp - 0x60], 0x10
cmovae rax, qword [rbp - 0x78]
add rdx, rax
lea rcx, [rsp + 0x40]
call fcn.1400015e0
lea rax, [rsp + 0x40]
cmp r12, rax
je 0x1400171d4
mov rcx, r12
call fcn.140001520
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [r12], xmm0
movups xmm1, xmmword [rsp + 0x50]
movups xmmword [r12 + 0x10], xmm1
jmp 0x140017212
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x140017212
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001720c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001737b
call fcn.140019dd0
nop
mov rdx, qword [rbp - 0x40]
cmp rdx, 0x10
jb 0x14001724d
inc rdx
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140017248
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140017381
call fcn.140019dd0
movdqa xmm0, xmmword [0x14004e3b0]
movdqu xmmword [rbp - 0x48], xmm0
mov byte [rbp - 0x58], 0
cmp rdi, 0x10
jb 0x140017296
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x14001728d
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140017387
mov rcx, rbx
call fcn.140019dd0
nop
mov rdx, qword [rbp - 0x60]
cmp rdx, 0x10
jb 0x1400172ce
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400172c8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001733f
call fcn.140019dd0
nop
mov rdx, qword [rsi + 0x18]
cmp rdx, 8
jb 0x140017309
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsi]
cmp rdx, 0x1000
jb 0x140017304
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001734b
mov rcx, r8
call fcn.140019dd0
xor eax, eax
mov qword [rsi + 0x10], rax
mov qword [rsi + 0x18], 7
mov word [rsi], ax
mov al, 1
mov rcx, qword [rbp + 0xff0]
xor rcx, rsp
call fcn.140019820
add rsp, 0x1108
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.14001e274
nop
call fcn.14001e274
int3
call fcn.14001e274
int3
call fcn.14001e274
nop
call fcn.14001e274
nop
call fcn.140001e70
int3
call fcn.14001e274
int3
call fcn.140001e70
nop
call fcn.140001e70
nop
call fcn.140001e70
int3
call fcn.14001e274
nop
call fcn.14001e274
nop
call fcn.14001e274
int3