Function at 0x180051040
Capabilities:
Get common file path

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x1e8]
sub rsp, 0x2b0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
mov r15, rcx
mov rcx, qword [0x1800abd90]
call fcn.180058320
lea rdx, str.All_skins_loaded_from_memory__n
mov rcx, qword [0x1800abd98]
call fcn.180050960
mov rax, qword [0x1800adb50]
test rax, rax
je 0x1800510a1
inc dword [rax + 0x3b0]
mov ecx, 0x3f48
call fcn.18006e530
xor r12d, r12d
test rax, rax
je 0x1800510bf
xor edx, edx
mov rcx, rax
call fcn.18001a300
jmp 0x1800510c2
mov rax, r12
cmp qword [0x1800adb50], r12
jne 0x1800510d2
mov qword [0x1800adb50], rax
mov rcx, rax
call fcn.1800207a0
mov rdi, qword [0x1800adb50]
mov byte [rdi + 0x1616], 1
mov byte [rdi + 0x1614], 1
call fcn.18005acf0
mov qword [rdi + 0x20], r12
mov qword [rdi + 0x28], r12
or dword [rdi + 8], 0x20
lea r9, [rbp + 0x1f8]
xor r8d, r8d
xor edx, edx
lea rcx, [0x1800885c0]
call qword [sym.imp.SHELL32.dll_SHGetKnownFolderPath]
test eax, eax
js 0x1800517cd
lea rdx, [rbp + 0x1f8]
lea rcx, [rbp - 0x60]
call fcn.180011f20
mov rcx, qword [rbp + 0x1f8]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
xorps xmm6, xmm6
xor eax, eax
movups xmmword [rbp - 0x40], xmm6
movups xmmword [rbp - 0x30], xmm6
movaps xmmword [rbp - 0x20], xmm6
movaps xmmword [rbp - 0x10], xmm6
movups xmmword [rbp], xmm6
movups xmmword [rbp + 0x10], xmm6
movaps xmmword [rbp + 0x20], xmm6
movaps xmmword [rbp + 0x30], xmm6
mov qword [rbp + 0x40], rax
mov byte [rbp - 0x34], 1
mov dword [rbp - 0x28], 3
mov dword [rbp - 0x24], 1
mov dword [rbp + 4], 0x7f7fffff
mov dword [rbp + 0x10], 0x3f800000
mov eax, 0xffff
mov word [rbp + 0x14], ax
mov dword [rbp - 0x2c], 0x41700000
mov r14, qword [rdi + 0xa8]
lea rax, str.tahoma.ttf
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 0xa
call fcn.18005b0f4
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
lea r8, [rsp + 0x30]
mov edx, eax
lea rcx, [rbp - 0x80]
call fcn.180003b60
lea r8, [rbp - 0x80]
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x60]
call fcn.180004080
lea rdx, [rsp + 0x40]
mov rcx, rax
call fcn.180050870
mov rbx, rax
cmp qword [rax + 0x18], 0xf
jbe 0x1800511ff
mov rbx, qword [rax]
mov qword [rbp + 0x200], r12
lea r8, [rbp + 0x200]
mov rcx, rbx
call fcn.18001b7b0
mov rsi, rax
test rax, rax
je 0x1800513a2
movaps xmm2, xmmword [rbp - 0x40]
movaps xmmword [rbp + 0x50], xmm2
movaps xmm3, xmmword [rbp - 0x30]
movaps xmmword [rbp + 0x60], xmm3
movaps xmmword [rbp + 0x70], xmm6
xorps xmm4, xmm4
movaps xmmword [rbp + 0x80], xmm4
movaps xmm5, xmmword [rbp]
movaps xmmword [rbp + 0x90], xmm5
movaps xmm1, xmmword [rbp + 0x10]
movaps xmmword [rbp + 0xa0], xmm1
xorps xmm7, xmm7
movaps xmmword [rbp + 0xb0], xmm7
xorps xmm8, xmm8
movaps xmmword [rbp + 0xc0], xmm8
movsd xmm9, qword [rbp + 0x40]
movsd qword [rbp + 0xd0], xmm9
movdqa xmm0, xmm1
psrldq xmm0, 6
movd eax, xmm0
test al, al
jne 0x180051326
mov r9, 0xffffffffffffffff
inc r9
cmp byte [rbx + r9], r12b
jne 0x180051296
add r9, rbx
cmp r9, rbx
jbe 0x1800512c7
nop word [rax + rax]
lea rcx, [r9 - 1]
movzx eax, byte [rcx]
cmp al, 0x2f
je 0x1800512c7
cmp al, 0x5c
je 0x1800512c7
mov r9, rcx
cmp rcx, rbx
ja 0x1800512b0
movsd xmm0, qword [0x18009c050]
movsd qword [rsp + 0x20], xmm0
lea r8, str._s___.0fpx
mov edx, 0x28
lea rcx, [rbp + 0xa6]
call fcn.18001b550
movsd xmm9, qword [rbp + 0xd0]
movaps xmm8, xmmword [rbp + 0xc0]
movaps xmm7, xmmword [rbp + 0xb0]
movaps xmm1, xmmword [rbp + 0xa0]
movaps xmm5, xmmword [rbp + 0x90]
movaps xmm4, xmmword [rbp + 0x80]
movaps xmm6, xmmword [rbp + 0x70]
movaps xmm3, xmmword [rbp + 0x60]
movaps xmm2, xmmword [rbp + 0x50]
movaps xmmword [rbp + 0xe0], xmm2
movaps xmmword [rbp + 0xf0], xmm3
movaps xmmword [rbp + 0x100], xmm6
movaps xmmword [rbp + 0x110], xmm4
movaps xmmword [rbp + 0x120], xmm5
movaps xmmword [rbp + 0x130], xmm1
movaps xmmword [rbp + 0x140], xmm7
movaps xmmword [rbp + 0x150], xmm8
movsd qword [rbp + 0x160], xmm9
mov qword [rbp + 0xe0], rsi
mov eax, dword [rbp + 0x200]
mov dword [rbp + 0xe8], eax
mov dword [rbp + 0xf4], 0x41700000
lea rax, [0x180098bb0]
mov qword [rbp + 0x118], rax
lea rdx, [rbp + 0xe0]
mov rcx, r14
call fcn.1800398a0
mov rdx, qword [rsp + 0x58]
cmp rdx, 0xf
jbe 0x1800513df
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800513da
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180051b5d
call fcn.18005cbc0
movdqa xmm0, xmmword [0x18009c130]
movdqu xmmword [rsp + 0x50], xmm0
mov byte [rsp + 0x40], r12b
mov rdx, qword [rsp + 0x78]
cmp rdx, 7
jbe 0x180051434
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005142f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180051b5d
call fcn.18005cbc0
movdqa xmm0, xmmword [0x18009c110]
movdqu xmmword [rsp + 0x70], xmm0
mov word [rsp + 0x60], r12w
mov rdx, qword [rbp - 0x68]
cmp rdx, 7
jbe 0x180051488
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180051483
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180051b5d
call fcn.18005cbc0
mov byte [rbp + 8], 1
mov rbx, qword [rdi + 0xa8]
lea rax, str.malgun.ttf
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 0xa
call fcn.18005b0f4
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
lea r8, [rsp + 0x30]
mov edx, eax
lea rcx, [rbp - 0x80]
call fcn.180003b60
lea r8, [rbp - 0x80]
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x40]
call fcn.180004080
lea rdx, [rsp + 0x60]
mov rcx, rax
call fcn.180050870
cmp qword [rax + 0x18], 0xf
jbe 0x1800514f1
mov rax, qword [rax]
lea rcx, [0x18009a250]
mov qword [rsp + 0x20], rcx
lea r9, [rbp - 0x40]
movss xmm2, dword [0x18009c08c]
mov rdx, rax
mov rcx, rbx
call fcn.180039b60
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x180051551
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005154c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180051b63
call fcn.18005cbc0
movdqa xmm0, xmmword [0x18009c130]
movdqu xmmword [rsp + 0x70], xmm0
mov byte [rsp + 0x60], r12b
mov rdx, qword [rsp + 0x58]
cmp rdx, 7
jbe 0x1800515a6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800515a1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180051b63
call fcn.18005cbc0
movdqa xmm0, xmmword [0x18009c110]
movdqu xmmword [rsp + 0x50], xmm0
mov word [rsp + 0x40], r12w
mov rdx, qword [rbp - 0x68]
cmp rdx, 7
jbe 0x1800515fa
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800515f5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180051b63
call fcn.18005cbc0
mov rbx, qword [rdi + 0xa8]
lea rax, str.msyh.ttc
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 8
call fcn.18005b0f4
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
lea r8, [rsp + 0x30]
mov edx, eax
lea rcx, [rbp - 0x80]
call fcn.180003b60
lea r8, [rbp - 0x80]
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x40]
call fcn.180004080
lea rdx, [rsp + 0x60]
mov rcx, rax
call fcn.180050870
cmp qword [rax + 0x18], 0xf
jbe 0x18005165f
mov rax, qword [rax]
lea rcx, [0x18009a228]
mov qword [rsp + 0x20], rcx
lea r9, [rbp - 0x40]
movss xmm2, dword [0x18009c08c]
mov rdx, rax
mov rcx, rbx
call fcn.180039b60
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x1800516bf
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800516ba
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180051b69
call fcn.18005cbc0
movdqa xmm0, xmmword [0x18009c130]
movdqu xmmword [rsp + 0x70], xmm0
mov byte [rsp + 0x60], r12b
mov rdx, qword [rsp + 0x58]
cmp rdx, 7
jbe 0x180051714
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005170f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180051b69
call fcn.18005cbc0
movdqa xmm0, xmmword [0x18009c110]
movdqu xmmword [rsp + 0x50], xmm0
mov word [rsp + 0x40], r12w
mov rdx, qword [rbp - 0x68]
cmp rdx, 7
jbe 0x180051768
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180051763
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180051b69
call fcn.18005cbc0
lea rdx, str.Fonts_loaded__n
mov rcx, qword [0x1800abd98]
call fcn.180050960
mov rdx, qword [rbp - 0x48]
cmp rdx, 7
jbe 0x1800517bb
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800517b6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180051b57
call fcn.18005cbc0
movdqa xmm0, xmmword [0x18009c110]
movdqu xmmword [rbp - 0x50], xmm0
mov word [rbp - 0x60], r12w
mov rax, qword [0x1800abd88]
mov rdi, qword [rax + 8]
mov rbx, qword [0x1800adb50]
lea rcx, [rbp + 0x200]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
je 0x18005192d
lea rcx, [rbp + 0x208]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x18005192d
mov rax, qword [0x1800adb50]
test rax, rax
je 0x18005181b
inc dword [rax + 0x3b0]
mov ecx, 0x30
call fcn.18006e530
mov rcx, rax
test rax, rax
je 0x18005183d
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
jmp 0x180051840
mov rcx, r12
mov qword [rbx + 0xe8], rcx
lea rax, [0x18009a768]
mov qword [rbx + 0xd8], rax
or dword [rbx + 0xc], 6
mov qword [rcx], rdi
mov byte [rcx + 0x2d], 1
mov rax, qword [rbp + 0x200]
mov qword [rcx + 0x20], rax
mov rax, qword [rbp + 0x208]
mov qword [rcx + 0x18], rax
mov dword [rcx + 0x28], 9
mov qword [rbx + 0x120], rdi
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 [0x1800adb88], r15
mov rax, qword [r15]
lea r8, [0x1800adb60]
lea rdx, [0x18009aba0]
mov rcx, r15
call qword [rax + 0x38]
mov rcx, qword [0x1800adb60]
mov rax, qword [rcx]
lea rdx, [0x1800adb70]
call qword [rax + 0x140]
nop
mov qword [rbp + 0x1f8], r12
mov rcx, qword [0x1800adb88]
mov rax, qword [rcx]
lea r9, [rbp + 0x1f8]
lea r8, [0x18009abb0]
xor edx, edx
call qword [rax + 0x48]
mov rdx, qword [rbp + 0x1f8]
test rdx, rdx
je 0x1800519b8
mov rcx, qword [0x1800adb60]
mov rax, qword [rcx]
lea r9, [0x1800adb68]
xor r8d, r8d
call qword [rax + 0x48]
mov rcx, qword [rbp + 0x1f8]
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov r14, qword [0x1800adb70]
mov rsi, qword [0x1800adb60]
mov rdi, qword [0x1800adb50]
test rdi, rdi
je 0x1800519d8
inc dword [rdi + 0x3b0]
mov ecx, 0x78
call fcn.18006e530
mov rbx, rax
test rax, rax
je 0x180051a18
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 0x180051a1b
mov rbx, r12
mov qword [rdi + 0xf0], rbx
lea rax, str.imgui_impl_dx11
mov qword [rdi + 0xe0], rax
or dword [rdi + 0xc], 8
mov qword [rbp + 0x200], r12
mov qword [rbp + 0x208], r12
mov qword [rsp + 0x30], r12
mov rax, qword [rsi]
lea r8, [rbp + 0x200]
lea rdx, [0x18009a738]
mov rcx, rsi
call qword [rax]
test eax, eax
jne 0x180051aad
mov rcx, qword [rbp + 0x200]
mov rax, qword [rcx]
lea r8, [rbp + 0x208]
lea rdx, [0x18009a748]
call qword [rax + 0x30]
test eax, eax
jne 0x180051aad
mov rcx, qword [rbp + 0x208]
mov rax, qword [rcx]
lea r8, [rsp + 0x30]
lea rdx, [0x18009a758]
call qword [rax + 0x30]
test eax, eax
jne 0x180051aad
mov qword [rbx], rsi
mov qword [rbx + 8], r14
mov rax, qword [rsp + 0x30]
mov qword [rbx + 0x10], rax
mov rcx, qword [rbp + 0x200]
test rcx, rcx
je 0x180051abf
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x208]
test rcx, rcx
je 0x180051ad1
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.18003f080
lea r8, [0x180050c10]
mov edx, 0xfffffffc
mov rcx, qword [0x1800abd88]
mov rcx, qword [rcx + 8]
call qword [sym.imp.USER32.dll_SetWindowLongPtrW]
mov qword [0x1800aefe0], rax
lea r9, [0x180050c10]
lea r8, [0x1800aefe0]
lea rdx, str.WndProc_hooked__n_tOriginal:_0x_X_n_tNew:_0x_X_n
mov rcx, qword [0x1800abd98]
lea r11, [rsp + 0x2b0]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
jmp fcn.180050960
call fcn.18006b1b8
int3
call fcn.18006b1b8
int3
call fcn.18006b1b8
int3
call fcn.18006b1b8
int3