Function at 0x180009f40
Capabilities:
Get common file path
Link many functions at runtime

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x250]
sub rsp, 0x350
mov rax, qword [0x1800971d8]
xor rax, rsp
mov qword [rbp + 0x240], rax
mov r12, rcx
xor r14d, r14d
mov byte [rcx], r14b
mov dword [rsp + 0x20], 4
lea edx, [r14 + 0x15]
xor ecx, ecx
lea r9d, [r14 + 4]
lea r8d, [r14 - 2]
call fcn.18001f280
mov r13d, eax
cmp eax, 4
je 0x18000a73d
mov byte [r12], 1
mov eax, dword [0x18009d6d0]
test eax, eax
jne 0x180009fca
lea rcx, [0x18009d6a8]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov eax, dword [0x18009d6d0]
inc eax
mov dword [0x18009d6d0], eax
mov qword [rbp - 0x80], r14
mov qword [rbp - 0x78], r14
mov qword [rbp - 0x70], r14
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], r14
lea rcx, [0x180074200]
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov r15, rax
test rax, rax
je 0x18000a063
lea rdx, [0x180074220]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp - 0x80], rax
lea rdx, [0x180074230]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp - 0x78], rax
lea rdx, [0x180074250]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp - 0x70], rax
lea rdx, [0x180074260]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x70], rax
lea rdx, [0x180074280]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x78], rax
lea r9, [0x180073610]
xor edx, edx
lea r8d, [rdx + 0x13]
lea rcx, [rbp - 8]
call fcn.18001f100
nop
lea rdx, [rbp - 8]
cmp qword [rbp + 0x10], 8
cmovae rdx, qword [rbp - 8]
mov dword [0x180097170], r13d
lea rcx, [0x18009d678]
call fcn.180012c00
lea rax, [rsp + 0x70]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x48], rax
lea rdx, [rbp - 0x28]
lea rcx, [rsp + 0x40]
call fcn.18000be20
nop
lea r9, [0x180073610]
xor edx, edx
lea r8d, [rdx + 0x14]
lea rcx, [rbp - 0x48]
call fcn.18001f100
nop
mov rsi, 0xffffffffffffffff
cmp qword [rbp - 0x38], 0
jne 0x18000a190
lea rax, [rbp + 0x30]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea edx, [rsi + 0x29]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
js 0x18000a190
lea rax, [rbp + 0x30]
mov r8, rsi
inc r8
cmp word [rax + r8*2], 0
jne 0x18000a110
lea rdx, [rbp + 0x30]
lea rcx, [rbp - 0x48]
call fcn.1800103c0
lea r9, [0x1800742a0]
mov rdx, rsi
inc rdx
cmp word [r9 + rdx*2], 0
jne 0x18000a132
mov rcx, qword [rbp - 0x38]
mov r8, qword [rbp - 0x30]
mov rax, r8
sub rax, rcx
cmp rdx, rax
ja 0x18000a17c
lea rdi, [rcx + rdx]
mov qword [rbp - 0x38], rdi
lea rbx, [rbp - 0x48]
cmp r8, 8
cmovae rbx, qword [rbp - 0x48]
lea rcx, [rbx + rcx*2]
lea r8, [rdx + rdx]
mov rdx, r9
call fcn.18004a110
mov word [rbx + rdi*2], r14w
jmp 0x18000a190
lfence
mov qword [rsp + 0x20], rdx
xor r8d, r8d
lea rcx, [rbp - 0x48]
call fcn.180008720
lea rax, [rbp - 0x80]
mov qword [rbp + 0x18], rax
lea rax, [rbp - 0x78]
mov qword [rbp + 0x20], rax
lea rax, [rbp - 0x70]
mov qword [rbp + 0x28], rax
lea rax, [rbp + 0x18]
mov qword [rsp + 0x38], rax
cmp qword [rbp - 0x38], 0
je 0x18000a63f
lea rdx, [rbp - 0x48]
cmp qword [rbp - 0x30], 8
cmovae rdx, qword [rbp - 0x48]
lea rcx, [rsp + 0x38]
call fcn.18000bef0
test al, al
je 0x18000a63f
mov qword [rbp - 0x68], r14
mov qword [rbp - 0x58], r14
mov qword [rbp - 0x50], r14
mov rbx, qword [rbp - 0x38]
lea r14, [rbp - 0x48]
cmp qword [rbp - 0x30], 8
cmovae r14, qword [rbp - 0x48]
cmp rbx, 8
jae 0x18000a212
movups xmm0, xmmword [r14]
movups xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x50], 7
jmp 0x18000a267
mov rdi, rbx
or rdi, 7
movabs rax, 0x7ffffffffffffffe
cmp rdi, rax
cmova rdi, rax
lea rcx, [rdi + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x18000a776
lfence
add rcx, rcx
call fcn.180008250
mov qword [rbp - 0x68], rax
lea r8, [rbx*2 + 2]
mov rdx, r14
mov rcx, rax
call fcn.18004a110
mov qword [rbp - 0x50], rdi
mov qword [rbp - 0x58], rbx
lea r9, [0x1800742b0]
mov rdx, rsi
inc rdx
cmp word [r9 + rdx*2], 0
jne 0x18000a275
mov rcx, qword [rbp - 0x58]
mov r8, qword [rbp - 0x50]
mov rax, r8
sub rax, rcx
cmp rdx, rax
ja 0x18000a2c0
lea rdi, [rcx + rdx]
mov qword [rbp - 0x58], rdi
lea rbx, [rbp - 0x68]
cmp r8, 8
cmovae rbx, qword [rbp - 0x68]
lea rcx, [rbx + rcx*2]
lea r8, [rdx + rdx]
mov rdx, r9
call fcn.18004a110
xor eax, eax
mov word [rbx + rdi*2], ax
jmp 0x18000a2d4
lfence
mov qword [rsp + 0x20], rdx
xor r8d, r8d
lea rcx, [rbp - 0x68]
call fcn.180008720
mov rdi, qword [rbp - 0x18]
lea r9, [rbp - 0x28]
cmp qword [rbp - 0x10], 8
cmovae r9, qword [rbp - 0x28]
mov r14, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
sub rax, r14
cmp rdi, rax
ja 0x18000a32c
lea rax, [r14 + rdi]
mov qword [rbp - 0x58], rax
lea rbx, [rbp - 0x68]
cmp rcx, 8
cmovae rbx, qword [rbp - 0x68]
lea rcx, [rbx + r14*2]
lea r8, [rdi + rdi]
mov rdx, r9
call fcn.18004a110
lea rax, [rdi + r14]
xor r14d, r14d
mov word [rbx + rax*2], r14w
jmp 0x18000a347
lfence
mov rdx, qword [rbp - 0x18]
mov qword [rsp + 0x20], rdx
xor r8d, r8d
lea rcx, [rbp - 0x68]
call fcn.180008720
xor r14d, r14d
lea r9, [0x1800742e0]
mov rdx, rsi
inc rdx
cmp word [r9 + rdx*2], 0
jne 0x18000a351
mov rcx, qword [rbp - 0x58]
mov r8, qword [rbp - 0x50]
mov rax, r8
sub rax, rcx
cmp rdx, rax
ja 0x18000a39b
lea rdi, [rcx + rdx]
mov qword [rbp - 0x58], rdi
lea rbx, [rbp - 0x68]
cmp r8, 8
cmovae rbx, qword [rbp - 0x68]
lea rcx, [rbx + rcx*2]
lea r8, [rdx + rdx]
mov rdx, r9
call fcn.18004a110
mov word [rbx + rdi*2], r14w
jmp 0x18000a3af
lfence
mov qword [rsp + 0x20], rdx
xor r8d, r8d
lea rcx, [rbp - 0x68]
call fcn.180008720
lea r8, [rbp - 0x68]
cmp qword [rbp - 0x50], 8
cmovae r8, qword [rbp - 0x68]
lea r9, [0x1800742f0]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x30]
call fcn.18000c0b0
mov rbx, rax
lea rax, [rbp - 0x68]
cmp rax, rbx
je 0x18000a407
lea rcx, [rbp - 0x68]
call fcn.18000fec0
movups xmm0, xmmword [rbx]
movups xmmword [rbp - 0x68], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp - 0x58], xmm1
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 7
mov word [rbx], r14w
mov rdx, qword [rsp + 0x68]
cmp rdx, 8
jb 0x18000a449
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000a444
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000a77c
call fcn.1800222a0
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x68], 7
mov word [rsp + 0x50], r14w
lea rbx, [rbp - 0x68]
cmp qword [rbp - 0x50], 8
cmovae rbx, qword [rbp - 0x68]
mov rax, rsi
nop
inc rax
cmp word [rbx + rax*2], 0
jne 0x18000a470
lea r9, [0x180097178]
cmp qword [0x180097190], 8
cmovae r9, qword [0x180097178]
mov rcx, qword [0x180097188]
cmp rcx, rax
jne 0x18000a4d8
mov rax, rbx
test rcx, rcx
je 0x18000a50c
movzx edx, word [r9]
movzx r8d, word [rbx]
cmp dx, r8w
jb 0x18000a4d8
sub r9, rbx
cmp dx, r8w
ja 0x18000a4d8
cmp rcx, 1
je 0x18000a50c
dec rcx
add rax, 2
movzx edx, word [r9 + rax]
movzx r8d, word [rax]
cmp dx, r8w
jae 0x18000a4ba
mov rcx, qword [0x18009d6a0]
test rcx, rcx
je 0x18000a4f0
call fcn.180053f28
mov qword [0x18009d6a0], r14
inc rsi
cmp word [rbx + rsi*2], 0
jne 0x18000a4f0
mov r8, rsi
mov rdx, rbx
lea rcx, [0x180097178]
call fcn.1800103c0
cmp dword [0x180097170], 0
jg 0x18000a5ee
lea r9, [0x180074300]
mov r8d, 0xb8
lea rdx, [0x180073ac0]
xor ecx, ecx
call fcn.1800132b0
cmp dword [0x180097170], 0
jg 0x18000a5ee
lea r9, [0x180074310]
mov r8d, 0xb9
lea rdx, [0x180073ac0]
xor ecx, ecx
call fcn.1800132b0
cmp dword [0x180097170], 0
jg 0x18000a5ee
lea eax, [r13 + 2]
cmp eax, 6
ja case.default.0x18000a585
cdqe
lea rdx, [0x180000000]
mov ecx, dword [rdx + rax*4 + 0xa794]
add rcx, rdx
jmp rcx
lea rax, [0x180073ad0]
jmp 0x18000a5cd
lea rax, [0x180073ae0]
jmp 0x18000a5cd
lea rax, [0x180073af0]
jmp 0x18000a5cd
lea rax, [0x180073b00]
jmp 0x18000a5cd
lea rax, [0x180073b10]
jmp 0x18000a5cd
lea rax, [0x180073b20]
jmp 0x18000a5cd
lea rax, [0x180073b30]
jmp 0x18000a5cd
lea rax, [0x180073b40]
mov qword [rsp + 0x20], rax
lea r9, [0x180074330]
mov r8d, 0xba
lea rdx, [0x180073ac0]
xor ecx, ecx
call fcn.1800132b0
nop
mov rdx, qword [rbp - 0x50]
cmp rdx, 8
jb 0x18000a62e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000a629
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000a782
call fcn.1800222a0
mov qword [rbp - 0x58], r14
mov qword [rbp - 0x50], 7
mov word [rbp - 0x68], r14w
test r15, r15
je 0x18000a64e
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop
mov rdx, qword [rbp - 0x30]
cmp rdx, 8
jb 0x18000a68e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000a689
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000a788
call fcn.1800222a0
mov qword [rbp - 0x38], r14
mov qword [rbp - 0x30], 7
mov word [rbp - 0x48], r14w
mov rdx, qword [rbp - 0x10]
cmp rdx, 8
jb 0x18000a6df
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000a6da
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000a78e
call fcn.1800222a0
mov qword [rbp - 0x18], r14
mov qword [rbp - 0x10], 7
mov word [rbp - 0x28], r14w
mov rdx, qword [rbp + 0x10]
cmp rdx, 8
jb 0x18000a72c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000a727
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000a770
call fcn.1800222a0
mov qword [rbp + 8], r14
mov qword [rbp + 0x10], 7
mov word [rbp - 8], r14w
mov rax, r12
mov rcx, qword [rbp + 0x240]
xor rcx, rsp
call fcn.180022280
lea r11, [rsp + 0x350]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1800537d0
nop
call fcn.18000fe80
nop
call fcn.1800537d0
nop
call fcn.1800537d0
nop
call fcn.1800537d0
nop
call fcn.1800537d0
int3