Function at 0x18001c440
Capabilities:
Create thread

Disassembly:
mov rax, rsp
push r14
sub rsp, 0xc0
mov qword [rax - 0x38], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x18013cb10]
xor rax, rsp
mov qword [rsp + 0xb0], rax
mov rsi, rcx
cmp edx, 1
jne 0x18001c6fe
call fcn.18001a6a0
test al, al
jne 0x18001c48e
xor eax, eax
jmp 0x18001c703
mov cl, 1
call fcn.1800973b4
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x38]
call fcn.18004b140
nop
lea r8, [rsp + 0x30]
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.1800030e0
mov r14, rax
mov qword [rsp + 0x78], rax
call fcn.18001c730
mov qword [rsp + 0x88], rax
cmp word [rax], 0
jne 0x18001c4dc
xor ebx, ebx
mov ecx, ebx
or rdi, 0xffffffffffffffff
jmp 0x18001c4ef
or rdi, 0xffffffffffffffff
mov rcx, rdi
inc rcx
cmp word [rax + rcx*2], 0
jne 0x18001c4e3
xor ebx, ebx
mov qword [rsp + 0x20], rcx
mov r9, rax
mov r8, qword [r14 + 0x10]
xor edx, edx
mov rcx, r14
call fcn.180003120
test eax, eax
sete r14b
cmp qword [rsp + 0x70], 8
jb 0x18001c51d
mov rcx, qword [rsp + 0x58]
call fcn.18007e470
mov qword [rsp + 0x70], 7
mov qword [rsp + 0x68], rbx
mov word [rsp + 0x58], bx
cmp qword [rsp + 0x50], 8
jb 0x18001c542
mov rcx, qword [rsp + 0x38]
call fcn.18007e470
mov qword [rsp + 0x50], 7
mov qword [rsp + 0x48], rbx
mov word [rsp + 0x38], bx
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x18001c580
mov rax, qword [rcx]
call qword [rax + select]
mov qword [rsp + 0x80], rax
test rax, rax
je 0x18001c580
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
test r14b, r14b
je 0x18001c58f
mov eax, 1
jmp 0x18001c703
mov qword [0x18014c1e8], rsi
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [0x18014c1e0], eax
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_DisableThreadLibraryCalls]
call fcn.18001c820
cmp word [rax], 0
jne 0x18001c5bb
mov r8, rbx
jmp 0x18001c5cb
mov r8, rdi
nop
inc r8
cmp word [rax + r8*2], 0
jne 0x18001c5c0
mov rdx, rax
lea rcx, [0x18013f318]
call fcn.1800042a0
mov rcx, rsi
call fcn.18004bfd0
nop
call fcn.1800023d0
test al, al
je 0x18001c5f1
call fcn.18003a820
call fcn.1800027d0
test al, al
je 0x18001c653
call fcn.18004b580
test al, al
je 0x18001c60a
xor eax, eax
jmp 0x18001c703
call fcn.18003a820
mov dword [rsp + 0x98], ebx
lea rax, [rsp + 0x98]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ebx
xor r9d, r9d
lea r8, [0x18001be70]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov edx, reloc.WS2_32.dll_ntohs
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov eax, 1
jmp 0x18001c703
mov dword [rsp + 0x9c], ebx
xor eax, eax
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rax
lea rax, [rsp + 0x9c]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ebx
xor r9d, r9d
lea r8, [0x18001be70]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rdx, rax
lea rcx, [rsp + 0xa0]
call fcn.1800668a0
nop
mov rax, qword [rsp + 0xa0]
test rax, rax
je 0x18001c6b2
mov rbx, qword [rax]
mov rcx, rbx
call fcn.18004c3b0
mov ecx, 0x5dc
call qword [sym.imp.KERNEL32.dll_Sleep]
nop
mov rbx, qword [rsp + 0xa8]
test rbx, rbx
je 0x18001c6fe
mov eax, edi
lock xadd dword [rbx + 8], eax
dec eax
jne 0x18001c6fe
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
dec edi
jne 0x18001c6fe
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
jmp 0x18001c6fe
mov eax, 1
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.18009c2b0
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop r14
ret