Function at 0x10000d738
Capabilities:
Check if file exists
Delete file
Move file

Disassembly:
mov qword [rsp + 0x20], rbx
mov dword [rsp + 0x10], edx
push rbp
push rsi
push rdi
push r12
push r13
sub rsp, 0x90
mov rbp, rcx
mov rcx, qword [0x100028c90]
lea rax, [0x100028c90]
cmp rcx, rax
je 0x10000d781
bt dword [rcx + 0x1c], 0x1d
jae 0x10000d781
mov rcx, qword [rcx + 0x10]
lea r8, [0x100005dc8]
mov edx, 0x13
call fcn.10000963c
lea rdx, [0x100006c88]
lea rcx, [rsp + 0x50]
mov r9d, 1
mov r8d, 0x15a
call fcn.10000cb94
and dword [rsp + 0xd0], 0
and dword [rsp + 0xc8], 0
and dword [rsp + 0xc0], 0
and qword [rsp + 0x38], 0
and qword [rsp + 0x48], 0
lea rax, [0x100005d20]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x40], rax
test rbp, rbp
jne 0x10000d7e7
mov ebx, 0x80070057
mov eax, 0x165
jmp 0x10000d9c0
and dword [rsp + 0x50], 0
mov eax, 0x166
lea r9, [rsp + 0xc0]
lea r8, [rsp + 0xc8]
lea rdx, [rsp + 0xd0]
mov rcx, rbp
mov word [rsp + 0x54], ax
call fcn.10000d0f8
mov ebx, eax
mov dword [rsp + 0x50], eax
test eax, eax
mov eax, 0x16d
js 0x10000d9c4
mov word [rsp + 0x54], ax
mov eax, dword [rsp + 0xc8]
test eax, eax
jne 0x10000d84e
xor ebx, ebx
mov eax, 0x172
mov dword [rsp + 0x50], ebx
mov word [rsp + 0x54], ax
jmp 0x10000d9c9
mov esi, dword [rsp + 0xc0]
mov edi, 2
neg esi
mov r12d, edi
cmp esi, edi
jg 0x10000d9c9
lea r13d, [rdi + 1]
sub r13d, eax
cmp edi, r13d
lea r8, [0x100005de8]
lea rcx, [0x100006ca0]
mov qword [rsp + 0x20], r8
mov r8, rbp
mov r9d, edi
jl 0x10000d8e8
mov rdx, rcx
lea rcx, [rsp + 0x30]
call fcn.10000ff50
mov ebx, eax
mov dword [rsp + 0x50], eax
test eax, eax
mov eax, 0x181
js 0x10000d9c4
mov rcx, qword [rsp + 0x30]
mov word [rsp + 0x54], ax
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x10000d989
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
jne 0x10000d998
mov eax, 0x185
xor ebx, ebx
mov word [rsp + 0x54], ax
mov dword [rsp + 0x50], ebx
jmp 0x10000d98d
neg r9d
test edi, edi
lea rdx, [0x100006cb8]
cmovns r9d, edi
test edi, edi
cmovns rdx, rcx
lea rcx, [rsp + 0x30]
call fcn.10000ff50
mov ebx, eax
mov dword [rsp + 0x50], eax
test eax, eax
mov eax, 0x191
js 0x10000d9c4
mov word [rsp + 0x54], ax
lea rax, [0x100005de8]
lea rdx, [0x100006ca0]
lea rcx, [rsp + 0x40]
mov r9d, r12d
mov r8, rbp
mov qword [rsp + 0x20], rax
call fcn.10000ff50
mov ebx, eax
mov dword [rsp + 0x50], eax
test eax, eax
mov eax, 0x196
js 0x10000d9c4
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x30]
mov r8d, 1
mov word [rsp + 0x54], ax
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
jne 0x10000d986
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
jne 0x10000d9ad
mov eax, 0x19b
jmp 0x10000d8d8
dec r12d
mov ebx, dword [rsp + 0x50]
dec edi
cmp edi, esi
jl 0x10000d9c9
jmp 0x10000d86e
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
mov eax, 0x185
jmp 0x10000d9c0
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
mov eax, 0x19b
mov dword [rsp + 0x50], ebx
mov word [rsp + 0x56], ax
lea rcx, [rsp + 0x40]
call fcn.10000f9a4
lea rcx, [rsp + 0x30]
call fcn.10000f9a4
lea rcx, [rsp + 0x50]
call fcn.10000ccac
mov eax, ebx
mov rbx, qword [rsp + 0xd8]
add rsp, 0x90
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret