Function at 0x14004f650
Capabilities:
Get common file path

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x398]
sub rsp, 0x470
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x1400eb080]
xor rax, rsp
mov qword [rbp + 0x348], rax
lea rcx, [0x140050360]
call fcn.140056c28
xor ecx, ecx
call fcn.140067ec4
mov rcx, rax
call fcn.14005d7c0
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
xor r14d, r14d
mov qword [rbp - 0x70], r14
mov qword [rbp - 0x68], r14
lea r8d, [r14 + 7]
lea rdx, str.clicker
lea rcx, [rbp - 0x80]
call fcn.140009840
lea rdx, [rbp - 0x80]
call fcn.140002730
lea rax, vtable.std::_Func_impl_no_alloc_unsigned_long_int____cdecl___void___void___.0
mov qword [rbp + 0x160], rax
lea rax, [0x1400547c0]
mov qword [rbp + 0x168], rax
lea rax, [rbp + 0x160]
mov qword [rbp + 0x198], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x1a0], xmm0
mov qword [rbp + 0x1b0], r14
mov qword [rbp + 0x1b8], r14
lea r8d, [r14 + 0xb]
lea rdx, str.input_hooks
lea rcx, [rbp + 0x1a0]
call fcn.140009840
lea rbx, vtable.std::_Func_impl_no_alloc_void____cdecl___void___void___.0
mov qword [rbp + 0x1c0], rbx
lea rax, [0x140050a20]
mov qword [rbp + 0x1c8], rax
lea rax, [rbp + 0x1c0]
mov qword [rbp + 0x1f8], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x200], xmm0
mov qword [rbp + 0x210], r14
mov qword [rbp + 0x218], r14
lea r8d, [r14 + 0xd]
lea rdx, str.randomization
lea rcx, [rbp + 0x200]
call fcn.140009840
mov qword [rbp + 0x220], rbx
lea rax, [0x1400509f0]
mov qword [rbp + 0x228], rax
lea rax, [rbp + 0x220]
mov qword [rbp + 0x258], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x260], xmm0
mov qword [rbp + 0x270], r14
mov qword [rbp + 0x278], r14
lea r8d, [r14 + 7]
lea rdx, str.clicker
lea rcx, [rbp + 0x260]
call fcn.140009840
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x300], xmm0
mov qword [rbp + 0x310], r14
lea rax, [rbp + 0x280]
mov qword [rbp + 0x280], rax
lea rax, [rbp + 0x160]
mov qword [rsp + 0x60], rax
lea r9, [rbp + 0x280]
lea r8, [rsp + 0x60]
lea edx, [r14 + 3]
lea rcx, [rbp + 0x300]
call fcn.140050500
lea r9, [fcn.140050390]
lea edx, [r14 + 0x60]
lea r8d, [r14 + 3]
lea rcx, [rbp + 0x160]
call fcn.140056cb0
mov rsi, qword [rbp + 0x308]
mov rdi, qword [rbp + 0x300]
cmp rdi, rsi
je 0x14004f8fb
add rdi, 0x38
nop dword [rax + rax]
mov ecx, 0x40
call fcn.140056c48
mov rbx, rax
mov qword [rax + 0x38], r14
mov rcx, qword [rdi]
test rcx, rcx
je 0x14004f889
mov rdx, qword [rcx]
mov r8, qword [rdx]
mov rdx, rax
call r8
mov qword [rbx + 0x38], rax
lea rax, [rsp + 0x68]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r14d
mov r9, rbx
lea r8, [0x1400506a0]
xor edx, edx
xor ecx, ecx
call fcn.14006809c
mov qword [rsp + 0x60], rax
test rax, rax
je 0x140050350
cmp dword [rsp + 0x68], r14d
je 0x140050345
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x70], xmm0
lea rcx, [rsp + 0x70]
call fcn.140054dc8
test eax, eax
jne 0x140050345
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x60], xmm0
add rdi, 0x60
lea rax, [rdi - 0x38]
cmp rax, rsi
jne 0x14004f860
mov dword [rbp + 0x290], 0x50
mov dword [rbp + 0x294], 0x40
lea rax, [0x140050790]
mov qword [rbp + 0x298], rax
mov qword [rbp + 0x2a0], r14
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov qword [rbp + 0x2a8], rax
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x2b0], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x2c0], xmm1
lea rax, str.Class
mov qword [rbp + 0x2d0], rax
mov qword [rbp + 0x2d8], r14
lea rcx, [rbp + 0x290]
call qword [sym.imp.USER32.dll_RegisterClassExW]
mov qword [rsp + 0x58], r14
mov rax, qword [rbp + 0x2a8]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x40], r14
mov dword [rsp + 0x38], 0x15e
mov dword [rsp + 0x30], 0x226
mov dword [rsp + 0x28], 0x64
mov dword [rsp + 0x20], 0x64
mov r9d, 0x80000000
lea r8, [0x1400d9204]
mov rdx, qword [rbp + 0x2d0]
xor ecx, ecx
call qword [sym.imp.USER32.dll_CreateWindowExW]
mov r12, rax
mov rdx, rax
call fcn.140050850
mov edi, 1
test al, al
jne 0x14004fa11
mov rcx, qword [0x1400ee2a8]
test rcx, rcx
je 0x14004f9ef
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [0x1400ee2a8], r14
mov rcx, qword [0x1400ee2a0]
test rcx, rcx
je 0x1400502e2
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [0x1400ee2a0], r14
jmp 0x1400502e2
mov edx, 0xa
mov rcx, r12
call qword [sym.imp.USER32.dll_ShowWindow]
mov rcx, r12
call qword [sym.imp.USER32.dll_UpdateWindow]
call fcn.14000ee10
mov rsi, qword [0x1400ee270]
lea r9, [rbp + 0x280]
xor r8d, r8d
xor edx, edx
lea rcx, [0x140084660]
call qword [sym.imp.SHELL32.dll_SHGetKnownFolderPath]
test eax, eax
js 0x14004fc8e
mov rdx, qword [rbp + 0x280]
mov r8, 0xffffffffffffffff
inc r8
cmp word [rdx + r8*2], 0
jne 0x14004fa63
xorps xmm0, xmm0
movups xmmword [rbp + 0x2e0], xmm0
mov qword [rbp + 0x2f0], r14
mov qword [rbp + 0x2f8], r14
lea rcx, [rbp + 0x2e0]
call fcn.140001b10
mov rcx, qword [rbp + 0x280]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rbx, qword [rsi + 0xa8]
lea rax, str.SegoeUI.ttf
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 0xb
call fcn.140054fb8
movaps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x70], xmm0
lea r8, [rsp + 0x70]
mov edx, eax
lea rcx, [rbp + 0x140]
call fcn.1400061a0
lea rdx, [rbp + 0x2e0]
lea rcx, [rbp + 0x90]
call fcn.140009c00
lea rdx, [rbp + 0x140]
lea rcx, [rbp + 0x90]
call fcn.140008120
lea rdx, [rbp - 0x80]
lea rcx, [rbp + 0x90]
call fcn.140006410
cmp qword [rax + 0x18], 0x10
jb 0x14004fb1e
mov rax, qword [rax]
lea rcx, [0x1400d8a9c]
mov qword [rsp + 0x20], rcx
movss xmm2, dword [0x1400d9f00]
mov rdx, rax
mov rcx, rbx
call fcn.14002db30
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x14004fb78
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004fb73
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005033f
call fcn.140056c40
mov qword [rbp - 0x70], r14
mov qword [rbp - 0x68], 0xf
mov byte [rbp - 0x80], 0
mov rdx, qword [rbp + 0xa8]
cmp rdx, 8
jb 0x14004fbce
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004fbc9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005033f
call fcn.140056c40
mov qword [rbp + 0xa0], r14
mov qword [rbp + 0xa8], 7
mov word [rbp + 0x90], r14w
mov rdx, qword [rbp + 0x158]
cmp rdx, 8
jb 0x14004fc2e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x140]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004fc29
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005033f
call fcn.140056c40
mov qword [rbp + 0x150], r14
mov qword [rbp + 0x158], 7
mov word [rbp + 0x140], r14w
mov rdx, qword [rbp + 0x2f8]
cmp rdx, 8
jb 0x14004fc8e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x2e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004fc89
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005033f
call fcn.140056c40
xorps xmm6, xmm6
xor eax, eax
movups xmmword [rbp + 0xb0], xmm6
movups xmmword [rbp + 0xc0], xmm6
movups xmmword [rbp + 0xd0], xmm6
movups xmmword [rbp + 0xf0], xmm6
movups xmmword [rbp + 0x100], xmm6
mov qword [rbp + 0x130], rax
mov byte [rbp + 0xbc], dil
mov dword [rbp + 0xc8], 3
mov dword [rbp + 0xcc], edi
mov dword [rbp + 0xf4], 0x7f7fffff
movss xmm7, dword [0x1400d9e58]
mov dword [rbp + 0x100], 0x3f800000
mov eax, 0xffff
mov word [rbp + 0x104], ax
mov byte [rbp + 0xf8], dil
mov byte [rbp + 0xd0], dil
mov r13, qword [rsi + 0xa8]
mov rax, qword [0x1400ee270]
test rax, rax
je 0x14004fd23
inc dword [rax + 0x3b0]
mov ecx, 0x317f8
call fcn.1400674a0
mov r15, rax
lea rax, [0x1400b62e0]
mov qword [0x1400ee280], rax
lea r14, [r15 + 0x317f8]
mov qword [0x1400ee288], r14
mov qword [0x1400ee290], r15
mov qword [0x1400ee298], r15
lea rbx, [0x1400b62f0]
mov rcx, rbx
call fcn.1400323a0
cmp rax, rbx
je 0x14004fd89
nop
cmp qword [0x1400ee298], r14
ja 0x14004fd89
mov rbx, rax
mov rcx, rax
call fcn.1400323a0
cmp rax, rbx
jne 0x14004fd70
movaps xmm0, xmmword [rbp + 0xb0]
movaps xmmword [rbp + 0x160], xmm0
movaps xmm2, xmmword [rbp + 0xc0]
movaps xmm3, xmmword [rbp + 0xd0]
movaps xmm4, xmmword [rbp + 0xf0]
movaps xmm5, xmmword [rbp + 0x100]
movsd xmm1, qword [rbp + 0x130]
mov byte [rbp + 0x16c], dil
movaps xmm0, xmmword [rbp + 0x160]
movaps xmmword [rbp + 0xb0], xmm0
movaps xmmword [rbp + 0xc0], xmm2
movaps xmmword [rbp + 0xd0], xmm3
movaps xmmword [rbp + 0xe0], xmm6
movaps xmmword [rbp + 0xf0], xmm4
movaps xmmword [rbp + 0x100], xmm5
movaps xmmword [rbp + 0x110], xmm6
movaps xmmword [rbp + 0x120], xmm6
movsd qword [rbp + 0x130], xmm1
mov qword [rbp + 0xb0], r15
mov dword [rbp + 0xb8], 0x317f8
mov dword [rbp + 0xc4], 0x41200000
lea rax, [0x1400d9214]
mov qword [rbp + 0xe8], rax
lea rdx, [rbp + 0xb0]
mov rcx, r13
call fcn.14002d880
mov dword [rsi + 0x15d4], 0x41200000
mov dword [rsi + 0x15e0], 0x40a00000
mov dword [rsi + 0x15dc], 0x41200000
mov dword [rsi + 0x15a4], 0x40400000
mov dword [rsi + 0x15e8], 0x40400000
xor r14d, r14d
mov qword [rsi + 0x20], r14
mov rcx, r12
call fcn.140033a20
call fcn.140033660
xor bl, bl
nop dword [rax]
mov dword [rsp + 0x20], edi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x318]
call qword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x14004fefc
nop dword [rax]
lea rcx, [rbp + 0x318]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rbp + 0x318]
call qword [sym.imp.USER32.dll_DispatchMessageW]
movzx ebx, bl
cmp dword [rbp + 0x320], 0x12
cmove ebx, edi
mov dword [rsp + 0x20], edi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x318]
call qword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
jne 0x14004feb0
test bl, bl
jne 0x140050209
mov rax, qword [0x1400ee270]
test rax, rax
je 0x14004ff11
mov rcx, qword [rax + 0xf0]
jmp 0x14004ff14
mov rcx, r14
cmp qword [rcx + 0x18], r14
jne 0x14004ff35
test rax, rax
je 0x14004ff35
mov rcx, qword [rax + 0xf0]
test rcx, rcx
je 0x14004ff35
cmp qword [rcx], r14
je 0x14004ff35
call fcn.1400337f0
call fcn.1400340b0
call fcn.140010210
movups xmm0, xmmword [0x1400ebd94]
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsi + 0x1628], xmm0
movaps xmm1, xmmword [0x1400da0e0]
movups xmmword [rsi + 0x1648], xmm1
movaps xmm0, xmm1
movups xmmword [rsi + 0x1668], xmm1
movups xmm0, xmmword [0x1400ebd64]
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rsi + 0x1678], xmm0
movaps xmm1, xmmword [0x1400da0b0]
movups xmmword [rsi + 0x1698], xmm1
movups xmm0, xmmword [0x1400ebd64]
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rsi + 0x16d8], xmm0
movaps xmm1, xmmword [0x1400da0c0]
movups xmmword [rsi + 0x16a8], xmm1
movaps xmm0, xmmword [0x1400da0d0]
movups xmmword [rsi + 0x16b8], xmm0
movaps xmm1, xmmword [0x1400da0e0]
movups xmmword [rsi + 0x1708], xmm1
movups xmm0, xmmword [0x1400ebd64]
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rsi + 0x1718], xmm0
movups xmm1, xmmword [0x1400ebd64]
movups xmmword [rbp - 0x30], xmm1
movups xmmword [rsi + 0x1918], xmm1
movups xmm0, xmmword [0x1400ebd64]
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rsi + 0x1748], xmm0
movups xmm1, xmmword [0x1400ebd64]
movups xmmword [rbp - 0x10], xmm1
movups xmmword [rsi + 0x1758], xmm1
movups xmm0, xmmword [0x1400ebd84]
movups xmmword [rbp], xmm0
movups xmmword [rsi + 0x1768], xmm0
movups xmm1, xmmword [0x1400ebd64]
movups xmmword [rbp + 0x10], xmm1
movups xmmword [rsi + 0x1778], xmm1
movups xmm0, xmmword [0x1400ebd74]
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rsi + 0x1788], xmm0
movups xmm1, xmmword [0x1400ebd84]
movups xmmword [rbp + 0x30], xmm1
movups xmmword [rsi + 0x1798], xmm1
movups xmm0, xmmword [0x1400ebd64]
movups xmmword [rbp + 0x40], xmm0
movups xmmword [rsi + 0x17a8], xmm0
movups xmm1, xmmword [0x1400ebd74]
movups xmmword [rbp + 0x50], xmm1
movups xmmword [rsi + 0x17b8], xmm1
movups xmm0, xmmword [0x1400ebd84]
movups xmmword [rbp + 0x60], xmm0
movups xmmword [rsi + 0x17c8], xmm0
movups xmm1, xmmword [0x1400ebd64]
movups xmmword [rbp + 0x70], xmm1
movups xmmword [rsi + 0x17d8], xmm1
movups xmm0, xmmword [0x1400ebd64]
movups xmmword [rbp + 0x80], xmm0
movups xmmword [rsi + 0x1838], xmm0
movups xmm1, xmmword [0x1400ebd74]
movups xmmword [rbp + 0x2e0], xmm1
movups xmmword [rsi + 0x1848], xmm1
movups xmm0, xmmword [0x1400ebd84]
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rsi + 0x1858], xmm0
mov r9d, 0x15e
mov r8d, 0x226
mov rdx, r12
lea rcx, [0x1400ee330]
call fcn.140050a40
call fcn.140012480
mov rcx, qword [0x1400ee2a8]
mov rax, qword [rcx]
xor r8d, r8d
lea edx, [r8 + 7]
call qword [rax + 0x1c8]
mov rcx, qword [0x1400ee2a8]
mov rax, qword [rcx]
xor r8d, r8d
lea edx, [r8 + 0x1b]
call qword [rax + 0x1c8]
mov rcx, qword [0x1400ee2a8]
mov rax, qword [rcx]
xor r8d, r8d
mov edx, 0xae
call qword [rax + 0x1c8]
mov rcx, qword [0x1400ee2a8]
mov rax, qword [rcx]
mov dword [rsp + 0x30], r14d
movss dword [rsp + 0x28], xmm7
mov dword [rsp + 0x20], 0xef151515
mov r9d, 3
xor r8d, r8d
xor edx, edx
call qword [rax + 0x158]
mov rcx, qword [0x1400ee2a8]
mov rax, qword [rcx]
call qword [rax + 0x148]
test eax, eax
js 0x1400501bf
call fcn.140012800
mov rax, qword [0x1400ee270]
mov rax, qword [rax + 0x1e00]
mov rcx, qword [rax]
add rcx, 0x40
mov rax, r14
cmp byte [rcx], r14b
cmovne rax, rcx
mov rcx, rax
call fcn.1400330b0
mov rcx, qword [0x1400ee2a8]
mov rax, qword [rcx]
call qword [rax + 0x150]
mov rcx, qword [0x1400ee2a8]
mov rax, qword [rcx]
mov qword [rsp + 0x20], r14
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call qword [rax + 0x88]
cmp eax, 0x88760868
jne 0x14004fe90
mov rcx, qword [0x1400ee2a8]
mov rax, qword [rcx]
call qword [rax + 0x18]
cmp eax, 0x88760869
jne 0x14004fe90
call fcn.140050920
jmp 0x14004fe90
call fcn.1400336f0
mov rax, qword [0x1400ee270]
test rax, rax
je 0x140050223
mov rbx, qword [rax + 0xe8]
jmp 0x140050226
mov rbx, r14
lea rsi, [rax + 8]
mov rcx, qword [rbx + 0x30]
test rcx, rcx
je 0x140050240
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rax, qword [0x1400ee270]
mov qword [rsi + 0xd0], r14
mov qword [rsi + 0xe0], r14
test rax, rax
je 0x140050259
dec dword [rax + 0x3b0]
mov rcx, rbx
call fcn.14005f208
mov rbx, qword [0x1400ee270]
mov rcx, rbx
call fcn.140011980
cmp qword [0x1400ee270], rbx
jne 0x140050280
mov qword [0x1400ee270], r14
test rbx, rbx
je 0x1400502a7
mov rcx, rbx
call fcn.1400213d0
mov rax, qword [0x1400ee270]
test rax, rax
je 0x14005029f
dec dword [rax + 0x3b0]
mov rcx, rbx
call fcn.14005f208
mov rcx, qword [0x1400ee2a8]
test rcx, rcx
je 0x1400502c0
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [0x1400ee2a8], r14
mov rcx, qword [0x1400ee2a0]
test rcx, rcx
je 0x1400502d9
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [0x1400ee2a0], r14
mov rcx, r12
call qword [sym.imp.USER32.dll_DestroyWindow]
mov rdx, qword [rbp + 0x2a8]
mov rcx, qword [rbp + 0x2d0]
call qword [sym.imp.USER32.dll_UnregisterClassW]
nop
lea rcx, [rbp + 0x300]
call fcn.140050440
mov eax, edi
mov rcx, qword [rbp + 0x348]
xor rcx, rsp
call fcn.1400569d0
lea r11, [rsp + 0x470]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14005d6c4
nop
mov ecx, 1
call fcn.1400564a4
int3
mov dword [rsp + 0x68], r14d
mov ecx, 6
call fcn.1400564a4
int3