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

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x690
mov qword [rsp + 0x630], 0xfffffffffffffffe
mov rax, qword [0x180284030]
xor rax, rsp
mov qword [rsp + 0x688], rax
mov rcx, qword [rsp + 0x6a8]
call fcn.180001bf4
movzx eax, al
test eax, eax
jne 0x180041e6c
xor eax, eax
test eax, eax
jne 0x180041e65
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, 0x77
lea rdx, [0x1801a9a10]
mov ecx, 2
call fcn.1800d5be0
cmp eax, 1
jne 0x180041e65
int3
xor al, al
jmp 0x1800425bf
mov rax, qword [rsp + 0x6a0]
add rax, 0x40
mov qword [rsp + 0x638], rax
mov rdx, qword [rsp + 0x6a8]
lea rcx, [rsp + 0x538]
call fcn.1800333e0
mov qword [rsp + 0x640], rax
mov rax, qword [rsp + 0x640]
mov qword [rsp + 0x648], rax
mov rax, qword [rsp + 0x638]
mov rdx, rax
mov rcx, qword [rsp + 0x648]
call fcn.180001d75
mov byte [rsp + 0x530], al
lea rcx, [rsp + 0x538]
call fcn.18000165e
movzx eax, byte [rsp + 0x530]
test eax, eax
je 0x180041eec
mov al, 1
jmp 0x1800425bf
mov rdx, qword [rsp + 0x6a8]
lea rcx, [rsp + 0x558]
call fcn.1800333e0
mov qword [rsp + 0x650], rax
mov rax, qword [rsp + 0x650]
mov qword [rsp + 0x658], rax
mov rax, qword [rsp + 0x6a0]
add rax, 0x40
mov rdx, qword [rsp + 0x658]
mov rcx, rax
call fcn.180001d6b
nop
lea rcx, [rsp + 0x558]
call fcn.18000165e
mov rcx, qword [rsp + 0x6a0]
call fcn.180042860
lea rcx, [rsp + 0x3a0]
call fcn.180041980
nop
lea rdx, str..lng
lea rcx, [rsp + 0x578]
call fcn.1800333e0
nop
mov rdx, qword [rsp + 0x6a8]
lea rcx, [rsp + 0x598]
call fcn.1800333e0
nop
lea rdx, [0x1801a99f4]
lea rcx, [rsp + 0x5b8]
call fcn.1800333e0
nop
lea r8, [rsp + 0x5b8]
lea rdx, [rsp + 0x3a0]
lea rcx, [rsp + 0x5d8]
call fcn.180033cc0
mov qword [rsp + 0x660], rax
mov rax, qword [rsp + 0x660]
mov qword [rsp + 0x668], rax
lea r8, [rsp + 0x598]
mov rdx, qword [rsp + 0x668]
lea rcx, [rsp + 0x5f8]
call fcn.180033cc0
mov qword [rsp + 0x670], rax
mov rax, qword [rsp + 0x670]
mov qword [rsp + 0x678], rax
lea r8, [rsp + 0x578]
mov rdx, qword [rsp + 0x678]
lea rcx, [rsp + 0x380]
call fcn.180033cc0
nop
lea rcx, [rsp + 0x5f8]
call fcn.18000165e
nop
lea rcx, [rsp + 0x5d8]
call fcn.18000165e
nop
lea rcx, [rsp + 0x5b8]
call fcn.18000165e
nop
lea rcx, [rsp + 0x598]
call fcn.18000165e
nop
lea rcx, [rsp + 0x578]
call fcn.18000165e
xor eax, eax
mov word [rsp + 0x150], ax
lea rax, [rsp + 0x152]
mov rdi, rax
xor eax, eax
mov ecx, 0x206
rep stosb byte [rdi], al
lea rdx, [rsp + 0x150]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
jne 0x180042101
xor eax, eax
test eax, eax
jne 0x1800420d1
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, 0x8b
lea rdx, [0x1801a9a30]
mov ecx, 2
call fcn.1800d5be0
cmp eax, 1
jne 0x1800420d1
int3
mov byte [rsp + 0x618], 0
lea rcx, [rsp + 0x380]
call fcn.18000165e
nop
lea rcx, [rsp + 0x3a0]
call fcn.18000165e
movzx eax, byte [rsp + 0x618]
jmp 0x1800425bf
mov byte [rsp + 0x3d0], 0
lea rax, [rsp + 0x3d1]
mov rdi, rax
xor eax, eax
mov ecx, 0x103
rep stosb byte [rdi], al
lea rax, str.languages
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x150]
lea r8, str._ws_s
mov edx, 0x104
lea rcx, [rsp + 0x3d0]
call fcn.1800d88e0
xor edx, edx
lea rcx, [rsp + 0x3d0]
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov byte [rsp + 0x40], 0
lea rax, [rsp + 0x41]
mov rdi, rax
xor eax, eax
mov ecx, 0x103
rep stosb byte [rdi], al
mov rax, qword [rsp + 0x6a8]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x3d0]
lea r8, str._s_s.txt
mov edx, 0x104
lea rcx, [rsp + 0x40]
call fcn.1800d88e0
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x360]
call fcn.1800333e0
nop
lea rcx, [rsp + 0x380]
call fcn.18000122b
mov rcx, rax
call fcn.180037850
test eax, eax
jne 0x180042205
mov byte [rsp + 0x619], 0
lea rcx, [rsp + 0x360]
call fcn.18000165e
nop
lea rcx, [rsp + 0x380]
call fcn.18000165e
nop
lea rcx, [rsp + 0x3a0]
call fcn.18000165e
movzx eax, byte [rsp + 0x619]
jmp 0x1800425bf
lea rcx, [rsp + 0x360]
call fcn.18000122b
mov qword [rsp + 0x680], rax
lea rcx, [rsp + 0x380]
call fcn.18000122b
mov rcx, qword [rsp + 0x680]
mov rdx, rcx
mov rcx, rax
call fcn.18003cc50
test eax, eax
jne 0x1800422ad
xor eax, eax
test eax, eax
jne 0x18004226f
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, 0x9c
lea rdx, [0x1801a9a70]
mov ecx, 2
call fcn.1800d5be0
cmp eax, 1
jne 0x18004226f
int3
mov byte [rsp + 0x61a], 0
lea rcx, [rsp + 0x360]
call fcn.18000165e
nop
lea rcx, [rsp + 0x380]
call fcn.18000165e
nop
lea rcx, [rsp + 0x3a0]
call fcn.18000165e
movzx eax, byte [rsp + 0x61a]
jmp 0x1800425bf
mov qword [rsp + 0x3c0], 0
mov dword [rsp + 0x20], 0x80
mov r9d, 3
mov r8d, 0x80000000
lea rdx, [rsp + 0x360]
lea rcx, [rsp + 0x4e8]
call fcn.18003daf0
nop
lea rcx, [rsp + 0x4e8]
call fcn.18003dc30
movzx eax, al
test eax, eax
je 0x18004230a
lea rcx, [rsp + 0x4e8]
call fcn.18003e300
cmp rax, 0xffffffffffffffff
jne 0x180042356
mov byte [rsp + 0x61b], 0
lea rcx, [rsp + 0x4e8]
call fcn.18003db50
nop
lea rcx, [rsp + 0x360]
call fcn.18000165e
nop
lea rcx, [rsp + 0x380]
call fcn.18000165e
nop
lea rcx, [rsp + 0x3a0]
call fcn.18000165e
movzx eax, byte [rsp + 0x61b]
jmp 0x1800425bf
mov rax, qword [rsp + 0x6a0]
add rax, 0x30
mov edx, 0x104
mov rcx, rax
call fcn.180034800
mov dword [rsp + 0x4e0], 0
xor eax, eax
cmp eax, 1
je 0x180042578
mov rax, qword [rsp + 0x6a0]
add rax, 0x30
mov rcx, rax
call fcn.180001d61
mov rax, qword [rsp + 0x6a0]
add rax, 0x30
lea r8, [rsp + 0x4e0]
mov rdx, rax
lea rcx, [rsp + 0x4e8]
call fcn.18003ded0
movzx eax, al
test eax, eax
je 0x1800423ce
cmp dword [rsp + 0x4e0], 0
jne 0x1800423d3
jmp 0x180042578
mov dword [rsp + 0x4f8], 0
xor edx, edx
lea rcx, [rsp + 0x520]
call fcn.180001b40
nop
mov rax, qword [rsp + 0x6a0]
add rax, 0x30
lea r8, [rsp + 0x520]
lea rdx, [rsp + 0x4f8]
mov rcx, rax
call fcn.180041b20
movzx eax, al
test eax, eax
jne 0x18004242b
lea rcx, [rsp + 0x520]
call fcn.180001da7
jmp 0x18004237a
lea rcx, [rsp + 0x520]
call fcn.180001ce9
mov qword [rsp + 0x500], rax
mov rcx, qword [rsp + 0x500]
call fcn.1800d4c50
mov qword [rsp + 0x620], rax
mov rax, qword [rsp + 0x620]
mov qword [rsp + 0x4f0], rax
xor edx, edx
lea rcx, [rsp + 0x520]
call fcn.180001988
mov r9, qword [rsp + 0x500]
mov r8, rax
mov rdx, qword [rsp + 0x500]
mov rcx, qword [rsp + 0x4f0]
call fcn.1800d4a00
mov eax, dword [rsp + 0x4f8]
mov dword [rsp + 0x508], eax
mov rax, qword [rsp + 0x4f0]
mov qword [rsp + 0x510], rax
mov qword [rsp + 0x518], 0
lea rdx, [rsp + 0x508]
mov rcx, qword [rsp + 0x6a0]
call fcn.180042b00
movzx eax, al
test eax, eax
jne 0x180042566
xor eax, eax
test eax, eax
jne 0x18004250f
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, 0xc0
lea rdx, [0x1801a9a88]
mov ecx, 2
call fcn.1800d5be0
cmp eax, 1
jne 0x18004250f
int3
mov byte [rsp + 0x628], 0
lea rcx, [rsp + 0x520]
call fcn.180001da7
nop
lea rcx, [rsp + 0x4e8]
call fcn.18003db50
nop
lea rcx, [rsp + 0x360]
call fcn.18000165e
nop
lea rcx, [rsp + 0x380]
call fcn.18000165e
nop
lea rcx, [rsp + 0x3a0]
call fcn.18000165e
movzx eax, byte [rsp + 0x628]
jmp 0x1800425bf
lea rcx, [rsp + 0x520]
call fcn.180001da7
jmp 0x18004237a
mov byte [rsp + 0x629], 1
lea rcx, [rsp + 0x4e8]
call fcn.18003db50
nop
lea rcx, [rsp + 0x360]
call fcn.18000165e
nop
lea rcx, [rsp + 0x380]
call fcn.18000165e
nop
lea rcx, [rsp + 0x3a0]
call fcn.18000165e
movzx eax, byte [rsp + 0x629]
mov rcx, qword [rsp + 0x688]
xor rcx, rsp
call fcn.1800d65d0
add rsp, 0x690
pop rdi
ret