Function at 0x140007480
Capabilities:
Delete file

Disassembly:
mov rax, rsp
push rbp
push rdi
push r12
push r13
push r15
lea rbp, [rax - 0x268]
sub rsp, 0x340
mov qword [rbp - 0x18], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x140042020]
xor rax, rsp
mov qword [rbp + 0x230], rax
mov rbx, rcx
xor esi, esi
mov qword [0x1400457e8], rsi
lea rax, [0x1400457d8]
cmp qword [0x1400457f0], 8
cmovae rax, qword [0x1400457d8]
mov word [rax], si
call fcn.140006400
cmp eax, 1
jne 0x140007bfd
lea rcx, [rbp + 0xe8]
call fcn.140007c40
nop
mov qword [rbp + 0x60], 7
mov qword [rbp + 0x58], rsi
mov word [rbp + 0x48], si
mov qword [rbp + 0x88], 7
mov qword [rbp + 0x80], rsi
mov word [rbp + 0x70], si
mov rcx, qword [0x1400458a0]
test rcx, rcx
je 0x140007546
lea rdx, [rbp + 0x70]
call fcn.140027bc0
xor r8d, r8d
lea rdx, [rbp + 0x70]
lea rcx, [rbp + 0x48]
call fcn.140028000
or r15, 0xffffffffffffffff
cmp qword [rbp + 0xf8], 0
je 0x140007ad6
mov r9, r15
xor r8d, r8d
lea rdx, [rbp + 0xe8]
lea rcx, [0x1400457d8]
call fcn.140001ad0
mov rdx, qword [0x1400457e8]
lea rcx, [rdx - 1]
cmp rdx, rcx
ja 0x14000758f
lea rcx, str.invalid_string_position
call qword [sym.imp.MSVCP100.dll_void___cdecl_std::_Xout_of_range_char_const____ptr64_]
int3
lea rax, [0x1400457d8]
cmp qword [0x1400457f0], 8
cmovae rax, qword [0x1400457d8]
mov r13d, 1
cmp word [rax + rcx*2], 0x5c
je 0x1400075c9
mov r8d, r13d
lea rdx, [0x14002e908]
lea rcx, [0x1400457d8]
call fcn.140001cd0
cmp dword [0x14004583c], 0
je 0x140007670
cmp qword [0x1400458a0], 0
je 0x140007670
cmp qword [0x140045850], 0
je 0x140007632
lea rdx, [0x140045840]
lea rcx, [rbp + 0x20]
call fcn.14000b610
nop
mov r9, r15
xor r8d, r8d
mov rdx, rax
lea rcx, [0x1400457d8]
call fcn.140002270
nop
cmp qword [rbp + 0x38], 8
jb 0x140007626
mov rcx, qword [rbp + 0x20]
call qword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_]
lea rcx, [0x1400457d8]
call fcn.1400281e0
lea r8, str..log
lea rdx, [rbp + 0x48]
lea rcx, [rbp + 0x20]
call fcn.14000b340
nop
mov r9, r15
xor r8d, r8d
mov rdx, rax
lea rcx, [0x1400457d8]
call fcn.140002270
nop
cmp qword [rbp + 0x38], 8
jb 0x140007691
mov rcx, qword [rbp + 0x20]
call qword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_]
jmp 0x140007691
xor eax, eax
mov rcx, r15
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
mov rdx, rbx
lea rcx, [0x1400457d8]
call fcn.140001cd0
cmp qword [0x140045878], 0
je 0x140007ad6
cmp qword [0x1400458a0], 0
je 0x140007ad6
lea r12, [rbp + 0x48]
mov rdx, qword [rbp + 0x48]
mov rcx, qword [rbp + 0x60]
cmp rcx, 8
cmovae r12, rdx
lea rax, [rbp + 0x48]
cmovae rax, rdx
mov r8, qword [rbp + 0x58]
lea rdi, [rax + r8*2]
lea rbx, [rbp + 0x48]
cmovae rbx, rdx
cmp rbx, rdi
je 0x1400076fc
sub r12, rbx
movzx ecx, word [rbx]
call qword [sym.imp.MSVCR100.dll_tolower]
mov word [r12 + rbx], ax
add rbx, 2
cmp rbx, rdi
jne 0x1400076e1
mov r8, qword [rbp + 0x58]
cmp dword [0x14004583c], 0
je 0x14000770f
cmp qword [0x140045850], 0
jne 0x14000777e
lea rcx, [rbp + 0x48]
cmp qword [rbp + 0x60], 8
cmovae rcx, qword [rbp + 0x48]
mov edi, 0xd
cmp r8, rdi
cmovb rdi, r8
lea rdx, str.es2controller
test rdi, rdi
je 0x140007752
movzx eax, word [rdx]
cmp word [rcx], ax
jne 0x14000774c
add rcx, 2
add rdx, 2
dec rdi
jne 0x140007735
jmp 0x140007752
cmovb r13d, r15d
jmp 0x140007755
mov r13d, esi
movsxd rax, r13d
test r13d, r13d
jne 0x140007771
cmp r8, 0xd
jae 0x140007768
mov eax, r15d
jmp 0x140007771
mov eax, esi
cmp r8, 0xd
setne al
test eax, eax
sete al
test al, al
je 0x140007ad6
mov qword [rbp + 0xd8], 7
mov qword [rbp + 0xd0], rsi
mov word [rbp + 0xc0], si
lea r8, [0x140045840]
lea rdx, [0x1400457d8]
lea rcx, [rbp + 0x20]
call fcn.14000b280
nop
mov rdx, rax
lea rcx, [rbp + 0xc0]
call fcn.140027ec0
mov edi, eax
cmp qword [rbp + 0x38], 8
jb 0x1400077d1
mov rcx, qword [rbp + 0x20]
call qword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_]
test edi, edi
je 0x1400079ea
mov qword [rsp + 0x60], rsi
mov ecx, 0x10
call qword [sym.imp.MSVCR100.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__]
test rax, rax
je 0x1400079bc
mov qword [rsp + 0x60], rax
mov qword [rax], rsi
mov qword [rax + 8], rsi
lea rcx, [rsp + 0x60]
mov rax, qword [rsp + 0x60]
mov qword [rax], rcx
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x78], rsi
mov qword [rbp - 0x80], rsi
lea rcx, [rbp + 0x20]
call fcn.14000b6c0
mov r8, rax
lea rdx, [0x140045868]
lea rcx, [rsp + 0x60]
call fcn.14000b710
mov r12d, esi
cmp qword [rbp - 0x80], r12
jbe 0x1400079a5
lea rax, [rbp + 0x98]
mov qword [rbp - 0x68], rax
mov rdi, rsi
nop word [rax + rax]
mov qword [rbp + 0xb0], 7
mov qword [rbp + 0xa8], rsi
mov word [rbp + 0x98], si
mov r9, r15
xor r8d, r8d
lea rdx, [rbp + 0xc0]
lea rcx, [rbp + 0x98]
call fcn.140001ad0
nop
lea rdx, [rbp - 0x10]
lea rcx, [rsp + 0x60]
call fcn.1400227e0
mov rcx, rax
mov r8, rdi
lea rdx, [rbp + 8]
call fcn.14000aba0
mov rdx, rax
mov rax, qword [rax]
test rax, rax
jne 0x1400078c0
mov rax, rsi
jmp 0x1400078c3
mov rax, qword [rax]
mov rdx, qword [rdx + 0x10]
mov rcx, qword [rax + 0x10]
cmp rcx, rdx
ja 0x1400078d3
sub rdx, rcx
mov rax, qword [rax + 8]
mov rdx, qword [rax + rdx*8]
mov qword [rbp + 0x38], 7
mov qword [rbp + 0x30], rsi
mov word [rbp + 0x20], si
mov r9, r15
xor r8d, r8d
lea rcx, [rbp + 0x20]
call fcn.140001ad0
nop
lea r8, [rbp + 0x98]
lea rdx, [rbp + 0x20]
lea rcx, [rbp - 0x60]
call fcn.140006b00
mov ebx, esi
cmp qword [rbp - 0x40], rbx
jbe 0x140007982
mov rdi, rsi
nop word [rax + rax]
lea rdx, [rbp + 8]
lea rcx, [rbp - 0x60]
call fcn.1400227e0
mov rcx, rax
mov r8, rdi
lea rdx, [rbp - 0x10]
call fcn.14000aba0
mov rcx, rax
mov rax, qword [rax]
test rax, rax
jne 0x14000794c
mov rax, rsi
jmp 0x14000794f
mov rax, qword [rax]
mov rcx, qword [rcx + 0x10]
mov rdx, qword [rax + 0x10]
cmp rdx, rcx
ja 0x14000795f
sub rcx, rdx
mov rax, qword [rax + 8]
mov rcx, qword [rax + rcx*8]
cmp qword [rcx + 0x18], 8
jb 0x140007971
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
inc ebx
movsxd rdi, ebx
cmp rdi, qword [rbp - 0x40]
jb 0x140007920
lea rcx, [rbp - 0x60]
call fcn.14000a740
mov rcx, qword [rbp - 0x60]
call qword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_]
inc r12d
movsxd rdi, r12d
cmp rdi, qword [rbp - 0x80]
jb 0x140007860
lea rcx, [rsp + 0x60]
call fcn.14000a740
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_]
jmp 0x1400079ea
mov qword [rbp - 0x70], rsi
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x30]
call qword [sym.imp.MSVCR100.dll_public:_void___cdecl_std::exception::constructor_char_const__const___ptr64_const____ptr64____ptr64]
lea rdx, vtable.std::bad_alloc.0
mov qword [rbp - 0x30], rdx
lea rdx, [0x14003f9c8]
lea rcx, [rbp - 0x30]
call sub.MSVCR100.dll__CxxThrowException
nop
xor edx, edx
mov r8d, 0x11c
lea rcx, [rbp + 0x110]
call sub.MSVCR100.dll_memset
mov dword [rbp + 0x110], 0x11c
lea rcx, [rbp + 0x110]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
lea rcx, [rbp + 0x20]
call fcn.140006fe0
mov r12, rax
cmp qword [rax + 0x18], 8
jb 0x140007a2b
mov r12, qword [rax]
movzx edi, word [rbp + 0x226]
movzx ebx, word [rbp + 0x224]
lea rdx, [0x1400451e8]
lea rcx, [0x140043230]
call qword [sym.imp.MSVCR100.dll_public:_char_const____ptr64___cdecl_type_info::_name_internal_method_struct___type_info_node____ptr64_const___ptr64]
mov r8, rax
mov dword [rsp + 0x58], edi
mov dword [rsp + 0x50], ebx
mov eax, dword [rbp + 0x11c]
mov dword [rsp + 0x48], eax
mov qword [rsp + 0x40], r12
mov eax, dword [rbp + 0x118]
mov dword [rsp + 0x38], eax
mov eax, dword [rbp + 0x114]
mov dword [rsp + 0x30], eax
lea rax, str.Environment_OSVER:_d._d__s_Build:_d_SP:_d._d
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x1b4
lea r9, str.DbgLog.cpp
mov edx, 5
lea rcx, [0x1400457d0]
call fcn.140007dd0
nop
cmp qword [rbp + 0x38], 8
jb 0x140007ab9
mov rcx, qword [rbp + 0x20]
call qword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_]
call fcn.140007020
nop
cmp qword [rbp + 0xd8], 8
jb 0x140007ad6
mov rcx, qword [rbp + 0xc0]
call qword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_]
cmp qword [rbp + 0x80], 0
je 0x140007b9b
mov qword [rbp + 0x38], 7
mov qword [rbp + 0x30], rsi
mov word [rbp + 0x20], si
mov r9, r15
xor r8d, r8d
lea rdx, [rbp + 0x70]
lea rcx, [rbp + 0x20]
call fcn.140001ad0
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x98]
call fcn.140006e80
mov rbx, rax
cmp qword [rax + 0x18], 8
jb 0x140007b24
mov rbx, qword [rax]
lea rdi, [rbp + 0x70]
cmp qword [rbp + 0x88], 8
cmovae rdi, qword [rbp + 0x70]
lea rdx, [0x1400451e8]
lea rcx, [0x140043230]
call qword [sym.imp.MSVCR100.dll_public:_char_const____ptr64___cdecl_type_info::_name_internal_method_struct___type_info_node____ptr64_const___ptr64]
mov r8, rax
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rdi
lea rax, str.LoadModule_Path:__s__Ver:__s_
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x1bf
lea r9, str.DbgLog.cpp
mov edx, 5
lea rcx, [0x1400457d0]
call fcn.140007dd0
nop
cmp qword [rbp + 0xb0], 8
jb 0x140007b9b
mov rcx, qword [rbp + 0x98]
call qword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_]
nop
cmp qword [rbp + 0x88], 8
jb 0x140007baf
mov rcx, qword [rbp + 0x70]
call qword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_]
mov qword [rbp + 0x88], 7
mov qword [rbp + 0x80], rsi
mov word [rbp + 0x70], si
cmp qword [rbp + 0x60], 8
jb 0x140007bd6
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_]
mov qword [rbp + 0x60], 7
mov qword [rbp + 0x58], rsi
mov word [rbp + 0x48], si
cmp qword [rbp + 0x100], 8
jb 0x140007bfd
mov rcx, qword [rbp + 0xe8]
call qword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_]
cmp qword [0x1400457e8], 0
setne sil
mov eax, esi
mov rcx, qword [rbp + 0x230]
xor rcx, rsp
call fcn.140029670
lea r11, [rsp + 0x340]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r13
pop r12
pop rdi
pop rbp
ret