Function at 0x140047a90
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xd0]
sub rsp, 0x1d0
mov rax, qword [0x1401508e0]
xor rax, rsp
mov qword [rbp + 0xc8], rax
mov rsi, rcx
mov qword [rbp - 0x70], rcx
xor r14d, r14d
mov dword [rsp + 0x30], r14d
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
mov qword [rcx], r14
mov qword [rcx + 8], r14
mov qword [rcx + 0x10], r14
mov dword [rsp + 0x30], 1
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x60], xmm1
mov qword [rbp + 0x70], r14
mov r15, qword [rdx]
mov r12, qword [rdx + 8]
cmp r15, r12
je 0x140047f17
lea r13, [0x140047580]
nop dword [rax + rax]
mov rdx, r15
lea rcx, [rbp + 0x90]
call fcn.14004e140
nop
lea rax, [rbp + 0x90]
cmp qword [rbp + 0xa8], 0x10
cmovae rax, qword [rbp + 0x90]
mov qword [rsp + 0x60], rax
mov rax, qword [rbp + 0xa0]
mov qword [rsp + 0x68], rax
call fcn.1400c5d0c
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rbp - 0x50], xmm0
lea r8, [rbp - 0x50]
mov edx, eax
lea rcx, [rsp + 0x70]
call fcn.140041510
or dword [rsp + 0x30], 0xc
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x50], xmm0
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x50]
call fcn.14004fba0
nop
mov rdx, qword [rbp - 0x78]
cmp rdx, 8
jb 0x140047bc4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140047bbf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140048040
call fcn.1400c80fc
xorps xmm0, xmm0
movups xmmword [rbp + 0x80], xmm0
mov rdi, qword [rbp + 0x58]
test rdi, rdi
je 0x140047bdf
lock inc dword [rdi + 8]
mov rdi, qword [rbp + 0x58]
movaps xmm0, xmmword [rbp + 0x50]
movdqa xmmword [rbp + 0x80], xmm0
test rdi, rdi
je 0x140047bf8
lock inc dword [rdi + 8]
mov rdi, qword [rbp + 0x58]
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xb8], xmm1
test rdi, rdi
je 0x140047c45
mov eax, 0xffffffff
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x140047c41
mov rbx, qword [rbp + 0x58]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140047c41
mov rdi, qword [rbp + 0x58]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.WS2_32.dll_htonl]
jmp 0x140047c45
mov rdi, qword [rbp + 0x58]
cmp qword [rbp + 0x50], 0
je 0x140047e45
mov rax, qword [rbp + 0x80]
nop word [rax + rax]
lea rbx, [rax + 0x20]
mov rdx, rbx
lea rcx, [rbp - 0x68]
call fcn.140042f00
cmp dword [rax], 2
jne 0x140047d11
lea rdx, [rbp - 0x30]
mov rcx, rbx
call fcn.140041a10
nop
mov rdx, qword [rsi + 8]
cmp rdx, qword [rsi + 0x10]
je 0x140047cc2
xorps xmm0, xmm0
movups xmmword [rdx], xmm0
mov qword [rdx + 0x10], r14
mov qword [rdx + 0x18], r14
movups xmm0, xmmword [rax]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdx + 0x10], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
add qword [rsi + 8], 0x20
jmp 0x140047cce
mov r8, rax
mov rcx, rsi
call fcn.140052090
nop
mov rdx, qword [rbp - 0x18]
cmp rdx, 0x10
jb 0x140047e29
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140047e24
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140048034
jmp 0x140047e24
mov rdx, rbx
lea rcx, [rbp - 0x60]
call fcn.140042f00
cmp dword [rax], 3
jne 0x140047e29
lea rdx, [rbp - 0x10]
mov rcx, rbx
call fcn.140041a10
mov rbx, rax
mov ecx, Ordinal_41
call fcn.1400c85ec
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], r14
movups xmm0, xmmword [rbx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rax + 0x10], xmm1
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rbx], 0
mov qword [rax + 0x20], r13
mov qword [rbp + 0xb0], rax
or dword [rsp + 0x30], 2
lea rcx, [rsp + 0x48]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r14d
mov r9, rax
lea r8, [0x140053820]
xor edx, edx
xor ecx, ecx
call fcn.1400e5078
mov qword [rsp + 0x40], rax
test rax, rax
je 0x140048052
mov rdx, qword [rbp + 0x68]
cmp rdx, qword [rbp + 0x70]
je 0x140047dd4
xorps xmm0, xmm0
movaps xmmword [rbp + 0x30], xmm0
movaps xmm1, xmmword [rsp + 0x40]
movaps xmmword [rbp + 0x40], xmm1
movdqa xmmword [rsp + 0x40], xmm0
movups xmmword [rdx], xmm1
add qword [rbp + 0x68], 0x10
jmp 0x140047de3
lea r8, [rsp + 0x40]
lea rcx, [rbp + 0x60]
call fcn.140052d70
nop
cmp dword [rsp + 0x48], 0
jne 0x14004804c
mov rdx, qword [rbp + 8]
cmp rdx, 0x10
jb 0x140047e29
inc rdx
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140047e24
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140048046
call fcn.1400c80fc
lea rcx, [rbp + 0x80]
call fcn.140042990
mov rax, qword [rbp + 0x80]
test rax, rax
jne 0x140047c60
mov rcx, qword [rbp + 0x88]
test rcx, rcx
je 0x140047e8f
mov eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140047e8b
mov rbx, qword [rbp + 0x88]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140047e8b
mov rcx, qword [rbp + 0x88]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rdi, qword [rbp + 0x58]
test rdi, rdi
je 0x140047ec9
mov eax, 0xffffffff
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x140047ec9
mov rbx, qword [rbp + 0x58]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140047ec9
mov rcx, qword [rbp + 0x58]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rbp + 0xa8]
cmp rdx, 0x10
jb 0x140047f0a
inc rdx
mov rcx, qword [rbp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140047f05
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140048062
call fcn.1400c80fc
add r15, 0x20
cmp r15, r12
jne 0x140047b10
mov rax, qword [rbp + 0x68]
mov rbx, qword [rbp + 0x60]
sub rax, rbx
sar rax, 4
test rax, rax
je 0x140047f8a
mov rdi, r14
nop
cmp dword [rdi + rbx + 8], 0
je 0x14004807e
call sub.KERNEL32.dll_GetCurrentThreadId
cmp dword [rdi + rbx + 8], eax
je 0x140048073
movups xmm0, xmmword [rdi + rbx]
movaps xmmword [rbp - 0x40], xmm0
xor edx, edx
lea rcx, [rbp - 0x40]
call fcn.1400c5a6c
test eax, eax
jne 0x140048068
xorps xmm0, xmm0
movups xmmword [rdi + rbx], xmm0
inc r14d
add rdi, 0x10
mov rcx, qword [rbp + 0x68]
mov rbx, qword [rbp + 0x60]
sub rcx, rbx
sar rcx, 4
movsxd rax, r14d
cmp rax, rcx
jb 0x140047f30
mov r8, qword [0x140156150]
mov r9, qword [0x140156158]
sub r9, r8
sar r9, 5
mov rdx, qword [rsi + 8]
mov rcx, rsi
call fcn.140052340
nop
mov rcx, qword [rbp + 0x60]
test rcx, rcx
je 0x140048001
mov rax, rcx
mov rdx, qword [rbp + 0x68]
cmp rcx, rdx
je 0x140047fd0
cmp dword [rax + 8], 0
jne 0x14004802e
add rax, 0x10
cmp rax, rdx
jne 0x140047fc1
mov rdx, qword [rbp + 0x70]
sub rdx, rcx
and rdx, 0xfffffffffffffff0
mov rax, rcx
cmp rdx, 0x1000
jb 0x140047ffc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004803a
call fcn.1400c80fc
mov rax, rsi
mov rcx, qword [rbp + 0xc8]
xor rcx, rsp
call fcn.1400c7e40
mov rbx, qword [rsp + 0x220]
add rsp, 0x1d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1400e56d4
nop
call fcn.1400e565c
nop
call fcn.1400e565c
nop
call fcn.1400e565c
nop
call fcn.1400e565c
nop
call fcn.1400e56d4
nop
mov dword [rsp + 0x48], r14d
mov ecx, 6
call fcn.1400c6614
nop
call fcn.1400e565c
int3
mov ecx, 2
call fcn.1400c6614
int3
mov ecx, 5
call fcn.1400c6614
int3
mov ecx, 1
call fcn.1400c6614
int3