Function at 0x1400082c0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push r12
push r14
push r15
sub rsp, 0x20
mov r15, rcx
mov r14d, r9d
mov rcx, rdx
mov r12, r8
mov rbx, rdx
call fcn.140028a64
mov r8, rbx
xor edx, edx
mov rcx, rax
mov rsi, rax
call fcn.140022720
test rsi, rsi
jne 0x140008305
xor eax, eax
add rsp, 0x20
pop r15
pop r14
pop r12
pop rsi
pop rbx
ret
mov qword [rsp + 0x68], r13
mov r13d, 0x400
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x60], rdi
nop word [rax + rax]
cmp r13d, 4
jb case.0x140008358.0
mov ecx, dword [r12]
call qword [sym.imp.WS2_32.dll_ntohl]
add r13d, 0xfffffffc
add r12, 4
mov edx, r13d
cmp eax, 0x10
ja case.0x140008358.4
lea r8, [0x140000000]
cdqe
mov ecx, dword [r8 + rax*4 + 0x85d0]
add rcx, r8
jmp rcx
cmp edx, 4
jae 0x140008365
xor eax, eax
sub ebx, eax
jmp case.0x140008358.4
mov ecx, dword [r12]
call qword [sym.imp.WS2_32.dll_ntohl]
add r12, 4
add r13d, 0xfffffffc
sub ebx, eax
jmp case.0x140008358.4
cmp edx, 4
jae 0x140008384
xor eax, eax
jmp 0x140008396
mov ecx, dword [r12]
call qword [sym.imp.WS2_32.dll_ntohl]
add r12, 4
add r13d, 0xfffffffc
mov dword [rsp + 0x58], eax
mov rcx, rsi
cmp eax, ebx
jg 0x1400085a0
movsxd r8, ebx
mov rdx, r15
call fcn.140022ae0
movsxd rax, dword [rsp + 0x58]
mov rcx, r15
sub ebx, eax
movsxd r8, ebx
lea rdx, [rsi + rax]
call fcn.140022ae0
jmp case.0x140008358.4
movsxd rax, ebx
mov dword [rsp + 0x58], r14d
mov byte [rax + r15], 0
jmp 0x1400084f7
movsxd rax, ebx
mov byte [rax + r15], 0
mov eax, ebx
and eax, 0x80000001
jge 0x1400083f5
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
jne 0x140008401
xor ebx, ebx
jmp case.0x140008358.4
xor edx, edx
test ebx, ebx
jle 0x140008489
mov r8, r15
nop
mov eax, edx
shr eax, 1
cmp eax, r14d
jge 0x140008489
movzx ecx, byte [r8]
add edx, 2
shl cl, 4
sub cl, 0x71
add cl, byte [r8 + 1]
add r8, 2
mov byte [rax + rsi], cl
cmp edx, ebx
jl 0x140008410
jmp 0x140008489
movsxd rax, ebx
mov byte [rax + r15], 0
mov eax, ebx
and eax, 0x80000001
jge 0x14000844f
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
jne 0x14000845b
xor ebx, ebx
jmp case.0x140008358.4
xor edx, edx
test ebx, ebx
jle 0x140008489
mov r8, r15
mov eax, edx
shr eax, 1
cmp eax, r14d
jge 0x140008489
movzx ecx, byte [r8]
add edx, 2
shl cl, 4
sub cl, 0x51
add cl, byte [r8 + 1]
add r8, 2
mov byte [rax + rsi], cl
cmp edx, ebx
jl 0x140008464
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
mov ebx, eax
je case.0x140008358.4
movsxd rdi, eax
jmp 0x140008585
movsxd rax, ebx
mov dword [rsp + 0x58], r14d
mov byte [rax + r15], 0
test ebx, ebx
je 0x1400084d4
mov rax, r15
mov edx, ebx
movzx ecx, byte [rax]
cmp cl, 0x5f
jne 0x1400084c3
mov byte [rax], 0x2f
jmp 0x1400084cb
cmp cl, 0x2d
jne 0x1400084cb
mov byte [rax], 0x2b
inc rax
sub rdx, 1
jne 0x1400084b6
test bl, 3
je 0x1400084f7
nop dword [rax]
cmp ebx, r14d
ja 0x14000859d
mov eax, ebx
inc ebx
mov byte [rax + r15], 0x3d
test bl, 3
jne 0x1400084e0
lea r9, [rsp + 0x58]
mov r8, rsi
mov edx, ebx
mov rcx, r15
call fcn.14000e5d0
test eax, eax
jne 0x14000859d
mov ebx, dword [rsp + 0x58]
mov rdx, rsi
mov r8d, ebx
mov rcx, r15
call fcn.140022ae0
jmp case.0x140008358.4
movsxd rax, ebx
lea r9d, [rbx - 4]
mov byte [rax + r15], 0
cmp r9d, r14d
jbe 0x140008540
xor ebx, ebx
jmp case.0x140008358.4
xor r8d, r8d
test r9d, r9d
jne 0x14000854f
xor ebx, ebx
jmp case.0x140008358.4
mov eax, r15d
sub eax, esi
movsxd r10, eax
add r10, 4
nop dword [rax + rax]
mov edx, r8d
inc r8d
mov eax, edx
and eax, 3
lea rcx, [r10 + rdx]
movzx ecx, byte [rcx + rsi]
xor cl, byte [rax + r15]
mov byte [rdx + rsi], cl
cmp r8d, r9d
jb 0x140008560
mov ebx, r9d
movsxd rdi, r9d
mov r8, rdi
mov rdx, rsi
mov rcx, r15
call fcn.140022ae0
mov byte [rdi + r15], 0
jmp case.0x140008358.4
mov rcx, rsi
call fcn.140028a50
xor eax, eax
jmp 0x1400085b3
mov rcx, rsi
call fcn.140028a50
mov eax, ebx
mov rdi, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x50]
mov r13, qword [rsp + 0x68]
add rsp, 0x20
pop r15
pop r14
pop r12
pop rsi
pop rbx
ret