Function at 0x1800518e0
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x50]
sub rsp, 0x150
mov rdi, rcx
mov rcx, qword [0x1800b1cc0]
call fcn.180058610
lea rdx, str.All_skins_loaded_from_memory__n
mov rcx, qword [0x1800b1cc8]
call fcn.180051200
mov rax, qword [0x1800b40c0]
test rax, rax
je 0x18005192c
inc dword [rax + 0x3b0]
mov ecx, 0x3f48
call fcn.18006f908
xor r15d, r15d
test rax, rax
je 0x18005194d
xor edx, edx
mov rcx, rax
call fcn.180019e90
mov rcx, rax
jmp 0x180051950
mov rcx, r15
mov rax, qword [0x1800b40c0]
test rax, rax
cmove rax, rcx
mov qword [0x1800b40c0], rax
call fcn.180020970
mov rbx, qword [0x1800b40c0]
mov dword [rbx + 0x1560], 0x40c00000
mov qword [rbx + 0x1564], 0x40c00000
mov dword [rbx + 0x1594], 0x40c00000
mov qword [rbx + 0x1598], 0x40800000
mov dword [rbx + 0x15a4], 0x40c00000
mov dword [rbx + 0x15a8], 0x40800000
mov dword [rbx + 0x1578], 0x3f000000
mov dword [rbx + 0x157c], 0x3f000000
mov qword [rbx + 0x15cc], 0x41400000
mov dword [rbx + 0x156c], 0x3f000000
mov dword [rbx + 0x1588], 0x3f000000
mov dword [rbx + 0x1590], 0x3f000000
mov dword [rbx + 0x15a0], r15d
mov dword [rbx + 0x1584], r15d
mov dword [rbx + 0x15d8], r15d
mov dword [rbx + 0x15e0], r15d
mov dword [rbx + 0x158c], r15d
mov byte [rbx + 0x1616], 1
mov byte [rbx + 0x1614], 1
movaps xmm0, xmmword [0x1800a3600]
movups xmmword [rbx + 0x1620], xmm0
movaps xmm1, xmmword [0x1800a3550]
movups xmmword [rbx + 0x1630], xmm1
movaps xmm0, xmmword [0x1800a3460]
movups xmmword [rbx + 0x1640], xmm0
xorps xmm1, xmm1
movups xmmword [rbx + 0x1650], xmm1
movaps xmm0, xmmword [0x1800a33f0]
movups xmmword [rbx + 0x1660], xmm0
movaps xmm1, xmmword [0x1800a34b0]
movups xmmword [rbx + 0x1670], xmm1
xorps xmm0, xmm0
movups xmmword [rbx + 0x1680], xmm0
movaps xmm1, xmmword [0x1800a3470]
movups xmmword [rbx + 0x1690], xmm1
movaps xmm0, xmmword [0x1800a34b0]
movups xmmword [rbx + 0x16a0], xmm0
movaps xmm1, xmmword [0x1800a34e0]
movups xmmword [rbx + 0x16b0], xmm1
movups xmmword [rbx + 0x16c0], xmm0
movaps xmm1, xmmword [0x1800a3480]
movups xmmword [rbx + 0x16d0], xmm1
movaps xmm0, xmmword [0x1800a3350]
movups xmmword [rbx + 0x16e0], xmm0
movaps xmm1, xmmword [0x1800a3470]
movups xmmword [rbx + 0x16f0], xmm1
movaps xmm0, xmmword [0x1800a3370]
movups xmmword [rbx + 0x1700], xmm0
movaps xmm1, xmmword [0x1800a34d0]
movups xmmword [rbx + 0x1710], xmm1
movaps xmm0, xmmword [0x1800a3560]
movups xmmword [rbx + 0x1720], xmm0
movaps xmm1, xmmword [0x1800a35c0]
movups xmmword [rbx + 0x1730], xmm1
movaps xmm0, xmmword [0x1800a34e0]
movups xmmword [rbx + 0x1740], xmm0
movaps xmm1, xmmword [0x1800a3480]
movups xmmword [rbx + 0x1750], xmm1
movaps xmm0, xmm1
movups xmmword [rbx + 0x1760], xmm1
movaps xmm1, xmmword [0x1800a34b0]
movups xmmword [rbx + 0x1770], xmm1
movups xmmword [rbx + 0x1780], xmm0
movaps xmm1, xmmword [0x1800a34e0]
movups xmmword [rbx + 0x1790], xmm1
movaps xmm0, xmmword [0x1800a34b0]
movups xmmword [rbx + 0x17a0], xmm0
movaps xmm1, xmmword [0x1800a3480]
movups xmmword [rbx + 0x17b0], xmm1
movaps xmm0, xmmword [0x1800a34a0]
movups xmmword [rbx + 0x17c0], xmm0
movaps xmm1, xmmword [0x1800a34d0]
movups xmmword [rbx + 0x17d0], xmm1
movaps xmm0, xmmword [0x1800a3480]
movups xmmword [rbx + 0x17e0], xmm0
movaps xmm1, xmmword [0x1800a34e0]
movups xmmword [rbx + 0x17f0], xmm1
movaps xmm0, xmmword [0x1800a34d0]
movups xmmword [rbx + 0x1800], xmm0
movaps xmm1, xmmword [0x1800a3480]
movups xmmword [rbx + 0x1810], xmm1
movaps xmm0, xmmword [0x1800a34e0]
movups xmmword [rbx + 0x1820], xmm0
movaps xmm1, xmmword [0x1800a34b0]
movups xmmword [rbx + 0x1830], xmm1
movaps xmm0, xmmword [0x1800a3480]
movups xmmword [rbx + 0x1840], xmm0
movaps xmm1, xmmword [0x1800a34e0]
movups xmmword [rbx + 0x1850], xmm1
movaps xmm0, xmmword [0x1800a3410]
movups xmmword [rbx + 0x1860], xmm0
movaps xmm1, xmmword [0x1800a3540]
movups xmmword [rbx + 0x1870], xmm1
movaps xmm0, xmmword [0x1800a35a0]
movups xmmword [rbx + 0x1880], xmm0
movaps xmm1, xmmword [0x1800a3520]
movups xmmword [rbx + 0x1890], xmm1
movaps xmm0, xmmword [0x1800a3440]
movups xmmword [rbx + 0x18a0], xmm0
movaps xmm1, xmmword [0x1800a3430]
movups xmmword [rbx + 0x18b0], xmm1
movaps xmm0, xmmword [0x1800a3320]
movups xmmword [rbx + 0x1910], xmm0
movaps xmm1, xmmword [0x1800a33d0]
movups xmmword [rbx + 0x1920], xmm1
movaps xmm0, xmmword [0x1800a35f0]
movups xmmword [rbx + 0x1930], xmm0
movaps xmm1, xmmword [0x1800a33a0]
movups xmmword [rbx + 0x1940], xmm1
movaps xmm0, xmmword [0x1800a32e0]
movups xmmword [rbx + 0x1950], xmm0
movaps xmm1, xmmword [0x1800a3310]
movups xmmword [rbx + 0x1960], xmm1
mov qword [rbx + 0x20], r15
mov qword [rbx + 0x28], r15
or dword [rbx + 8], 0x20
lea r9, [rbp + 0x88]
xor r8d, r8d
xor edx, edx
lea rcx, [0x18008c5e0]
call qword [sym.imp.SHELL32.dll_SHGetKnownFolderPath]
test eax, eax
js 0x1800521d2
lea rdx, [rbp + 0x88]
lea rcx, [rbp - 0x60]
call fcn.180011d80
mov rcx, qword [rbp + 0x88]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x30], xmm0
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm0
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x10], xmm0
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x40], rax
mov byte [rbp - 0x34], 1
mov dword [rbp - 0x28], 3
mov dword [rbp - 0x24], 1
movss xmm0, dword [0x1800a31bc]
movss dword [rbp + 4], xmm0
movss xmm1, dword [0x1800a311c]
movss dword [rbp + 0x10], xmm1
mov eax, 0xffff
mov word [rbp + 0x14], ax
mov dword [rbp - 0x2c], 0x41700000
mov rsi, qword [rbx + 0xa8]
call fcn.18005af4c
lea rcx, str.tahoma.ttf
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], 0xa
lea r8, [rsp + 0x30]
mov edx, eax
lea rcx, [rbp - 0x80]
call fcn.180003af0
lea r8, [rbp - 0x80]
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x60]
call fcn.180003fc0
lea rdx, [rsp + 0x40]
mov rcx, rax
call fcn.180051110
cmp qword [rax + 0x18], 0x10
jb 0x180051dac
mov rax, qword [rax]
lea rcx, [0x1800a00b0]
mov qword [rsp + 0x20], rcx
lea r9, [rbp - 0x40]
movss xmm2, dword [0x1800a316c]
mov rdx, rax
mov rcx, rsi
call fcn.18003a130
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x180051e0c
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180051e07
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005254f
call fcn.18005d068
movdqa xmm0, xmmword [0x1800a3210]
movdqu xmmword [rsp + 0x50], xmm0
mov byte [rsp + 0x40], r15b
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x180051e61
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180051e5c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005254f
call fcn.18005d068
movdqa xmm0, xmmword [0x1800a31f0]
movdqu xmmword [rsp + 0x70], xmm0
mov word [rsp + 0x60], r15w
mov rdx, qword [rbp - 0x68]
cmp rdx, 8
jb 0x180051eb5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180051eb0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005254f
call fcn.18005d068
mov byte [rbp + 8], 1
mov rsi, qword [rbx + 0xa8]
call fcn.18005af4c
lea rcx, str.malgun.ttf
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], 0xa
lea r8, [rsp + 0x30]
mov edx, eax
lea rcx, [rbp - 0x80]
call fcn.180003af0
lea r8, [rbp - 0x80]
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x40]
call fcn.180003fc0
lea rdx, [rsp + 0x60]
mov rcx, rax
call fcn.180051110
cmp qword [rax + 0x18], 0x10
jb 0x180051f13
mov rax, qword [rax]
lea rcx, [0x1800a15c0]
mov qword [rsp + 0x20], rcx
lea r9, [rbp - 0x40]
movss xmm2, dword [0x1800a316c]
mov rdx, rax
mov rcx, rsi
call fcn.18003a130
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x180051f73
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180051f6e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180052555
call fcn.18005d068
movdqa xmm0, xmmword [0x1800a3210]
movdqu xmmword [rsp + 0x70], xmm0
mov byte [rsp + 0x60], r15b
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x180051fc8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180051fc3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180052555
call fcn.18005d068
movdqa xmm0, xmmword [0x1800a31f0]
movdqu xmmword [rsp + 0x50], xmm0
mov word [rsp + 0x40], r15w
mov rdx, qword [rbp - 0x68]
cmp rdx, 8
jb 0x18005201c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180052017
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180052555
call fcn.18005d068
mov rbx, qword [rbx + 0xa8]
call fcn.18005af4c
lea rcx, str.msyh.ttc
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], 8
lea r8, [rsp + 0x30]
mov edx, eax
lea rcx, [rbp - 0x80]
call fcn.180003af0
lea r8, [rbp - 0x80]
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x40]
call fcn.180003fc0
lea rdx, [rsp + 0x60]
mov rcx, rax
call fcn.180051110
cmp qword [rax + 0x18], 0x10
jb 0x180052076
mov rax, qword [rax]
lea rcx, [0x1800a1598]
mov qword [rsp + 0x20], rcx
lea r9, [rbp - 0x40]
movss xmm2, dword [0x1800a316c]
mov rdx, rax
mov rcx, rbx
call fcn.18003a130
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x1800520d6
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800520d1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005255b
call fcn.18005d068
movdqa xmm0, xmmword [0x1800a3210]
movdqu xmmword [rsp + 0x70], xmm0
mov byte [rsp + 0x60], r15b
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x18005212b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180052126
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005255b
call fcn.18005d068
movdqa xmm0, xmmword [0x1800a31f0]
movdqu xmmword [rsp + 0x50], xmm0
mov word [rsp + 0x40], r15w
mov rdx, qword [rbp - 0x68]
cmp rdx, 8
jb 0x18005217f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005217a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005255b
call fcn.18005d068
lea rdx, str.Fonts_loaded__n
mov rcx, qword [0x1800b1cc8]
call fcn.180051200
mov rdx, qword [rbp - 0x48]
cmp rdx, 8
jb 0x1800521d2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800521cd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180052549
call fcn.18005d068
mov rax, qword [0x1800b1cb8]
mov rsi, qword [rax + 8]
mov rbx, qword [0x1800b40c0]
lea rcx, [rbp + 0x90]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
je 0x180052332
lea rcx, [rbp + 0x98]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x180052332
mov rax, qword [0x1800b40c0]
test rax, rax
je 0x180052220
inc dword [rax + 0x3b0]
mov ecx, 0x30
call fcn.18006f908
mov rcx, rax
test rax, rax
je 0x180052242
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
jmp 0x180052245
mov rcx, r15
mov qword [rbx + 0xe8], rcx
lea rax, [0x1800a1ad8]
mov qword [rbx + 0xd8], rax
or dword [rbx + 0xc], 6
mov qword [rcx], rsi
mov byte [rcx + 0x2d], 1
mov rax, qword [rbp + 0x90]
mov qword [rcx + 0x20], rax
mov rax, qword [rbp + 0x98]
mov qword [rcx + 0x18], rax
mov dword [rcx + 0x28], 9
mov qword [rbx + 0x120], rsi
mov dword [rbx + 0x3c], 9
mov dword [rbx + 0x40], 0x25
mov dword [rbx + 0x44], 0x27
mov dword [rbx + 0x48], 0x26
mov dword [rbx + 0x4c], 0x28
mov dword [rbx + 0x50], 0x21
mov dword [rbx + 0x54], 0x22
mov dword [rbx + 0x58], 0x24
mov dword [rbx + 0x5c], 0x23
mov dword [rbx + 0x60], 0x2d
mov dword [rbx + 0x64], 0x2e
mov dword [rbx + 0x68], 8
mov dword [rbx + 0x6c], 0x20
mov dword [rbx + 0x70], 0xd
mov dword [rbx + 0x74], 0x1b
mov dword [rbx + 0x78], 0xd
mov dword [rbx + 0x7c], 0x41
mov dword [rbx + 0x80], 0x43
mov dword [rbx + 0x84], 0x56
mov dword [rbx + 0x88], 0x58
mov dword [rbx + 0x8c], 0x59
mov dword [rbx + 0x90], 0x5a
mov qword [0x1800b40f8], rdi
mov rax, qword [rdi]
lea r8, [0x1800b40d0]
lea rdx, [0x1800a1d60]
mov rcx, rdi
call qword [rax + 0x38]
mov rcx, qword [0x1800b40d0]
mov rax, qword [rcx]
lea rdx, [0x1800b40d8]
call qword [rax + 0x140]
nop
mov qword [rbp + 0x88], r15
mov rcx, qword [0x1800b40f8]
mov rax, qword [rcx]
lea r9, [rbp + 0x88]
lea r8, [0x1800a1d70]
xor edx, edx
call qword [rax + 0x48]
mov rdx, qword [rbp + 0x88]
test rdx, rdx
je 0x1800523bd
mov rcx, qword [0x1800b40d0]
mov rax, qword [rcx]
lea r9, [0x1800b40e0]
xor r8d, r8d
call qword [rax + 0x48]
mov rcx, qword [rbp + 0x88]
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov r14, qword [0x1800b40d8]
mov rsi, qword [0x1800b40d0]
mov rdi, qword [0x1800b40c0]
test rdi, rdi
je 0x1800523dd
inc dword [rdi + 0x3b0]
mov ecx, 0x78
call fcn.18006f908
mov rbx, rax
test rax, rax
je 0x18005241d
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x40], xmm0
movups xmmword [rax + 0x50], xmm0
movups xmmword [rax + 0x60], xmm0
mov dword [rax + 0x70], 0x1388
mov dword [rax + 0x74], 0x2710
jmp 0x180052420
mov rbx, r15
mov qword [rdi + 0xf0], rbx
lea rax, str.imgui_impl_dx11
mov qword [rdi + 0xe0], rax
or dword [rdi + 0xc], 8
mov qword [rbp + 0x90], r15
mov qword [rbp + 0x98], r15
mov qword [rsp + 0x30], r15
mov rax, qword [rsi]
lea r8, [rbp + 0x90]
lea rdx, [0x1800a1aa8]
mov rcx, rsi
call qword [rax]
test eax, eax
jne 0x1800524b2
mov rcx, qword [rbp + 0x90]
mov rax, qword [rcx]
lea r8, [rbp + 0x98]
lea rdx, [0x1800a1ab8]
call qword [rax + 0x30]
test eax, eax
jne 0x1800524b2
mov rcx, qword [rbp + 0x98]
mov rax, qword [rcx]
lea r8, [rsp + 0x30]
lea rdx, [0x1800a1ac8]
call qword [rax + 0x30]
test eax, eax
jne 0x1800524b2
mov qword [rbx], rsi
mov qword [rbx + 8], r14
mov rax, qword [rsp + 0x30]
mov qword [rbx + 0x10], rax
mov rcx, qword [rbp + 0x90]
test rcx, rcx
je 0x1800524c4
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x98]
test rcx, rcx
je 0x1800524d6
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [rbx + 8]
mov rax, qword [rcx]
call qword [rax + 8]
call fcn.18003f920
lea r8, [0x1800514c0]
mov edx, 0xfffffffc
mov rcx, qword [0x1800b1cb8]
mov rcx, qword [rcx + 8]
call qword [sym.imp.USER32.dll_SetWindowLongPtrW]
mov qword [0x1800b55b0], rax
lea r9, [0x1800514c0]
lea r8, [0x1800b55b0]
lea rdx, str.WndProc_hooked__n_tOriginal:_0x_X_n_tNew:_0x_X_n
mov rcx, qword [0x1800b1cc8]
mov rbx, qword [rsp + 0x180]
add rsp, 0x150
pop r15
pop r14
pop rdi
pop rsi
pop rbp
jmp fcn.180051200
call fcn.18006c23c
int3
call fcn.18006c23c
int3
call fcn.18006c23c
int3
call fcn.18006c23c
int3