Function at 0x140022a20
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov dword [rax + 8], ecx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x128]
sub rsp, 0x1f0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
mov rdi, rdx
xor ebx, ebx
call fcn.1400fe8a0
mov rsi, rax
test rax, rax
je 0x14002328f
lea rdx, str.Content_Type:_application_json
xor ecx, ecx
call fcn.1400fec10
mov r13, rax
cmp qword [rdi + 0x18], 7
jbe 0x140022a89
mov rdx, qword [rdi]
mov rcx, qword [rdi + 0x10]
lea r8, [rdx + rcx*2]
mov rdi, rdx
jmp 0x140022a91
mov rax, qword [rdi + 0x10]
lea r8, [rdi + rax*2]
mov rdx, rdi
lea rcx, [rbp + 0x48]
call fcn.140027590
nop
lea rdx, [0x1404e25d0]
mov r8, qword [0x1404e25e0]
cmp qword [reloc.WS2_32.dll_ntohs], 0xf
jbe 0x140022abd
mov rdx, qword [0x1404e25d0]
add r8, rdx
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rbx
cmp rdx, r8
jne 0x140022af1
mov rdi, rbx
mov qword [rsp + 0x50], rbx
mov r12d, reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x58], r12
mov byte [rsp + 0x40], dil
jmp 0x140022b08
sub r8, rdx
lea rcx, [rsp + 0x40]
call fcn.140008100
mov r12, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x50]
lea rdx, [0x1404e25f0]
mov r8, qword [0x1404e2600]
cmp qword [reloc.WS2_32.dll_ntohs], 0xf
jbe 0x140022b27
mov rdx, qword [0x1404e25f0]
add r8, rdx
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], rbx
cmp rdx, r8
jne 0x140022b5b
mov r14, rbx
mov qword [rsp + 0x70], rbx
mov r15d, reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x78], r15
mov byte [rsp + 0x60], r14b
jmp 0x140022b72
sub r8, rdx
lea rcx, [rsp + 0x60]
call fcn.140008100
mov r15, qword [rsp + 0x78]
mov r14, qword [rsp + 0x70]
mov edx, 2
lea rcx, [rbp + 0x20]
call fcn.14001e290
mov qword [rbp + 0x140], rax
movabs rcx, 0x7fffffffffffffff
sub rcx, rdi
cmp rcx, 0xb
jb 0x1400232ba
lea rax, [rsp + 0x40]
cmp r12, 0xf
cmova rax, qword [rsp + 0x40]
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], send
lea r9, str._userId_:_
lea r8, [rsp + 0x40]
movzx edx, byte [rbp + 0x130]
lea rcx, [rbp + 0x88]
call fcn.1400084e0
nop
mov r8d, reloc.WS2_32.dll_listen
lea rdx, str.___message_:_
lea rcx, [rbp + 0x88]
call fcn.140007d70
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x10], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x10], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
lea rdx, [rbp + 0x48]
cmp qword [rbp + 0x60], 0xf
cmova rdx, qword [rbp + 0x48]
mov r8, qword [rbp + 0x58]
lea rcx, [rbp]
call fcn.140007d70
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x10], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x20], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x10], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
mov r8d, send
lea rdx, str.___username_:_
lea rcx, [rbp - 0x20]
call fcn.140007d70
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x30], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x30], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
lea rdx, [rsp + 0x60]
cmp r15, 0xf
cmova rdx, qword [rsp + 0x60]
mov r8, r14
lea rcx, [rbp - 0x40]
call fcn.140007d70
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x70], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x70], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
mov r8d, 9
lea rdx, str.___type_:
lea rcx, [rbp - 0x80]
call fcn.140007d70
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xa8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xb8], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
mov r9, qword [rbp + 0x140]
lea r8, [rbp + 0xa8]
movzx edx, byte [rbp + 0x130]
lea rcx, [rbp + 0x68]
call fcn.140029a00
nop
mov r8d, 1
lea rdx, [0x1401f7784]
lea rcx, [rbp + 0x68]
call fcn.140007d70
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x50], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x50], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
mov rdx, qword [rbp + 0x80]
cmp rdx, 0xf
jbe 0x140022dd3
inc rdx
mov rcx, qword [rbp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140022dce
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400232c0
call fcn.14015d5e8
movdqa xmm6, xmmword [0x1401ff430]
movdqu xmmword [rbp + 0x78], xmm6
mov byte [rbp + 0x68], 0
mov rdx, qword [rbp + 0xc0]
cmp rdx, 0xf
jbe 0x140022e26
inc rdx
mov rcx, qword [rbp + 0xa8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140022e20
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400232c6
call fcn.14015d5e8
nop
mov rdx, qword [rbp - 0x68]
cmp rdx, 0xf
jbe 0x140022e61
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140022e5c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400232cc
call fcn.14015d5e8
movdqu xmmword [rbp - 0x70], xmm6
mov byte [rbp - 0x80], 0
mov rdx, qword [rbp - 0x28]
cmp rdx, 0xf
jbe 0x140022ea5
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140022ea0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400232d2
call fcn.14015d5e8
movdqu xmmword [rbp - 0x30], xmm6
mov byte [rbp - 0x40], 0
mov rdx, qword [rbp - 8]
cmp rdx, 0xf
jbe 0x140022ee9
inc rdx
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140022ee4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400232d8
call fcn.14015d5e8
movdqu xmmword [rbp - 0x10], xmm6
mov byte [rbp - 0x20], 0
mov rdx, qword [rbp + 0x18]
cmp rdx, 0xf
jbe 0x140022f2d
inc rdx
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140022f28
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400232de
call fcn.14015d5e8
movdqu xmmword [rbp + 0x10], xmm6
mov byte [rbp], 0
mov rdx, qword [rbp + 0xa0]
cmp rdx, 0xf
jbe 0x140022f77
inc rdx
mov rcx, qword [rbp + 0x88]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140022f72
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400232e4
call fcn.14015d5e8
movdqu xmmword [rbp + 0x98], xmm6
mov byte [rbp + 0x88], 0
mov rdx, qword [rbp + 0x38]
cmp rdx, 0xf
jbe 0x140022fc1
inc rdx
mov rcx, qword [rbp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140022fbc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400232ea
call fcn.14015d5e8
movups xmm0, xmmword [str._LMJ]
movups xmmword [rbp + 0x20], xmm0
movups xmm1, xmmword [0x1401f8ce8]
movups xmmword [rbp + 0x30], xmm1
movzx eax, byte [0x1401f8cf8]
mov byte [rbp + 0x40], al
cmp dword [reloc.WS2_32.dll_accept], 2
jl 0x140023106
movdqa xmm4, xmmword [0x1401ff610]
movdqa xmm3, xmmword [0x1401ffab0]
movdqa xmm5, xmmword [0x1401ff650]
movdqa xmm0, xmmword [0x1401ff750]
movdqa xmmword [rbp - 0x80], xmm0
lea rcx, [rbp + 0x24]
movdqa xmm7, xmmword [0x1401ff6c0]
mov edx, dword [rbp - 0x80]
movd xmm2, ebx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm4
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
andps xmm2, xmm7
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [rbx + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm4
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
andps xmm2, xmm7
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add ebx, 8
mov eax, ebx
lea rcx, [rcx + 8]
cmp ebx, 0x20
jl 0x140023022
cmp eax, 0x21
jge 0x14002313c
movsxd rax, ebx
lea r8, [rbp + 0x20]
add r8, rax
mov eax, 0x51eb851f
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x32
movzx eax, bl
sub al, cl
add al, 0x37
xor byte [r8], al
inc ebx
lea r8, [r8 + 1]
cmp ebx, 0x21
jl 0x140023110
lea r8, [rbp + 0x20]
mov edx, 0x2712
mov rcx, rsi
call fcn.140101950
mov r8, r13
mov edx, 0x2727
mov rcx, rsi
call fcn.140101950
lea r8, [rbp - 0x60]
cmp qword [rbp - 0x48], 0xf
cmova r8, qword [rbp - 0x60]
mov edx, 0x271f
mov rcx, rsi
call fcn.140101950
mov rcx, rsi
call fcn.1400fe910
test eax, eax
sete bl
mov rcx, rsi
call fcn.1400fe870
mov rcx, r13
call fcn.1400fecb0
mov rdx, qword [rbp - 0x48]
cmp rdx, 0xf
jbe 0x1400231d0
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400231cb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400232f0
call fcn.14015d5e8
movdqu xmmword [rbp - 0x50], xmm6
mov byte [rbp - 0x60], 0
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x140023217
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140023211
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400232f6
call fcn.14015d5e8
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 0xf
jbe 0x140023255
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002324f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400232fc
call fcn.14015d5e8
nop
mov rdx, qword [rbp + 0x60]
cmp rdx, 0xf
jbe 0x14002328c
inc rdx
mov rcx, qword [rbp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140023287
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400232b4
call fcn.14015d5e8
movzx eax, bl
lea r11, [rsp + 0x1f0]
mov rbx, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140170074
nop
call fcn.1400053f0
nop
call fcn.140170074
nop
call fcn.140170074
nop
call fcn.140170074
nop
call fcn.140170074
nop
call fcn.140170074
nop
call fcn.140170074
nop
call fcn.140170074
nop
call fcn.140170074
int3
call fcn.140170074
nop
call fcn.140170074
nop
call fcn.140170074
int3