Function at 0x14006009c
Capabilities:
Delete file

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x4a0
mov qword [rax - 0x438], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x140126108]
xor rax, rsp
mov qword [rsp + 0x490], rax
mov rdi, rdx
mov r15d, ecx
xor esi, esi
mov r12d, esi
mov dword [rsp + 0x60], esi
xor edx, edx
lea rcx, [rsp + 0x50]
call fcn.1400668e0
nop
mov qword [rsp + 0x460], rsi
lea eax, [rsi + 7]
mov qword [rsp + 0x468], rax
mov word [rsp + 0x450], si
mov qword [rsp + 0x440], rsi
mov qword [rsp + 0x448], rax
mov word [rsp + 0x430], si
mov r13b, 1
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
mov byte [rsp + 0x40], sil
mov dword [rsp + 0x44], esi
mov dword [rsp + 0x48], 0x2710
lea r14d, [rsi + 1]
cmp r14d, r15d
jge 0x1400608e5
movsxd rbx, r14d
mov rcx, qword [rdi + rbx*8]
call fcn.14008d5b4
cmp rax, 2
jae 0x1400601a1
call fcn.14005ffc4
mov ebx, dword [rsp + 0x48]
lea rcx, [rsp + 0x430]
call fcn.140001a14
nop
lea rcx, [rsp + 0x450]
call fcn.140001a14
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14006019a
mov rax, qword [rsp + 0x50]
call qword [str._K_f_]
nop
mov eax, ebx
jmp 0x140060b3b
mov rcx, qword [rdi + rbx*8]
movzx eax, word [rcx]
sub ax, 0x2d
mov edx, 0xfffd
test dx, ax
je 0x1400601f8
call fcn.14005ffc4
mov ebx, dword [rsp + 0x48]
lea rcx, [rsp + 0x430]
call fcn.140001a14
nop
lea rcx, [rsp + 0x450]
call fcn.140001a14
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x1400601f1
mov rax, qword [rsp + 0x50]
call qword [str._K_f_]
nop
mov eax, ebx
jmp 0x140060b3b
add rcx, 2
lea rdx, [0x1400cfe28]
call fcn.14008d970
test eax, eax
je 0x1400608a3
mov rcx, qword [rdi + rbx*8]
add rcx, 2
lea rdx, str.help
call fcn.14008d970
test eax, eax
je 0x1400608a3
mov rcx, qword [rdi + rbx*8]
add rcx, 2
lea rdx, [0x1400cfe3c]
call fcn.14008d970
test eax, eax
je 0x1400608a3
mov rcx, qword [rdi + rbx*8]
add rcx, 2
lea rdx, [0x1400cfe40]
call fcn.14008d970
test eax, eax
je 0x1400602a2
mov rcx, qword [rdi + rbx*8]
add rcx, 2
lea rdx, str.output
call fcn.14008d970
test eax, eax
je 0x1400602a2
lea esi, [r14 + 1]
mov rcx, qword [rdi + rbx*8]
add rcx, 2
lea rdx, str.noheader
call fcn.14008d970
test eax, eax
jne 0x140060379
xor esi, esi
mov r13b, sil
jmp 0x140060859
lea esi, [r14 + 1]
cmp esi, r15d
jge 0x14006027c
movsxd r14, esi
mov rdx, qword [rdi + r14*8]
or r8, 0xffffffffffffffff
cmp word [rdx], 0x22
jne 0x1400602db
add rdx, 2
xor ebx, ebx
inc r8
cmp word [rdx + r8*2], bx
jne 0x1400602c2
lea rcx, [rsp + 0x450]
call fcn.140001a78
jmp 0x1400602f4
xor ebx, ebx
inc r8
cmp word [rdx + r8*2], bx
jne 0x1400602dd
lea rcx, [rsp + 0x450]
call fcn.140001a78
lea rax, [rsp + 0x450]
cmp qword [rsp + 0x468], 8
cmovae rax, qword [rsp + 0x450]
mov rcx, qword [rsp + 0x460]
lea rax, [rax + rcx*2]
cmp word [rax - 2], 0x22
jne 0x140060792
lea rdx, [rcx - 1]
cmp rdx, rcx
ja 0x140060359
lea rax, [rsp + 0x450]
cmp qword [rsp + 0x468], 8
cmovae rax, qword [rsp + 0x450]
mov qword [rsp + 0x460], rdx
mov word [rax + rdx*2], bx
jmp 0x140060792
lfence
xor r8d, r8d
sub rdx, qword [rsp + 0x460]
lea rcx, [rsp + 0x450]
call fcn.14000f6c0
jmp 0x140060792
mov rcx, qword [rdi + rbx*8]
add rcx, 2
lea rdx, [0x1400cfe6c]
call fcn.14008d970
test eax, eax
jne 0x14006039d
mov byte [0x14012a5f0], 1
jmp 0x140060792
mov rcx, qword [rdi + rbx*8]
add rcx, 2
lea rdx, [0x1400cfe70]
call fcn.14008d970
test eax, eax
je 0x1400603d1
mov rcx, qword [rdi + rbx*8]
add rcx, 2
lea rdx, [0x1400cfe78]
call fcn.14008d970
test eax, eax
jne 0x140060799
cmp esi, r15d
jge 0x140060799
movsxd r14, esi
mov rdx, qword [rdi + r14*8]
or r8, 0xffffffffffffffff
cmp word [rdx], 0x22
jne 0x14006040a
add rdx, 2
xor ebx, ebx
inc r8
cmp word [rdx + r8*2], bx
jne 0x1400603f1
lea rcx, [rsp + 0x430]
call fcn.140001a78
jmp 0x140060423
xor ebx, ebx
inc r8
cmp word [rdx + r8*2], bx
jne 0x14006040c
lea rcx, [rsp + 0x430]
call fcn.140001a78
lea rax, [rsp + 0x430]
cmp qword [rsp + 0x448], 8
cmovae rax, qword [rsp + 0x430]
mov rcx, qword [rsp + 0x440]
lea rax, [rax + rcx*2]
cmp word [rax - 2], 0x22
jne 0x14006049c
lea rdx, [rcx - 1]
cmp rdx, rcx
ja 0x140060481
lea rax, [rsp + 0x430]
cmp qword [rsp + 0x448], 8
cmovae rax, qword [rsp + 0x430]
mov qword [rsp + 0x440], rdx
mov word [rax + rdx*2], bx
jmp 0x14006049c
lfence
xor r8d, r8d
sub rdx, qword [rsp + 0x440]
lea rcx, [rsp + 0x430]
call fcn.14000f6c0
lea rcx, [rsp + 0x430]
call fcn.140066484
test al, al
je 0x1400604cd
lea rcx, [rsp + 0x430]
cmp qword [rsp + 0x448], 8
cmovae rcx, qword [rsp + 0x430]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov esi, 3
mov ecx, esi
call fcn.1400632f4
mov r8d, 0xa00000
lea rdx, [rsp + 0x430]
lea rcx, [rsp + 0x88]
call fcn.140063004
mov rcx, rax
call fcn.140062d0c
lea rcx, [rsp + 0x68]
call fcn.1400657dc
and dword [rsp + 0x20], 0
and qword [rsp + 0x26], 0
mov word [rsp + 0x2e], bx
mov eax, 0xffff
mov word [rsp + 0x24], ax
lea rcx, [rsp + 0x68]
call fcn.140065810
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x20]
call fcn.14006505c
lea r8d, [rsi - 2]
mov edx, esi
lea rcx, [rsp + 0x120]
call fcn.14000fae0
nop
lea rdx, str.SHIM_START_TIME
lea rcx, [rsp + 0x130]
call fcn.140048d80
mov rbx, rax
lea eax, [rsi + 0x2d]
mov rcx, qword [rbx]
movsxd rdx, dword [rcx + 4]
mov word [rdx + rbx + 0x58], ax
lea esi, [rax - 0x2e]
mov edx, esi
lea rcx, [rsp + 0xe8]
call fcn.1400697b0
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov rdx, qword [rax + 8]
mov rax, qword [rax]
call qword [str._K_f_]
movzx edx, word [rsp + 0x22]
mov rcx, rbx
call fcn.140013d90
lea rdx, [0x1400fe294]
mov rcx, rax
call fcn.140048d80
movzx edx, word [rsp + 0x26]
mov rcx, rax
call fcn.140013d90
lea rdx, [0x1400fe294]
mov rcx, rax
call fcn.140048d80
mov rbx, rax
lea edx, [rsi + 2]
lea rcx, [rsp + 0xf8]
call fcn.1400697b0
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov rdx, qword [rax + 8]
mov rax, qword [rax]
call qword [str._K_f_]
movzx edx, word [rsp + 0x20]
mov rcx, rbx
call fcn.140013d90
lea rdx, [0x1400f4420]
mov rcx, rax
call fcn.140048d80
mov rbx, rax
mov edx, esi
lea rcx, [rsp + 0x108]
call fcn.1400697b0
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov rdx, qword [rax + 8]
mov rax, qword [rax]
call qword [str._K_f_]
movzx edx, word [rsp + 0x28]
mov rcx, rbx
call fcn.140013d90
lea rdx, [0x1400fde74]
mov rcx, rax
call fcn.140048d80
movzx edx, word [rsp + 0x2a]
mov rcx, rax
call fcn.140013d90
lea rdx, [0x1400fde74]
mov rcx, rax
call fcn.140048d80
movzx edx, word [rsp + 0x2c]
mov rcx, rax
call fcn.140013d90
lea rdx, reloc.OLEAUT32.dll_VariantCopyInd
mov rcx, rax
call fcn.140048d80
call fcn.140062444
mov rbx, qword [rax]
mov rax, qword [rbx]
mov rsi, qword [rax + 0x28]
lea rdx, [rsp + 0x470]
lea rcx, [rsp + 0x138]
call fcn.140010e88
or r12d, 1
lea r8, [rsp + 0x470]
mov edx, 3
mov rcx, rbx
mov rax, rsi
call qword [str._K_f_]
lea rcx, [rsp + 0x470]
call fcn.140001a14
call fcn.140062444
mov r9d, 1
mov r8, qword [rax]
lea edx, [r9 + 2]
lea rcx, [rsp + 0x220]
call fcn.14000c39c
nop
lea rbx, [rax + 0x10]
lea rdx, str.Using_log_file:
mov rcx, rbx
call fcn.140015a04
lea rdx, [rsp + 0x430]
cmp qword [rsp + 0x448], 8
cmovae rdx, qword [rsp + 0x430]
mov r8, qword [rsp + 0x440]
mov rcx, rbx
call fcn.140017544
nop
lea rcx, [rsp + 0x2c8]
call fcn.14000c32c
nop
lea rbx, vtable.std::ios_base.0
mov qword [rsp + 0x2c8], rbx
lea rcx, [rsp + 0x2c8]
call fcn.140069698
nop
lea rcx, [rsp + 0x1b8]
call fcn.14000c878
nop
mov qword [rsp + 0x1b8], rbx
lea rcx, [rsp + 0x1b8]
call fcn.140069698
nop
xor esi, esi
jmp 0x140060859
mov rcx, qword [rdi + rbx*8]
add rcx, 2
lea rdx, [0x1400f4e38]
call fcn.14008d970
xor esi, esi
test eax, eax
jne 0x1400607bd
or dword [rsp + 0x44], 1
jmp 0x140060859
mov rcx, qword [rdi + rbx*8]
add rcx, 2
lea rdx, str.MOBO
call fcn.14008d970
test eax, eax
jne 0x1400607dc
or dword [rsp + 0x44], 4
jmp 0x140060859
mov rcx, qword [rdi + rbx*8]
add rcx, 2
lea rdx, str.DISPLAY
call fcn.14008d970
test eax, eax
jne 0x1400607fb
or dword [rsp + 0x44], 0x20
jmp 0x140060859
mov rcx, qword [rdi + rbx*8]
add rcx, 2
lea rdx, [0x1400f0910]
call fcn.14008d970
test eax, eax
jne 0x14006081b
bts dword [rsp + 0x44], 8
jmp 0x140060859
mov rcx, qword [rdi + rbx*8]
add rcx, 2
lea rdx, [0x1400f9790]
call fcn.14008d970
test eax, eax
jne 0x14006083b
bts dword [rsp + 0x44], 9
jmp 0x140060859
mov rcx, qword [rdi + rbx*8]
add rcx, 2
lea rdx, str.COMPUTERSYSTEM
call fcn.14008d970
test eax, eax
jne 0x140060861
bts dword [rsp + 0x44], 0x14
inc r14d
jmp 0x140060144
call fcn.14005ffc4
mov ebx, dword [rsp + 0x48]
lea rcx, [rsp + 0x430]
call fcn.140001a14
nop
lea rcx, [rsp + 0x450]
call fcn.140001a14
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14006089c
mov rax, qword [rsp + 0x50]
call qword [str._K_f_]
nop
mov eax, ebx
jmp 0x140060b3b
call fcn.14005ffc4
mov ebx, dword [rsp + 0x48]
lea rcx, [rsp + 0x430]
call fcn.140001a14
nop
lea rcx, [rsp + 0x450]
call fcn.140001a14
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x1400608de
mov rax, qword [rsp + 0x50]
call qword [str._K_f_]
nop
mov eax, ebx
jmp 0x140060b3b
mov eax, dword [rsp + 0x44]
or edi, 0xffffffff
test eax, eax
cmove eax, edi
mov dword [rsp + 0x44], eax
cmp byte [0x14012a5f0], sil
je 0x140060949
mov ecx, 2
call fcn.14008e180
mov rcx, rax
lea rdx, str._nNow_start_HW_and_SW_detection_
call fcn.14004912c
mov ecx, 2
call fcn.14008e180
mov rcx, rax
lea rdx, str.this_may_take_a_few_seconds._n
call fcn.14004912c
mov ecx, 2
call fcn.14008e180
mov rcx, rax
lea rdx, str.Press_Escape_to_cancel._n
call fcn.14004912c
lea rax, [rsp + 0x50]
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0x460], rsi
je 0x140060979
lea rax, [rsp + 0x450]
cmp qword [rsp + 0x468], 8
cmovae rax, qword [rsp + 0x450]
jmp 0x14006097c
mov rax, rsi
mov qword [rsp + 0x30], rax
test rax, rax
je 0x1400609f4
call fcn.140062444
mov r9d, 1
mov r8, qword [rax]
lea edx, [r9 + 2]
lea rcx, [rsp + 0x328]
call fcn.14000c39c
nop
lea rbx, [rax + 0x10]
lea rdx, str.Using_out_file:
mov rcx, rbx
call fcn.140015a04
mov rdx, qword [rsp + 0x30]
mov rcx, rbx
call fcn.140015a04
nop
lea rcx, [rsp + 0x3d0]
call fcn.14000c32c
nop
lea rax, vtable.std::ios_base.0
mov qword [rsp + 0x3d0], rax
lea rcx, [rsp + 0x3d0]
call fcn.140069698
nop
jmp 0x140060a15
call fcn.140062444
mov rcx, qword [rax]
mov rax, qword [rcx]
lea r8, str.Not_using_out_file
mov edx, 3
mov rax, qword [rax + 0x38]
call qword [str._K_f_]
mov byte [rsp + 0x40], r13b
lea rax, vtable.std::_Func_impl_no_alloc_unsigned_long_int____cdecl___void____ptr64___unsigned_long_int__void____ptr64_.0
mov qword [rsp + 0xa8], rax
lea rax, [0x14005f880]
mov qword [rsp + 0xb0], rax
lea rax, [rsp + 0xa8]
mov qword [rsp + 0xe0], rax
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0x78]
call fcn.14006585c
nop
xor edx, edx
lea rcx, [rsp + 0x78]
call fcn.140065c8c
test al, al
jne 0x140060ab8
mov ebx, dword [rsp + 0x48]
lea rcx, [rsp + 0x78]
call fcn.140065954
nop
lea rcx, [rsp + 0x430]
call fcn.140001a14
nop
lea rcx, [rsp + 0x450]
call fcn.140001a14
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x140060ab1
mov rax, qword [rsp + 0x50]
call qword [str._K_f_]
nop
mov eax, ebx
jmp 0x140060b3b
mov edx, 0x64
lea rcx, [rsp + 0x78]
call fcn.140065fac
test al, al
jne 0x140060af4
call fcn.140093410
test eax, eax
je 0x140060ab8
call fcn.1400931a4
cmp eax, 0x1b
jne 0x140060ab8
mov rcx, qword [rsp + 0x38]
call fcn.140066998
mov edx, edi
lea rcx, [rsp + 0x78]
call fcn.140065fac
mov ebx, dword [rsp + 0x48]
lea rcx, [rsp + 0x78]
call fcn.140065954
nop
lea rcx, [rsp + 0x430]
call fcn.140001a14
nop
lea rcx, [rsp + 0x450]
call fcn.140001a14
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x140060b35
mov rax, qword [rsp + 0x50]
call qword [str._K_f_]
nop
mov eax, ebx
jmp 0x140060b3b
mov rcx, qword [rsp + 0x490]
xor rcx, rsp
call fcn.14006b320
lea r11, [rsp + 0x4a0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret