Function at 0x18000cce0
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 [0x18010f050]
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 0x18000d175
mov rdx, rsi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x18000d177
cmp dword [0x180119d20], eax
jne 0x18000d175
mov rdi, qword [0x180119d28]
xor ebx, ebx
test rdi, rdi
jne 0x18000cf16
xorps xmm0, xmm0
mov qword [0x18011a030], rax
movups xmmword [0x180119ff0], xmm0
movups xmmword [0x18011a000], xmm0
movups xmmword [0x18011a010], xmm0
movups xmmword [0x18011a020], xmm0
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
xor r8d, r8d
lea rcx, str.dbghelp.dll
xor edx, edx
mov qword [0x180119ff0], rax
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov qword [0x180119ff8], rax
test rax, rax
je 0x18000d12c
lea rdx, str.ImagehlpApiVersionEx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180119ff8]
lea rdx, str.SymInitialize
mov qword [0x18011a000], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180119ff8]
lea rdx, str.SymSetOptions
mov qword [0x18011a008], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180119ff8]
lea rdx, str.SymGetOptions
mov qword [0x18011a010], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180119ff8]
lea rdx, str.SymLoadModule64
mov qword [0x18011a018], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180119ff8]
lea rdx, str.SymGetModuleInfo64
mov qword [0x18011a020], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180119ff8]
lea rdx, str.SymFromName
mov qword [0x18011a028], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdx, qword [0x18011a000]
mov ecx, listen
mov qword [rsp + 0x30], rbx
mov qword [0x18011a030], rax
mov word [rsp + 0x30], cx
test rdx, rdx
je 0x18000d125
cmp qword [0x18011a008], rbx
je 0x18000d125
cmp qword [0x18011a020], rbx
je 0x18000d125
cmp qword [0x18011a028], rbx
je 0x18000d125
test rax, rax
je 0x18000d125
lea rcx, [rsp + 0x30]
call rdx
cmp word [rsp + 0x30], 0xc
jb 0x18000d125
mov rcx, qword [0x180119ff0]
xor r8d, r8d
xor edx, edx
call qword [0x18011a008]
test eax, eax
je 0x18000d125
mov rax, qword [0x18011a018]
test rax, rax
je 0x18000cf08
cmp qword [0x18011a010], rbx
je 0x18000cf08
call rax
and eax, 0xfffffffc
or eax, 0x2704
mov ecx, eax
call qword [0x18011a010]
lea rdi, [0x180119ff0]
mov qword [0x180119d28], 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 0x18000cf43
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x18000d175
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 0x18000d175
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 0x18000cfc0
movzx eax, byte [r8 + rcx]
test al, al
je 0x18000cfc0
mov byte [rcx], al
inc rcx
sub rdx, 1
jne 0x18000cfa0
test rdx, rdx
lea rax, [rcx - 1]
cmovne rax, rcx
mov byte [rax], 0
je 0x18000d175
mov ecx, 0x200
lea rax, [rsp + 0x930]
cmp byte [rax], 0
je 0x18000cfef
inc rax
sub rcx, 1
jne 0x18000cfe1
mov eax, 0x200
sub rax, rcx
test rcx, rcx
cmove rax, rbx
je 0x18000d175
mov edx, 0x200
lea rcx, [rsp + 0x930]
lea rcx, [rcx + rax]
mov r9d, 0x7ffffffe
sub rdx, rax
je 0x18000d04e
lea r10, [0x1800f5e8c]
mov eax, r9d
sub r10, rcx
nop dword [rax]
test rax, rax
je 0x18000d04e
movzx r8d, byte [r10 + rcx]
test r8b, r8b
je 0x18000d04e
mov byte [rcx], r8b
dec rax
inc rcx
sub rdx, 1
jne 0x18000d030
test rdx, rdx
lea rax, [rcx - 1]
cmovne rax, rcx
mov byte [rax], 0
je 0x18000d175
mov ecx, 0x200
lea rax, [rsp + 0x930]
nop
cmp byte [rax], 0
je 0x18000d07e
inc rax
sub rcx, 1
jne 0x18000d070
mov eax, 0x200
sub rax, rcx
test rcx, rcx
cmove rax, rbx
je 0x18000d175
mov r8d, 0x200
lea rdx, [rsp + 0x930]
lea rdx, [rdx + rax]
sub r8, rax
je 0x18000d0cb
sub rsi, rdx
nop dword [rax]
test r9, r9
je 0x18000d0cb
movzx eax, byte [rsi + rdx]
test al, al
je 0x18000d0cb
mov byte [rdx], al
dec r9
inc rdx
sub r8, 1
jne 0x18000d0b0
test r8, r8
lea rax, [rdx - 1]
cmovne rax, rdx
mov byte [rax], 0
je 0x18000d175
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 0x18000d175
mov rax, qword [rsp + 0x78]
jmp 0x18000d177
mov rax, qword [0x180119ff8]
mov dword [0x180119d20], 1
test rax, rax
je 0x18000d144
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov qword [0x18011a000], rbx
mov qword [0x18011a008], rbx
mov qword [0x18011a010], rbx
mov qword [0x18011a018], rbx
mov qword [0x18011a020], rbx
mov qword [0x18011a028], rbx
mov qword [0x18011a030], rbx
xor eax, eax
mov rcx, qword [rsp + 0xb30]
xor rcx, rsp
call fcn.1800d2550
lea r11, [rsp + 0xb40]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret