Function at 0x140022460
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x850
mov rax, qword [0x140116008]
xor rax, rsp
mov qword [rsp + 0x840], rax
mov eax, dword [0x140158b98]
mov ecx, 0xf0
movzx ebx, ax
cmp ax, cx
jb 0x1400224b7
mov r8d, 0x17d
lea rdx, str.....yoctolib_v1.0Privatehttpsupport.c
lea rcx, str.ASSERT_FAILED:_s:_d_n
call fcn.140021b20
mov eax, dword [0x140158b98]
movzx ecx, bx
xor r14d, r14d
mov qword [rsp + 0x860], rbp
mov qword [rsp + 0x868], rsi
lea rdx, [rcx + rcx*4]
lea rcx, [0x14098ff90]
movzx edi, byte [rcx + rdx*4]
test dil, 1
je 0x14002275b
test dil, 4
jne 0x14002275b
movzx ecx, ax
call fcn.140047d50
test ax, ax
je 0x14002275b
movzx ebx, word [0x140158b94]
mov edx, edi
and edx, 2
movzx esi, ax
lea ebp, [rdx + rdx]
or ebp, 3
add ebp, ebx
cmp esi, ebp
jae 0x140022619
lea rcx, [0x14010c08c]
call fcn.140041200
imul ecx, esi, 0x3e8
lea r8d, [r14 + 0x11]
lea rdx, [rsp + 0x28]
call fcn.140025d30
mov rbx, 0xffffffffffffffff
lea rcx, [rsp + 0x28]
mov rax, rbx
nop
inc rax
cmp byte [rcx + rax], r14b
jne 0x140022550
movzx esi, ax
lea rdx, [rsp + 0x28]
mov r8d, esi
lea rcx, [rsp + 0x40]
call fcn.140050fe0
cmp rsi, 0x800
jae 0x14002279f
lea rdx, [rsp + 0x40]
mov byte [rsp + rsi + 0x40], r14b
lea rcx, [0x14010b5f0]
call fcn.140040c90
mov edx, 0x3c
lea rcx, [0x14010d710]
call fcn.140040c90
imul ecx, ebp, 0x3e8
lea rdx, [rsp + 0x28]
mov r8d, reloc.WS2_32.dll_recvfrom
call fcn.140025d30
lea rax, [rsp + 0x28]
nop dword [rax]
inc rbx
cmp byte [rax + rbx], r14b
jne 0x1400225c0
movzx ebx, bx
lea rdx, [rsp + 0x28]
mov r8d, ebx
lea rcx, [rsp + 0x40]
call fcn.140050fe0
cmp rbx, 0x800
jae 0x140022799
lea rdx, [rsp + 0x40]
mov byte [rsp + rbx + 0x40], r14b
lea rcx, [0x14010b5f0]
call fcn.140040c90
mov edx, 0xa
lea rcx, [0x14010d710]
call fcn.140040c90
movzx ebx, word [0x140158b94]
inc bl
mov byte [rsp + 0x20], 0x82
mov byte [rsp + 0x21], bl
lea rsi, [0x140158bc0]
test dil, 2
je 0x14002271e
call fcn.140029800
mov edx, eax
mov ecx, eax
shr ecx, 8
mov edi, eax
mov byte [rsp + 0x24], cl
or bl, 0x80
mov ecx, eax
shr edx, 0x18
movzx eax, byte [0x140158b9a]
mov r8d, 7
shr ecx, 0x10
xor al, dl
mov byte [rsp + 0x25], cl
movzx ecx, word [0x140158b98]
mov byte [rsp + 0x22], dl
lea rdx, [rsp + 0x20]
mov byte [rsp + 0x21], bl
mov byte [rsp + 0x23], dil
mov byte [rsp + 0x26], al
call fcn.140047e10
movzx r9d, word [0x140158b94]
mov r8d, r14d
lea ecx, [r9 + 3]
shr ecx, 2
cmp ecx, 0x10
jb 0x140022709
mov eax, ecx
mov r10, r14
and eax, 0xf
mov edx, ecx
movd xmm2, edi
sub rdx, rax
lea rax, [0x140158be0]
pshufd xmm2, xmm2, 0
nop dword [rax + rax]
movdqu xmm0, xmmword [rax - 0x20]
add r8d, 0x10
lea rax, [rax + 0x40]
add r10, 0x10
pxor xmm0, xmm2
movdqu xmmword [rax - 0x60], xmm0
movdqu xmm0, xmmword [rax - 0x50]
pxor xmm0, xmm2
movdqu xmmword [rax - 0x50], xmm0
movdqu xmm1, xmmword [rax - 0x40]
pxor xmm1, xmm2
movdqu xmmword [rax - 0x40], xmm1
movdqu xmm0, xmmword [rax - 0x30]
pxor xmm0, xmm2
movdqu xmmword [rax - 0x30], xmm0
cmp r10, rdx
jl 0x1400226c0
movsxd rax, r8d
cmp rax, rcx
jge 0x140022748
xor dword [rsi + rax*4], edi
inc rax
cmp rax, rcx
jl 0x140022711
jmp 0x140022748
movzx eax, byte [0x140158b9a]
lea rdx, [rsp + 0x20]
movzx ecx, word [0x140158b98]
mov r8d, 3
mov byte [rsp + 0x22], al
call fcn.140047e10
movzx r9d, word [0x140158b94]
movzx ecx, word [0x140158b98]
movzx r8d, r9w
mov rdx, rsi
call fcn.140047e10
mov rsi, qword [rsp + 0x868]
mov rbp, qword [rsp + 0x860]
mov word [0x140158b94], r14w
mov rcx, qword [rsp + 0x840]
xor rcx, rsp
call fcn.14004ee60
lea r11, [rsp + 0x850]
mov rbx, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop r14
ret
call fcn.14004ef8c
int3
call fcn.14004ef8c
int3