Function at 0x180275ac0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x20
mov ebx, dword [rcx + 0xb8]
mov eax, r9d
mov qword [rsp + 0x50], rbp
mov r11, rdx
mov edx, dword [rcx + 0xa0]
mov esi, r9d
mov qword [rsp + 0x18], r12
sar eax, 0x10
imul eax, ebx
mov qword [rsp + 0x10], r13
mov qword [rsp + 8], r14
mov dword [rsp + 0x58], ebx
mov dword [rsp + 0x40], edx
movsxd r10, eax
mov rax, qword [rcx + 0xa8]
mov ecx, dword [r8]
mov qword [rsp], r15
lea r10, [rax + r10*4]
mov qword [rsp + 0x48], r10
nop dword [rax]
mov eax, dword [r11]
xor r9d, r9d
test eax, eax
cmovns r9d, eax
mov eax, ecx
sar eax, 0x10
cmp eax, edx
jl 0x180275b3c
mov ecx, edx
shl ecx, 0x10
dec ecx
cmp ecx, r9d
jle 0x180275c96
mov edi, ecx
mov r15d, r9d
movzx ecx, cx
mov eax, 0xa000a001
add ecx, 0x199a
sar r15d, 0x10
mul ecx
movzx ecx, r9w
mov eax, 0xa000a001
add ecx, 0x199a
movsxd rbx, r15d
mov r13d, edx
sar rbx, 1
mul ecx
add rbx, r10
sar edi, 0x10
shr edx, 0xd
mov r10d, r15d
and r10d, 1
shr r13d, 0xd
movzx r14d, r10b
mov r9d, recv
movzx ebp, byte [rbx]
shl r14b, 2
movzx eax, bpl
lea r12d, [r10*4]
mov ecx, r12d
shl r9b, cl
movzx ecx, r14b
shr al, cl
not r9b
and al, 0xf
and r9b, bpl
sub al, dl
mov ecx, r12d
cmp r15d, edi
jne 0x180275be1
add al, r13b
movzx edx, al
shr dl, 4
neg dl
or dl, al
and dl, 0xf
shl dl, cl
or dl, r9b
jmp 0x180275c8b
add al, 5
movzx edx, al
shr dl, 4
neg dl
or dl, al
mov eax, r10d
and dl, 0xf
xor r10d, 1
shl dl, cl
or dl, r9b
mov byte [rbx], dl
add rbx, rax
lea eax, [r15 + 1]
cmp eax, edi
jge 0x180275c56
sub edi, eax
nop dword [rax + rax]
movzx eax, byte [rbx]
movzx ecx, r10b
shl cl, 2
shr al, cl
lea ecx, [r10*4]
and al, 0xf
add al, 5
movzx edx, al
shr dl, 4
neg dl
or dl, al
mov eax, recv
shl al, cl
and dl, 0xf
not al
shl dl, cl
and al, byte [rbx]
or dl, al
movsxd rax, r10d
mov byte [rbx], dl
xor r10d, 1
add rbx, rax
sub rdi, 1
jne 0x180275c10
movzx eax, byte [rbx]
movzx ecx, r10b
shl cl, 2
shr al, cl
lea ecx, [r10*4]
and al, 0xf
add al, r13b
movzx edx, al
shr dl, 4
neg dl
or dl, al
mov eax, recv
shl al, cl
and dl, 0xf
not al
shl dl, cl
and al, byte [rbx]
or dl, al
mov r10, qword [rsp + 0x48]
mov byte [rbx], dl
mov ebx, dword [rsp + 0x58]
cmp esi, dword [rsp + 0x60]
je 0x180275d80
mov ecx, dword [r11]
mov edx, dword [r11 + 4]
cmp si, 0xd555
je 0x180275d11
mov r9d, dword [r11 + 0x18]
add r9d, ecx
mov ecx, dword [r11 + 0x20]
add ecx, edx
mov dword [r11], r9d
mov dword [r11 + 4], ecx
test ecx, ecx
jle 0x180275cd8
sub ecx, dword [r11 + 0x10]
mov dword [r11 + 4], ecx
mov ecx, dword [r11 + 0xc]
add ecx, r9d
mov dword [r11], ecx
mov eax, dword [r8 + 0x20]
add dword [r8 + 4], eax
mov ecx, dword [r8 + 0x18]
add ecx, dword [r8]
mov eax, dword [r8 + 4]
mov dword [r8], ecx
test eax, eax
jle 0x180275d01
sub eax, dword [r8 + 0x10]
add ecx, dword [r8 + 0xc]
mov dword [r8], ecx
mov dword [r8 + 4], eax
mov edx, dword [rsp + 0x40]
mov eax, 0x5555
add esi, eax
jmp 0x180275b20
mov r9d, dword [r11 + 0x1c]
add r9d, ecx
mov ecx, dword [r11 + 0x24]
add ecx, edx
mov dword [r11], r9d
mov dword [r11 + 4], ecx
test ecx, ecx
jle 0x180275d3b
sub ecx, dword [r11 + 0x10]
mov dword [r11 + 4], ecx
mov ecx, dword [r11 + 0xc]
add ecx, r9d
mov dword [r11], ecx
mov eax, dword [r8 + 0x24]
add dword [r8 + 4], eax
mov ecx, dword [r8 + 0x1c]
add ecx, dword [r8]
mov eax, dword [r8 + 4]
mov dword [r8], ecx
test eax, eax
jle 0x180275d64
sub eax, dword [r8 + 0x10]
add ecx, dword [r8 + 0xc]
mov dword [r8], ecx
mov dword [r8 + 4], eax
mov edx, dword [rsp + 0x40]
movsxd rax, ebx
lea r10, [r10 + rax*4]
mov eax, 0x5556
add esi, eax
mov qword [rsp + 0x48], r10
jmp 0x180275b20
mov r15, qword [rsp]
mov r14, qword [rsp + 8]
mov r13, qword [rsp + 0x10]
mov r12, qword [rsp + 0x18]
mov rbp, qword [rsp + 0x50]
add rsp, 0x20
pop rdi
pop rsi
pop rbx
ret