Function at 0x1400fcfe0
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xd0
mov r12, rcx
mov rbx, rcx
mov r15, rcx
mov qword [rsp + 0x118], rcx
xor r13d, r13d
mov qword [rsp + 0x20], r13
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x38], sendto
mov byte [rsp + 0x20], r13b
lea rdi, [0x1401edd60]
nop word [rax + rax]
movzx eax, byte [r12 + 0x50]
nop
test al, al
jne 0x1400fc974
cmp qword [r12 + 0x28], 0
je 0x1400fc6ca
movzx ecx, byte [r12 + 0x38]
test cl, cl
je 0x1400fc5ca
call fcn.1401062d0
lea rdx, [r12 + 0x18]
cmp qword [r12 + 0x30], 0x10
jb 0x1400fc5dc
mov rdx, qword [r12 + 0x18]
mov r8, qword [r12 + 0x28]
mov rcx, rdi
call fcn.140006080
mov rax, qword [0x1401edd60]
movsxd rcx, dword [rax + 4]
mov rsi, qword [rcx + rdi + 0x48]
test rsi, rsi
je 0x1400fc6bb
mov qword [rsp + 0x78], rdi
mov rcx, rsi
mov rax, qword [rsi]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rax, qword [0x1401edd60]
movsxd rcx, dword [rax + 4]
cmp dword [rcx + rdi + 0x10], 0
je 0x1400fc626
xor al, al
jmp 0x1400fc651
mov rcx, qword [rcx + rdi + 0x50]
test rcx, rcx
je 0x1400fc64f
cmp rcx, rdi
je 0x1400fc64f
call fcn.140017bd0
mov rax, qword [0x1401edd60]
movsxd rcx, dword [rax + 4]
cmp dword [rcx + rdi + 0x10], 0
sete al
jmp 0x1400fc651
mov al, 1
mov byte [rsp + 0x80], al
test al, al
je 0x1400fc68d
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x68]
cmp eax, 0xffffffff
jne 0x1400fc68d
mov rax, qword [0x1401edd60]
movsxd rcx, dword [rax + 4]
mov eax, dword [rcx + rdi + 0x10]
and eax, 0x13
or eax, 4
mov dword [rcx + rdi + 0x10], eax
and eax, dword [rcx + rdi + 0x14]
jne 0x1400fc9c4
call fcn.140122f04
test al, al
jne 0x1400fc69f
mov rcx, rdi
call fcn.140012e30
nop
mov rax, qword [0x1401edd60]
movsxd rcx, dword [rax + 4]
mov rcx, qword [rcx + rdi + 0x48]
test rcx, rcx
je 0x1400fc6bb
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
nop
cmp byte [r12 + 0x38], 0
je 0x1400fc6ca
xor ecx, ecx
call fcn.1401062d0
lea rcx, [rbx + 0xa0]
call fcn.140123194
test eax, eax
jne 0x1400fca1f
cmp qword [rbx + 0x90], 0
jne 0x1400fc72a
nop dword [rax + rax]
cmp byte [rbx + 0x98], 0
jne 0x1400fc718
lea rcx, [rbx + 0xf0]
lea rdx, [rbx + 0xa0]
call fcn.1401263ec
cmp qword [rbx + 0x90], 0
je 0x1400fc6f0
jmp 0x1400fc72a
lea rcx, [rbx + 0xa0]
call fcn.1401231f4
nop
jmp 0x1400fc974
mov rcx, qword [r15 + 0x80]
dec rcx
and rcx, qword [r15 + 0x88]
mov rax, qword [r15 + 0x78]
mov rsi, qword [rax + rcx*8]
lea rax, [rsp + 0x20]
cmp rax, rsi
je 0x1400fc7bd
mov rdx, qword [rsp + 0x38]
cmp rdx, 0x10
jb 0x1400fc78a
inc rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400fc785
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400fca26
call fcn.14014765c
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x38], sendto
mov byte [rsp + 0x20], 0
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0x20], xmm0
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [rsp + 0x30], xmm1
mov qword [rsi + 0x10], r13
mov qword [rsi + 0x18], sendto
mov byte [rsi], 0
mov rcx, qword [r15 + 0x80]
dec rcx
and rcx, qword [r15 + 0x88]
mov rax, qword [r15 + 0x78]
mov rsi, qword [rax + rcx*8]
mov rdx, qword [rsi + 0x18]
cmp rdx, 0x10
jb 0x1400fc810
mov rcx, qword [rsi]
inc rdx
cmp rdx, 0x1000
jb 0x1400fc80b
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1400fca26
mov rcx, r8
call fcn.14014765c
mov qword [rsi + 0x10], r13
mov qword [rsi + 0x18], sendto
mov byte [rsi], 0
sub qword [r15 + 0x90], 1
jne 0x1400fc832
mov qword [r15 + 0x88], r13
jmp 0x1400fc839
inc qword [r15 + 0x88]
cmp byte [rbx + 0x98], 0
je 0x1400fc85a
cmp qword [rbx + 0x90], 0
jne 0x1400fc85a
lea rcx, [rbx + 0x138]
call fcn.140126360
jmp 0x1400fc866
lea rcx, [rbx + 0x138]
call fcn.1401263d4
lea rcx, [rbx + 0xa0]
call fcn.1401231f4
nop
mov cl, 1
call fcn.14012345c
mov rsi, rax
mov qword [rsp + 0xa0], rax
mov eax, 0x48
mov word [rsp + 0x40], ax
mov qword [rsp + 0x50], rsi
mov rdx, qword [rsi]
mov rcx, rsi
call qword [rdx + reloc.WS2_32.dll_htonl]
lea rax, [rsp + 0x40]
mov qword [rsp + 0x128], rax
movzx eax, word [rsp + 0x40]
mov word [rsp + 0x58], ax
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x68], rcx
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x20]
call fcn.1400358f0
movzx eax, word [rsp + 0x40]
mov word [rsp + 0x58], ax
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x68], rcx
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x20]
call fcn.1400357a0
nop
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x1400fc921
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
test rax, rax
je 0x1400fc921
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
nop
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + reloc.WS2_32.dll_recv]
test rax, rax
je 0x1400fc93d
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
cmp qword [rsp + 0x30], 0
je 0x1400fc954
mov rax, qword [r12]
lea rdx, [rsp + 0x20]
mov rcx, r12
call qword [rax]
nop
jmp 0x1400fc5a0
mov rdx, qword [rsp + 0x38]
cmp rdx, 0x10
jb 0x1400fc9b1
inc rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400fc9ac
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400fca2c
call fcn.14014765c
add rsp, 0xd0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
test al, 4
je 0x1400fc9d1
lea rbx, str.ios_base::badbit_set
jmp 0x1400fc9e5
test al, 2
lea rbx, str.ios_base::failbit_set
lea rax, str.ios_base::eofbit_set
cmove rbx, rax
mov edx, 1
lea rcx, [rsp + 0x88]
call fcn.140018060
mov r8, rax
mov rdx, rbx
lea rcx, [rsp + 0xa8]
call fcn.14000b100
lea rdx, [0x1401dde90]
lea rcx, [rsp + 0xa8]
call fcn.140148aa8
nop
mov ecx, eax
call fcn.14012488c
call fcn.14014df3c
nop
call fcn.14014df3c
int3
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x40
movzx edi, r9b
movzx esi, dl
mov rbx, rcx
add rcx, 0x18
cmp rcx, r8
je 0x1400fd018
mov rdx, r8
cmp qword [r8 + 0x18], 0x10
jb 0x1400fd00f
mov rdx, qword [r8]
mov r8, qword [r8 + 0x10]
call fcn.140013730
mov byte [rbx + 0x38], dil
lea rcx, [rbx + 0x50]
call fcn.1400fcf50
test sil, sil
je 0x1400fd09d
mov ecx, reloc.WS2_32.dll_recv
call fcn.140147620
xor edi, edi
test rax, rax
je 0x1400fd04b
lea rcx, [0x1400fc550]
mov qword [rax], rcx
mov qword [rax + 8], rbx
jmp 0x1400fd04e
mov rax, rdi
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], edi
mov r9, rax
lea r8, [0x1400fb590]
xor edx, edx
xor ecx, ecx
call fcn.14015b140
mov qword [rsp + 0x30], rax
test rax, rax
je 0x1400fd0b4
cmp dword [rbx + 0x10], 0
jne 0x1400fd0c3
movaps xmm0, xmmword [rsp + 0x30]
movups xmmword [rbx + 8], xmm0
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
ret
mov rcx, rbx
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
jmp 0x1400fc550
mov dword [rsp + 0x38], edi
mov ecx, 6
call fcn.1401248c8
nop
call fcn.140157800
int3