Function at 0x18001c760
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 [0x18013bb10]
xor rax, rsp
mov qword [rsp + 0xb0], rax
mov rsi, rcx
cmp edx, 1
jne 0x18001ca1e
call fcn.18001a9c0
test al, al
jne 0x18001c7ae
xor eax, eax
jmp 0x18001ca23
mov cl, 1
call fcn.180097084
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x38]
call fcn.18004b110
nop
lea r8, [rsp + 0x30]
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.180003400
mov r14, rax
mov qword [rsp + 0x78], rax
call fcn.18001ca50
mov qword [rsp + 0x88], rax
cmp word [rax], 0
jne 0x18001c7fc
xor ebx, ebx
mov ecx, ebx
or rdi, 0xffffffffffffffff
jmp 0x18001c80f
or rdi, 0xffffffffffffffff
mov rcx, rdi
inc rcx
cmp word [rax + rcx*2], 0
jne 0x18001c803
xor ebx, ebx
mov qword [rsp + 0x20], rcx
mov r9, rax
mov r8, qword [r14 + 0x10]
xor edx, edx
mov rcx, r14
call fcn.180003440
test eax, eax
sete r14b
cmp qword [rsp + 0x70], 8
jb 0x18001c83d
mov rcx, qword [rsp + 0x58]
call fcn.18007e140
mov qword [rsp + 0x70], 7
mov qword [rsp + 0x68], rbx
mov word [rsp + 0x58], bx
cmp qword [rsp + 0x50], 8
jb 0x18001c862
mov rcx, qword [rsp + 0x38]
call fcn.18007e140
mov qword [rsp + 0x50], 7
mov qword [rsp + 0x48], rbx
mov word [rsp + 0x38], bx
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x18001c8a0
mov rax, qword [rcx]
call qword [rax + select]
mov qword [rsp + 0x80], rax
test rax, rax
je 0x18001c8a0
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
test r14b, r14b
je 0x18001c8af
mov eax, 1
jmp 0x18001ca23
mov qword [0x18014b1c8], rsi
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [0x18014b1c0], eax
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_DisableThreadLibraryCalls]
call fcn.18001cb40
cmp word [rax], 0
jne 0x18001c8db
mov r8, rbx
jmp 0x18001c8eb
mov r8, rdi
nop
inc r8
cmp word [rax + r8*2], 0
jne 0x18001c8e0
mov rdx, rax
lea rcx, [0x18013e2f8]
call fcn.1800045c0
mov rcx, rsi
call fcn.18004bcb0
nop
call fcn.1800026f0
test al, al
je 0x18001c911
call fcn.18003a7f0
call fcn.180002af0
test al, al
je 0x18001c973
call fcn.18004b360
test al, al
je 0x18001c92a
xor eax, eax
jmp 0x18001ca23
call fcn.18003a7f0
mov dword [rsp + 0x98], ebx
lea rax, [rsp + 0x98]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ebx
xor r9d, r9d
lea r8, [0x18001c190]
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 0x18001ca23
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, [0x18001c190]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rdx, rax
lea rcx, [rsp + 0xa0]
call fcn.180066570
nop
mov rax, qword [rsp + 0xa0]
test rax, rax
je 0x18001c9d2
mov rbx, qword [rax]
mov rcx, rbx
call fcn.18004c090
mov ecx, 0x5dc
call qword [sym.imp.KERNEL32.dll_Sleep]
nop
mov rbx, qword [rsp + 0xa8]
test rbx, rbx
je 0x18001ca1e
mov eax, edi
lock xadd dword [rbx + 8], eax
dec eax
jne 0x18001ca1e
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
dec edi
jne 0x18001ca1e
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
jmp 0x18001ca1e
mov eax, 1
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.18009bf80
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