Function at 0x140060e20
Capabilities:
Move file

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rsi
push rdi
push r14
sub rsp, 0x1c8
mov qword [rsp + 0x1a0], 0xfffffffffffffffe
mov r14, rdx
mov rsi, rcx
mov byte [rsp + 0x20], 1
call qword [sym.imp.WINMM.dll_timeGetTime]
mov ebx, eax
mov dword [rsp + 0x208], eax
call fcn.14000d980
mov rcx, rax
test rax, rax
je 0x1400613dd
mov rax, qword [rax]
call qword [rax + 0x18]
mov qword [rsp + 0x1a8], rax
add rax, 0x18
mov qword [rsp + 0x28], rax
mov r8d, ebx
lea rdx, [0x14009a138]
lea rcx, [rsp + 0x28]
call fcn.14000d390
lea rdx, [0x1400a7880]
lea rcx, [rsp + 0x50]
call fcn.14000c6f0
nop
lea r8, [rsp + 0x28]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x78]
call fcn.14000ba30
mov qword [rsp + 0x130], rax
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov qword [rsp + 0x138], rcx
mov rbx, qword [rsp + 0x28]
add rbx, 0xffffffffffffffe8
mov qword [rsp + 0x68], rbx
cmp rcx, rbx
je 0x140060f4a
cmp dword [rbx + 0x10], 0
jl 0x140060f2f
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x140060f2f
call fcn.14000d070
mov qword [rsp + 0x70], rax
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [rbx + 0x10], eax
sub eax, 1
jg 0x140060f1f
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, qword [rsp + 0x70]
add rax, 0x18
mov qword [rsp + 0x28], rax
jmp 0x140060f4f
mov r8d, dword [rdx - 0x10]
mov dword [rsp + 0x60], r8d
mov qword [rsp + 0x140], rdx
lea rcx, [rsp + 0x28]
call fcn.14000d160
mov edi, 0xffffffff
mov rcx, qword [rsp + 0x78]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x80], rcx
mov eax, edi
lock xadd dword [rcx + 0x10], eax
sub eax, 1
jg 0x140060f7e
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rsp + 0x50]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x88], rcx
mov eax, edi
lock xadd dword [rcx + 0x10], eax
sub eax, 1
jg 0x140060fac
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, r14
call fcn.14000bef0
call fcn.14000d980
mov rcx, rax
test rax, rax
je 0x1400613e8
mov rax, qword [rax]
call qword [rax + 0x18]
mov qword [rsp + 0x148], rax
add rax, 0x18
mov qword [rsp + 0x30], rax
mov rcx, rsi
call fcn.14005b9b0
mov rbx, rax
mov qword [rsp + 0x48], rax
mov rcx, rax
call fcn.14005bbd0
mov qword [rsp + 0xd8], rax
nop dword [rax]
test rax, rax
je 0x1400612bf
cmp dword [rax + 0x10], 0x4000
je 0x1400612aa
lea rdx, [rax + 0x14]
lea rcx, [rsp + 0x38]
call fcn.14000c6f0
nop
lea rcx, [rsp + 0x38]
call fcn.14000bef0
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.SHLWAPI.dll_PathFindExtensionW]
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.14000c760
nop
mov r8, qword [r14]
mov qword [rsp + 0x150], r8
test r8, r8
je 0x1400613f3
mov rax, qword [rsp + 0x40]
sub r8, rax
movzx edx, word [rax]
movzx ecx, word [rax + r8]
sub edx, ecx
jne 0x140061078
add rax, 2
test ecx, ecx
jne 0x140061064
test edx, edx
jne 0x140061248
lea r8, [rsp + 0x38]
mov rdx, rsi
lea rcx, [rsp + 0xa0]
call fcn.14000ba30
mov qword [rsp + 0x158], rax
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov qword [rsp + 0x160], rcx
mov rbx, qword [rsp + 0x30]
add rbx, 0xffffffffffffffe8
mov qword [rsp + 0x90], rbx
cmp rcx, rbx
je 0x140061129
cmp dword [rbx + 0x10], 0
jl 0x14006110d
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14006110d
call fcn.14000d070
mov qword [rsp + 0x98], rax
mov eax, edi
lock xadd dword [rbx + 0x10], eax
sub eax, 1
jg 0x1400610fa
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, qword [rsp + 0x98]
add rax, 0x18
mov qword [rsp + 0x30], rax
jmp 0x140061129
mov r8d, dword [rdx - 0x10]
mov dword [rsp + 0x64], r8d
mov qword [rsp + 0x168], rdx
lea rcx, [rsp + 0x30]
call fcn.14000d160
nop
mov rcx, qword [rsp + 0xa0]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0xa8], rcx
mov eax, edi
lock xadd dword [rcx + 0x10], eax
sub eax, 1
jg 0x14006115a
mov rdx, qword [rsp + 0xa8]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
lea r8, [rsp + 0x28]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xb0]
call fcn.14000ba30
mov qword [rsp + 0x170], rax
mov rdx, qword [rax]
mov qword [rsp + 0x178], rdx
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_MoveFileW]
mov dword [rsp + 0x200], eax
mov rcx, qword [rsp + 0xb0]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0xb8], rcx
mov eax, edi
lock xadd dword [rcx + 0x10], eax
sub eax, 1
jg 0x1400611c7
mov rdx, qword [rsp + 0xb8]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
cmp dword [rsp + 0x200], 0
jne 0x140061248
mov byte [rsp + 0x20], 0
lea rax, [rsp + 0x58]
mov qword [rsp + 0x180], rax
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x188], rax
mov rcx, qword [rsp + 0x38]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x190], rcx
call fcn.14000d070
mov qword [rsp + 0x198], rax
add rax, 0x18
mov qword [rsp + 0x58], rax
lea rdx, str.renameFile_ERROR_Code_for_file
lea rcx, [rsp + 0xc0]
call fcn.14000c6f0
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
lea rdx, [rsp + 0x58]
mov rcx, rbx
call fcn.14005c670
nop
mov rcx, qword [rsp + 0x40]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0xc8], rcx
mov eax, edi
lock xadd dword [rcx + 0x10], eax
sub eax, 1
jg 0x140061277
mov rdx, qword [rsp + 0xc8]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rsp + 0x38]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0xd0], rcx
mov eax, edi
lock xadd dword [rcx + 0x10], eax
sub eax, 1
jg 0x1400612a5
mov rdx, qword [rsp + 0xd0]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rbx, qword [rsp + 0x48]
mov rcx, rbx
call fcn.14005bbd0
mov qword [rsp + 0xd8], rax
jmp 0x140061000
mov rcx, rbx
call fcn.14005bd30
nop
mov rcx, qword [rsp + 0x30]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0xe0], rcx
mov eax, edi
lock xadd dword [rcx + 0x10], eax
sub eax, 1
jg 0x1400612f7
mov rdx, qword [rsp + 0xe0]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rsp + 0x28]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0xe8], rcx
mov eax, edi
lock xadd dword [rcx + 0x10], eax
sub eax, 1
jg 0x140061326
mov rdx, qword [rsp + 0xe8]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rsi]
sub rcx, 0x18
mov qword [rsp + 0xf0], rcx
mov eax, edi
lock xadd dword [rcx + 0x10], eax
sub eax, 1
jg 0x140061353
mov rdx, qword [rsp + 0xf0]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rax, qword [r14]
sub rax, 0x18
mov qword [rsp + 0xf8], rax
lock xadd dword [rax + 0x10], edi
sub edi, 1
jg 0x14006137d
mov rdx, qword [rsp + 0xf8]
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
movzx eax, byte [rsp + 0x20]
jmp 0x1400613d0
add rsp, 0x1c8
pop r14
pop rdi
pop rsi
pop rbx
ret
mov ecx, 0x80004005
call fcn.14000dd90
nop
mov ecx, 0x80004005
call fcn.14000dd90
nop
mov ecx, 0x80004005
call fcn.14000dd90
int3