Function at 0x515a20
Capabilities:
Delete file

Disassembly:
push rbp
push rbx
sub rsp, 0xf8
mov rbp, rsp
mov qword [rbp + 0x70], rcx
mov qword [rbp + 0x78], rdx
mov qword [rbp + 0x88], 0
mov qword [rbp + 0x80], 0
mov qword [rbp + 0xa0], 0
mov qword [rbp + 0xa8], 0
mov qword [rbp + 0xb0], 0
mov qword [rbp + 0xb8], 0
mov qword [rbp + 0xc0], 0
mov qword [rbp + 0xc8], 0
mov qword [rbp + 0xe0], 0
mov qword [rbp + 0xd8], 0
nop
mov rcx, qword [rbp + 0x70]
xor rdx, rdx
call fcn.00515f80
call fcn.00517d40
mov rcx, rax
mov rdx, qword [rbp + 0x78]
call fcn.00513330
test al, al
je 0x515ad7
mov rax, qword [rbp + 0x70]
lea rcx, [rax + 0x10]
mov rdx, qword [rbp + 0x78]
call fcn.0040b1a0
jmp 0x515afb
lea rcx, [rbp + 0xc8]
mov rdx, qword [rbp + 0x78]
call fcn.004280a0
mov rax, qword [rbp + 0x70]
lea rcx, [rax + 0x10]
mov rdx, qword [rbp + 0xc8]
call fcn.0040b1a0
mov rax, qword [rbp + 0x70]
lea rcx, [rax + 0xcc]
mov edx, 0xc
xor r8, r8
call fcn.004075b0
mov rax, qword [rbp + 0x70]
lea rcx, [rax + 0xd8]
mov edx, 0x324
xor r8, r8
call fcn.004075b0
mov rax, qword [rbp + 0x70]
cmp dword [rax + 0x18], 0
jne 0x515b47
mov rax, qword [rbp + 0x70]
mov dword [rax + 0xd8], 0x7fffffff
jmp 0x515b54
mov rcx, qword [rbp + 0x70]
mov eax, dword [rcx + 0x18]
mov dword [rcx + 0xd8], eax
mov rax, qword [rbp + 0x70]
cmp dword [rax + 0x20], 0
jne 0x515b6e
mov rax, qword [rbp + 0x70]
mov dword [rax + 0xdc], 0x7fffffff
jmp 0x515b7b
mov rcx, qword [rbp + 0x70]
mov eax, dword [rcx + 0x20]
mov dword [rcx + 0xdc], eax
mov rcx, qword [rbp + 0x70]
mov eax, dword [rcx + 0x28]
mov dword [rcx + 0xe0], eax
mov eax, dword [rcx + 0x2c]
mov dword [rcx + 0xe4], eax
mov eax, dword [rcx + 0x30]
mov dword [rcx + 0xe8], eax
mov dword [rcx + 0xf0], 1
movzx rax, word [rcx + 0x34]
mov word [rcx + 0xf8], ax
lea rdx, [rbp + 0xc0]
mov rax, qword [rbp + 0x70]
mov r8d, dword [rax + 0xf0]
call fcn.005153d0
lea rcx, [rbp + 0xe0]
mov rdx, qword [rbp + 0xc0]
xor r8, r8
call fcn.0040bcc0
mov rax, qword [rbp + 0x70]
lea rcx, [rax + 0xfa]
mov rdx, qword [rbp + 0xe0]
call fcn.00428460
lea rcx, [rbp + 0xb8]
mov rax, qword [rbp + 0x70]
mov rdx, qword [rax + 0x10]
call fcn.00427fe0
lea rcx, [rbp + 0xe0]
mov rdx, qword [rbp + 0xb8]
xor r8, r8
call fcn.0040bcc0
mov rax, qword [rbp + 0x70]
lea rcx, [rax + 0x1fa]
mov rdx, qword [rbp + 0xe0]
call fcn.00428460
lea rcx, [rbp + 0xb0]
mov rax, qword [rbp + 0x70]
mov rdx, qword [rax + 0x10]
call fcn.00427dd0
lea rcx, [rbp + 0xe0]
mov rdx, qword [rbp + 0xb0]
xor r8, r8
call fcn.0040bcc0
mov rax, qword [rbp + 0x70]
lea rcx, [rax + 0x2fa]
mov rdx, qword [rbp + 0xe0]
call fcn.00428460
mov byte [rbp + 0xef], 0
mov rax, qword [rbp + 0x70]
cmp qword [rax + 0x68], 0
je 0x515cc0
mov rax, qword [rbp + 0x70]
lea rbx, [rax + 0x68]
mov rcx, qword [rbx + 8]
mov rax, qword [rbp + 0x70]
mov rdx, rax
lea r8, [rax + 0xd8]
xor r9, r9
lea rax, [rbp + 0xef]
mov qword [rsp + 0x20], rax
call qword [rbx]
cmp byte [rbp + 0xef], 0
jne 0x515eb4
lea rcx, [rbp + 0xa8]
mov rax, qword [rbp + 0x70]
lea rdx, [rax + 0x2fa]
mov r8d, pe_nt_image_headers64
call fcn.0040c260
cmp qword [rbp + 0xa8], 0
je 0x515d65
lea rcx, [rbp + 0xd8]
mov rax, qword [rbp + 0x70]
lea rdx, [rax + 0x2fa]
mov r8d, pe_nt_image_headers64
call fcn.0040c260
lea rcx, [rbp + 0xa0]
mov rdx, qword [rbp + 0xd8]
call fcn.00431d00
lea rcx, [rbp + 0xd8]
mov rdx, qword [rbp + 0xa0]
call fcn.0040b220
lea rcx, [rbp + 0xe0]
mov rdx, qword [rbp + 0xd8]
xor r8, r8
call fcn.0040bcc0
mov rax, qword [rbp + 0x70]
lea rcx, [rax + 0x2fa]
mov rdx, qword [rbp + 0xe0]
call fcn.00428460
mov rcx, qword [rbp + 0xd8]
call fcn.00427610
lea rcx, [rbp + 0x88]
mov rax, qword [rbp + 0x70]
lea rdx, [rax + 0x2fa]
mov r8d, pe_nt_image_headers64
call fcn.0040c260
mov rax, qword [rbp + 0x88]
mov qword [rbp + 0x90], rax
lea rcx, [rbp + 0x80]
mov rax, qword [rbp + 0x70]
lea rdx, [rax + 0x1fa]
mov r8d, pe_nt_image_headers64
call fcn.0040c260
mov rax, qword [rbp + 0x80]
mov qword [rbp + 0x98], rax
lea rcx, [rbp + 0xd8]
lea rdx, [rbp + 0x90]
mov r8d, 1
call fcn.00513b50
mov rcx, qword [rbp + 0xd8]
call fcn.0040c190
mov rcx, rax
call sub.kernel32.dll_DeleteFileW
mov rax, qword [rbp + 0x70]
mov dword [rax + 0x3fc], 0
mov dword [rax + 0x400], 0
mov dword [rax + 0x404], 0
lea rcx, [rax + 0xcc]
lea rdx, [0x00514760]
lea r8, [0x005146b0]
lea r9, [0x005146c0]
lea rax, [0x005146d0]
mov qword [rsp + 0x20], rax
lea rax, [0x005146e0]
mov qword [rsp + 0x28], rax
lea rax, [0x005146f0]
mov qword [rsp + 0x30], rax
lea rax, [0x00514700]
mov qword [rsp + 0x38], rax
lea rax, [0x00514710]
mov qword [rsp + 0x40], rax
lea rax, [0x00514720]
mov qword [rsp + 0x48], rax
lea rax, [0x00514750]
mov qword [rsp + 0x50], rax
mov rax, qword [rbp + 0x70]
lea rax, [rax + 0xd8]
mov qword [rsp + 0x58], rax
mov rax, qword [rbp + 0x70]
mov qword [rsp + 0x60], rax
call fcn.00507c30
mov rdx, qword [rbp + 0x70]
mov qword [rdx + 8], rax
mov rcx, rdx
cmp qword [rdx + 8], 0
setne dl
call fcn.00515150
nop
lea rcx, [rbp + 0x80]
mov edx, 2
call fcn.0040ac50
lea rcx, [rbp + 0xa0]
mov edx, 6
call fcn.0040ac50
lea rcx, [rbp + 0xd8]
call fcn.0040ab70
lea rcx, [rbp + 0xe0]
call fcn.0040abc0
lea rsp, [rbp + 0xf8]
pop rbx
pop rbp
ret