Function at 0x1403421a0
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x18], rbx
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x660
mov rax, qword [0x140535ab8]
xor rax, rsp
mov qword [rsp + 0x658], rax
mov r14, rdx
mov r15, rcx
mov qword [rsp + 0xe0], rdx
xor r12d, r12d
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x38], rax
xor edx, edx
lea rcx, [rsp + 0xf0]
call fcn.14030ed30
nop
lea r8, str.client_constructor
mov edx, 0x400
mov rcx, qword [rsp + 0x2a0]
call fcn.1403113d0
nop
mov qword [rsp + 0x638], r12
mov qword [rsp + 0x640], r12
mov rbx, qword [rsp + 0x2a0]
mov rcx, rbx
call fcn.1403879d0
test eax, eax
jne 0x140342618
mov dword [rbx + 0x54], r12d
mov rcx, rbx
call fcn.1403879d8
mov rbx, qword [rsp + 0x2a0]
mov rcx, rbx
call fcn.1403879d0
test eax, eax
jne 0x140342620
mov rcx, rbx
call fcn.1403879d8
mov rbx, qword [rsp + 0x2b0]
mov rcx, rbx
call fcn.1403879d0
test eax, eax
jne 0x140342628
mov dword [rbx + 0x54], r12d
mov rcx, rbx
call fcn.1403879d8
lea rcx, [rsp + 0xf0]
call fcn.1403615d0
lea rcx, [r15 + 0xd0]
cmp qword [rcx + 0x18], 0x10
jb 0x1403422a4
mov rcx, qword [rcx]
lea rax, [0x1404c7190]
mov qword [rsp + 0x88], rax
lea rax, [0x140367fc0]
mov qword [rsp + 0x90], rax
movzx eax, byte [rsp + 0x30]
mov byte [rsp + 0x98], al
mov qword [rsp + 0xa0], rcx
lea rax, [rsp + 0x88]
mov qword [rsp + 0xc0], rax
lea rax, [rsp + 0x88]
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x88]
lea rcx, [rsp + 0x130]
call fcn.140333640
nop
mov rcx, qword [rsp + 0xc0]
test rcx, rcx
je 0x14034232a
mov rax, qword [rcx]
lea rdx, [rsp + 0x88]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov dword [rsp + 0x78], r12d
lea r9, [rsp + 0x78]
mov r8, r14
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0xf0]
call fcn.140353c70
mov rcx, qword [rax]
mov rbx, qword [rax + 8]
mov qword [rax], r12
mov qword [rax + 8], r12
mov qword [rsp + 0x638], rcx
mov rsi, qword [rsp + 0x640]
mov qword [rsp + 0x640], rbx
mov edi, 0xffffffff
test rsi, rsi
je 0x1403423ad
mov eax, edi
lock xadd dword [rsi + 8], eax
cmp eax, 1
jne 0x1403423a5
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax]
mov eax, edi
lock xadd dword [rsi + 0xc], eax
cmp eax, 1
jne 0x1403423a5
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + reloc.WS2_32.dll_htonl]
mov rbx, qword [rsp + 0x640]
mov rsi, qword [rsp + 0xd8]
test rsi, rsi
je 0x1403423eb
mov eax, edi
lock xadd dword [rsi + 8], eax
cmp eax, 1
jne 0x1403423e3
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax]
mov eax, edi
lock xadd dword [rsi + 0xc], eax
cmp eax, 1
jne 0x1403423e3
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + reloc.WS2_32.dll_htonl]
mov rbx, qword [rsp + 0x640]
cmp dword [rsp + 0x78], 0
je 0x14034243b
test rbx, rbx
je 0x14034241e
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14034241e
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x14034241e
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
lea rcx, [rsp + 0xf0]
call fcn.14030fdc0
nop
mov rcx, r14
call fcn.140161040
xor al, al
jmp 0x1403425f0
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x48], xmm0
test rbx, rbx
je 0x140342455
lock inc dword [rbx + 8]
mov rbx, qword [rsp + 0x640]
mov rax, qword [rsp + 0x638]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rbx
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0xf0]
call fcn.140343d70
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x1403424b8
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1403424b8
mov rbx, qword [rsp + 0x70]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1403424b8
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
lea rsi, [r15 + 0x7f1]
mov qword [rsp + 0x38], rsi
mov byte [rsi], 0
mov ecx, reloc.WS2_32.dll_recv
call fcn.14038a538
mov rbx, rax
mov qword [rsp + 0x40], rax
test rax, rax
je 0x140342543
mov ecx, 0x18
call fcn.14038a538
test rax, rax
je 0x140342509
lea rcx, [0x140342650]
mov qword [rax], rcx
lea rcx, [rsp + 0xf0]
mov qword [rax + 8], rcx
mov qword [rax + 0x10], r15
jmp 0x14034250c
mov rax, r12
mov qword [rsp + 0xc8], rax
lea r15, [rbx + 8]
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], r12d
mov r9, rax
lea r8, [0x140318a90]
xor edx, edx
xor ecx, ecx
call fcn.140398cdc
mov qword [rbx], rax
test rax, rax
je 0x140342630
jmp 0x140342546
mov rbx, r12
mov qword [rsp + 0x40], rbx
mov dword [rsp + 0x58], r12d
lea rax, [0x1405203c8]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x230]
lea rdx, [rsp + 0x58]
mov rcx, qword [rax + 0x10]
call fcn.140376cd0
cmp dword [rsp + 0x58], 0
jne 0x14034263e
jmp 0x140342596
movzx esi, byte [rsi]
mov rcx, rbx
call fcn.140362320
nop
mov rbx, qword [rsp + 0x640]
test rbx, rbx
je 0x1403425d6
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1403425d6
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x1403425d6
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + reloc.WS2_32.dll_htonl]
lea rcx, [rsp + 0xf0]
call fcn.14030fdc0
nop
mov rcx, r14
call fcn.140161040
movzx eax, sil
mov rcx, qword [rsp + 0x658]
xor rcx, rsp
call fcn.14038a8e0
mov rbx, qword [rsp + 0x6a0]
add rsp, 0x660
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
mov ecx, eax
call fcn.140387b60
int3
mov ecx, eax
call fcn.140387b60
int3
mov ecx, eax
call fcn.140387b60
nop
mov dword [r15], r12d
mov ecx, 6
call fcn.140387b9c
nop
lea rcx, [rsp + 0x58]
call fcn.140350580
int3