Function at 0x180016030
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xb0]
sub rsp, 0x1b0
mov rax, qword [0x1800b2020]
xor rax, rsp
mov qword [rbp + 0xa0], rax
mov r13d, edx
mov r15, rcx
xor edi, edi
mov dword [rsp + 0x30], edi
mov r8d, dword [rcx + 0x48]
cmp r8d, edx
jae 0x180016702
lea r14, [rdi - 1]
nop word [rax + rax]
mov ebx, dword [r15]
add ebx, r8d
mov rsi, qword [r15 + 0x38]
mov rdx, qword [r15 + 0x30]
mov rcx, rsi
sub rcx, rdx
cmp rbx, rcx
jae 0x1800160af
lea rax, [rdx + rbx]
jmp 0x1800160df
jbe 0x1800160e3
mov rax, qword [r15 + 0x40]
sub rax, rdx
cmp rbx, rax
jbe 0x1800160cb
mov rdx, rbx
lea rcx, [r15 + 0x30]
call fcn.180024810
jmp 0x1800160e3
sub rbx, rcx
mov r8, rbx
xor edx, edx
mov rcx, rsi
call fcn.1800633e0
lea rax, [rsi + rbx]
mov qword [r15 + 0x38], rax
xor ebx, ebx
mov dword [rbp + 0x10], ebx
call fcn.18002f970
mov rcx, qword [rax]
cmp dword [rcx], ebx
je 0x1800162e0
movdqa xmm0, xmmword [0x1800a5da0]
movdqu xmmword [rbp + 0x30], xmm0
mov dword [rbp + 0x40], 0x80fdfb
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], 0xf
mov byte [rsp + 0x38], bl
lea rax, [rbp + 0x30]
mov r8, r14
nop word [rax + rax]
inc r8
cmp byte [rax + r8], bl
jne 0x180016130
lea rdx, [rbp + 0x30]
lea rcx, [rsp + 0x38]
call fcn.180002c00
bts edi, 0xa
lea rdx, [rsp + 0x38]
mov r9, qword [rsp + 0x38]
mov r10, qword [rsp + 0x50]
cmp r10, 0x10
cmovae rdx, r9
lea rcx, [rsp + 0x38]
cmovae rcx, r9
mov r8, qword [rsp + 0x48]
add r8, rcx
mov rcx, rbx
mov rax, r8
sub rax, rdx
cmp rdx, r8
cmova rax, rbx
test rax, rax
je 0x1800161ed
cmp rax, 0x40
jb 0x1800161ed
and rax, 0xffffffffffffffc0
movdqa xmm1, xmmword [0x1800a5d70]
nop word [rax + rax]
movdqu xmm0, xmmword [rdx]
paddb xmm0, xmm1
movdqu xmmword [rdx], xmm0
movdqu xmm0, xmmword [rdx + 0x10]
paddb xmm0, xmm1
movdqu xmmword [rdx + 0x10], xmm0
movdqu xmm0, xmmword [rdx + 0x20]
paddb xmm0, xmm1
movdqu xmmword [rdx + 0x20], xmm0
movdqu xmm0, xmmword [rdx + 0x30]
paddb xmm0, xmm1
movdqu xmmword [rdx + 0x30], xmm0
add rdx, 0x40
add rcx, 0x40
cmp rcx, rax
jne 0x1800161a0
mov r10, qword [rsp + 0x50]
mov r9, qword [rsp + 0x38]
cmp rdx, r8
je 0x180016207
add byte [rdx], 0x80
inc rdx
cmp rdx, r8
jne 0x1800161f2
mov r10, qword [rsp + 0x50]
mov r9, qword [rsp + 0x38]
bts edi, 9
or edi, 1
mov dword [rsp + 0x30], edi
lea rcx, [rsp + 0x38]
cmp r10, 0x10
cmovae rcx, r9
mov dword [rbp], r13d
mov eax, dword [r15 + 0x48]
mov dword [rbp - 0x50], eax
movups xmm0, xmmword [rbp]
movups xmmword [rbp + 0x30], xmm0
movups xmm1, xmmword [rbp - 0x50]
movups xmmword [rbp + 0x40], xmm1
mov qword [rbp - 0x30], 0x22
lea rax, [rbp + 0x30]
mov qword [rbp - 0x28], rax
movaps xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rbp + 0x50], xmm0
mov qword [rbp - 0x20], rcx
mov rax, r14
nop word [rax + rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x180016260
mov qword [rbp - 0x18], rax
lea r8, [rbp + 0x50]
lea rdx, [rbp - 0x20]
lea rcx, [rsp + 0x58]
call fcn.1800023e0
bts edi, 0xb
or edi, 2
mov dword [rsp + 0x30], edi
lea rdx, [rsp + 0x58]
cmp qword [rsp + 0x70], 0x10
cmovae rdx, qword [rsp + 0x58]
lea rcx, [rsp + 0x78]
call fcn.18002bd50
bts edi, 0xc
or edi, 4
mov dword [rsp + 0x30], edi
lea rbx, [rsp + 0x78]
cmp qword [rbp - 0x70], 8
cmovae rbx, qword [rsp + 0x78]
call fcn.18002f970
mov qword [rsp + 0x20], rbx
xor r9d, r9d
lea r8, str._antimalware_provider__::_bd::PipeClient::ReadBytesUntil____
xor edx, edx
mov rcx, rax
call fcn.18002caa0
xor ebx, ebx
test dil, 4
je 0x18001633b
and edi, 0xfffffffb
mov rdx, qword [rbp - 0x70]
cmp rdx, 8
jb 0x18001632a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180016325
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180016985
call fcn.18006080c
mov qword [rbp - 0x78], rbx
mov qword [rbp - 0x70], 7
mov word [rsp + 0x78], bx
test dil, 2
je 0x180016394
and edi, 0xfffffffd
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
jb 0x180016381
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001637c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001698b
call fcn.18006080c
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], 0xf
mov byte [rsp + 0x58], 0
test dil, 1
je 0x1800163da
and edi, 0xfffffffe
mov rdx, qword [rsp + 0x50]
cmp rdx, 0x10
jb 0x1800163da
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800163d5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180016991
call fcn.18006080c
mov edx, dword [r15 + 0x48]
add rdx, qword [r15 + 0x30]
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x10]
mov r8d, dword [r15]
mov rcx, qword [r15 + 8]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x180016725
call fcn.18002f970
mov rcx, qword [rax]
cmp dword [rcx], 0
je 0x1800165f2
mov dword [rbp + 0x18], 0xe4e1e5d2
mov dword [rbp + 0x1c], 0xf4e1e4a0
mov dword [rbp + 0x20], 0xfdfba0e1
mov word [rbp + 0x24], 0x80
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], 0xf
mov byte [rsp + 0x38], 0
lea rax, [rbp + 0x18]
mov r8, r14
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x180016450
lea rdx, [rbp + 0x18]
lea rcx, [rsp + 0x38]
call fcn.180002c00
bts edi, 0x10
lea rax, [rsp + 0x38]
mov r9, qword [rsp + 0x38]
mov r10, qword [rsp + 0x50]
cmp r10, 0x10
cmovae rax, r9
lea rdx, [rsp + 0x38]
cmovae rdx, r9
mov r8, qword [rsp + 0x48]
add r8, rdx
mov rdx, rbx
mov rcx, r8
sub rcx, rax
cmp rax, r8
cmova rcx, rbx
test rcx, rcx
je 0x18001650d
cmp rcx, 0x40
jb 0x18001650d
and rcx, 0xffffffffffffffc0
movdqa xmm1, xmmword [0x1800a5d70]
nop dword [rax + rax]
movdqu xmm0, xmmword [rax]
paddb xmm0, xmm1
movdqu xmmword [rax], xmm0
movdqu xmm0, xmmword [rax + 0x10]
paddb xmm0, xmm1
movdqu xmmword [rax + 0x10], xmm0
movdqu xmm0, xmmword [rax + 0x20]
paddb xmm0, xmm1
movdqu xmmword [rax + 0x20], xmm0
movdqu xmm0, xmmword [rax + 0x30]
paddb xmm0, xmm1
movdqu xmmword [rax + 0x30], xmm0
add rax, 0x40
add rdx, 0x40
cmp rdx, rcx
jne 0x1800164c0
mov r10, qword [rsp + 0x50]
mov r9, qword [rsp + 0x38]
cmp rax, r8
je 0x180016527
add byte [rax], 0x80
inc rax
cmp rax, r8
jne 0x180016512
mov r10, qword [rsp + 0x50]
mov r9, qword [rsp + 0x38]
bts edi, 0xf
or edi, 0x40
mov dword [rsp + 0x30], edi
lea rcx, [rsp + 0x38]
cmp r10, 0x10
cmovae rcx, r9
mov eax, dword [rbp + 0x10]
mov dword [rbp - 0x40], eax
movaps xmm0, xmmword [rbp - 0x40]
movdqa xmmword [rbp + 0x50], xmm0
mov qword [rbp - 0x10], 2
lea rax, [rbp + 0x50]
mov qword [rbp - 8], rax
movaps xmm0, xmmword [rbp - 0x10]
movdqa xmmword [rbp + 0x30], xmm0
mov qword [rbp - 0x60], rcx
mov rax, r14
nop
inc rax
cmp byte [rcx + rax], 0
jne 0x180016570
mov qword [rbp - 0x58], rax
lea r8, [rbp + 0x30]
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x78]
call fcn.1800023e0
bts edi, 0x11
bts edi, 7
mov dword [rsp + 0x30], edi
lea rdx, [rsp + 0x78]
cmp qword [rbp - 0x70], 0x10
cmovae rdx, qword [rsp + 0x78]
lea rcx, [rsp + 0x58]
call fcn.18002bd50
bts edi, 0x12
bts edi, 8
mov dword [rsp + 0x30], edi
lea rbx, [rsp + 0x58]
cmp qword [rsp + 0x70], 8
cmovae rbx, qword [rsp + 0x58]
call fcn.18002f970
mov qword [rsp + 0x20], rbx
xor r9d, r9d
lea r8, str._antimalware_provider__::_bd::PipeClient::ReadBytesUntil____
xor edx, edx
mov rcx, rax
call fcn.18002caa0
xor ebx, ebx
bt edi, 8
jae 0x180016651
btr edi, 8
mov rdx, qword [rsp + 0x70]
cmp rdx, 8
jb 0x18001663e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180016639
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180016997
call fcn.18006080c
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], bx
test dil, dil
jns 0x1800166a7
btr edi, 7
mov rdx, qword [rbp - 0x70]
cmp rdx, 0x10
jb 0x180016696
inc rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180016691
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001699d
call fcn.18006080c
mov qword [rbp - 0x78], rbx
mov qword [rbp - 0x70], 0xf
mov byte [rsp + 0x78], 0
test dil, 0x40
je 0x1800166ed
and edi, 0xffffffbf
mov rdx, qword [rsp + 0x50]
cmp rdx, 0x10
jb 0x1800166ed
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800166e8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800169a3
call fcn.18006080c
mov r8d, dword [rbp + 0x10]
add r8d, dword [r15 + 0x48]
mov dword [r15 + 0x48], r8d
cmp r8d, r13d
jb 0x180016090
mov ebx, r8d
mov rsi, qword [r15 + 0x38]
mov rdx, qword [r15 + 0x30]
mov rcx, rsi
sub rcx, rdx
cmp rbx, rcx
jae 0x180016919
lea rax, [rbx + rdx]
jmp 0x180016949
call fcn.18002f970
mov rcx, qword [rax]
cmp dword [rcx], 0
je 0x180016828
lea rdx, [rsp + 0x38]
call fcn.1800169c0
mov rbx, rax
or edi, 8
mov dword [rsp + 0x30], edi
cmp qword [rax + 0x18], 8
jb 0x180016754
mov rbx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 0x30], eax
mov ecx, dword [rbp + 0x10]
mov dword [rbp - 0x40], ecx
mov eax, dword [r15 + 0x48]
mov dword [rbp + 0x50], eax
mov dword [rbp - 0x50], r13d
movups xmm0, xmmword [rbp + 0x30]
movups xmmword [rbp + 0x60], xmm0
movups xmm1, xmmword [rbp - 0x40]
movups xmmword [rbp + 0x70], xmm1
movups xmm0, xmmword [rbp + 0x50]
movups xmmword [rbp + 0x80], xmm0
movups xmm1, xmmword [rbp - 0x50]
movups xmmword [rbp + 0x90], xmm1
mov qword [rbp - 0x60], 0x2222
lea rax, [rbp + 0x60]
mov qword [rbp - 0x58], rax
movaps xmm0, xmmword [rbp - 0x60]
movdqa xmmword [rbp + 0x30], xmm0
mov qword [rbp - 0x60], rbx
inc r14
cmp word [rbx + r14*2], 0
jne 0x1800167b1
mov qword [rbp - 0x58], r14
lea r8, [rbp + 0x30]
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x78]
call fcn.180024380
bts edi, 0xd
or edi, 0x10
mov dword [rsp + 0x30], edi
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x58]
call fcn.18002e720
bts edi, 0xe
or edi, 0x20
mov dword [rsp + 0x30], edi
lea rbx, [rsp + 0x58]
cmp qword [rsp + 0x70], 8
cmovae rbx, qword [rsp + 0x58]
call fcn.18002f970
mov qword [rsp + 0x20], rbx
xor r9d, r9d
lea r8, str._antimalware_provider__::_bd::PipeClient::ReadBytesUntil____
xor edx, edx
mov rcx, rax
call fcn.18002caa0
xor ebx, ebx
test dil, 0x20
je 0x180016886
and edi, 0xffffffdf
mov rdx, qword [rsp + 0x70]
cmp rdx, 8
jb 0x180016873
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001686e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800169a9
call fcn.18006080c
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], bx
test dil, 0x10
je 0x1800168d1
and edi, 0xffffffef
mov rdx, qword [rbp - 0x70]
cmp rdx, 8
jb 0x1800168d1
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800168cb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800169af
call fcn.18006080c
nop
test dil, 8
je 0x180016915
mov rdx, qword [rsp + 0x50]
cmp rdx, 8
jb 0x180016915
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180016910
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001697f
call fcn.18006080c
xor al, al
jmp 0x18001694f
jbe 0x18001694d
mov rax, qword [r15 + 0x40]
sub rax, rdx
cmp rbx, rax
jbe 0x180016935
mov rdx, rbx
lea rcx, [r15 + 0x30]
call fcn.180024810
jmp 0x18001694d
sub rbx, rcx
mov r8, rbx
xor edx, edx
mov rcx, rsi
call fcn.1800633e0
lea rax, [rsi + rbx]
mov qword [r15 + 0x38], rax
mov al, 1
mov rcx, qword [rbp + 0xa0]
xor rcx, rsp
call fcn.1800607b0
lea r11, [rsp + 0x1b0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.18006e72c
nop
call fcn.18006e72c
nop
call fcn.18006e72c
nop
call fcn.18006e72c
nop
call fcn.18006e72c
nop
call fcn.18006e72c
nop
call fcn.18006e72c
nop
call fcn.18006e72c
nop
call fcn.18006e72c
int3