Function at 0x140002560
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.1400022d0
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 0x1400025d2
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rsi, [rbp - 0x50]
mov rcx, rsi
call section..text
mov rcx, rsi
call fcn.14000fd00
mov ebx, eax
mov rax, qword [rbp - 0x38]
cmp rax, 8
jb 0x14000262e
mov rcx, qword [rbp - 0x50]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x140002629
mov rdx, rcx
add rdx, 0xfffffffffffffff8
mov rcx, qword [rcx - 8]
sub rdx, rcx
cmp rdx, 0x20
jae 0x14000293b
add rax, rax
add rax, 0x29
mov rdx, rax
call fcn.140010960
test bl, bl
je 0x14000275c
lea rsi, [rbp + 0xb8]
mov rcx, rsi
call fcn.140001160
cmp qword [rbp + 0xd0], 7
jbe 0x140002656
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.140006170
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.140010994
mov r14, rax
test rdi, rdi
je 0x1400026fa
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 0x1400026d0
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 0x140002763
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.1400022d0
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 0x14000279f
xor esi, esi
jmp 0x14000292b
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.1400022d0
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 0x1400027ed
lea rcx, [rbp - 0x48]
mov rax, qword [rbp - 0x30]
lea rdx, [rbp + 0x28]
cmp qword [rax], rdx
jne 0x1400027d0
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.14000a880
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 0x1400027ef
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 [0x14002493c]
mov qword [rbp + 0x2c], rax
mov qword [rbp + 0x20], 0
test bl, bl
je 0x140002879
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.140010960
cmp qword [rbp + 0xd0], 7
jbe 0x140002894
mov rcx, qword [rbp + 0xb8]
jmp 0x14000289b
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.1400099e0
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 0x14000292b
mov rcx, qword [rbp + 0xb8]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x140002926
mov rdx, rcx
add rdx, 0xfffffffffffffff8
mov rcx, qword [rcx - 8]
sub rdx, rcx
cmp rdx, 0x20
jae 0x14000293b
add rax, rax
add rax, 0x29
mov rdx, rax
call fcn.140010960
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