Function at 0x140027be0
Capabilities:
Delete file

Disassembly:
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x30
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rbp
mov rsi, rdx
mov r14, rcx
xor ebp, ebp
movzx edi, bp
cmp bp, word [0x14004262a]
jae 0x140027c86
nop dword [rax]
nop dword [rax + rax]
movzx eax, di
imul rbx, rax, 0x58
add rbx, qword [0x140042638]
mov rcx, qword [rbx + 0x30]
test rcx, rcx
je 0x140027c41
call qword [sym.imp.MSVCR120.dll_free]
mov qword [rbx + 0x30], rbp
mov rcx, qword [rbx + 0x28]
test rcx, rcx
je 0x140027c54
call qword [sym.imp.MSVCR120.dll_free]
mov qword [rbx + 0x28], rbp
mov rcx, qword [rbx + 0x48]
test rcx, rcx
je 0x140027c67
call qword [sym.imp.MSVCR120.dll_free]
mov qword [rbx + 0x48], rbp
mov rcx, qword [rbx + 0x40]
test rcx, rcx
je 0x140027c7a
call qword [sym.imp.MSVCR120.dll_free]
mov qword [rbx + 0x40], rbp
inc di
cmp di, word [0x14004262a]
jb 0x140027c20
mov rcx, qword [0x140042638]
call qword [sym.imp.MSVCR120.dll_free]
lea r12, [0x1400310a0]
mov edi, 0x106
mov rbx, qword [0x140042618]
test rbx, rbx
je 0x140027cfa
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x140027cce
mov qword [rbx], rbp
mov rcx, rbx
call fcn.14002a950
mov rcx, rbx
call qword [sym.imp.mfc120u.dll_Ordinal_1486]
jmp 0x140027cfa
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x58
jae 0x140027ce1
mov eax, eax
mov ecx, dword [r12 + rax*4]
jmp 0x140027ce3
mov ecx, edi
mov dword [0x1400430b8], ecx
mov dword [0x1400434c8], 2
mov byte [0x1400433c0], bpl
lea r15, [0x140042670]
test r14, r14
je 0x140027d8d
mov rcx, r15
sub r14, r15
movzx eax, byte [r14 + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x140027d10
mov ecx, 0x10
call qword [sym.imp.mfc120u.dll_Ordinal_1484]
mov rbx, rax
mov qword [rsp + 0x70], rax
test rax, rax
je 0x140027d68
mov word [rax], bp
mov qword [rax + 8], rbp
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jle 0x140027d6b
inc eax
movsxd rcx, eax
call qword [sym.imp.mfc120u.dll_Ordinal_1484]
mov qword [rbx + 8], rax
mov rdx, r15
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x140027d6b
mov rbx, rbp
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140027d84
call qword [sym.imp.mfc120u.dll_Ordinal_1486]
mov rcx, rbx
call qword [sym.imp.mfc120u.dll_Ordinal_1486]
mov rbx, qword [0x140042620]
test rbx, rbx
je 0x140027de4
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x140027dbc
mov qword [rbx], rbp
mov rcx, rbx
call fcn.14002a950
mov rcx, rbx
call qword [sym.imp.mfc120u.dll_Ordinal_1486]
jmp 0x140027de4
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x58
jae 0x140027dcd
mov eax, eax
mov edi, dword [r12 + rax*4]
mov dword [0x1400430b8], edi
mov dword [0x1400434c8], 2
mov byte [0x1400433c0], 0
test rsi, rsi
je 0x140027e7c
mov rdx, r15
sub rsi, r15
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rsi + rdx]
mov byte [rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x140027e00
mov ecx, 0x10
call qword [sym.imp.mfc120u.dll_Ordinal_1484]
mov rbx, rax
mov qword [rsp + 0x70], rax
test rax, rax
je 0x140027e57
mov word [rax], bp
mov qword [rax + 8], rbp
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jle 0x140027e5a
inc eax
movsxd rcx, eax
call qword [sym.imp.mfc120u.dll_Ordinal_1484]
mov qword [rbx + 8], rax
mov rdx, r15
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x140027e5a
mov rbx, rbp
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140027e73
call qword [sym.imp.mfc120u.dll_Ordinal_1486]
mov rcx, rbx
call qword [sym.imp.mfc120u.dll_Ordinal_1486]
mov rcx, qword [0x140042630]
test rcx, rcx
je 0x140027e8e
call qword [sym.imp.MSVCR120.dll_free]
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
add rsp, 0x30
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret