Function at 0x140006b40
Capabilities:
Delete file

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
sub rsp, 0x160
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xd8], 0xfffffffffffffffe
mov rsi, rcx
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
lea rdx, str.____Unloading_vulnerable_driver
call fcn.1400019b0
mov rdi, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
add rcx, rdi
mov dl, 0xa
call qword [sym.imp.MSVCP140.dll_public:_wchar_t___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::widen_char_const___ptr64]
mov rcx, rdi
mov edx, eax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::put_wchar_t____ptr64]
mov rcx, rdi
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::flush_void____ptr64]
lea rax, [rsi + 1]
cmp rax, 2
jb 0x140006bb2
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rsi, [rbp - 0x50]
mov rcx, rsi
call fcn.140005de0
mov rcx, rsi
call fcn.140013b30
mov ebx, eax
mov rax, qword [rbp - 0x38]
cmp rax, 8
jb 0x140006c0e
mov rcx, qword [rbp - 0x50]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x140006c09
mov rdx, rcx
add rdx, 0xfffffffffffffff8
mov rcx, qword [rcx - 8]
sub rdx, rcx
cmp rdx, 0x20
jae 0x140006f1b
add rax, rax
add rax, 0x29
mov rdx, rax
call fcn.1400150b4
test bl, bl
je 0x140006d3c
lea rsi, [rbp + 0xb8]
mov rcx, rsi
call fcn.140005f40
cmp qword [rbp + 0xd0], 7
jbe 0x140006c36
mov rsi, qword [rbp + 0xb8]
mov dword [rsp + 0x20], 1
lea rcx, [rbp - 0x50]
mov rdx, rsi
mov r8d, 0x22
mov r9d, 0x40
call fcn.140004c60
mov rbx, qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
call rbx
movsxd rsi, eax
call rbx
movsxd rcx, eax
imul rcx, rsi
movabs rdx, 0x431bde82d7b634db
mov rax, rcx
imul rdx
mov rax, rdx
shr rax, 0x3f
sar rdx, 0x13
add rdx, rax
imul rax, rdx, 0x1e8480
neg rax
lea rdi, [rcx + rax]
add rdi, 0x8af0
mov rcx, rdi
call fcn.1400150e8
mov r14, rax
test rdi, rdi
je 0x140006cda
xor esi, esi
call rbx
cdqe
imul rcx, rax, 0xffffffff80808081
shr rcx, 0x20
add ecx, eax
mov edx, ecx
shr edx, 0x1f
shr ecx, 7
add ecx, edx
add ecx, eax
mov byte [r14 + rsi], cl
add rsi, 1
cmp rdi, rsi
jne 0x140006cb0
lea rcx, [rbp - 0x50]
mov rdx, r14
mov r8, rdi
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::write_char_const____ptr64__long_long___int64_____ptr64]
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_bool___cdecl_std::ios_base::fail_void_const___ptr64]
test al, al
je 0x140006d43
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
lea rdx, str.____Error_dumping_shit_inside_the_disk
call fcn.1400019b0
mov rdi, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
add rcx, rdi
mov dl, 0xa
call qword [sym.imp.MSVCP140.dll_public:_wchar_t___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::widen_char_const___ptr64]
mov rcx, rdi
mov edx, eax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::put_wchar_t____ptr64]
mov rcx, rdi
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::flush_void____ptr64]
jmp 0x140006d7f
xor esi, esi
jmp 0x140006f0b
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
lea rdx, str.___Vul_driver_data_destroyed_before_unlink
call fcn.1400019b0
mov rdi, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
add rcx, rdi
mov dl, 0xa
call qword [sym.imp.MSVCP140.dll_public:_wchar_t___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::widen_char_const___ptr64]
mov rcx, rdi
mov edx, eax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::put_wchar_t____ptr64]
mov rcx, rdi
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::flush_void____ptr64]
cmp qword [rbp + 0x38], 0
je 0x140006dcd
lea rcx, [rbp - 0x48]
mov rax, qword [rbp - 0x30]
lea rdx, [rbp + 0x28]
cmp qword [rax], rdx
jne 0x140006db0
mov edx, dword [rbp + 0x48]
mov rbx, qword [rbp + 0x40]
mov qword [rax], rbx
mov rax, qword [rbp - 0x10]
mov qword [rax], rbx
sub edx, ebx
mov rax, qword [rbp + 8]
mov dword [rax], edx
call fcn.140003740
mov ebx, eax
mov rcx, qword [rbp + 0x38]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
test eax, eax
setne al
xor bl, 1
or bl, al
jmp 0x140006dcf
mov bl, 1
mov byte [rbp + 0x34], 0
mov byte [rbp + 0x29], 0
lea rax, [rbp - 0x40]
mov qword [rbp - 0x30], rax
lea rax, [rbp - 0x38]
mov qword [rbp - 0x28], rax
lea rax, [rbp - 0x20]
mov qword [rbp - 0x10], rax
lea rax, [rbp - 0x18]
mov qword [rbp - 8], rax
lea rax, [rbp]
mov qword [rbp + 8], rax
lea rax, [rbp + 4]
mov qword [rbp + 0x10], rax
mov qword [rbp], 0
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp + 0x38], 0
mov rax, qword [0x140029550]
mov qword [rbp + 0x2c], rax
mov qword [rbp + 0x20], 0
test bl, bl
je 0x140006e59
mov rax, qword [rbp - 0x50]
movsxd rax, dword [rax + 4]
lea rcx, [rax + rbp]
add rcx, 0xffffffffffffffb0
mov edx, dword [rbp + rax - 0x40]
or edx, 2
xor r8d, r8d
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::clear_int__bool____ptr64]
mov rcx, r14
call fcn.1400150b4
cmp qword [rbp + 0xd0], 7
jbe 0x140006e74
mov rcx, qword [rbp + 0xb8]
jmp 0x140006e7b
lea rcx, [rbp + 0xb8]
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__wremove]
test eax, eax
sete sil
lea rdi, [rbp + 0x58]
mov rax, qword [rbp - 0x50]
movsxd rax, dword [rax + 4]
lea rcx, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rax - 0x50], rcx
mov rax, qword [rbp - 0x50]
movsxd rax, dword [rax + 4]
lea ecx, [rax - 0xa8]
mov dword [rbp + rax - 0x54], ecx
lea rcx, [rbp - 0x48]
call fcn.1400028a0
mov rcx, rdi
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::ios_base::destructor_void____ptr64]
mov rax, qword [rbp + 0xd0]
cmp rax, 8
jb 0x140006f0b
mov rcx, qword [rbp + 0xb8]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x140006f06
mov rdx, rcx
add rdx, 0xfffffffffffffff8
mov rcx, qword [rcx - 8]
sub rdx, rcx
cmp rdx, 0x20
jae 0x140006f1b
add rax, rax
add rax, 0x29
mov rdx, rax
call fcn.1400150b4
mov eax, esi
add rsp, 0x160
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3