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

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
cmp edx, 1
jne 0x180006ddf
mov edx, 0x104
lea rcx, [0x18004c450]
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea rdx, str._version
lea rcx, [0x18004c450]
call qword [sym.imp.KERNEL32.dll_lstrcatA]
lea rcx, [0x18004c450]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x18004c3f8], rax
test rax, rax
je 0x180006d0c
lea rdx, [0x180041570]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x18004c3f8]
lea rdx, [0x180041588]
mov qword [0x18004c3e0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x18004c3f8]
lea rdx, [0x1800415a8]
mov qword [0x18004c410], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x18004c3f8]
lea rdx, [0x1800415c0]
mov qword [0x18004c420], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x18004c3f8]
lea rdx, [0x1800415d8]
mov qword [0x18004c570], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x18004c3f8]
lea rdx, [0x1800415f0]
mov qword [0x18004c560], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x18004c3f8]
lea rdx, [0x180041610]
mov qword [0x18004c598], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x18004c3f8]
lea rdx, [0x180041630]
mov qword [0x18004c3e8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x18004c3f8]
lea rdx, [0x180041648]
mov qword [0x18004c3f0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x18004c3f8]
lea rdx, [0x180041660]
mov qword [0x18004c590], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x18004c3f8]
lea rdx, [0x180041670]
mov qword [0x18004c578], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x18004c3f8]
lea rdx, [0x180041680]
mov qword [0x18004c408], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x18004c3f8]
lea rdx, [0x180041690]
mov qword [0x18004c430], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x18004c3f8]
lea rdx, [0x1800416a0]
mov qword [0x18004c588], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x18004c3f8]
lea rdx, [0x1800416b8]
mov qword [0x18004c438], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x18004c3f8]
lea rdx, [0x1800416d0]
mov qword [0x18004c418], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x18004c3f8]
lea rdx, [0x1800416e0]
mov qword [0x18004c428], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x18004c580], rax
mov rcx, rbx
call fcn.180006650
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov r8, qword [rcx + 0x18]
mov rax, r8
nop dword [rax + rax]
mov rcx, qword [rax + 0x30]
test rcx, rcx
je 0x180006d57
lea rdx, [rax + 8]
cmp rcx, rbx
jne 0x180006d4f
mov rcx, qword [rax]
mov rax, qword [rdx]
mov qword [rax], rcx
mov qword [rcx + 8], rax
mov rax, qword [rdx]
cmp rax, r8
jne 0x180006d30
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov r8, qword [rcx + 0x28]
mov rax, r8
nop dword [rax + rax]
mov rcx, qword [rax + 0x20]
test rcx, rcx
je 0x180006d97
lea rdx, [rax + 8]
cmp rcx, rbx
jne 0x180006d8f
mov rcx, qword [rax]
mov rax, qword [rdx]
mov qword [rax], rcx
mov qword [rcx + 8], rax
mov rax, qword [rdx]
cmp rax, r8
jne 0x180006d70
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov r8, qword [rcx + 0x38]
mov rax, r8
nop dword [rax + rax]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x180006dd7
lea rdx, [rax + 8]
cmp rcx, rbx
jne 0x180006dcf
mov rcx, qword [rax]
mov rax, qword [rdx]
mov qword [rax], rcx
mov qword [rcx + 8], rax
mov rax, qword [rdx]
cmp rax, r8
jne 0x180006db0
mov rdx, rbx
call fcn.1800066a0
mov eax, 1
add rsp, 0x20
pop rbx
ret