Function at 0x140002af0
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
lea rbp, [rsp - 0x1b0]
sub rsp, 0x2b0
mov rbx, qword [0x14005be98]
lea rcx, str.____Unloading_vulnerable_driver_n
call fcn.1400011d0
lea rax, [rbx - 1]
cmp rax, 0xfffffffffffffffd
ja 0x140002b35
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor ebx, ebx
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], bl
lea rsi, [0x14005be30]
mov rdi, 0xffffffffffffffff
mov r8, rdi
nop word [rax + rax]
inc r8
cmp byte [rsi + r8], bl
jne 0x140002b60
mov rdx, rsi
lea rcx, [rsp + 0x30]
call fcn.140007830
nop
lea rcx, [rsp + 0x30]
call fcn.1400107e0
nop
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x140002bbf
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002bba
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002f4d
call fcn.140014b18
xor edx, edx
mov r8d, 0x104
lea rcx, [rbp + 0xa0]
call fcn.140017380
lea rdx, [rbp + 0xa0]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathA]
lea rcx, [rbp + 0xa0]
mov rax, rdi
nop
lea rax, [rax + 1]
cmp byte [rcx + rax], 0
jne 0x140002bf0
cmp byte [rbp + rax + 0x9f], 0x5c
jne 0x140002c0c
mov byte [rbp + rax + 0x9f], 0
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], 0
lea rax, [rbp + 0xa0]
mov r8, rdi
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140002c30
lea rdx, [rbp + 0xa0]
lea rcx, [rsp + 0x30]
call fcn.140007830
nop
mov r8d, 1
lea rdx, [0x140048860]
lea rcx, [rsp + 0x30]
call fcn.140007990
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x78], rbx
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x70], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x80], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
nop word [rax + rax]
inc rdi
cmp byte [rsi + rdi], 0
jne 0x140002c90
mov r8, rdi
mov rdx, rsi
lea rcx, [rsp + 0x70]
call fcn.140007990
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rbx
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x50], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x60], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x140002d0f
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002d0a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002f53
call fcn.140014b18
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x78], 0xf
mov byte [rsp + 0x70], 0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x140002d5d
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002d58
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002f59
call fcn.140014b18
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], 0
lea rdx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0x10
cmovae rdx, qword [rsp + 0x50]
lea rcx, [rbp - 0x70]
call fcn.140006930
nop
call fcn.14001b9a8
movsxd rcx, eax
movabs rax, 0x1c926b9d39431d5f
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rax, rdx, 0x23d6df
sub rcx, rax
add ecx, 0x1649d
movsxd rdi, ecx
mov rcx, rdi
call fcn.140015044
mov rsi, rax
test rdi, rdi
je 0x140002e03
call fcn.14001b9a8
mov r9d, eax
mov eax, 0x80808081
imul r9d
add edx, r9d
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0xff
sub r9d, ecx
mov byte [rbx + rsi], r9b
inc rbx
cmp rbx, rdi
jb 0x140002dd1
mov r8, rdi
mov rdx, rsi
lea rcx, [rbp - 0x70]
call fcn.140006a50
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
test byte [rdx + rax + 0x10], 6
lea rax, str.___Vul_driver_data_destroyed_before_unlink._n
lea rcx, str.____Error_dumping_shit_inside_the_disk._n
cmove rcx, rax
call fcn.1400011d0
lea rcx, [rbp - 0x68]
call fcn.1400073a0
test rax, rax
jne 0x140002e6f
mov rax, qword [rbp - 0x70]
movsxd rcx, dword [rax + 4]
lea r9, [rbp - 0x70]
add rcx, r9
mov edx, 6
mov eax, 2
cmp qword [rcx + 0x48], 0
cmovne edx, eax
or edx, dword [rcx + 0x10]
xor r8d, r8d
call fcn.140002410
mov rcx, rsi
call fcn.140014b18
lea rcx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0x10
cmovae rcx, qword [rsp + 0x50]
call fcn.14001b8c8
nop
mov rax, qword [rbp - 0x70]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x70], rax
mov rax, qword [rbp - 0x70]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx - 0x74], edx
lea rcx, [rbp - 0x68]
call fcn.140006680
mov rax, qword [rbp - 0x70]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x70], rax
mov rax, qword [rbp - 0x70]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rbp + rcx - 0x74], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x38], rax
lea rcx, [rbp + 0x38]
call fcn.140013834
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x140002f2e
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002f29
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002f47
call fcn.140014b18
lea r11, [rsp + 0x2b0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret
call fcn.14001eb84
int3
call fcn.14001eb84
nop
call fcn.14001eb84
nop
call fcn.14001eb84
int3