Function at 0x18000c8c0
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r14
sub rsp, 0xb40
mov rax, qword [0x18012c070]
xor rax, rsp
mov qword [rsp + 0xb30], rax
mov rsi, rdx
xor r8d, r8d
xor edx, edx
mov r14, rcx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExA]
mov rbp, rax
test rax, rax
je 0x18000cd55
mov rdx, rsi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x18000cd57
cmp dword [0x180136fd8], eax
jne 0x18000cd55
mov rdi, qword [0x180136fe0]
xor ebx, ebx
test rdi, rdi
jne 0x18000caf6
xorps xmm0, xmm0
mov qword [0x1801372f0], rax
movups xmmword [0x1801372b0], xmm0
movups xmmword [0x1801372c0], xmm0
movups xmmword [0x1801372d0], xmm0
movups xmmword [0x1801372e0], xmm0
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
xor r8d, r8d
lea rcx, str.dbghelp.dll
xor edx, edx
mov qword [0x1801372b0], rax
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov qword [0x1801372b8], rax
test rax, rax
je 0x18000cd0c
lea rdx, str.ImagehlpApiVersionEx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801372b8]
lea rdx, str.SymInitialize
mov qword [0x1801372c0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801372b8]
lea rdx, str.SymSetOptions
mov qword [0x1801372c8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801372b8]
lea rdx, str.SymGetOptions
mov qword [0x1801372d0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801372b8]
lea rdx, str.SymLoadModule64
mov qword [0x1801372d8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801372b8]
lea rdx, str.SymGetModuleInfo64
mov qword [0x1801372e0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1801372b8]
lea rdx, str.SymFromName
mov qword [0x1801372e8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdx, qword [0x1801372c0]
mov ecx, ntohs
mov qword [rsp + 0x30], rbx
mov qword [0x1801372f0], rax
mov word [rsp + 0x30], cx
test rdx, rdx
je 0x18000cd05
cmp qword [0x1801372c8], rbx
je 0x18000cd05
cmp qword [0x1801372e0], rbx
je 0x18000cd05
cmp qword [0x1801372e8], rbx
je 0x18000cd05
test rax, rax
je 0x18000cd05
lea rcx, [rsp + 0x30]
call rdx
cmp word [rsp + 0x30], 0xc
jb 0x18000cd05
mov rcx, qword [0x1801372b0]
xor r8d, r8d
xor edx, edx
call qword [0x1801372c8]
test eax, eax
je 0x18000cd05
mov rax, qword [0x1801372d8]
test rax, rax
je 0x18000cae8
cmp qword [0x1801372d0], rbx
je 0x18000cae8
call rax
and eax, 0xfffffffc
or eax, 0x2704
mov ecx, eax
call qword [0x1801372d0]
lea rdi, [0x1801372b0]
mov qword [0x180136fe0], rdi
mov rax, qword [rdi + 0x30]
xor r9d, r9d
mov rcx, qword [rdi]
mov r8, r14
mov dword [rsp + 0x28], ebx
xor edx, edx
mov qword [rsp + 0x20], rbp
call rax
test rax, rax
jne 0x18000cb23
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x18000cd55
xor edx, edx
lea rcx, [rsp + 0x2a4]
mov r8d, 0x68c
call sub.VCRUNTIME140.dll_memset
mov dword [rsp + 0x2a0], 0x690
lea r8, [rsp + 0x2a0]
mov rax, qword [rdi + 0x38]
mov rdx, rbp
mov rcx, qword [rdi]
call rax
test eax, eax
je 0x18000cd55
lea r8, [rsp + 0x2c4]
mov edx, 0x200
lea rax, [rsp + 0x930]
sub r8, rax
lea rcx, [rsp + 0x930]
nop
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x18000cba0
movzx eax, byte [r8 + rcx]
test al, al
je 0x18000cba0
mov byte [rcx], al
inc rcx
sub rdx, 1
jne 0x18000cb80
test rdx, rdx
lea rax, [rcx - 1]
cmovne rax, rcx
mov byte [rax], 0
je 0x18000cd55
mov ecx, 0x200
lea rax, [rsp + 0x930]
cmp byte [rax], 0
je 0x18000cbcf
inc rax
sub rcx, 1
jne 0x18000cbc1
mov eax, 0x200
sub rax, rcx
test rcx, rcx
cmove rax, rbx
je 0x18000cd55
mov edx, 0x200
lea rcx, [rsp + 0x930]
lea rcx, [rcx + rax]
mov r9d, 0x7ffffffe
sub rdx, rax
je 0x18000cc2e
lea r10, [0x180112fdc]
mov eax, r9d
sub r10, rcx
nop dword [rax]
test rax, rax
je 0x18000cc2e
movzx r8d, byte [r10 + rcx]
test r8b, r8b
je 0x18000cc2e
mov byte [rcx], r8b
dec rax
inc rcx
sub rdx, 1
jne 0x18000cc10
test rdx, rdx
lea rax, [rcx - 1]
cmovne rax, rcx
mov byte [rax], 0
je 0x18000cd55
mov ecx, 0x200
lea rax, [rsp + 0x930]
nop
cmp byte [rax], 0
je 0x18000cc5e
inc rax
sub rcx, 1
jne 0x18000cc50
mov eax, 0x200
sub rax, rcx
test rcx, rcx
cmove rax, rbx
je 0x18000cd55
mov r8d, 0x200
lea rdx, [rsp + 0x930]
lea rdx, [rdx + rax]
sub r8, rax
je 0x18000ccab
sub rsi, rdx
nop dword [rax]
test r9, r9
je 0x18000ccab
movzx eax, byte [rsi + rdx]
test al, al
je 0x18000ccab
mov byte [rdx], al
dec r9
inc rdx
sub r8, 1
jne 0x18000cc90
test r8, r8
lea rax, [rdx - 1]
cmovne rax, rdx
mov byte [rax], 0
je 0x18000cd55
xor edx, edx
lea rcx, [rsp + 0x40]
mov r8d, 0x258
call sub.VCRUNTIME140.dll_memset
mov dword [rsp + 0x40], 0x58
lea r8, [rsp + 0x40]
mov dword [rsp + 0x90], 0x200
lea rdx, [rsp + 0x930]
mov rax, qword [rdi + 0x40]
mov rcx, qword [rdi]
call rax
test eax, eax
je 0x18000cd55
mov rax, qword [rsp + 0x78]
jmp 0x18000cd57
mov rax, qword [0x1801372b8]
mov dword [0x180136fd8], 1
test rax, rax
je 0x18000cd24
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov qword [0x1801372c0], rbx
mov qword [0x1801372c8], rbx
mov qword [0x1801372d0], rbx
mov qword [0x1801372d8], rbx
mov qword [0x1801372e0], rbx
mov qword [0x1801372e8], rbx
mov qword [0x1801372f0], rbx
xor eax, eax
mov rcx, qword [rsp + 0xb30]
xor rcx, rsp
call fcn.1800d2160
lea r11, [rsp + 0xb40]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret