Function at 0x1800bd080
Capabilities:
Check if file exists
Copy file
Create directory
Enumerate files on windows
Get common file path
Get file attributes

Disassembly:
push rbp
push rsi
push rdi
push r15
lea rbp, [rsp - 0x728]
sub rsp, 0x828
mov rax, qword [0x180128010]
xor rax, rsp
mov qword [rbp + 0x710], rax
xor r15d, r15d
mov qword [rbp - 0x30], rcx
lea rax, [rbp + 0x310]
mov dword [rsp + 0x60], r15d
xor ecx, ecx
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov edi, r15d
call qword [sym.imp.SHELL32.dll_SHGetFolderPathA]
mov rsi, 0xffffffffffffffff
mov qword [rsp + 0x40], r15
mov r8, rsi
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], 0xf
lea rax, [rbp + 0x310]
inc r8
cmp byte [rax + r8], dil
jne 0x1800bd0f5
lea rdx, [rbp + 0x310]
lea rcx, [rsp + 0x40]
call fcn.1800c1060
mov r8d, 1
lea rdx, [0x1801160b8]
lea rcx, [rsp + 0x40]
call fcn.1800c0730
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x78], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x88], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], dil
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x1800bd184
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800bd17f
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800be961
call fcn.1800ce78c
lea rcx, [rbp - 0x50]
call fcn.18008ab70
mov rdx, rax
lea rcx, [rbp + 0x178]
call fcn.18008afc0
lea rdx, [0x18012b798]
lea rcx, [rbp - 0x50]
call fcn.1800c0900
mov rdx, rax
lea rcx, [rbp - 0x78]
call fcn.18008aa40
cmp qword [rbp + 0x190], 0x10
lea r8, [rbp + 0x178]
mov r9, qword [rbp + 0x188]
mov rcx, rax
cmovae r8, qword [rbp + 0x178]
call fcn.1800c5980
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], dil
mov rdx, qword [rbp - 0x60]
movups xmmword [rbp + 0x138], xmm0
movups xmmword [rbp + 0x148], xmm1
cmp rdx, 0x10
jb 0x1800bd23d
mov rcx, qword [rbp - 0x78]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800bd238
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800be967
call fcn.1800ce78c
lea rdx, [rbp + 0x310]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathA]
lea rax, [rbp + 0x310]
mov qword [rsp + 0x40], r15
mov r8, rsi
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], 0xf
nop dword [rax]
inc r8
cmp byte [rax + r8], dil
jne 0x1800bd270
lea rdx, [rbp + 0x310]
lea rcx, [rsp + 0x40]
call fcn.1800c1060
cmp qword [rbp + 0x150], 0x10
lea rdx, [rbp + 0x138]
mov r8, qword [rbp + 0x148]
lea rcx, [rsp + 0x40]
cmovae rdx, qword [rbp + 0x138]
call fcn.1800c0730
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x118], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x128], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], dil
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x1800bd313
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800bd30e
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800be96d
call fcn.1800ce78c
lea rdx, [rbp + 0x310]
mov qword [rsp + 0x860], r12
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathA]
lea rax, [rbp + 0x310]
mov qword [rbp + 0x98], r15
mov r8, rsi
mov qword [rbp + 0xa8], r15
mov qword [rbp + 0xb0], 0xf
inc r8
cmp byte [rax + r8], dil
jne 0x1800bd350
lea rdx, [rbp + 0x310]
lea rcx, [rbp + 0x98]
call fcn.1800c1060
lea rdx, [0x18012b338]
lea rcx, [rbp - 0x50]
call fcn.1800c0900
mov rdx, rax
lea rcx, [rbp + 0xf8]
call fcn.18008aa40
mov rcx, qword [rbp + 0xa8]
movabs r12, 0x7fffffffffffffff
mov rdx, qword [rbp + 0x108]
mov rax, r12
sub rax, rcx
cmp rax, rdx
jb 0x1800be973
cmp qword [rbp + 0xb0], 0x10
lea r9, [rbp + 0x98]
mov qword [rsp + 0x30], rdx
lea rax, [rbp + 0xf8]
cmovae r9, qword [rbp + 0x98]
cmp qword [rbp + 0x110], 0x10
mov qword [rsp + 0x858], rbx
cmovae rax, qword [rbp + 0xf8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x40]
call fcn.1800c3cb0
cmp qword [rsp + 0x58], 0x10
lea rcx, [rsp + 0x40]
cmovae rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ebx, eax
cmp eax, 0xffffffff
jne 0x1800bd423
mov bl, 1
jmp 0x1800bd42b
shr bl, 4
not bl
and bl, 1
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x1800bd468
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800bd463
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800be979
call fcn.1800ce78c
test bl, bl
je 0x1800bd52a
mov rcx, qword [rbp + 0xa8]
mov rax, r12
mov rdx, qword [rbp + 0x108]
sub rax, rcx
cmp rax, rdx
jb 0x1800be97f
cmp qword [rbp + 0xb0], 0x10
lea r9, [rbp + 0x98]
mov qword [rsp + 0x30], rdx
lea rax, [rbp + 0xf8]
cmovae r9, qword [rbp + 0x98]
cmp qword [rbp + 0x110], 0x10
cmovae rax, qword [rbp + 0xf8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x40]
call fcn.1800c3cb0
cmp qword [rsp + 0x58], 0x10
lea rcx, [rsp + 0x40]
cmovae rcx, qword [rsp + 0x40]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x1800bd52a
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800bd525
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800be985
call fcn.1800ce78c
mov rax, qword [rbp + 0x88]
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], 0xf
lea rcx, [rax - 1]
cmp rax, rcx
jb 0x1800be98b
sub rax, rcx
lea rdx, [rbp + 0x78]
mov r8d, 1
cmp rax, r8
cmovb r8, rax
cmp qword [rbp + 0x90], 0x10
cmovae rdx, qword [rbp + 0x78]
add rdx, rcx
lea rcx, [rsp + 0x40]
call fcn.1800c1060
mov rdx, qword [rsp + 0x58]
lea rax, [rsp + 0x40]
mov rcx, qword [rsp + 0x40]
cmp rdx, 0x10
cmovae rax, rcx
cmp qword [rsp + 0x50], 1
jne 0x1800bd5a7
cmp byte [rax], 0x5c
jne 0x1800bd5a7
xor bl, bl
jmp 0x1800bd5a9
mov bl, 1
mov qword [rsp + 0x868], r13
mov qword [rsp + 0x820], r14
cmp rdx, 0x10
jb 0x1800bd5ec
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800bd5e7
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800be955
call fcn.1800ce78c
mov rcx, qword [rbp + 0x88]
mov rax, r12
sub rax, rcx
test bl, bl
je 0x1800bd619
cmp rax, 2
jb 0x1800be95b
mov qword [rsp + 0x30], 2
lea rax, [0x180116238]
jmp 0x1800bd633
cmp rax, 1
jb 0x1800be95b
mov qword [rsp + 0x30], 1
lea rax, [0x18010f748]
cmp qword [rbp + 0x90], 0x10
lea r9, [rbp + 0x78]
mov qword [rsp + 0x28], rax
cmovae r9, qword [rbp + 0x78]
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x78]
call fcn.1800c3cb0
mov rdx, qword [rbp + 0x90]
cmp rdx, 0x10
jb 0x1800bd695
mov rcx, qword [rbp + 0x78]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800bd690
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800be955
call fcn.1800ce78c
movups xmm1, xmmword [rbp - 0x68]
lea rcx, [rbp + 0x78]
movups xmm0, xmmword [rbp - 0x78]
lea rdx, [rbp + 0x1d0]
movups xmmword [rbp + 0x88], xmm1
cmp qword [rbp + 0x90], 0x10
movups xmmword [rbp + 0x78], xmm0
cmovae rcx, qword [rbp + 0x78]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov rbx, rax
mov qword [rbp - 0x58], rax
mov dword [rsp + 0x60], r15d
mov qword [rbp + 0x158], r15
lea rax, [rbp + 0x1fc]
mov qword [rbp + 0x168], r15
mov r8, rsi
mov qword [rbp + 0x170], 0xf
inc r8
cmp byte [rax + r8], 0
jne 0x1800bd6f5
lea rdx, [rbp + 0x1fc]
lea rcx, [rbp + 0x158]
call fcn.1800c1060
test byte [rbp + 0x1d0], 0x10
jne 0x1800be110
mov rax, qword [rbp + 0x88]
lea rdx, [rbp + 0x78]
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], 0xf
lea r8, [rax - 2]
cmp rax, r8
cmovb r8, rax
cmp qword [rbp + 0x90], 0x10
cmovae rdx, qword [rbp + 0x78]
call fcn.1800c1060
mov r8d, 1
lea rdx, [0x1801160b8]
lea rcx, [rsp + 0x40]
call fcn.1800c0730
cmp qword [rbp + 0x170], 0x10
lea rdx, [rbp + 0x158]
mov r8, qword [rbp + 0x168]
lea rcx, [rsp + 0x68]
cmovae rdx, qword [rbp + 0x158]
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x78], r15
mov qword [rbp - 0x80], r15
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x68], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x78], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
call fcn.1800c0730
mov qword [rbp + 0xd8], r15
mov qword [rbp + 0xe8], r15
mov qword [rbp + 0xf0], r15
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xd8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xe8], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rbp - 0x80]
cmp rdx, 0x10
jb 0x1800bd841
mov rcx, qword [rsp + 0x68]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800bd83c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800be991
call fcn.1800ce78c
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0x78], r15
mov qword [rbp - 0x80], 0xf
mov byte [rsp + 0x68], 0
cmp rdx, 0x10
jb 0x1800bd890
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800bd88b
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800be991
call fcn.1800ce78c
cmp qword [rbp + 0xf0], 0x10
lea r14, [rbp + 0xd8]
mov rsi, qword [rbp + 0xe8]
cmovae r14, qword [rbp + 0xd8]
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x78], r15
mov qword [rbp - 0x80], r15
cmp rsi, 0x10
jae 0x1800bd8d5
movups xmm0, xmmword [r14]
mov qword [rbp - 0x80], 0xf
movups xmmword [rsp + 0x68], xmm0
jmp 0x1800bd946
mov rbx, rsi
or rbx, 0xf
cmp rbx, r12
cmova rbx, r12
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x1800bd91f
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1800be99d
mov rcx, rax
call fcn.1800ce794
mov rcx, rax
test rax, rax
je 0x1800be997
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x1800bd92e
test rcx, rcx
je 0x1800bd92b
call fcn.1800ce794
jmp 0x1800bd92e
mov rax, r15
lea r8, [rsi + 1]
mov qword [rsp + 0x68], rax
mov rdx, r14
mov rcx, rax
call fcn.1800d1860
mov qword [rbp - 0x80], rbx
lea rdx, [rsp + 0x68]
mov qword [rsp + 0x78], rsi
lea rcx, [rbp - 0x50]
call fcn.1800bcd60
mov rdx, rax
lea rcx, [rbp + 0xb8]
call fcn.18008a530
mov rsi, qword [0x18012af68]
lea r14, [0x18012af58]
or edi, 1
cmp qword [0x18012af70], 0x10
cmovae r14, qword [0x18012af58]
cmp rsi, 0x10
jae 0x1800bd9a3
movups xmm0, xmmword [r14]
mov qword [rsp + 0x58], 0xf
movups xmmword [rsp + 0x40], xmm0
jmp 0x1800bda15
mov rbx, rsi
or rbx, 0xf
cmp rbx, r12
cmova rbx, r12
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x1800bd9ed
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1800be9a3
mov rcx, rax
call fcn.1800ce794
mov rcx, rax
test rax, rax
je 0x1800be9a9
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x1800bd9fc
test rcx, rcx
je 0x1800bd9f9
call fcn.1800ce794
jmp 0x1800bd9fc
mov rax, r15
lea r8, [rsi + 1]
mov qword [rsp + 0x40], rax
mov rdx, r14
mov rcx, rax
call fcn.1800d1860
mov qword [rsp + 0x58], rbx
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x50], rsi
lea rcx, [rbp - 0x50]
call fcn.18008aa40
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x1800bda35
mov rdx, qword [rax]
mov r13, qword [rbp + 0xd0]
lea rcx, [rbp + 0xb8]
mov r15, qword [rbp + 0xb8]
cmp r13, 0x10
mov rbx, qword [rbp + 0xc8]
cmovae rcx, r15
cmp rbx, qword [rax + 0x10]
jne 0x1800bda6f
mov r8, rbx
call fcn.1800d2c30
test eax, eax
je 0x1800bdbaf
lea rdx, [0x18012b9d8]
or edi, 2
lea rcx, [rbp + 0x38]
call fcn.1800c0900
mov rdx, rax
lea rcx, [rbp - 0x78]
call fcn.18008aa40
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x1800bda9b
mov rdx, qword [rax]
cmp r13, 0x10
lea rcx, [rbp + 0xb8]
cmovae rcx, r15
cmp rbx, qword [rax + 0x10]
jne 0x1800bdac0
mov r8, rbx
call fcn.1800d2c30
test eax, eax
je 0x1800bdbaf
lea rdx, [0x18012b2b8]
or edi, 4
lea rcx, [rbp + 0x58]
call fcn.1800c0900
mov rdx, rax
lea rcx, [rbp - 8]
call fcn.18008aa40
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x1800bdaec
mov rdx, qword [rax]
cmp r13, 0x10
lea rcx, [rbp + 0xb8]
cmovae rcx, r15
cmp rbx, qword [rax + 0x10]
jne 0x1800bdb11
mov r8, rbx
call fcn.1800d2c30
test eax, eax
je 0x1800bdbaf
lea rdx, [0x18012b0b8]
or edi, 8
lea rcx, [rbp + 0x198]
call fcn.1800c0900
mov rdx, rax
lea rcx, [rbp - 0x28]
call fcn.18008aa40
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x1800bdb40
mov rdx, qword [rax]
cmp r13, 0x10
lea rcx, [rbp + 0xb8]
cmovae rcx, r15
cmp rbx, qword [rax + 0x10]
jne 0x1800bdb61
mov r8, rbx
call fcn.1800d2c30
test eax, eax
je 0x1800bdbaf
lea rdx, [0x18012ae58]
or edi, 0x10
lea rcx, [rbp + 0x18]
call fcn.1800c0900
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.18008aa40
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x1800bdb8e
mov rdx, qword [rax]
cmp r13, 0x10
lea rcx, [rbp + 0xb8]
cmovae rcx, r15
cmp rbx, qword [rax + 0x10]
jne 0x1800bdbb3
mov r8, rbx
call fcn.1800d2c30
test eax, eax
jne 0x1800bdbb3
mov bl, 1
jmp 0x1800bdbb5
xor bl, bl
test dil, 0x10
je 0x1800bdc10
mov rdx, qword [rbp - 0x80]
and edi, 0xffffffef
cmp rdx, 0x10
jb 0x1800bdbfa
mov rcx, qword [rsp + 0x68]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800bdbf5
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800be9a9
call fcn.1800ce78c
xor esi, esi
mov qword [rbp - 0x80], 0xf
mov qword [rsp + 0x78], rsi
mov byte [rsp + 0x68], sil
jmp 0x1800bdc12
xor esi, esi
test dil, 8
je 0x1800bdc66
mov rdx, qword [rbp - 0x10]
and edi, 0xfffffff7
cmp rdx, 0x10
jb 0x1800bdc56
mov rcx, qword [rbp - 0x28]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800bdc51
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800be9a9
call fcn.1800ce78c
mov qword [rbp - 0x18], rsi
mov qword [rbp - 0x10], 0xf
mov byte [rbp - 0x28], 0
test dil, 4
je 0x1800bdcba
mov rdx, qword [rbp + 0x10]
and edi, 0xfffffffb
cmp rdx, 0x10
jb 0x1800bdcaa
mov rcx, qword [rbp - 8]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800bdca5
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800be9a9
call fcn.1800ce78c
mov qword [rbp + 8], rsi
mov qword [rbp + 0x10], 0xf
mov byte [rbp - 8], 0
test dil, 2
je 0x1800bdd0e
mov rdx, qword [rbp - 0x60]
and edi, 0xfffffffd
cmp rdx, 0x10
jb 0x1800bdcfe
mov rcx, qword [rbp - 0x78]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800bdcf9
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800be9a9
call fcn.1800ce78c
mov qword [rbp - 0x68], rsi
mov qword [rbp - 0x60], 0xf
mov byte [rbp - 0x78], 0
mov rdx, qword [rbp - 0x38]
and edi, 0xfffffffe
cmp rdx, 0x10
jb 0x1800bdd4c
mov rcx, qword [rbp - 0x50]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800bdd47
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800be9a9
call fcn.1800ce78c
test bl, bl
je 0x1800be080
mov rsi, qword [rbp + 0xe8]
lea r14, [rbp + 0xd8]
xor ebx, ebx
cmp qword [rbp + 0xf0], 0x10
mov qword [rsp + 0x68], rbx
cmovae r14, qword [rbp + 0xd8]
mov qword [rsp + 0x78], rbx
mov qword [rbp - 0x80], rbx
cmp rsi, 0x10
jae 0x1800bdd9b
movups xmm0, xmmword [r14]
mov qword [rbp - 0x80], 0xf
movups xmmword [rsp + 0x68], xmm0
jmp 0x1800bde0d
mov rbx, rsi
or rbx, 0xf
cmp rbx, r12
cmova rbx, r12
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x1800bdde5
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1800be9b5
mov rcx, rax
call fcn.1800ce794
mov rcx, rax
test rax, rax
je 0x1800be9af
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x1800bddf3
test rcx, rcx
je 0x1800bddf1
call fcn.1800ce794
jmp 0x1800bddf3
xor eax, eax
lea r8, [rsi + 1]
mov qword [rsp + 0x68], rax
mov rdx, r14
mov rcx, rax
call fcn.1800d1860
mov qword [rbp - 0x80], rbx
xor ebx, ebx
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x78], rsi
call fcn.18008b3d0
cmp eax, 0x32000
jge 0x1800be080
cmp qword [rbp + 0xf0], 0x10
lea r14, [rbp + 0xd8]
mov rsi, qword [rbp + 0xe8]
cmovae r14, qword [rbp + 0xd8]
mov qword [rbp + 0xb8], rbx
mov qword [rbp + 0xc8], rbx
mov qword [rbp + 0xd0], rbx
cmp rsi, 0x10
jae 0x1800bde78
movups xmm0, xmmword [r14]
mov qword [rbp + 0xd0], 0xf
movups xmmword [rbp + 0xb8], xmm0
jmp 0x1800bdeef
mov rbx, rsi
or rbx, 0xf
cmp rbx, r12
cmova rbx, r12
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x1800bdec2
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1800be9bb
mov rcx, rax
call fcn.1800ce794
mov rcx, rax
test rax, rax
je 0x1800be9c1
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x1800bded0
test rcx, rcx
je 0x1800bdece
call fcn.1800ce794
jmp 0x1800bded0
xor eax, eax
lea r8, [rsi + 1]
mov qword [rbp + 0xb8], rax
mov rdx, r14
mov rcx, rax
call fcn.1800d1860
mov qword [rbp + 0xd0], rbx
xor ebx, ebx
mov rcx, qword [rbp + 0xa8]
mov rax, r12
mov rdx, qword [rbp + 0x108]
sub rax, rcx
mov qword [rbp + 0xc8], rsi
cmp rax, rdx
jb 0x1800be9c7
cmp qword [rbp + 0xb0], 0x10
lea r9, [rbp + 0x98]
mov qword [rsp + 0x30], rdx
lea rax, [rbp + 0xf8]
cmovae r9, qword [rbp + 0x98]
cmp qword [rbp + 0x110], 0x10
cmovae rax, qword [rbp + 0xf8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x78]
call fcn.1800c3cb0
lea rdx, [rbp + 0xb8]
lea rcx, [rbp - 0x50]
call fcn.1800bcef0
mov r9, rax
lea r8, [rbp - 0x78]
lea rcx, [rsp + 0x40]
call fcn.1800c3ac0
cmp qword [rsp + 0x58], 0x10
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0xd8]
mov r8d, 1
cmovae rdx, qword [rsp + 0x40]
cmp qword [rbp + 0xf0], 0x10
cmovae rcx, qword [rbp + 0xd8]
call qword [sym.imp.KERNEL32.dll_CopyFileA]
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x1800bdfeb
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800bdfe6
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800be9c1
call fcn.1800ce78c
mov rdx, qword [rbp - 0x60]
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], 0
cmp rdx, 0x10
jb 0x1800be039
mov rcx, qword [rbp - 0x78]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800be034
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800be9c1
call fcn.1800ce78c
mov rdx, qword [rbp - 0x38]
cmp rdx, 0x10
jb 0x1800be074
mov rcx, qword [rbp - 0x50]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800be06f
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800be9c1
call fcn.1800ce78c
mov eax, dword [rsp + 0x60]
inc eax
mov dword [rsp + 0x60], eax
jmp 0x1800be084
mov eax, dword [rsp + 0x60]
cmp eax, 0x14
je 0x1800be16e
cmp r13, 0x10
jb 0x1800be0c4
lea rdx, [r13 + 1]
mov rax, r15
cmp rdx, 0x1000
jb 0x1800be0bc
mov r15, qword [r15 - 8]
add rdx, 0x27
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800be9cd
mov rcx, r15
call fcn.1800ce78c
mov rdx, qword [rbp + 0xf0]
cmp rdx, 0x10
jb 0x1800be105
mov rcx, qword [rbp + 0xd8]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800be100
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800be9cd
call fcn.1800ce78c
mov rbx, qword [rbp - 0x58]
xor r15d, r15d
lea rsi, [r15 - 1]
mov rdx, qword [rbp + 0x170]
cmp rdx, 0x10
jb 0x1800be151
mov rcx, qword [rbp + 0x158]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800be14c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800be955
call fcn.1800ce78c
lea rdx, [rbp + 0x1d0]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x1800bd6d2
jmp 0x1800be247
cmp r13, 0x10
jb 0x1800be1a5
lea rdx, [r13 + 1]
mov rax, r15
cmp rdx, 0x1000
jb 0x1800be19d
mov r15, qword [r15 - 8]
add rdx, 0x27
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800be9cd
mov rcx, r15
call fcn.1800ce78c
mov rdx, qword [rbp + 0xf0]
cmp rdx, 0x10
jb 0x1800be1e6
mov rcx, qword [rbp + 0xd8]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800be1e1
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800be9cd
call fcn.1800ce78c
mov rdx, qword [rbp + 0x170]
xor r15d, r15d
mov qword [rbp + 0xe8], r15
mov qword [rbp + 0xf0], 0xf
mov byte [rbp + 0xd8], r15b
cmp rdx, 0x10
jb 0x1800be243
mov rcx, qword [rbp + 0x158]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800be23e
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800be9cd
call fcn.1800ce78c
mov rbx, qword [rbp - 0x58]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindClose]
mov rcx, qword [rbp + 0xa8]
mov rax, r12
mov rdx, qword [rbp + 0x108]
sub rax, rcx
cmp rax, rdx
jb 0x1800be9d3
cmp qword [rbp + 0xb0], 0x10
lea r9, [rbp + 0x98]
mov qword [rsp + 0x30], rdx
lea rax, [rbp + 0xf8]
cmovae r9, qword [rbp + 0x98]
cmp qword [rbp + 0x110], 0x10
cmovae rax, qword [rbp + 0xf8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x78]
call fcn.1800c3cb0
cmp qword [rbp - 0x60], 0x10
lea rcx, [rbp - 0x78]
cmovae rcx, qword [rbp - 0x78]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ebx, eax
cmp eax, 0xffffffff
jne 0x1800be2d2
xor bl, bl
jmp 0x1800be2d8
shr bl, 4
and bl, 1
mov rdx, qword [rbp - 0x60]
cmp rdx, 0x10
jb 0x1800be313
mov rcx, qword [rbp - 0x78]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800be30e
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800be9d9
call fcn.1800ce78c
test bl, bl
je 0x1800be4a3
cmp qword [rbp + 0x130], 0x10
lea rsi, [rbp + 0x118]
mov rdi, qword [rbp + 0x128]
cmovae rsi, qword [rbp + 0x118]
cmp rdi, 0x10
jae 0x1800be352
movups xmm0, xmmword [rsi]
mov qword [rsp + 0x58], 0xf
movups xmmword [rsp + 0x40], xmm0
jmp 0x1800be3c4
mov rbx, rdi
or rbx, 0xf
cmp rbx, r12
cmova rbx, r12
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x1800be39c
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1800be9df
mov rcx, rax
call fcn.1800ce794
mov rcx, rax
test rax, rax
je 0x1800be955
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x1800be3ab
test rcx, rcx
je 0x1800be3a8
call fcn.1800ce794
jmp 0x1800be3ab
mov rax, r15
lea r8, [rdi + 1]
mov qword [rsp + 0x40], rax
mov rdx, rsi
mov rcx, rax
call fcn.1800d1860
mov qword [rsp + 0x58], rbx
mov rcx, qword [rbp + 0xa8]
mov rax, r12
mov rdx, qword [rbp + 0x108]
sub rax, rcx
mov qword [rsp + 0x50], rdi
cmp rax, rdx
jb 0x1800be95b
cmp qword [rbp + 0xb0], 0x10
lea r9, [rbp + 0x98]
mov qword [rsp + 0x30], rdx
lea rax, [rbp + 0xf8]
cmovae r9, qword [rbp + 0x98]
cmp qword [rbp + 0x110], 0x10
cmovae rax, qword [rbp + 0xf8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x50]
call fcn.1800c3cb0
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x50]
call fcn.18008cfa0
mov rcx, qword [rbp + 0xa8]
mov rdx, qword [rbp + 0x108]
sub r12, rcx
cmp r12, rdx
jb 0x1800be9e5
cmp qword [rbp + 0xb0], 0x10
lea r9, [rbp + 0x98]
mov qword [rsp + 0x30], rdx
lea rax, [rbp + 0xf8]
cmovae r9, qword [rbp + 0x98]
cmp qword [rbp + 0x110], 0x10
cmovae rax, qword [rbp + 0xf8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x50]
call fcn.1800c3cb0
lea rcx, [rbp - 0x50]
call fcn.18008da20
cmp qword [rbp + 0x130], 0x10
lea rcx, [rbp + 0x118]
lea rdx, [0x180116130]
cmovae rcx, qword [rbp + 0x118]
call fcn.1800da3c8
test rax, rax
je 0x1800be71e
mov rcx, rax
call fcn.1800da458
lea rdx, [rbp + 0x118]
lea rcx, [rbp + 0x18]
call fcn.1800c0900
mov rbx, rax
mov rcx, rax
cmp qword [rax + 0x18], 0x10
jb 0x1800be4f7
mov rcx, qword [rax]
lea rdx, [rbp + 0x198]
call fcn.1800dc7d8
mov rdx, qword [rbx + 0x18]
test eax, eax
mov rdi, 0xffffffffffffffff
cmove edi, dword [rbp + 0x1ac]
cmp rdx, 0x10
jb 0x1800be54d
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x1800be548
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1800be9f1
mov rcx, r8
call fcn.1800ce78c
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
cmp edi, 1
jle 0x1800be702
mov rdi, qword [rbp - 0x30]
mov rdx, rdi
mov rax, qword [rdi + 0x18]
cmp rax, 0x10
jb 0x1800be579
mov rdx, qword [rdi]
mov rcx, qword [rdi + 0x10]
cmp rcx, 1
jne 0x1800be5c1
cmp byte [rdx], 0x30
jne 0x1800be5c1
lea rdx, [rbp + 0x138]
lea rcx, [rbp + 0x18]
call fcn.1800c0900
lea rdx, [rbp + 0x118]
mov rbx, rax
lea rcx, [rbp + 0x198]
call fcn.1800c0900
mov rcx, rax
mov rdx, rbx
call fcn.18008d280
mov rax, qword [rdi + 0x18]
mov rcx, qword [rdi + 0x10]
mov rdx, rdi
cmp rax, 0x10
jb 0x1800be5cd
mov rdx, qword [rdi]
cmp rcx, 1
jne 0x1800be702
cmp byte [rdx], 0x31
jne 0x1800be702
lea rcx, [rbp - 0x50]
call fcn.18008c900
cmp qword [rbp + 0x150], 0x10
lea rdx, [rbp + 0x138]
mov r8, qword [rbp + 0x148]
mov rcx, rax
cmovae rdx, qword [rbp + 0x138]
call fcn.1800c0730
lea rdx, [rbp + 0xb8]
mov r8d, 1
lea rcx, [rbp + 0x118]
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xb8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xc8], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
cmp qword [rbp + 0xd0], 0x10
cmovae rdx, qword [rbp + 0xb8]
cmp qword [rbp + 0x130], 0x10
cmovae rcx, qword [rbp + 0x118]
call qword [sym.imp.KERNEL32.dll_CopyFileA]
mov rdx, qword [rbp + 0xd0]
cmp rdx, 0x10
jb 0x1800be6ae
mov rcx, qword [rbp + 0xb8]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800be6a9
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800be9eb
call fcn.1800ce78c
mov rdx, qword [rbp - 0x38]
mov qword [rbp + 0xc8], r15
mov qword [rbp + 0xd0], 0xf
mov byte [rbp + 0xb8], 0
cmp rdx, 0x10
jb 0x1800be702
mov rcx, qword [rbp - 0x50]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800be6fd
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800be9eb
call fcn.1800ce78c
cmp qword [rbp + 0x130], 0x10
lea rcx, [rbp + 0x118]
cmovae rcx, qword [rbp + 0x118]
call fcn.1800da634
mov rdx, qword [rbp + 0x110]
cmp rdx, 0x10
jb 0x1800be75f
mov rcx, qword [rbp + 0xf8]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800be75a
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800be955
call fcn.1800ce78c
mov rdx, qword [rbp + 0xb0]
cmp rdx, 0x10
jb 0x1800be7a0
mov rcx, qword [rbp + 0x98]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800be79b
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800be955
call fcn.1800ce78c
mov rdx, qword [rbp + 0x130]
cmp rdx, 0x10
jb 0x1800be7e1
mov rcx, qword [rbp + 0x118]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800be7dc
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800be955
call fcn.1800ce78c
mov rdx, qword [rbp + 0x150]
mov qword [rbp + 0x128], r15
mov qword [rbp + 0x130], 0xf
mov byte [rbp + 0x118], 0
cmp rdx, 0x10
jb 0x1800be83b
mov rcx, qword [rbp + 0x138]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800be836
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800be955
call fcn.1800ce78c
mov rdx, qword [rbp + 0x190]
cmp rdx, 0x10
jb 0x1800be87c
mov rcx, qword [rbp + 0x178]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800be877
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800be955
call fcn.1800ce78c
mov rdx, qword [rbp + 0x90]
cmp rdx, 0x10
jb 0x1800be8ba
mov rcx, qword [rbp + 0x78]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800be8b5
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800be955
call fcn.1800ce78c
mov rbx, qword [rbp - 0x30]
mov qword [rbp + 0x88], r15
mov qword [rbp + 0x90], 0xf
mov byte [rbp + 0x78], 0
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x1800be90a
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x1800be905
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1800be955
mov rcx, r8
call fcn.1800ce78c
mov r13, qword [rsp + 0x868]
mov r14, qword [rsp + 0x820]
mov r12, qword [rsp + 0x860]
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
mov rbx, qword [rsp + 0x858]
mov rcx, qword [rbp + 0x710]
xor rcx, rsp
call fcn.1800ce4d0
add rsp, 0x828
pop r15
pop rdi
pop rsi
pop rbp
ret
call fcn.1800dd818
int3
call fcn.180088c70
int3
call fcn.1800dd818
int3
call fcn.1800dd818
int3
call fcn.1800dd818
int3
call fcn.180088c70
int3
call fcn.1800dd818
int3
call fcn.180088c70
int3
call fcn.1800dd818
int3
call fcn.1800c1310
int3
call fcn.1800dd818
int3
call fcn.1800dd818
int3
call fcn.180088bd0
int3
call fcn.180088bd0
int3
call fcn.1800dd818
int3
call fcn.1800dd818
int3
call fcn.180088bd0
int3
call fcn.180088bd0
int3
call fcn.1800dd818
int3
call fcn.180088c70
int3
call fcn.1800dd818
int3
call fcn.180088c70
int3
call fcn.1800dd818
int3
call fcn.180088bd0
int3
call fcn.180088c70
int3
call fcn.1800dd818
int3
call fcn.1800dd818
int3