Function at 0x180028220
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x2f0
mov rax, qword [0x18007cf38]
xor rax, rsp
mov qword [rsp + 0x2e0], rax
lea r14d, [r8 + 0x54c]
mov dword [rsp + 0x68], r8d
xor r11d, r11d
mov r13d, r8d
mov rsi, rdx
mov rbx, rcx
mov ebp, r8d
cmp r8d, r14d
jae 0x180028510
mov edi, dword [rsp + 0x60]
lea rdx, [0x180000000]
mov r15, qword [rsp + 0x70]
movabs r8, 0x6c00730073
mov r12, qword [rsp + 0x70]
movabs r9, 0x7900610065
nop
cmp ebp, 0x1ee
ja case.0x1800282d5.195
je 0x1800285b0
lea eax, [rbp - 0xb8]
cmp eax, 0xeb
ja case.0x1800282d5.195
movzx eax, byte [rdx + rax + 0x28784]
mov ecx, dword [rdx + rax*4 + 0x28754]
add rcx, rdx
jmp rcx
cmp byte [rsi], 0
jl 0x180028315
mov ecx, 0xdd
mov eax, ecx
sub eax, 0xdb
je case.0x1800282d5.192
sub eax, 1
je 0x1800282ff
cmp eax, 1
jne 0x18002830b
movzx eax, byte [rsi]
mov dword [rbx], eax
jmp 0x18002830b
mov dword [rbx + 4], r11d
mov dword [rsp + 0x64], 1
dec ecx
cmp ecx, 0xda
ja 0x1800282e1
movzx edi, byte [rsi]
lea r9, [rsi + 1]
mov r10d, 1
and edi, 0x7f
lea r8d, [r10 + 6]
nop dword [rax]
movzx edx, byte [r9]
mov ecx, r8d
mov eax, edx
and eax, 0x7f
shl eax, cl
or edi, eax
test dl, dl
js 0x180028372
mov ecx, 0x124
nop dword [rax]
mov eax, ecx
sub eax, 0x123
je 0x18002859e
cmp eax, 1
jne 0x180028368
mov dword [rbx], edi
mov dword [rbx + 4], r11d
dec ecx
cmp ecx, 0x122
ja 0x180028350
inc r10d
add r8d, 7
inc r9
cmp r8d, 0x1c
jl 0x180028330
movabs r8, 0x6c00730073
movabs r9, 0x7900610065
jmp 0x1800284fd
movsxd rcx, dword [r15]
mov rax, qword [r15 + 8]
add rcx, rcx
mov qword [rax + rcx*8 + 8], r12
inc dword [r15]
jmp case.0x1800282d5.195
mov r12, rsi
mov r15, rbx
jmp case.0x1800282d5.195
cmp qword [rsi + 0x28], 0
je 0x1800283cf
cmp qword [rsi + 0x30], 0
jne case.0x1800282d5.195
mov byte [rsp + 0x64], 0
jmp case.0x1800282d5.192
mov r8d, 0xa
lea rdx, [rsp + 0xb4]
lea ecx, [r8 - 7]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__ultow]
mov r8d, 5
lea rdx, str.2.dll
lea rcx, [rsp + 0xa8]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat]
xor r11d, r11d
movabs r8, 0x6c00730073
movabs r9, 0x7900610065
jmp 0x1800284fd
mov qword [rsp + 0xa8], r8
jmp case.0x1800282d5.195
mov r10d, 4
mov r9, r11
mov r11d, r10d
movzx r8d, byte [r11 + rsi]
lea eax, [r10 - 4]
imul ecx, eax, 7
mov edx, r8d
and edx, 0x7f
shl rdx, cl
or r9, rdx
test r8b, r8b
js 0x1800284a3
mov ecx, 0xc1
cmp ecx, 0xc1
je 0x180028479
cmp ecx, 0x9242
je case.0x1800282d5.192
jmp 0x180028495
mov rax, r9
shr rax, 4
mov dword [rbx + 4], eax
mov eax, r9d
shl eax, 0x1c
or eax, edi
mov dword [rbx], eax
lea eax, [r10 + 1]
mov dword [rsp + 0x64], eax
add ecx, 0x9181
cmp ecx, 0x12302
jbe 0x180028463
inc r10d
inc r11
cmp r11, 0xa
jl 0x180028441
xor r11d, r11d
movabs r8, 0x6c00730073
mov dword [rbx], r11d
movabs r9, 0x7900610065
jmp 0x1800284fd
mov qword [rsp + 0xae], r9
jmp case.0x1800282d5.195
cmp qword [rsi + 0x38], 0
je 0x1800283cf
cmp qword [rsi + 0x20], 0
setne byte [rsp + 0x64]
jmp case.0x1800282d5.195
movsxd rdx, dword [r15]
mov rcx, qword [r15 + 8]
add rdx, rdx
mov eax, dword [r12]
mov dword [rcx + rdx*8], eax
lea rdx, [0x180000000]
add ebp, 0x71
cmp ebp, r14d
jb 0x1800282a0
imul edi, r13d, 0x4ba
mov ebx, r13d
cmp r13d, edi
ja case.0x1800282d5.192
mov esi, dword [rsp + 0x60]
mov eax, ebx
mov ebp, dword [rsp + 0x60]
mov r14d, dword [rsp + 0x60]
mov r15d, dword [rsp + 0x60]
mov r12, qword [rsp + 0x70]
mov r13d, dword [rsp + 0x60]
cmp ebx, 0x19f67
ja 0x180028610
je 0x180028600
cmp ebx, 0xc1
je 0x1800285f8
cmp ebx, 0x53af
je 0x1800285e3
cmp ebx, 0xa69d
je 0x1800285cb
cmp ebx, 0xf98b
je 0x1800285be
cmp ebx, 0x14c79
jne 0x18002870a
mov r13d, 0xa
mov qword [rsp + 0xa0], r11
mov qword [rsp + 0x90], r11
jmp 0x18002870a
lea eax, [r10 + 1]
jmp 0x180028721
mov dword [rbx + 4], r11d
mov eax, 0xa
jmp 0x180028721
mov dword [rsp + 0x7c], 0x36
jmp 0x18002870a
mov dword [rsp + 0x84], r11d
mov dword [rsp + 0x80], 0xa
jmp 0x18002870a
mov dword [rsp + 0x88], r11d
mov qword [rsp + 0x98], r11
jmp 0x18002870a
mov r12, r11
jmp 0x18002870a
mov r14d, r11d
mov dword [rsp + 0x78], r11d
mov r15d, r11d
jmp 0x18002870a
cmp ebx, 0x1f255
je 0x1800286de
cmp ebx, 0x24543
je 0x1800286d4
cmp ebx, 0x29831
je 0x180028686
cmp ebx, 0x2eb1f
je 0x180028649
cmp ebx, 0x33e0d
je case.0x1800282d5.192
jmp 0x18002870a
mov r9d, dword [rsp + 0x78]
lea rax, [rsp + 0xd0]
mov r8, qword [rsp + 0x90]
mov edx, dword [rsp + 0x7c]
mov rcx, qword [rsp + 0x98]
mov qword [rsp + 0x20], rax
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
call qword [rsp + 0x70]
cmp eax, 1
sete byte [rsp + 0x64]
jmp 0x180028706
mov eax, dword [rsp + 0x60]
mov rcx, r12
mov r9d, dword [rsp + 0x80]
mov r8d, dword [rsp + 0x84]
mov edx, dword [rsp + 0x88]
mov dword [rsp + 0x50], ebp
mov dword [rsp + 0x48], esi
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0xa0]
mov dword [rsp + 0x38], r15d
mov dword [rsp + 0x30], r14d
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r13d
call qword [sym.imp.GDI32.dll_GdiTransparentBlt]
jmp 0x180028706
mov esi, 0xa
mov ebp, r11d
jmp 0x18002870a
mov r9d, 0x1a
mov dword [rsp + 0x60], 0xa
xor r8d, r8d
lea rcx, [rsp + 0xa8]
mov edx, 0xb7
call fcn.18004f820
mov qword [rsp + 0x70], rax
mov eax, dword [rsp + 0x68]
imul ecx, eax, 0x6e
mov r11d, 0
add ebx, ecx
cmp ebx, edi
jbe 0x180028541
mov eax, dword [rsp + 0x64]
mov rcx, qword [rsp + 0x2e0]
xor rcx, rsp
call fcn.180065820
lea r11, [rsp + 0x2f0]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret