Function at 0x18005c470
Capabilities:
Create directory
Get common file path

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push r12
push r13
push r14
lea rbp, [rsp - 0x30]
sub rsp, 0x130
mov rax, qword [0x18026b028]
xor rax, rsp
mov qword [rbp + 0x20], rax
xor r9d, r9d
lea r14, [0x1803a0100]
mov rsi, rcx
mov qword [rsp + 0x20], r14
xor r8d, r8d
xor ecx, ecx
lea edx, [r9 + 5]
call qword [sym.imp.SHELL32.dll_SHGetFolderPathA]
test eax, eax
js 0x18005c91f
movabs r12, 0x59845f6e33e09b9c
movabs r13, 0x323f21ab63c1a381
mov qword [rsp + 0x30], r13
mov rbx, 0xffffffffffffffff
mov rax, qword [rsp + 0x30]
mov r8, rbx
mov qword [rsp + 0x40], rax
movabs rax, 0x13921eda6ac96a63
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x48], rax
movabs rax, 0x8e78c62370f2369c
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x30], r12
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x58], rax
movabs rax, 0x46564fd906b5c6dd
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x60], rax
movabs rax, 0x74fb78b4058a361a
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x68], rax
movabs rax, 0x8e78c62370f26aef
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x30], r12
mov rax, qword [rsp + 0x30]
movdqa xmm0, xmmword [rsp + 0x40]
movdqa xmm1, xmmword [rsp + 0x50]
xorps xmm0, xmmword [rsp + 0x60]
mov qword [rsp + 0x78], rax
xorps xmm1, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x40], xmm0
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x50], xmm1
xorps xmm1, xmm1
movups xmmword [rbp - 0x60], xmm0
movdqu xmmword [rbp - 0x50], xmm1
nop dword [rax]
inc r8
cmp byte [r14 + r8], 0
jne 0x18005c5c0
mov rdx, r14
lea rcx, [rbp - 0x60]
call fcn.180069fd0
lea rax, [rsp + 0x40]
mov r8, rbx
nop
inc r8
cmp byte [rax + r8], 0
jne 0x18005c5e0
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x60]
call fcn.180063f90
lea rdx, [rbp - 0x40]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x30], xmm1
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rcx, qword [rsi]
call fcn.180061cb0
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x18005c661
mov rcx, qword [rbp - 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005c65c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005c95e
call fcn.18015cfec
mov rdx, qword [rbp - 0x48]
movdqa xmm0, xmmword [0x18024db50]
mov byte [rbp - 0x40], 0
movdqu xmmword [rbp - 0x30], xmm0
cmp rdx, 0x10
jb 0x18005c6ad
mov rcx, qword [rbp - 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005c6a8
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005c95e
call fcn.18015cfec
movdqa xmm0, xmmword [0x18024db50]
mov r8, rbx
movdqu xmmword [rbp - 0x50], xmm0
mov byte [rbp - 0x60], 0
mov qword [rsp + 0x168], rdi
mov rdi, qword [rsi + 0x10]
mov qword [rsp + 0x30], r13
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x40], rax
movabs rax, 0x13921eda6ac96a63
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x48], rax
movabs rax, 0x8e78c62370f2369c
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x30], r12
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x58], rax
movabs rax, 0x46564fd906b5c6dd
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp], rax
movabs rax, 0x74fb78b4058a361a
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp + 8], rax
movabs rax, 0x8e78c62370f26aef
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp + 0x10], rax
mov qword [rsp + 0x30], r12
mov rax, qword [rsp + 0x30]
movdqa xmm0, xmmword [rsp + 0x40]
movdqa xmm1, xmmword [rsp + 0x50]
xorps xmm0, xmmword [rbp]
mov qword [rbp + 0x18], rax
xorps xmm1, xmmword [rbp + 0x10]
movdqa xmmword [rsp + 0x50], xmm1
xorps xmm1, xmm1
movdqa xmmword [rsp + 0x40], xmm0
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x10], xmm1
movups xmmword [rbp - 0x20], xmm0
inc r8
cmp byte [r14 + r8], 0
jne 0x18005c7a2
mov rdx, r14
lea rcx, [rbp - 0x20]
call fcn.180069fd0
lea rax, [rsp + 0x40]
nop dword [rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x18005c7c0
mov r8, rbx
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x20]
call fcn.180063f90
xorps xmm0, xmm0
xorps xmm1, xmm1
movups xmmword [rbp - 0x80], xmm0
movdqu xmmword [rbp - 0x70], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x70], xmm1
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
cmp qword [rdi + 0x18], 0x10
mov r8, qword [rdi + 0x10]
jb 0x18005c819
mov rdi, qword [rdi]
mov rdx, rdi
lea rcx, [rbp - 0x80]
call fcn.180063f90
lea rdx, [rsp + 0x60]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm1
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rcx, qword [rsi + 8]
call fcn.180061cb0
mov rdx, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x168]
cmp rdx, 0x10
jb 0x18005c89c
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005c897
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005c958
call fcn.18015cfec
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x18005c8d7
mov rcx, qword [rbp - 0x80]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005c8d2
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005c958
call fcn.18015cfec
mov rdx, qword [rbp - 8]
movdqa xmm0, xmmword [0x18024db50]
mov byte [rbp - 0x80], 0
movdqu xmmword [rbp - 0x70], xmm0
cmp rdx, 0x10
jb 0x18005c91f
mov rcx, qword [rbp - 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005c91a
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005c958
call fcn.18015cfec
mov rcx, qword [rsi]
cmp qword [rcx + 0x18], 0x10
jb 0x18005c92c
mov rcx, qword [rcx]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
call fcn.18015cd30
mov rbx, qword [rsp + 0x170]
add rsp, 0x130
pop r14
pop r13
pop r12
pop rsi
pop rbp
ret
call fcn.18016c8a4
int3
call fcn.18016c8a4
int3