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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r12
push r13
push r14
lea rbp, [rsp - 0x890]
sub rsp, 0x990
mov rdi, rcx
xor ebx, ebx
mov rsi, qword [rcx + 0x10]
mov r14, qword [rcx + 0x18]
lea r13d, [rbx + 0xf]
cmp r14, r13
jbe 0x180062f36
mov rcx, qword [rcx]
cmp rsi, 7
jne 0x18006339d
mov r8, rsi
lea rdx, [0x1800a6430]
call fcn.18009f520
test eax, eax
jne 0x18006339d
lea rax, [rbp + 0x340]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea edx, [rsi + 0x13]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathA]
mov edi, 0x1000
test eax, eax
js 0x1800632e0
xorps xmm0, xmm0
movups xmmword [rbp + 0x150], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x160], xmm1
lea rax, [rbp + 0x340]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], bl
jne 0x180062fa1
lea rdx, [rbp + 0x340]
lea rcx, [rbp + 0x150]
call fcn.180030d20
nop
mov r8d, 0x11
lea rdx, str.ObstructionCS2_
lea rcx, [rbp + 0x150]
call fcn.1800520b0
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rbx
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x30], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x40], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], r13
mov byte [rax], bl
mov rdx, qword [rbp + 0x168]
cmp rdx, r13
jbe 0x180063040
inc rdx
mov rcx, qword [rbp + 0x150]
mov rax, rcx
cmp rdx, rdi
jb 0x18006303b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006427a
call fcn.18006ef80
movdqa xmm0, xmmword [0x1800e0d50]
movdqu xmmword [rbp + 0x160], xmm0
mov byte [rbp + 0x150], bl
mov rsi, rbx
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x60], rbx
mov qword [rbp - 0x58], r13
mov byte [rbp - 0x70], bl
mov r14b, 1
lea rcx, [rsp + 0x30]
cmp qword [rsp + 0x48], r13
seta r12b
cmova rcx, qword [rsp + 0x30]
mov qword [rsp + 0x20], 2
lea r9, [0x1800dd24c]
mov r8, rsi
mov rdx, qword [rsp + 0x40]
call fcn.180045b50
mov rsi, rax
cmp rax, 0xffffffffffffffff
je 0x18006327d
mov r8, rax
inc rsi
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], rbx
mov qword [rbp - 0x18], rbx
cmp qword [rsp + 0x40], rax
cmovb r8, qword [rsp + 0x40]
lea rdx, [rsp + 0x30]
test r12b, r12b
cmovne rdx, qword [rsp + 0x30]
lea rcx, [rbp - 0x30]
call fcn.180030d20
mov rdx, qword [rbp - 0x58]
cmp rdx, r13
jbe 0x180063119
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, rdi
jb 0x180063114
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180064280
call fcn.18006ef80
movups xmm1, xmmword [rbp - 0x30]
movups xmmword [rbp - 0x70], xmm1
movups xmm0, xmmword [rbp - 0x20]
movups xmmword [rbp - 0x60], xmm0
test r14b, r14b
je 0x180063136
mov r14b, bl
jmp 0x18006306e
movq rax, xmm0
test rax, rax
je 0x18006306e
lea rcx, [rbp - 0x70]
movq rdx, xmm1
psrldq xmm0, 8
movq rax, xmm0
cmp rax, r13
cmova rcx, rdx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
jne 0x18006306e
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x18006306e
lea rdx, str.Failed_to_create_directory:
lea rcx, [0x180592690]
call fcn.180042628
lea rdx, [rbp - 0x70]
cmp qword [rbp - 0x58], r13
cmova rdx, qword [rbp - 0x70]
mov r8, qword [rbp - 0x60]
mov rcx, rax
call fcn.180044cb0
mov rcx, rax
call fcn.180047e10
nop
mov rdx, qword [rbp - 0x58]
cmp rdx, r13
jbe 0x1800631ea
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, rdi
jb 0x1800631e5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180064286
call fcn.18006ef80
mov qword [rbp - 0x60], rbx
mov qword [rbp - 0x58], r13
mov byte [rbp - 0x70], bl
lea rdx, str.____Failed_to_create_directory_path:
lea rcx, [0x180592690]
call fcn.180042628
lea rdx, [rsp + 0x30]
cmp qword [rsp + 0x48], r13
cmova rdx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x40]
mov rcx, rax
call fcn.180044cb0
mov rcx, rax
call fcn.180047e10
xorps xmm0, xmm0
movups xmmword [rbp + 0x50], xmm0
mov qword [rbp + 0x60], rbx
mov qword [rbp + 0x68], r13
mov byte [rbp + 0x50], bl
mov rdx, qword [rsp + 0x48]
cmp rdx, r13
jbe 0x1800632d0
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, rdi
jb 0x180063276
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006428c
call fcn.18006ef80
jmp 0x1800632d0
mov rdx, qword [rbp - 0x58]
cmp rdx, r13
jbe 0x1800632b3
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, rdi
jb 0x1800632ae
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180064286
call fcn.18006ef80
mov qword [rbp - 0x60], rbx
mov qword [rbp - 0x58], r13
mov byte [rbp - 0x70], bl
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rbp + 0x50], xmm0
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [rbp + 0x60], xmm1
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], r13
mov byte [rsp + 0x30], bl
jmp 0x18006330d
lea rdx, str.____Failed_to_retrieve_AppData_path.
lea rcx, [0x180592690]
call fcn.180042628
mov rcx, rax
call fcn.180047e10
xorps xmm0, xmm0
movups xmmword [rbp + 0x50], xmm0
mov qword [rbp + 0x60], rbx
mov qword [rbp + 0x68], r13
mov byte [rbp + 0x50], bl
mov r8d, 0x10
lea rdx, str.settings_cs2.ini
lea rcx, [rbp + 0x50]
call fcn.1800520b0
xorps xmm0, xmm0
movups xmmword [rbp + 0xf0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x100], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xf0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x100], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], r13
mov byte [rax], bl
mov rdx, qword [rbp + 0x68]
cmp rdx, r13
jbe 0x18006338d
inc rdx
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, rdi
jb 0x180063388
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006428c
call fcn.18006ef80
mov qword [rbp + 0x60], rbx
mov qword [rbp + 0x68], r13
mov byte [rbp + 0x50], bl
jmp 0x18006410d
mov rcx, rdi
cmp r14, r13
jbe 0x1800633a8
mov rcx, qword [rdi]
cmp rsi, 8
jne 0x1800637df
mov r8, rsi
lea rdx, str.Config_1
call fcn.18009f520
test eax, eax
jne 0x1800637df
lea rax, [rbp + 0x450]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea edx, [rsi + 0x12]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathA]
test eax, eax
js 0x180063755
xorps xmm0, xmm0
movups xmmword [rbp + 0x170], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x180], xmm1
lea rax, [rbp + 0x450]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], bl
jne 0x18006340e
lea rdx, [rbp + 0x450]
lea rcx, [rbp + 0x170]
call fcn.180030d20
nop
mov r8d, 0x11
lea rdx, str.ObstructionCS2_
lea rcx, [rbp + 0x170]
call fcn.1800520b0
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rbx
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x50], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x60], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], r13
mov byte [rax], bl
mov edi, 0x1000
mov rdx, qword [rbp + 0x188]
cmp rdx, r13
jbe 0x1800634b2
inc rdx
mov rcx, qword [rbp + 0x170]
mov rax, rcx
cmp rdx, rdi
jb 0x1800634ad
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180064292
call fcn.18006ef80
movdqa xmm0, xmmword [0x1800e0d50]
movdqu xmmword [rbp + 0x180], xmm0
mov byte [rbp + 0x170], bl
mov rsi, rbx
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x38], r13
mov byte [rbp - 0x50], bl
mov r14b, 1
lea rcx, [rsp + 0x50]
cmp qword [rsp + 0x68], r13
seta r12b
cmova rcx, qword [rsp + 0x50]
mov qword [rsp + 0x20], 2
lea r9, [0x1800dd24c]
mov r8, rsi
mov rdx, qword [rsp + 0x60]
call fcn.180045b50
mov rsi, rax
cmp rax, 0xffffffffffffffff
je 0x1800636ef
mov r8, rax
inc rsi
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], rbx
mov qword [rbp - 0x18], rbx
cmp qword [rsp + 0x60], rax
cmovb r8, qword [rsp + 0x60]
lea rdx, [rsp + 0x50]
test r12b, r12b
cmovne rdx, qword [rsp + 0x50]
lea rcx, [rbp - 0x30]
call fcn.180030d20
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x50]
call fcn.18004eb54
mov rdx, qword [rbp - 0x18]
cmp rdx, r13
jbe 0x180063598
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, rdi
jb 0x180063593
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006429e
call fcn.18006ef80
test r14b, r14b
je 0x1800635a5
mov r14b, bl
jmp 0x1800634e0
cmp qword [rbp - 0x40], rbx
jbe 0x1800634e0
lea rcx, [rbp - 0x50]
cmp qword [rbp - 0x38], r13
cmova rcx, qword [rbp - 0x50]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
jne 0x1800634e0
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x1800634e0
lea rdx, str.Failed_to_create_directory:
lea rcx, [0x180592690]
call fcn.180042628
lea rdx, [rbp - 0x50]
cmp qword [rbp - 0x38], r13
cmova rdx, qword [rbp - 0x50]
mov r8, qword [rbp - 0x40]
mov rcx, rax
call fcn.180044cb0
mov rcx, rax
call fcn.180047e10
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, r13
jbe 0x180063648
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, rdi
jb 0x180063643
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180064274
call fcn.18006ef80
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x38], r13
mov byte [rbp - 0x50], bl
lea rdx, str.____Failed_to_create_directory_path:
lea rcx, [0x180592690]
call fcn.180042628
lea rdx, [rsp + 0x50]
cmp qword [rsp + 0x68], r13
cmova rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x60]
mov rcx, rax
call fcn.180044cb0
mov rcx, rax
call fcn.180047e10
xorps xmm0, xmm0
movups xmmword [rbp + 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x80], xmm1
xor r8d, r8d
lea rdx, [0x1800a54d4]
lea rcx, [rbp + 0x70]
call fcn.180030d20
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, r13
jbe 0x180063745
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, rdi
jb 0x1800636e8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180064298
call fcn.18006ef80
jmp 0x180063745
mov rdx, qword [rbp - 0x38]
cmp rdx, r13
jbe 0x180063725
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, rdi
jb 0x180063720
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180064274
call fcn.18006ef80
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x38], r13
mov byte [rbp - 0x50], bl
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rbp + 0x70], xmm0
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [rbp + 0x80], xmm1
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], r13
mov byte [rsp + 0x50], bl
jmp 0x180063796
lea rdx, str.____Failed_to_retrieve_AppData_path.
lea rcx, [0x180592690]
call fcn.180042628
mov rcx, rax
call fcn.180047e10
xorps xmm0, xmm0
movups xmmword [rbp + 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x80], xmm1
xor r8d, r8d
lea rdx, [0x1800a54d4]
lea rcx, [rbp + 0x70]
call fcn.180030d20
nop
lea r8, str.settings_cs2_1.ini
lea rdx, [rbp + 0x70]
lea rcx, [rbp + 0xf0]
call fcn.18004290c
nop
mov r8, qword [rbp + 0x88]
cmp r8, r13
jbe 0x1800637c7
mov rdx, qword [rbp + 0x70]
lea rcx, [rbp + 0x70]
call fcn.180050e38
movdqa xmm0, xmmword [0x1800e0d50]
movdqu xmmword [rbp + 0x80], xmm0
mov byte [rbp + 0x70], bl
jmp 0x18006410d
mov rcx, rdi
cmp r14, r13
jbe 0x1800637ea
mov rcx, qword [rdi]
cmp rsi, 8
jne 0x180063b15
mov r8, rsi
lea rdx, str.Config_2
call fcn.18009f520
test eax, eax
jne 0x180063b15
lea rax, [rbp + 0x560]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea edx, [rsi + 0x12]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathA]
test eax, eax
js 0x180063a79
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x20], xmm1
lea rax, [rbp + 0x560]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], bl
jne 0x18006384a
lea rdx, [rbp + 0x560]
lea rcx, [rbp - 0x30]
call fcn.180030d20
nop
lea r8, str.ObstructionCS2_
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x10]
call fcn.18004290c
nop
mov r8, qword [rbp - 0x18]
cmp r8, r13
jbe 0x18006388f
mov rdx, qword [rbp - 0x30]
lea rcx, [rbp - 0x30]
call fcn.180050e38
movdqa xmm0, xmmword [0x1800e0d50]
movdqu xmmword [rbp - 0x20], xmm0
mov byte [rbp - 0x30], bl
mov rsi, rbx
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], rbx
mov rdi, r13
mov qword [rbp - 0x78], r13
mov byte [rsp + 0x70], bl
mov r14b, 1
lea rcx, [rbp - 0x10]
cmp qword [rbp + 8], r13
cmova rcx, qword [rbp - 0x10]
mov qword [rsp + 0x20], 2
lea r9, [0x1800dd24c]
mov r8, rsi
mov rdx, qword [rbp]
call fcn.180045b50
mov rsi, rax
cmp rax, 0xffffffffffffffff
je 0x180063a33
mov r9, rax
inc rsi
xor r8d, r8d
lea rdx, [rbp + 0x1f0]
lea rcx, [rbp - 0x10]
call fcn.180066338
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.18004eb54
lea rcx, [rbp + 0x1f0]
call fcn.180031640
test r14b, r14b
je 0x180063932
mov r14b, bl
mov rdi, qword [rbp - 0x78]
jmp 0x1800638bc
cmp qword [rbp - 0x80], rbx
jbe 0x18006392c
lea rcx, [rsp + 0x70]
cmp qword [rbp - 0x78], r13
cmova rcx, qword [rsp + 0x70]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
jne 0x18006392c
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x18006392c
lea rdx, str.Failed_to_create_directory:
lea rcx, [0x180592690]
call fcn.180042628
lea rdx, [rsp + 0x70]
cmp qword [rbp - 0x78], r13
cmova rdx, qword [rsp + 0x70]
mov r8, qword [rbp - 0x80]
mov rcx, rax
call fcn.180044cb0
mov rcx, rax
call fcn.180047e10
nop
mov r8, qword [rbp - 0x78]
cmp r8, r13
jbe 0x1800639af
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x70]
call fcn.180050e38
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x78], r13
mov byte [rsp + 0x70], bl
lea rdx, str.____Failed_to_create_directory_path:
lea rcx, [0x180592690]
call fcn.180042628
lea rdx, [rbp - 0x10]
cmp qword [rbp + 8], r13
cmova rdx, qword [rbp - 0x10]
mov r8, qword [rbp]
mov rcx, rax
call fcn.180044cb0
mov rcx, rax
call fcn.180047e10
xorps xmm0, xmm0
movups xmmword [rbp + 0x90], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xa0], xmm1
xor r8d, r8d
lea rdx, [0x1800a54d4]
lea rcx, [rbp + 0x90]
call fcn.180030d20
nop
mov r8, qword [rbp + 8]
cmp r8, r13
jbe 0x180063a6c
mov rdx, qword [rbp - 0x10]
lea rcx, [rbp - 0x10]
call fcn.180050e38
jmp 0x180063a6c
cmp rdi, r13
jbe 0x180063a4a
mov r8, rdi
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x70]
call fcn.180050e38
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x78], r13
mov byte [rsp + 0x70], bl
movups xmm0, xmmword [rbp - 0x10]
movups xmmword [rbp + 0x90], xmm0
movups xmm1, xmmword [rbp]
movups xmmword [rbp + 0xa0], xmm1
mov qword [rbp], rbx
mov qword [rbp + 8], r13
mov byte [rbp - 0x10], bl
jmp 0x180063ac0
lea rdx, str.____Failed_to_retrieve_AppData_path.
lea rcx, [0x180592690]
call fcn.180042628
mov rcx, rax
call fcn.180047e10
xorps xmm0, xmm0
movups xmmword [rbp + 0x90], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xa0], xmm1
xor r8d, r8d
lea rdx, [0x1800a54d4]
lea rcx, [rbp + 0x90]
call fcn.180030d20
nop
lea r8, str.settings_cs2_2.ini
lea rdx, [rbp + 0x90]
lea rcx, [rbp + 0xf0]
call fcn.18004290c
nop
mov r8, qword [rbp + 0xa8]
cmp r8, r13
jbe 0x180063afa
mov rdx, qword [rbp + 0x90]
lea rcx, [rbp + 0x90]
call fcn.180050e38
movdqa xmm0, xmmword [0x1800e0d50]
movdqu xmmword [rbp + 0xa0], xmm0
mov byte [rbp + 0x90], bl
jmp 0x18006410d
mov rcx, rdi
cmp r14, r13
jbe 0x180063b20
mov rcx, qword [rdi]
cmp rsi, 8
jne 0x180063dfc
mov r8, rsi
lea rdx, str.Config_3
call fcn.18009f520
test eax, eax
jne 0x180063dfc
lea rax, [rbp + 0x670]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea edx, [rsi + 0x12]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathA]
test eax, eax
js 0x180063d89
xorps xmm0, xmm0
movups xmmword [rbp + 0x190], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x1a0], xmm1
lea rax, [rbp + 0x670]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], bl
jne 0x180063b86
lea rdx, [rbp + 0x670]
lea rcx, [rbp + 0x190]
call fcn.180030d20
nop
lea r8, str.ObstructionCS2_
lea rdx, [rbp + 0x190]
lea rcx, [rbp + 0x10]
call fcn.18004290c
nop
lea rcx, [rbp + 0x190]
call fcn.180031640
mov rdi, rbx
xorps xmm0, xmm0
movups xmmword [rbp + 0xb0], xmm0
mov qword [rbp + 0xc0], rbx
mov qword [rbp + 0xc8], r13
mov byte [rbp + 0xb0], bl
mov sil, 1
lea rcx, [rbp + 0x10]
cmp qword [rbp + 0x28], r13
cmova rcx, qword [rbp + 0x10]
mov qword [rsp + 0x20], 2
lea r9, [0x1800dd24c]
mov r8, rdi
mov rdx, qword [rbp + 0x20]
call fcn.180045b50
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x180063ce5
mov r9, rax
inc rdi
xor r8d, r8d
lea rdx, [rbp + 0x210]
lea rcx, [rbp + 0x10]
call fcn.180066338
mov rdx, rax
lea rcx, [rbp + 0xb0]
call fcn.18004eb54
lea rcx, [rbp + 0x210]
call fcn.180031640
test sil, sil
je 0x180063c5f
mov sil, bl
jmp 0x180063beb
cmp qword [rbp + 0xc0], rbx
jbe 0x180063beb
lea rcx, [rbp + 0xb0]
cmp qword [rbp + 0xc8], r13
cmova rcx, qword [rbp + 0xb0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
jne 0x180063beb
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x180063beb
lea rdx, str.Failed_to_create_directory:
lea rcx, [0x180592690]
call fcn.180042628
lea rdx, [rbp + 0xb0]
cmp qword [rbp + 0xc8], r13
cmova rdx, qword [rbp + 0xb0]
mov r8, qword [rbp + 0xc0]
mov rcx, rax
call fcn.180044cb0
mov rcx, rax
call fcn.180047e10
nop
mov dil, bl
jmp 0x180063ce8
mov dil, 1
lea rcx, [rbp + 0xb0]
call fcn.180031640
test dil, dil
je 0x180063d28
movups xmm0, xmmword [rbp + 0x10]
movups xmmword [rbp + 0x110], xmm0
movups xmm1, xmmword [rbp + 0x20]
movups xmmword [rbp + 0x120], xmm1
mov qword [rbp + 0x20], rbx
mov qword [rbp + 0x28], r13
mov byte [rbp + 0x10], bl
lea rcx, [rbp + 0x10]
call fcn.180031640
jmp 0x180063dd0
lea rdx, str.____Failed_to_create_directory_path:
lea rcx, [0x180592690]
call fcn.180042628
lea rdx, [rbp + 0x10]
cmp qword [rbp + 0x28], r13
cmova rdx, qword [rbp + 0x10]
mov r8, qword [rbp + 0x20]
mov rcx, rax
call fcn.180044cb0
mov rcx, rax
call fcn.180047e10
xorps xmm0, xmm0
movups xmmword [rbp + 0x110], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x120], xmm1
xor r8d, r8d
lea rdx, [0x1800a54d4]
lea rcx, [rbp + 0x110]
call fcn.180030d20
jmp 0x180063d1a
lea rdx, str.____Failed_to_retrieve_AppData_path.
lea rcx, [0x180592690]
call fcn.180042628
mov rcx, rax
call fcn.180047e10
xorps xmm0, xmm0
movups xmmword [rbp + 0x110], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x120], xmm1
xor r8d, r8d
lea rdx, [0x1800a54d4]
lea rcx, [rbp + 0x110]
call fcn.180030d20
nop
lea r8, str.settings_cs2_3.ini
lea rdx, [rbp + 0x110]
lea rcx, [rbp + 0xf0]
call fcn.18004290c
nop
lea rcx, [rbp + 0x110]
call fcn.180031640
jmp 0x18006410d
cmp r14, r13
jbe 0x180063e04
mov rdi, qword [rdi]
cmp rsi, 8
jne 0x1800640de
mov r8, rsi
lea rdx, str.Config_4
mov rcx, rdi
call fcn.18009f520
test eax, eax
jne 0x1800640de
lea rax, [rbp + 0x780]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea edx, [rsi + 0x12]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathA]
test eax, eax
js 0x180064070
xorps xmm0, xmm0
movups xmmword [rbp + 0x1b0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x1c0], xmm1
lea rax, [rbp + 0x780]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], bl
jne 0x180063e6d
lea rdx, [rbp + 0x780]
lea rcx, [rbp + 0x1b0]
call fcn.180030d20
nop
lea r8, str.ObstructionCS2_
lea rdx, [rbp + 0x1b0]
lea rcx, [rbp + 0x30]
call fcn.18004290c
nop
lea rcx, [rbp + 0x1b0]
call fcn.180031640
mov rdi, rbx
xorps xmm0, xmm0
movups xmmword [rbp + 0xd0], xmm0
mov qword [rbp + 0xe0], rbx
mov qword [rbp + 0xe8], r13
mov byte [rbp + 0xd0], bl
mov sil, 1
lea rcx, [rbp + 0x30]
cmp qword [rbp + 0x48], r13
cmova rcx, qword [rbp + 0x30]
mov qword [rsp + 0x20], 2
lea r9, [0x1800dd24c]
mov r8, rdi
mov rdx, qword [rbp + 0x40]
call fcn.180045b50
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x180063fcc
mov r9, rax
inc rdi
xor r8d, r8d
lea rdx, [rbp + 0x1d0]
lea rcx, [rbp + 0x30]
call fcn.180066338
mov rdx, rax
lea rcx, [rbp + 0xd0]
call fcn.18004eb54
lea rcx, [rbp + 0x1d0]
call fcn.180031640
test sil, sil
je 0x180063f46
mov sil, bl
jmp 0x180063ed2
cmp qword [rbp + 0xe0], rbx
jbe 0x180063ed2
lea rcx, [rbp + 0xd0]
cmp qword [rbp + 0xe8], r13
cmova rcx, qword [rbp + 0xd0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
jne 0x180063ed2
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x180063ed2
lea rdx, str.Failed_to_create_directory:
lea rcx, [0x180592690]
call fcn.180042628
lea rdx, [rbp + 0xd0]
cmp qword [rbp + 0xe8], r13
cmova rdx, qword [rbp + 0xd0]
mov r8, qword [rbp + 0xe0]
mov rcx, rax
call fcn.180044cb0
mov rcx, rax
call fcn.180047e10
nop
mov dil, bl
jmp 0x180063fcf
mov dil, 1
lea rcx, [rbp + 0xd0]
call fcn.180031640
test dil, dil
je 0x18006400f
movups xmm0, xmmword [rbp + 0x30]
movups xmmword [rbp + 0x130], xmm0
movups xmm1, xmmword [rbp + 0x40]
movups xmmword [rbp + 0x140], xmm1
mov qword [rbp + 0x40], rbx
mov qword [rbp + 0x48], r13
mov byte [rbp + 0x30], bl
lea rcx, [rbp + 0x30]
call fcn.180031640
jmp 0x1800640b7
lea rdx, str.____Failed_to_create_directory_path:
lea rcx, [0x180592690]
call fcn.180042628
lea rdx, [rbp + 0x30]
cmp qword [rbp + 0x48], r13
cmova rdx, qword [rbp + 0x30]
mov r8, qword [rbp + 0x40]
mov rcx, rax
call fcn.180044cb0
mov rcx, rax
call fcn.180047e10
xorps xmm0, xmm0
movups xmmword [rbp + 0x130], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x140], xmm1
xor r8d, r8d
lea rdx, [0x1800a54d4]
lea rcx, [rbp + 0x130]
call fcn.180030d20
jmp 0x180064001
lea rdx, str.____Failed_to_retrieve_AppData_path.
lea rcx, [0x180592690]
call fcn.180042628
mov rcx, rax
call fcn.180047e10
xorps xmm0, xmm0
movups xmmword [rbp + 0x130], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x140], xmm1
xor r8d, r8d
lea rdx, [0x1800a54d4]
lea rcx, [rbp + 0x130]
call fcn.180030d20
nop
lea r8, str.settings_cs2_4.ini
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0xf0]
call fcn.18004290c
nop
lea rcx, [rbp + 0x130]
jmp 0x180063df2
xorps xmm0, xmm0
movups xmmword [rbp + 0xf0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x100], xmm1
mov r8d, 0x10
lea rdx, str.settings_cs2.ini
lea rcx, [rbp + 0xf0]
call fcn.180030d20
nop
mov dword [rsp + 0x20], 1
mov r9d, 0x40
lea r8d, [r9 - 0x3e]
lea rdx, [rbp + 0xf0]
lea rcx, [rbp + 0x230]
call fcn.18004c9a4
nop
lea rcx, [rbp + 0xf0]
call fcn.180031640
cmp qword [rbp + 0x2b8], rbx
jne 0x180064160
lea rdx, str.Error:_Failed_to_open_file_for_writing._n
lea rcx, [0x1805927b0]
call fcn.180042628
jmp 0x18006424a
lea rdx, [0x180592280]
lea rcx, [rbp + 0x8c0]
call fcn.18004d268
nop
mov rax, qword [rbp + 0x230]
movsxd rcx, dword [rax + 4]
mov eax, dword [rbp + rcx + 0x248]
btr eax, 0xc
bts eax, 0xd
mov dword [rbp + rcx + 0x248], eax
mov edx, 2
lea rcx, [rsp + 0x30]
call fcn.18006e830
mov r8, qword [rax]
mov rcx, qword [rbp + 0x230]
movsxd rdx, dword [rcx + 4]
lea rcx, [rbp + 0x230]
add rcx, rdx
mov rdx, qword [rax + 8]
call r8
lea rdx, [rsp + 0x30]
mov rcx, qword [0x180592090]
call fcn.1800663d8
nop
mov dword [rsp + 0x28], ebx
mov byte [rsp + 0x20], bl
mov r9b, 0x20
mov r8d, 4
lea rdx, [rbp + 0x1d0]
mov rcx, rax
call fcn.18005a174
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], r13
jbe 0x180064203
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rbp + 0x230]
call fcn.180044cb0
nop
lea rcx, [rbp + 0x1d0]
call fcn.180031640
nop
mov dl, byte [rsp + 0x30]
lea rcx, [rsp + 0x38]
call fcn.180059cc8
nop
lea rcx, [rbp + 0x230]
call fcn.180059284
mov bl, 1
mov rcx, qword [rbp + 0x8c0]
call fcn.18006dbe8
nop
lea rcx, [rbp + 0x230]
call fcn.18004f090
mov al, bl
lea r11, [rsp + 0x990]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r14
pop r13
pop r12
pop rdi
pop rbp
ret
call fcn.18007616c
nop
call fcn.18007616c
nop
call fcn.18007616c
nop
call fcn.18007616c
nop
call fcn.18007616c
nop
call fcn.18007616c
nop
call fcn.18007616c
nop
call fcn.18007616c
int3