Function at 0x180017590
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x440
mov rax, qword [0x18009da48]
xor rax, rsp
mov qword [rsp + 0x430], rax
lea r12d, [rcx + 0xc]
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x48], rdx
mov r13, r9
mov r14d, ecx
cmp ecx, r12d
jae case.0x18001760a.8
mov rdi, qword [rsp + 0x68]
lea r15d, [rcx - 0x2a]
mov esi, dword [rsp + 0x40]
lea r9, [0x180000000]
mov rbp, qword [rsp + 0x68]
xor ebx, ebx
lea r10d, [rbx + 0x6c]
cmp r15d, 0xe
ja case.0x18001760a.9
mov ecx, dword [r9 + r15*4 + 0x178c0]
add rcx, r9
jmp rcx
lea rax, [rsp + 0x308]
xor r9d, r9d
lea r8, [rsp + 0x2f0]
mov qword [rsp + 0x20], rax
xor edx, edx
mov ecx, SHSetFolderPathA
call fcn.180043060
mov qword [rsp + 0x68], rax
mov rdx, qword [rsp + 0x48]
lea r9, [0x180000000]
mov r8, qword [rsp + 0x50]
mov r10d, 0x6c
jmp case.0x18001760a.9
movzx eax, word [0x1800954f8]
mov word [rsp + 0x308], ax
movzx eax, byte [0x1800954fa]
mov byte [rsp + 0x30a], al
jmp case.0x18001760a.9
mov eax, dword [rdx]
lea rcx, [rsp + 0x70]
mov dword [rsp + 0x40], eax
lea rdx, [rsp + 0x40]
mov eax, dword [r8]
xor r9d, r9d
mov dword [rsp + 0x38], 0xa5
xor r8d, r8d
mov dword [rsp + 0x58], eax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
call fcn.18000b540
test al, al
jne 0x180017635
mov byte [rsp + 0x60], 0
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x430]
xor rcx, rsp
call fcn.180083f10
mov rbx, qword [rsp + 0x480]
add rsp, 0x440
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rcx, [rsp + 0x308]
dec rcx
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x1800176f5
movsd xmm0, qword [str.ASocketW]
movzx eax, byte [0x180095508]
movsd qword [rcx], xmm0
mov byte [rcx + 8], al
mov word [rsp + 0x2f0], bx
jmp case.0x18001760a.9
cmp dword [r13], 0
jle case.0x18001760a.9
lea rax, str.GST_ELEMENT_IS_SOURCE
jmp 0x1800176bf
mov dword [rsp + 0x302], 0x6c
jmp case.0x18001760a.9
mov r8d, 2
mov dword [rsp + 0x2fa], 0x2e0032
lea rdx, [0x180095536]
mov word [rsp + 0x2fe], bx
lea rcx, [rsp + 0x2f0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat]
jmp 0x180017635
mov dword [rsp + 0x28], 1
lea r9, [rsp + 0x70]
xor r8d, r8d
mov dword [rsp + 0x20], ebx
xor edx, edx
xor ecx, ecx
call qword [rsp + 0x68]
mov r9d, 0xbe
mov qword [rsp + 0x20], rbx
xor r8d, r8d
mov qword [r13], rax
xor edx, edx
mov rcx, r13
call fcn.180017930
test al, al
jne 0x18001780c
mov ebx, 0xed
nop word [rax + rax]
mov eax, ebx
sub eax, 0xeb
je 0x1800176b5
sub eax, 1
je 0x1800177e2
cmp eax, 1
jne 0x180017800
xor eax, eax
mov edi, eax
mov ebp, eax
lea esi, [rax + 0x36]
jmp 0x180017800
lea rax, [rsp + 0x320]
xor r9d, r9d
mov r8, rbp
mov qword [rsp + 0x20], rax
mov edx, esi
mov rcx, rdi
call qword [sym.imp.SHELL32.dll_SHGetFolderPathA]
dec ebx
cmp ebx, 0xea
ja 0x1800177c0
xor ebx, ebx
mov byte [rsp + 0x60], 1
jmp 0x180017635
mov r8d, 3
lea rdx, [0x180095608]
lea rcx, [rsp + 0x2f0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat]
mov r8d, 2
lea rdx, [0x18009566e]
lea rcx, [rsp + 0x2f6]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
mov word [rsp + 0x2fa], bx
jmp 0x180017635
mov eax, dword [r13]
cmp eax, 0xfffffffc
je 0x1800178a8
cmp eax, 0xfffffffd
je 0x18001789c
cmp eax, 0xfffffffe
je 0x180017890
test eax, eax
je 0x180017884
inc r14d
inc r15d
cmp r14d, r12d
jb 0x1800175f5
jmp case.0x18001760a.8
lea rax, str.DXGI_FORMAT_format
jmp 0x1800176bf
lea rax, str.no_DC_to_draw_on_in_custom_renderer_
jmp 0x1800176bf
lea rax, str.TransferStart
jmp 0x1800176bf
lea rax, str._X__rtrim_X__removes_spaces_from_the_right_side_of_X.
jmp 0x1800176bf
lea rax, str.Undecoded_SIB_
jmp 0x1800176bf