Function at 0x1400030e0
Capabilities:
Get common file path

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0xe8
mov rax, qword [0x14007b498]
xor rax, rsp
mov qword [rsp + 0xe0], rax
test edx, edx
jle 0x140003144
mov rsi, qword [rcx]
mov qword [rsp + 0x30], 0
movaps xmm0, xmmword [0x1400620b0]
movups xmmword [rsp + 0x40], xmm0
mov word [rsp + 0x30], 0
mov rcx, rsi
call fcn.14004caa0
mov rdi, rax
cmp rax, 7
jbe 0x14000315a
lea rcx, [rsp + 0x30]
mov rdx, rdi
mov r9, rsi
call fcn.140002290
jmp 0x140003179
lea rcx, str.Missing_argument_for_offsets
call fcn.140001be0
mov edi, 1
jmp 0x140003607
mov qword [rsp + 0x40], rdi
mov r8, rdi
add r8, rdi
lea rcx, [rsp + 0x30]
mov rdx, rsi
call fcn.140039320
mov word [rsp + rdi*2 + 0x30], 0
call fcn.140043038
mov rdi, rax
cmp qword [rsp + 0x48], 8
jb 0x140003190
mov rbx, qword [rsp + 0x30]
jmp 0x140003195
lea rbx, [rsp + 0x30]
mov dword [rdi], 0
lea rdx, [rsp + 0xc0]
mov rcx, rbx
mov r8d, 0xa
call fcn.14004b8ec
cmp rbx, qword [rsp + 0xc0]
je 0x140003626
cmp dword [rdi], 0x22
je 0x140003632
mov rsi, rax
mov rax, qword [rsp + 0x48]
cmp rax, 8
jb 0x140003213
mov rcx, qword [rsp + 0x30]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x14000320e
mov rdx, rcx
add rdx, 0xfffffffffffffff8
mov rcx, qword [rcx - 8]
sub rdx, rcx
cmp rdx, 0x20
jae 0x14000363e
add rax, rax
add rax, 0x29
mov rdx, rax
call fcn.14000e8e0
lea rcx, [0x14007d040]
mov edx, 0x104
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x14000331c
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x70], 0
mov dword [rsp + 0x30], 0x20
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov qword [rsp + 0x48], rax
mov rax, qword [sym.imp.USER32.dll_DefWindowProcA]
mov qword [rsp + 0x38], rax
mov rax, qword [str.hook_helper_window_class]
mov qword [rsp + 0x70], rax
lea rcx, [rsp + 0x30]
call qword [sym.imp.USER32.dll_RegisterClassA]
test ax, ax
je 0x140003332
lea r9, [rsp + 0xb5]
xor edi, edi
movabs rcx, 0xcccccccccccccccd
nop word cs:[rax + rax]
nop dword [rax]
mov rax, rsi
mul rcx
shr rdx, 3
lea eax, [rdx + rdx]
lea eax, [rax + rax*4]
mov ebx, esi
sub ebx, eax
or bl, 0x30
mov byte [r9 - 1], bl
add r9, 0xffffffffffffffff
add rdi, 1
cmp rsi, 9
mov rsi, rdx
ja 0x1400032b0
mov qword [rsp + 0xc0], 0
movaps xmm0, xmmword [0x140062130]
movups xmmword [rsp + 0xd0], xmm0
mov byte [rsp + 0xc0], 0
test rdi, rdi
je 0x14000336b
cmp rdi, 0xf
jbe 0x140003348
lea rcx, [rsp + 0xc0]
mov rdx, rdi
call fcn.140003cc0
jmp 0x14000336b
lea rcx, str.GetSystemDirectoryW_failed
call fcn.140001be0
mov edi, 2
jmp 0x140003607
lea rcx, str.RegisterClassA_failed
call fcn.140001be0
mov edi, 3
jmp 0x140003607
mov qword [rsp + 0xd0], rdi
lea rcx, [rsp + 0xc0]
mov rdx, r9
mov r8, rdi
call fcn.140039320
mov byte [rsp + rdi + 0xc0], 0
mov ecx, 0x20
call fcn.14000e89c
movaps xmm0, xmmword [0x140062140]
movups xmmword [rsp + 0xb0], xmm0
movups xmm0, xmmword [str.LocalDiscordHook_Offsets_]
movups xmmword [rax], xmm0
movups xmm0, xmmword [0x140070705]
movups xmmword [rax + 0xa], xmm0
mov byte [rax + 0x1a], 0
mov qword [rsp + 0xa0], rax
lea rsi, [rsp + 0x80]
lea r8, [rsp + 0xa0]
lea r9, [rsp + 0xc0]
mov rcx, rsi
call fcn.140003b10
mov rax, qword [rsp + 0xb8]
cmp rax, 0x10
jb 0x14000340c
mov rcx, qword [rsp + 0xa0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140003407
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x14000363e
add rax, 0x28
mov rdx, rax
mov rcx, rbx
call fcn.14000e8e0
mov rax, qword [rsp + 0xd8]
cmp rax, 0x10
jb 0x140003453
mov rcx, qword [rsp + 0xc0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14000344e
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x14000363e
add rax, 0x28
mov rdx, rax
mov rcx, rbx
call fcn.14000e8e0
mov ecx, 0x20
call fcn.14000e89c
mov rdi, rax
movabs rax, 0x100000001
mov qword [rdi + 8], rax
lea rax, [0x140062110]
mov qword [rdi], rax
xorps xmm0, xmm0
movups xmmword [rdi + 0x10], xmm0
cmp qword [rsp + 0x98], 0x10
jb 0x140003492
mov rsi, qword [rsp + 0x80]
mov ecx, 0xf001f
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_OpenFileMappingA]
test rax, rax
je 0x1400034ff
mov rcx, rdi
add rcx, 0x10
mov qword [rcx], rax
mov qword [rsp + 0x20], 0x158
xor ebx, ebx
mov rcx, rax
mov edx, 0xf001f
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
test rax, rax
je 0x140003539
mov qword [rdi + 0x18], rax
mov ecx, dword [rax]
xor ebx, ebx
mov r14d, 0
cmp ecx, 0x158
jne 0x14000350a
lock add dword [rdi + 8], 1
mov rbx, rax
mov r14, rdi
lock sub dword [rdi + 8], 1
je 0x140003511
jmp 0x140003543
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor ebx, ebx
xor r14d, r14d
lock sub dword [rdi + 8], 1
jne 0x140003543
mov rax, qword [rdi]
mov rax, qword [rax]
mov rcx, rdi
call qword [0x140084008]
lock sub dword [rdi + 0xc], 1
jne 0x140003543
mov rax, qword [rdi]
mov rax, qword [rax + 8]
mov rcx, rdi
call qword [0x140084008]
jmp 0x140003543
xor r14d, r14d
lock sub dword [rdi + 8], 1
je 0x140003511
mov rax, qword [rsp + 0x98]
cmp rax, 0x10
jb 0x14000358a
mov rcx, qword [rsp + 0x80]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140003585
mov rdi, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rdi
cmp rcx, 0x20
jae 0x14000363e
add rax, 0x28
mov rdx, rax
mov rcx, rdi
call fcn.14000e8e0
lea rcx, [rbx + 4]
call section..text
movzx edi, byte [rbx + 4]
and edi, 1
xor edi, 1
shl edi, 0x10
lea rdx, [rbx + 0x144]
lea rcx, [rbx + 0x1c]
call fcn.1400012b0
lea esi, [rdi + 0x20000]
test byte [rbx + 0x1c], 1
cmovne esi, edi
lea rcx, [rbx + 0x38]
call fcn.140005780
lea edi, [rsi + 0x40000]
test byte [rbx + 0x38], 1
cmovne edi, esi
test r14, r14
je 0x140003607
lock sub dword [r14 + 8], 1
jne 0x140003607
mov rax, qword [r14]
mov rax, qword [rax]
mov rcx, r14
call qword [0x140084008]
lock sub dword [r14 + 0xc], 1
jne 0x140003607
mov rax, qword [r14]
mov rax, qword [rax + 8]
mov rcx, r14
call qword [0x140084008]
mov rcx, qword [rsp + 0xe0]
xor rcx, rsp
call fcn.14000ea90
mov eax, edi
add rsp, 0xe8
pop rbx
pop rdi
pop rsi
pop r14
ret
lea rcx, str.invalid_stoull_argument
call fcn.140014914
lea rcx, str.stoull_argument_out_of_range
call fcn.14001495c
call fcn.14004375c
int3