Function at 0x140084490
Capabilities:
Copy file
Move file

Disassembly:
mov qword [rsp + 0x20], rsi
push rbp
lea rbp, [rsp - 0x270]
sub rsp, 0x370
mov rax, qword [0x1402ba4e0]
xor rax, rsp
mov qword [rbp + 0x260], rax
cmp dword [0x1402c0744], 0
mov rsi, rcx
jne 0x140084502
mov rcx, qword [rcx + 0xb0]
lea rdx, [0x140203498]
add rcx, 0x1298
call fcn.14010d534
test eax, eax
je 0x140084502
mov rcx, qword [rsi + 0xb0]
lea rdx, [0x140203488]
add rcx, 0x139c
call fcn.14010d534
test eax, eax
jne 0x140084c80
mov rcx, rsi
mov qword [rsp + 0x388], rbx
mov qword [rsp + 0x390], rdi
call fcn.1400836d0
cmp dword [0x1402c0744], 0
je 0x140084ca0
mov dword [rsp + 0x20], 0x746164
mov dword [rsp + 0x24], 0x78646e
lea rcx, [rbp + 0x150]
mov rdx, rsi
call fcn.140029e70
mov rcx, qword [rsi + 0xb0]
lea rdx, [rsp + 0x30]
add rcx, 0xf8c
sub rdx, rcx
nop dword [rax]
movzx eax, byte [rcx]
inc rcx
mov byte [rdx + rcx - 1], al
test al, al
jne 0x140084560
lea rcx, [rsp + 0x30]
call fcn.1400c9bc0
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x30]
lea rdx, [rbp + 0x150]
repne scasb al, byte [rdi]
xor ecx, ecx
nop
movzx eax, byte [rdx + rcx]
inc rcx
mov byte [rdi + rcx - 2], al
test al, al
jne 0x140084590
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x30]
repne scasb al, byte [rdi]
movzx eax, word [0x1401ee614]
xor ebx, ebx
mov word [rdi - 1], ax
mov ecx, ebx
nop dword [rax + rax]
movzx eax, byte [rsp + rcx + 0x30]
inc rcx
mov byte [rbp + rcx + 0x3f], al
test al, al
jne 0x1400845c0
mov rdx, qword [rsi + 0xb0]
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x30]
repne scasb al, byte [rdi]
xor ecx, ecx
nop word [rax + rax]
movzx eax, byte [rdx + rcx + 0x1298]
inc rcx
mov byte [rdi + rcx - 2], al
test al, al
jne 0x1400845f0
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rbp + 0x40]
repne scasb al, byte [rdi]
xor ecx, ecx
lea rdx, [rsp + 0x20]
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
inc rcx
mov byte [rdi + rcx - 2], al
test al, al
jne 0x140084620
lea rdx, [rbp + 0x40]
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_MoveFileA]
test eax, eax
jne 0x140084654
lea rdx, [rbp + 0x40]
lea rcx, [rsp + 0x30]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_CopyFileA]
lea rcx, [rsp + 0x30]
xor edx, edx
call fcn.1400d67e0
mov rdx, qword [rsi + 0xb0]
lea rcx, [rsp + 0x30]
add rdx, 0xf8c
sub rcx, rdx
nop word [rax + rax]
movzx eax, byte [rdx]
inc rdx
mov byte [rcx + rdx - 1], al
test al, al
jne 0x140084680
lea rcx, [rsp + 0x30]
call fcn.1400c9bc0
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x30]
lea rdx, [rbp + 0x150]
repne scasb al, byte [rdi]
xor ecx, ecx
nop
movzx eax, byte [rdx + rcx]
inc rcx
mov byte [rdi + rcx - 2], al
test al, al
jne 0x1400846b0
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x30]
repne scasb al, byte [rdi]
movzx eax, word [0x1401ee614]
mov rcx, rbx
mov word [rdi - 1], ax
nop word [rax + rax]
movzx eax, byte [rsp + rcx + 0x30]
inc rcx
mov byte [rbp + rcx + 0x3f], al
test al, al
jne 0x1400846e0
mov rdx, qword [rsi + 0xb0]
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x30]
repne scasb al, byte [rdi]
xor ecx, ecx
nop word [rax + rax]
movzx eax, byte [rdx + rcx + 0x139c]
inc rcx
mov byte [rdi + rcx - 2], al
test al, al
jne 0x140084710
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rbp + 0x40]
repne scasb al, byte [rdi]
xor ecx, ecx
lea rdx, [rsp + 0x24]
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
inc rcx
mov byte [rdi + rcx - 2], al
test al, al
jne 0x140084740
lea rdx, [rbp + 0x40]
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_MoveFileA]
test eax, eax
jne 0x140084774
lea rdx, [rbp + 0x40]
lea rcx, [rsp + 0x30]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_CopyFileA]
lea rcx, [rsp + 0x30]
xor edx, edx
call fcn.1400d67e0
lea rcx, [rbp + 0x150]
mov rdx, rsi
call fcn.140045890
mov rdx, qword [rsi + 0xb0]
lea rcx, [rsp + 0x30]
add rdx, 0xf8c
sub rcx, rdx
nop word [rax + rax]
movzx eax, byte [rdx]
inc rdx
mov byte [rcx + rdx - 1], al
test al, al
jne 0x1400847b0
lea rcx, [rsp + 0x30]
call fcn.1400c9bc0
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x30]
lea rdx, [rbp + 0x150]
repne scasb al, byte [rdi]
xor ecx, ecx
nop
movzx eax, byte [rdx + rcx]
inc rcx
mov byte [rdi + rcx - 2], al
test al, al
jne 0x1400847e0
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x30]
repne scasb al, byte [rdi]
movzx eax, word [0x1401ee614]
mov rcx, rbx
mov word [rdi - 1], ax
nop word [rax + rax]
movzx eax, byte [rsp + rcx + 0x30]
inc rcx
mov byte [rbp + rcx + 0x3f], al
test al, al
jne 0x140084810
mov rdx, qword [rsi + 0xb0]
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x30]
repne scasb al, byte [rdi]
xor ecx, ecx
nop word [rax + rax]
movzx eax, byte [rdx + rcx + 0x1298]
inc rcx
mov byte [rdi + rcx - 2], al
test al, al
jne 0x140084840
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rbp + 0x40]
repne scasb al, byte [rdi]
xor ecx, ecx
lea rdx, [rsp + 0x20]
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
inc rcx
mov byte [rdi + rcx - 2], al
test al, al
jne 0x140084870
lea rdx, [rbp + 0x40]
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_MoveFileA]
test eax, eax
jne 0x1400848a4
lea rdx, [rbp + 0x40]
lea rcx, [rsp + 0x30]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_CopyFileA]
lea rcx, [rsp + 0x30]
xor edx, edx
call fcn.1400d67e0
mov rdx, qword [rsi + 0xb0]
lea rcx, [rsp + 0x30]
add rdx, 0xf8c
sub rcx, rdx
nop word [rax + rax]
movzx eax, byte [rdx]
inc rdx
mov byte [rcx + rdx - 1], al
test al, al
jne 0x1400848d0
lea rcx, [rsp + 0x30]
call fcn.1400c9bc0
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x30]
lea rdx, [rbp + 0x150]
repne scasb al, byte [rdi]
xor ecx, ecx
nop
movzx eax, byte [rdx + rcx]
inc rcx
mov byte [rdi + rcx - 2], al
test al, al
jne 0x140084900
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x30]
repne scasb al, byte [rdi]
movzx eax, word [0x1401ee614]
mov rcx, rbx
mov word [rdi - 1], ax
nop word [rax + rax]
movzx eax, byte [rsp + rcx + 0x30]
inc rcx
mov byte [rbp + rcx + 0x3f], al
test al, al
jne 0x140084930
mov rdx, qword [rsi + 0xb0]
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x30]
repne scasb al, byte [rdi]
xor ecx, ecx
nop word [rax + rax]
movzx eax, byte [rdx + rcx + 0x139c]
inc rcx
mov byte [rdi + rcx - 2], al
test al, al
jne 0x140084960
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rbp + 0x40]
repne scasb al, byte [rdi]
xor ecx, ecx
lea rdx, [rsp + 0x24]
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
inc rcx
mov byte [rdi + rcx - 2], al
test al, al
jne 0x140084990
lea rdx, [rbp + 0x40]
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_MoveFileA]
test eax, eax
jne 0x1400849c4
lea rdx, [rbp + 0x40]
lea rcx, [rsp + 0x30]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_CopyFileA]
lea rcx, [rsp + 0x30]
xor edx, edx
call fcn.1400d67e0
lea rcx, [rbp + 0x150]
mov rdx, rsi
call fcn.14002bdc0
mov rdx, qword [rsi + 0xb0]
lea rcx, [rsp + 0x30]
add rdx, 0xf8c
sub rcx, rdx
nop word [rax + rax]
movzx eax, byte [rdx]
inc rdx
mov byte [rcx + rdx - 1], al
test al, al
jne 0x140084a00
lea rcx, [rsp + 0x30]
call fcn.1400c9bc0
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x30]
lea rdx, [rbp + 0x150]
repne scasb al, byte [rdi]
xor ecx, ecx
nop
movzx eax, byte [rdx + rcx]
inc rcx
mov byte [rdi + rcx - 2], al
test al, al
jne 0x140084a30
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x30]
repne scasb al, byte [rdi]
movzx eax, word [0x1401ee614]
mov rcx, rbx
mov word [rdi - 1], ax
nop word [rax + rax]
movzx eax, byte [rsp + rcx + 0x30]
inc rcx
mov byte [rbp + rcx + 0x3f], al
test al, al
jne 0x140084a60
mov rdx, qword [rsi + 0xb0]
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x30]
repne scasb al, byte [rdi]
xor ecx, ecx
nop word [rax + rax]
movzx eax, byte [rdx + rcx + 0x1298]
inc rcx
mov byte [rdi + rcx - 2], al
test al, al
jne 0x140084a90
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rbp + 0x40]
repne scasb al, byte [rdi]
xor ecx, ecx
lea rdx, [rsp + 0x20]
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
inc rcx
mov byte [rdi + rcx - 2], al
test al, al
jne 0x140084ac0
lea rdx, [rbp + 0x40]
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_MoveFileA]
test eax, eax
jne 0x140084af4
lea rdx, [rbp + 0x40]
lea rcx, [rsp + 0x30]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_CopyFileA]
lea rcx, [rsp + 0x30]
xor edx, edx
call fcn.1400d67e0
mov rdx, qword [rsi + 0xb0]
lea rcx, [rsp + 0x30]
add rdx, 0xf8c
sub rcx, rdx
nop word [rax + rax]
movzx eax, byte [rdx]
inc rdx
mov byte [rcx + rdx - 1], al
test al, al
jne 0x140084b20
lea rcx, [rsp + 0x30]
call fcn.1400c9bc0
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x30]
lea rdx, [rbp + 0x150]
repne scasb al, byte [rdi]
xor ecx, ecx
nop
movzx eax, byte [rdx + rcx]
inc rcx
mov byte [rdi + rcx - 2], al
test al, al
jne 0x140084b50
xor eax, eax
lea rdi, [rsp + 0x30]
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
movzx eax, word [0x1401ee614]
mov word [rdi - 1], ax
nop word [rax + rax]
movzx eax, byte [rsp + rbx + 0x30]
inc rbx
mov byte [rbp + rbx + 0x3f], al
test al, al
jne 0x140084b80
mov r8, qword [rsi + 0xb0]
mov rbx, qword [rsp + 0x388]
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x30]
repne scasb al, byte [rdi]
xor edx, edx
nop
movzx eax, byte [r8 + rdx + 0x139c]
inc rdx
mov byte [rdi + rdx - 2], al
test al, al
jne 0x140084bb0
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rbp + 0x40]
repne scasb al, byte [rdi]
xor ecx, ecx
lea rdx, [rsp + 0x24]
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
inc rcx
mov byte [rdi + rcx - 2], al
test al, al
jne 0x140084be0
lea rdx, [rbp + 0x40]
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_MoveFileA]
mov rdi, qword [rsp + 0x390]
test eax, eax
jne 0x140084c1c
lea rdx, [rbp + 0x40]
lea rcx, [rsp + 0x30]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_CopyFileA]
lea rcx, [rsp + 0x30]
xor edx, edx
call fcn.1400d67e0
mov rcx, qword [rsi + 0xb0]
lea rdx, [rsp + 0x20]
add rcx, 0x1298
nop dword [rax + rax]
movzx eax, byte [rdx]
inc rcx
inc rdx
mov byte [rcx - 1], al
test al, al
jne 0x140084c40
mov rcx, qword [rsi + 0xb0]
lea rdx, [rsp + 0x24]
add rcx, 0x139c
nop word [rax + rax]
movzx eax, byte [rdx]
inc rcx
inc rdx
mov byte [rcx - 1], al
test al, al
jne 0x140084c70
mov rcx, qword [rbp + 0x260]
xor rcx, rsp
call fcn.14010d170
mov rsi, qword [rsp + 0x398]
add rsp, 0x370
pop rbp
ret
mov rcx, qword [rsi + 0xb0]
lea rdx, [rsp + 0x20]
add rcx, 0x1298
sub rdx, rcx
nop word [rax + rax]
movzx eax, byte [rcx]
inc rcx
mov byte [rdx + rcx - 1], al
test al, al
jne 0x140084cc0
nop
lea rdx, [0x14021fd64]
lea rcx, [rsp + 0x20]
call fcn.14010d534
test eax, eax
je 0x140084d39
lea rdx, [0x14021fd60]
lea rcx, [rsp + 0x20]
call fcn.14010d534
test eax, eax
je 0x140084d39
lea rdx, [0x14021fd5c]
lea rcx, [rsp + 0x20]
call fcn.14010d534
test eax, eax
je 0x140084d39
lea rdx, [0x14021fd58]
lea rcx, [rsp + 0x20]
call fcn.14010d534
test eax, eax
je 0x140084d39
lea rdx, [0x140203498]
lea rcx, [rsp + 0x20]
call fcn.14010d534
test eax, eax
jne 0x140084db5
call fcn.140112620
mov edi, eax
mov eax, 0x4ec4ec4f
imul edi
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul edx, edx, 0x1a
sub edi, edx
add dil, 0x61
mov byte [rsp + 0x20], dil
call fcn.140112620
mov edi, eax
mov eax, 0x4ec4ec4f
imul edi
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul edx, edx, 0x1a
sub edi, edx
add dil, 0x61
mov byte [rsp + 0x21], dil
call fcn.140112620
mov byte [rsp + 0x23], 0
mov edi, eax
mov eax, 0x4ec4ec4f
imul edi
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul edx, edx, 0x1a
sub edi, edx
add dil, 0x61
mov byte [rsp + 0x22], dil
jmp 0x140084cd0
mov rcx, qword [rsi + 0xb0]
lea rdx, [rsp + 0x24]
add rcx, 0x139c
sub rdx, rcx
nop dword [rax + rax]
movzx eax, byte [rcx]
inc rcx
mov byte [rdx + rcx - 1], al
test al, al
jne 0x140084dd0
nop
lea rdx, [0x14021fd64]
lea rcx, [rsp + 0x24]
call fcn.14010d534
test eax, eax
je 0x140084e4d
lea rdx, [0x14021fd60]
lea rcx, [rsp + 0x20]
call fcn.14010d534
test eax, eax
je 0x140084e4d
lea rdx, [0x14021fd5c]
lea rcx, [rsp + 0x24]
call fcn.14010d534
test eax, eax
je 0x140084e4d
lea rdx, [0x14021fd58]
lea rcx, [rsp + 0x24]
call fcn.14010d534
test eax, eax
je 0x140084e4d
lea rdx, [0x140203488]
lea rcx, [rsp + 0x24]
call fcn.14010d534
test eax, eax
jne 0x140084537
call fcn.140112620
mov edi, eax
mov eax, 0x4ec4ec4f
imul edi
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul edx, edx, 0x1a
sub edi, edx
add dil, 0x61
mov byte [rsp + 0x24], dil
call fcn.140112620
mov edi, eax
mov eax, 0x4ec4ec4f
imul edi
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul edx, edx, 0x1a
sub edi, edx
add dil, 0x61
mov byte [rsp + 0x25], dil
call fcn.140112620
mov byte [rsp + 0x27], 0
mov edi, eax
mov eax, 0x4ec4ec4f
imul edi
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul edx, edx, 0x1a
sub edi, edx
add dil, 0x61
mov byte [rsp + 0x26], dil
jmp 0x140084de0