Function at 0x180005980
Capabilities:
Link many functions at runtime

Disassembly:
push rbx
push rsi
sub rsp, 0x58
xor esi, esi
cmp qword [0x180023de8], rsi
jne 0x1800059d2
lea rcx, [0x18001e900]
call fcn.180006530
mov rcx, rax
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [0x180023de8], rax
test rbx, rbx
je 0x1800059d2
mov r8d, dword [rbx - 8]
lea rcx, [rbx - 8]
add r8, 8
xor edx, edx
call fcn.180008180
lea rcx, [rbx - 8]
call fcn.180005370
cmp qword [0x180023d68], rsi
jne 0x180005a22
lea rcx, [0x18001e960]
call fcn.1800063c0
mov rcx, qword [0x180023de8]
mov rdx, rax
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180023d68], rax
test rbx, rbx
je 0x180005a22
mov r8d, dword [rbx - 8]
lea rcx, [rbx - 8]
add r8, 8
xor edx, edx
call fcn.180008180
lea rcx, [rbx - 8]
call fcn.180005370
cmp qword [0x180023d88], rsi
jne 0x180005a72
lea rcx, [0x18001e920]
call fcn.1800063c0
mov rcx, qword [0x180023de8]
mov rdx, rax
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180023d88], rax
test rbx, rbx
je 0x180005a72
mov r8d, dword [rbx - 8]
lea rcx, [rbx - 8]
add r8, 8
xor edx, edx
call fcn.180008180
lea rcx, [rbx - 8]
call fcn.180005370
cmp qword [0x180023db0], rsi
jne 0x180005ac2
lea rcx, [0x18001e970]
call fcn.1800063c0
mov rcx, qword [0x180023de8]
mov rdx, rax
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180023db0], rax
test rbx, rbx
je 0x180005ac2
mov r8d, dword [rbx - 8]
lea rcx, [rbx - 8]
add r8, 8
xor edx, edx
call fcn.180008180
lea rcx, [rbx - 8]
call fcn.180005370
cmp qword [0x180023df8], rsi
jne 0x180005b0b
lea rcx, [0x18001e990]
call fcn.180006530
mov rcx, rax
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [0x180023df8], rax
test rbx, rbx
je 0x180005b0b
mov r8d, dword [rbx - 8]
lea rcx, [rbx - 8]
add r8, 8
xor edx, edx
call fcn.180008180
lea rcx, [rbx - 8]
call fcn.180005370
cmp qword [0x180023df0], rsi
jne 0x180005b5b
lea rcx, [0x18001e9b0]
call fcn.1800063c0
mov rcx, qword [0x180023df8]
mov rdx, rax
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180023df0], rax
test rbx, rbx
je 0x180005b5b
mov r8d, dword [rbx - 8]
lea rcx, [rbx - 8]
add r8, 8
xor edx, edx
call fcn.180008180
lea rcx, [rbx - 8]
call fcn.180005370
cmp qword [0x180023d78], rsi
jne 0x180005bab
lea rcx, [0x18001e9d0]
call fcn.1800063c0
mov rcx, qword [0x180023df8]
mov rdx, rax
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180023d78], rax
test rbx, rbx
je 0x180005bab
mov r8d, dword [rbx - 8]
lea rcx, [rbx - 8]
add r8, 8
xor edx, edx
call fcn.180008180
lea rcx, [rbx - 8]
call fcn.180005370
cmp qword [0x180023db8], rsi
jne 0x180005bfb
lea rcx, [0x18001e9f0]
call fcn.1800063c0
mov rcx, qword [0x180023df8]
mov rdx, rax
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180023db8], rax
test rbx, rbx
je 0x180005bfb
mov r8d, dword [rbx - 8]
lea rcx, [rbx - 8]
add r8, 8
xor edx, edx
call fcn.180008180
lea rcx, [rbx - 8]
call fcn.180005370
cmp qword [0x180023de0], rsi
jne 0x180005c4b
lea rcx, [0x18001ea10]
call fcn.1800063c0
mov rcx, qword [0x180023df8]
mov rdx, rax
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180023de0], rax
test rbx, rbx
je 0x180005c4b
mov r8d, dword [rbx - 8]
lea rcx, [rbx - 8]
add r8, 8
xor edx, edx
call fcn.180008180
lea rcx, [rbx - 8]
call fcn.180005370
cmp qword [0x180023d58], rsi
jne 0x180005c9b
lea rcx, [0x18001ea28]
call fcn.1800063c0
mov rcx, qword [0x180023df8]
mov rdx, rax
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180023d58], rax
test rbx, rbx
je 0x180005c9b
mov r8d, dword [rbx - 8]
lea rcx, [rbx - 8]
add r8, 8
xor edx, edx
call fcn.180008180
lea rcx, [rbx - 8]
call fcn.180005370
xor ecx, ecx
call qword [0x180023d68]
mov rbx, rax
test rax, rax
je 0x180005d7f
mov rcx, rax
mov qword [rsp + 0x78], rdi
call qword [0x180023db8]
mov rdi, rax
test rax, rax
je 0x180005d6f
mov qword [rsp + 0x70], rbp
xor ecx, ecx
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x50], r15
call qword [0x180023d88]
mov ecx, 1
mov r14d, eax
call qword [0x180023d88]
mov edx, r14d
mov rcx, rbx
mov r8d, eax
mov r15d, eax
call qword [0x180023df0]
mov rbp, rax
test rax, rax
je 0x180005d54
mov rdx, rax
mov rcx, rdi
call qword [0x180023d78]
mov dword [rsp + 0x40], 0xcc0020
mov r9d, r14d
mov dword [rsp + 0x38], esi
xor r8d, r8d
mov dword [rsp + 0x30], esi
xor edx, edx
mov qword [rsp + 0x28], rbx
mov rcx, rdi
mov dword [rsp + 0x20], r15d
call qword [0x180023d58]
test eax, eax
je 0x180005d4b
mov rsi, rbp
jmp 0x180005d54
mov rcx, rbp
call qword [0x180023de0]
mov rcx, rdi
call qword [0x180023de0]
mov r15, qword [rsp + 0x50]
mov r14, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x70]
mov rdx, rbx
xor ecx, ecx
call qword [0x180023db0]
mov rdi, qword [rsp + 0x78]
mov rax, rsi
add rsp, 0x58
pop rsi
pop rbx
ret