Function at 0x180050f10
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 [0x1800b0d90]
call fcn.1800580f0
mov rax, qword [0x1800b2c28]
test rax, rax
je 0x180050f5e
inc dword [rax + 0x3b0]
mov ecx, 0x3f48
call fcn.18006e508
xor r12d, r12d
test rax, rax
je 0x180050f7c
xor edx, edx
mov rcx, rax
call fcn.18001a1e0
jmp 0x180050f7f
mov rax, r12
cmp qword [0x1800b2c28], r12
jne 0x180050f8f
mov qword [0x1800b2c28], rax
mov rcx, rax
call fcn.180020680
mov rdi, qword [0x1800b2c28]
mov byte [rdi + 0x1616], 1
mov byte [rdi + 0x1614], 1
call fcn.18005ab00
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, [0x18008b5c0]
call qword [sym.imp.SHELL32.dll_SHGetKnownFolderPath]
test eax, eax
js 0x180051681
lea rdx, [rbp + 0x1f8]
lea rcx, [rbp - 0x60]
call fcn.180011e00
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.18005ae28
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
lea r8, [rsp + 0x30]
mov edx, eax
lea rcx, [rbp - 0x80]
call fcn.180003b50
lea r8, [rbp - 0x80]
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x60]
call fcn.180004070
lea rdx, [rsp + 0x40]
mov rcx, rax
call fcn.180050740
mov rbx, rax
cmp qword [rax + 0x18], 0xf
jbe 0x1800510bc
mov rbx, qword [rax]
mov qword [rbp + 0x200], r12
lea r8, [rbp + 0x200]
mov rcx, rbx
call fcn.18001b690
mov rsi, rax
test rax, rax
je 0x180051256
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 0x1800511da
mov r9, 0xffffffffffffffff
inc r9
cmp byte [rbx + r9], r12b
jne 0x180051153
add r9, rbx
cmp r9, rbx
jbe 0x18005117b
lea rcx, [r9 - 1]
movzx eax, byte [rcx]
cmp al, 0x2f
je 0x18005117b
cmp al, 0x5c
je 0x18005117b
mov r9, rcx
cmp rcx, rbx
ja 0x180051164
movsd xmm0, qword [0x18009ece0]
movsd qword [rsp + 0x20], xmm0
lea r8, str._s___.0fpx
mov edx, 0x28
lea rcx, [rbp + 0xa6]
call fcn.18001b430
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, [0x18009baa0]
mov qword [rbp + 0x118], rax
lea rdx, [rbp + 0xe0]
mov rcx, r14
call fcn.180039790
mov rdx, qword [rsp + 0x58]
cmp rdx, 0xf
jbe 0x180051293
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005128e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180051a11
call fcn.18005c8f0
movdqa xmm0, xmmword [0x18009edc0]
movdqu xmmword [rsp + 0x50], xmm0
mov byte [rsp + 0x40], r12b
mov rdx, qword [rsp + 0x78]
cmp rdx, 7
jbe 0x1800512e8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800512e3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180051a11
call fcn.18005c8f0
movdqa xmm0, xmmword [0x18009eda0]
movdqu xmmword [rsp + 0x70], xmm0
mov word [rsp + 0x60], r12w
mov rdx, qword [rbp - 0x68]
cmp rdx, 7
jbe 0x18005133c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180051337
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180051a11
call fcn.18005c8f0
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.18005ae28
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
lea r8, [rsp + 0x30]
mov edx, eax
lea rcx, [rbp - 0x80]
call fcn.180003b50
lea r8, [rbp - 0x80]
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x40]
call fcn.180004070
lea rdx, [rsp + 0x60]
mov rcx, rax
call fcn.180050740
cmp qword [rax + 0x18], 0xf
jbe 0x1800513a5
mov rax, qword [rax]
lea rcx, [0x18009cfa0]
mov qword [rsp + 0x20], rcx
lea r9, [rbp - 0x40]
movss xmm2, dword [0x18009ed1c]
mov rdx, rax
mov rcx, rbx
call fcn.180039a50
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x180051405
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180051400
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180051a17
call fcn.18005c8f0
movdqa xmm0, xmmword [0x18009edc0]
movdqu xmmword [rsp + 0x70], xmm0
mov byte [rsp + 0x60], r12b
mov rdx, qword [rsp + 0x58]
cmp rdx, 7
jbe 0x18005145a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180051455
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180051a17
call fcn.18005c8f0
movdqa xmm0, xmmword [0x18009eda0]
movdqu xmmword [rsp + 0x50], xmm0
mov word [rsp + 0x40], r12w
mov rdx, qword [rbp - 0x68]
cmp rdx, 7
jbe 0x1800514ae
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800514a9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180051a17
call fcn.18005c8f0
mov rbx, qword [rdi + 0xa8]
lea rax, str.msyh.ttc
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 8
call fcn.18005ae28
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
lea r8, [rsp + 0x30]
mov edx, eax
lea rcx, [rbp - 0x80]
call fcn.180003b50
lea r8, [rbp - 0x80]
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x40]
call fcn.180004070
lea rdx, [rsp + 0x60]
mov rcx, rax
call fcn.180050740
cmp qword [rax + 0x18], 0xf
jbe 0x180051513
mov rax, qword [rax]
lea rcx, [0x18009cf78]
mov qword [rsp + 0x20], rcx
lea r9, [rbp - 0x40]
movss xmm2, dword [0x18009ed1c]
mov rdx, rax
mov rcx, rbx
call fcn.180039a50
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x180051573
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005156e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180051a1d
call fcn.18005c8f0
movdqa xmm0, xmmword [0x18009edc0]
movdqu xmmword [rsp + 0x70], xmm0
mov byte [rsp + 0x60], r12b
mov rdx, qword [rsp + 0x58]
cmp rdx, 7
jbe 0x1800515c8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800515c3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180051a1d
call fcn.18005c8f0
movdqa xmm0, xmmword [0x18009eda0]
movdqu xmmword [rsp + 0x50], xmm0
mov word [rsp + 0x40], r12w
mov rdx, qword [rbp - 0x68]
cmp rdx, 7
jbe 0x18005161c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180051617
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180051a1d
call fcn.18005c8f0
lea rdx, str.Fonts_loaded__n
mov rcx, qword [0x1800b0d98]
call fcn.180050830
mov rdx, qword [rbp - 0x48]
cmp rdx, 7
jbe 0x18005166f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005166a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180051a0b
call fcn.18005c8f0
movdqa xmm0, xmmword [0x18009eda0]
movdqu xmmword [rbp - 0x50], xmm0
mov word [rbp - 0x60], r12w
mov rax, qword [0x1800b0d88]
mov rdi, qword [rax + 8]
mov rbx, qword [0x1800b2c28]
lea rcx, [rbp + 0x200]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
je 0x1800517e1
lea rcx, [rbp + 0x208]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x1800517e1
mov rax, qword [0x1800b2c28]
test rax, rax
je 0x1800516cf
inc dword [rax + 0x3b0]
mov ecx, 0x30
call fcn.18006e508
mov rcx, rax
test rax, rax
je 0x1800516f1
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
jmp 0x1800516f4
mov rcx, r12
mov qword [rbx + 0xe8], rcx
lea rax, [0x18009d4b8]
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 [0x1800b2c60], r15
mov rax, qword [r15]
lea r8, [0x1800b2c38]
lea rdx, [0x18009d8c0]
mov rcx, r15
call qword [rax + 0x38]
mov rcx, qword [0x1800b2c38]
mov rax, qword [rcx]
lea rdx, [0x1800b2c48]
call qword [rax + 0x140]
nop
mov qword [rbp + 0x1f8], r12
mov rcx, qword [0x1800b2c60]
mov rax, qword [rcx]
lea r9, [rbp + 0x1f8]
lea r8, [0x18009d8d0]
xor edx, edx
call qword [rax + 0x48]
mov rdx, qword [rbp + 0x1f8]
test rdx, rdx
je 0x18005186c
mov rcx, qword [0x1800b2c38]
mov rax, qword [rcx]
lea r9, [0x1800b2c40]
xor r8d, r8d
call qword [rax + 0x48]
mov rcx, qword [rbp + 0x1f8]
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov r14, qword [0x1800b2c48]
mov rsi, qword [0x1800b2c38]
mov rdi, qword [0x1800b2c28]
test rdi, rdi
je 0x18005188c
inc dword [rdi + 0x3b0]
mov ecx, 0x78
call fcn.18006e508
mov rbx, rax
test rax, rax
je 0x1800518cc
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 0x1800518cf
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, [0x18009d488]
mov rcx, rsi
call qword [rax]
test eax, eax
jne 0x180051961
mov rcx, qword [rbp + 0x200]
mov rax, qword [rcx]
lea r8, [rbp + 0x208]
lea rdx, [0x18009d498]
call qword [rax + 0x30]
test eax, eax
jne 0x180051961
mov rcx, qword [rbp + 0x208]
mov rax, qword [rcx]
lea r8, [rsp + 0x30]
lea rdx, [0x18009d4a8]
call qword [rax + 0x30]
test eax, eax
jne 0x180051961
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 0x180051973
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x208]
test rcx, rcx
je 0x180051985
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.18003ef90
lea r8, [0x180050af0]
mov edx, 0xfffffffc
mov rcx, qword [0x1800b0d88]
mov rcx, qword [rcx + 8]
call qword [sym.imp.USER32.dll_SetWindowLongPtrW]
mov qword [0x1800b40c0], rax
lea r9, [0x180050af0]
lea r8, [0x1800b40c0]
lea rdx, str.WndProc_hooked__n_tOriginal:_0x_X_n_tNew:_0x_X_n
mov rcx, qword [0x1800b0d98]
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.180050830
call fcn.18006af9c
int3
call fcn.18006af9c
int3
call fcn.18006af9c
int3
call fcn.18006af9c
int3