Function at 0x1800314b0
Capabilities:
Create thread

Disassembly:
mov rax, rsp
push r14
sub rsp, 0xa0
mov qword [rax - 0x30], 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 + 0x98], rax
mov r14, rcx
cmp edx, 1
jne 0x180031745
xor edi, edi
mov ebx, edi
lea rsi, [0x1800f3150]
mov dword [rsp + 0x30], ebx
cmp ebx, 5
jge 0x18003151d
movsxd rax, ebx
lea rcx, [rax + rax*2]
shl rcx, 5
add rcx, rsi
call fcn.18005c230
test al, al
jne 0x180031530
inc ebx
jmp 0x1800314f9
mov rcx, r14
call fcn.18005c5f0
test al, al
jne 0x180031530
xor eax, eax
jmp 0x18003174a
mov rcx, r14
call fcn.18005c5f0
test al, al
je 0x180031546
mov eax, 1
jmp 0x18003174a
mov qword [0x1800f30c8], r14
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [0x1800f30c0], eax
mov rcx, r14
call fcn.1800312d0
call fcn.180031780
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 0x180031592
mov r8, rdi
jmp 0x1800315a0
mov r8, rsi
inc r8
cmp word [rax + r8*2], 0
jne 0x180031595
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.180012670
nop
call fcn.180031870
mov r8, rax
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x58]
call fcn.1800329d0
nop
mov rcx, rax
call fcn.180031280
nop
cmp qword [rsp + 0x70], 8
jb 0x1800315e1
mov rcx, qword [rsp + 0x58]
call fcn.18008fef0
mov qword [rsp + 0x70], 7
mov qword [rsp + 0x68], rdi
mov word [rsp + 0x58], di
cmp qword [rsp + 0x50], 8
jb 0x180031606
mov rcx, qword [rsp + 0x38]
call fcn.18008fef0
mov qword [rsp + 0x50], 7
mov qword [rsp + 0x48], rdi
mov word [rsp + 0x38], di
mov rcx, r14
call fcn.18005d750
nop
call fcn.1800114f0
test al, al
je 0x180031630
call fcn.18004df30
call fcn.180011640
test al, al
je 0x18003163e
call fcn.18004df30
call fcn.1800115d0
test al, al
je 0x18003169a
call fcn.18005bed0
test al, al
je 0x180031657
xor eax, eax
jmp 0x18003174a
call fcn.18004df30
mov dword [rsp + 0x84], edi
lea rax, [rsp + 0x84]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edi
xor r9d, r9d
lea r8, [0x180030cb0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rcx, rax
call fcn.18005e230
mov eax, 1
jmp 0x18003174a
mov dword [rsp + 0x80], edi
xor eax, eax
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edi
xor r9d, r9d
lea r8, [0x180030cb0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rdx, rax
lea rcx, [rsp + 0x88]
call fcn.180072d70
nop
mov rax, qword [rsp + 0x88]
test rax, rax
je 0x1800316f9
mov rdi, qword [rax]
mov rcx, rdi
call fcn.18005e230
mov ecx, 0x5dc
call qword [sym.imp.KERNEL32.dll_Sleep]
nop
mov rbx, qword [rsp + 0x90]
test rbx, rbx
je 0x180031745
mov eax, esi
lock xadd dword [rbx + 8], eax
dec eax
jne 0x180031745
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], esi
dec esi
jne 0x180031745
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
jmp 0x180031745
mov eax, 1
mov rcx, qword [rsp + 0x98]
xor rcx, rsp
call fcn.1800b33c0
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop r14
ret