Function at 0x18002c650
Capabilities:
Create thread

Disassembly:
mov rax, rsp
push r14
sub rsp, 0xb0
mov qword [rax - 0x60], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x180001b10]
xor rax, rsp
mov qword [rsp + 0xa0], rax
mov r14, rcx
cmp edx, 1
jne 0x18002c900
xor edi, edi
mov ebx, edi
lea rsi, [0x1800ede50]
mov dword [rsp + 0x30], ebx
cmp ebx, 5
jge 0x18002c6bd
movsxd rax, ebx
lea rcx, [rax + rax*2]
shl rcx, 5
add rcx, rsi
call fcn.18005b3a0
test al, al
jne 0x18002c6cd
inc ebx
jmp 0x18002c699
call fcn.18005b760
test al, al
jne 0x18002c6cd
xor eax, eax
jmp 0x18002c905
call fcn.18005b760
test al, al
je 0x18002c6e0
mov eax, 1
jmp 0x18002c905
mov qword [0x1800eddb8], r14
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [0x1800eddb0], eax
mov rcx, r14
call fcn.18002c470
lea rax, [rsp + 0x60]
mov qword [rsp + 0x88], rax
call fcn.18002c930
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x50], 7
mov qword [rsp + 0x48], rdi
mov word [rsp + 0x38], di
or rsi, 0xffffffffffffffff
cmp word [rax], 0
jne 0x18002c739
mov r8, rdi
jmp 0x18002c74b
mov r8, rsi
nop dword [rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x18002c740
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.180012800
nop
call fcn.18002ca30
mov r8, rax
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x60]
call fcn.18002de80
nop
mov rcx, rax
call fcn.18005ca40
nop
cmp qword [rsp + 0x50], 8
jb 0x18002c78c
mov rcx, qword [rsp + 0x38]
call fcn.18008caa0
mov qword [rsp + 0x50], 7
mov qword [rsp + 0x48], rdi
mov word [rsp + 0x38], di
mov rcx, r14
call fcn.18005c640
nop
lea rcx, [0x1800edeb0]
call fcn.18005b3a0
test al, al
je 0x18002c7bd
call fcn.18004af40
lea rcx, [0x1800edfd0]
call fcn.18005b3a0
test al, al
je 0x18002c7d2
call fcn.18004af40
lea rcx, [0x1800edf70]
call fcn.18005b3a0
test al, al
je 0x18002c846
call fcn.18005b050
test al, al
je 0x18002c7f2
xor eax, eax
jmp 0x18002c905
call fcn.18004af40
mov dword [rsp + 0x88], edi
lea rax, [rsp + 0x88]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edi
xor r9d, r9d
lea r8, [0x18002bea0]
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]
test eax, eax
jne 0x18002c83c
call fcn.18005cb50
jmp 0x18002c83c
mov eax, 1
jmp 0x18002c905
mov dword [rsp + 0x80], edi
xor eax, eax
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edi
xor r9d, r9d
lea r8, [0x18002bea0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rdx, rax
lea rcx, [rsp + 0x90]
call fcn.180074c80
nop
mov rax, qword [rsp + 0x90]
test rax, rax
je 0x18002c8a5
mov rdi, qword [rax]
mov edx, reloc.WS2_32.dll_ntohs
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetThreadPriority]
test eax, eax
jne 0x18002c8bc
call fcn.18005cb50
mov ecx, 0x5dc
call qword [sym.imp.KERNEL32.dll_Sleep]
nop
mov rbx, qword [rsp + 0x98]
test rbx, rbx
je 0x18002c900
mov eax, esi
lock xadd dword [rbx + 8], eax
dec eax
jne 0x18002c900
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], esi
dec esi
jne 0x18002c900
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
jmp 0x18002c900
mov eax, 1
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.1800aeb40
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop r14
ret