Function at 0x140045f74
Capabilities:
Delete file

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x30
xor r12d, r12d
mov rbp, rcx
mov qword [rsp + 0x68], r12
mov rcx, qword [str.P5_n_]
lea r14, str.P5_n_
lea r15, [0x140008f68]
cmp rcx, r14
je 0x140045fcc
test byte [rcx + 0x1c], 4
je 0x140045fcc
cmp byte [rcx + 0x19], 5
jb 0x140045fcc
mov rcx, qword [rcx + 0x10]
lea edx, [r12 + 0x42]
mov r8, r15
call fcn.14000ffa8
lea rdx, [rsp + 0x68]
mov rcx, rbp
call fcn.14004503c
mov rdi, qword [rsp + 0x68]
cmp eax, r12d
jne 0x140046017
mov rax, qword [str.P5_n_]
cmp rax, r14
je 0x14004614c
test byte [rax + 0x1c], 4
je 0x14004614c
cmp byte [rax + 0x19], 2
jb 0x14004614c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, 0x43
jmp 0x1400462cc
mov rcx, rdi
call fcn.1400455c8
cmp eax, r12d
je 0x14004614c
mov rax, qword [0x1400a3e58]
lea r10, [0x1400a3e58]
cmp rax, r10
je 0x140046053
mov rcx, qword [rdi + 0x220]
mov rdx, rax
mov rax, qword [rax]
cmp qword [rdx + 0x10], rcx
je 0x140046056
cmp rax, r10
jne 0x140046042
mov rdx, r12
cmp rdx, r12
jne 0x1400460d7
mov rcx, qword [str.P5_n_]
cmp rcx, r14
je 0x140046094
test byte [rcx + 0x1c], 4
je 0x140046094
cmp byte [rcx + 0x19], 2
jb 0x140046094
mov rax, qword [rdi + 8]
mov r9, qword [rdi + 0x220]
mov rcx, qword [rcx + 0x10]
mov edx, 0x44
mov r8, r15
mov qword [rsp + 0x20], rax
call fcn.1400443c8
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp eax, r12d
jne 0x14004614c
mov rax, qword [str.P5_n_]
cmp rax, r14
je 0x14004614c
test byte [rax + 0x1c], 4
je 0x14004614c
cmp byte [rax + 0x19], 2
jb 0x14004614c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, 0x45
jmp 0x140046132
mov eax, dword [rdi + 0x28]
mov esi, 1
cmp eax, 2
jne 0x1400460f1
cmp dword [rdi + 0x228], r12d
lea eax, [rsi + 0x3f]
cmove eax, esi
lea r8, [rdi + 0x198]
xor r9d, r9d
mov rcx, r10
mov dword [rsp + 0x20], eax
call fcn.14004981c
mov rbx, rax
cmp rax, r12
jne 0x140046170
mov rax, qword [str.P5_n_]
cmp rax, r14
je 0x14004614c
test byte [rax + 0x1c], 4
je 0x14004614c
cmp byte [rax + 0x19], 2
jb 0x14004614c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, 0x46
mov rcx, qword [str.P5_n_]
mov r9, rbp
mov r8, r15
mov rcx, qword [rcx + 0x10]
mov dword [rsp + 0x20], eax
call fcn.140011a18
mov esi, r12d
mov rcx, rdi
call fcn.140076afc
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x70]
mov eax, esi
add rsp, 0x30
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
mov eax, dword [rdi + 0x670]
lea r10, [rdi + 0x470]
lea rcx, [rbx + 0x498]
mov r8d, 0x100
mov r9d, r12d
sub r10, rcx
mov dword [rbx + 0x698], eax
mov rdx, r8
lea rax, [rdx + 0x7ffffefe]
cmp rax, r12
je 0x1400461bc
movzx eax, word [r10 + rcx]
cmp ax, r12w
je 0x1400461bc
mov word [rcx], ax
add rcx, 2
sub rdx, rsi
jne 0x140046199
mov r10d, 0x8007007a
cmp rdx, r12
jne 0x1400461ce
sub rcx, 2
mov r9d, r10d
cmp r9d, r12d
mov word [rcx], r12w
jge 0x140046202
mov rcx, qword [str.P5_n_]
cmp rcx, r14
je 0x14004614c
test byte [rcx + 0x1c], 4
je 0x14004614c
cmp byte [rcx + 0x19], 2
jb 0x14004614c
mov edx, 0x47
jmp 0x140046276
lea rdx, [rdi + 0x22c]
lea rcx, [rbx + 0x288]
mov r9d, r12d
sub rdx, rcx
lea rax, [r8 + 0x7ffffefe]
cmp rax, r12
je 0x140046238
movzx eax, word [rdx + rcx]
cmp ax, r12w
je 0x140046238
mov word [rcx], ax
add rcx, 2
sub r8, rsi
jne 0x140046216
cmp r8, r12
jne 0x140046244
sub rcx, 2
mov r9d, r10d
cmp r9d, r12d
mov word [rcx], r12w
jge 0x140046287
mov rcx, qword [str.P5_n_]
cmp rcx, r14
je 0x14004614c
test byte [rcx + 0x1c], 4
je 0x14004614c
cmp byte [rcx + 0x19], 2
jb 0x14004614c
mov edx, 0x48
mov rcx, qword [rcx + 0x10]
mov r8, r15
call fcn.1400100e0
jmp 0x14004614c
mov rcx, rbp
call fcn.140077860
mov qword [rbx + 0x38], rax
cmp rbp, r12
je 0x1400462e7
cmp rax, r12
jne 0x1400462e7
mov rax, qword [str.P5_n_]
cmp rax, r14
je 0x14004614c
test byte [rax + 0x1c], 4
je 0x14004614c
cmp byte [rax + 0x19], 2
jb 0x14004614c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, 0x49
mov rcx, qword [str.P5_n_]
mov r9d, eax
mov r8, r15
mov rcx, qword [rcx + 0x10]
call fcn.1400100e0
jmp 0x14004614c
mov rax, qword [rdi + 8]
mov rcx, qword [rbx + 0x48]
mov qword [rbx + 0x10], rax
call fcn.140076afc
mov rcx, qword [rdi + 0x30]
call fcn.140077860
mov qword [rbx + 0x48], rax
cmp qword [rdi + 0x30], r12
je 0x140046341
cmp rax, r12
jne 0x140046341
mov rax, qword [str.P5_n_]
cmp rax, r14
je 0x14004614c
test byte [rax + 0x1c], 4
je 0x14004614c
cmp byte [rax + 0x19], 2
jb 0x14004614c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, 0x4a
jmp 0x1400462cc
mov eax, dword [rdi + 0x228]
mov dword [rbx + 0x250], eax
mov eax, dword [rbx + 0x734]
bt eax, 9
jae 0x140046368
mov rax, qword [rbx + 0x248]
add dword [rax + 0x17c], esi
jmp 0x14004638e
bt eax, 8
jae 0x14004637d
mov rax, qword [rbx + 0x248]
add dword [rax + 0x178], esi
jmp 0x14004638e
test al, al
jns 0x14004638e
mov rax, qword [rbx + 0x248]
add dword [rax + 0x180], esi
mov rax, qword [rdi + 0x460]
mov qword [rbx + 0x488], rax
mov rax, qword [rdi + 0x468]
mov qword [rbx + 0x490], rax
mov eax, dword [rdi + 0x3c]
mov dword [rbx + 0x54], eax
mov rax, qword [rdi + 0x10]
mov qword [rbx + 0x18], rax
jmp 0x14004614f