Function at 0x1800af950
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x128]
sub rsp, 0x228
mov rax, qword [0x18029e198]
xor rax, rsp
mov qword [rbp + 0x110], rax
mov r14, r9
mov r13, r8
movzx r12d, dx
mov rsi, rcx
mov qword [rsp + 0x20], r9
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x60], xmm0
mov dword [rsp + 0x70], eax
lea rdx, [rsp + 0x60]
mov rcx, qword [rcx]
call fcn.1801c1e50
mov r15d, dword [rsp + 0x60]
mov rbx, qword [rsi]
mov rdi, qword [rsi + 8]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x60], rax
mov word [rbp - 0x58], ax
mov eax, 0x8000
mov word [rbp - 0x5c], ax
mov byte [rbp - 0x57], 9
mov eax, dword [rbx]
shr eax, 1
test al, 1
je 0x1800af9e1
mov eax, dword [rbx + 0x14]
jmp 0x1800af9e4
mov eax, dword [rbx + 0x18]
mov dword [rbp - 0x64], eax
mov edx, dword [rdi + 0x10]
lea rcx, [rbp - 0x64]
call fcn.1800e1fe0
mov dword [rbp - 0x68], r15d
mov eax, dword [rbx + 8]
shr eax, 2
test al, 1
je 0x1800afa06
mov eax, dword [rdi + 0x20]
jmp 0x1800afa09
mov eax, dword [rbx + 0x10]
mov dword [rbp - 0x70], eax
mov eax, dword [rdi + 0x24]
mov dword [rbp - 0x6c], eax
movups xmm0, xmmword [rbp - 0x70]
movups xmmword [rbp + 0x38], xmm0
movsd xmm1, qword [rbp - 0x60]
movsd qword [rbp + 0x48], xmm1
movzx eax, word [rbp - 0x58]
mov word [rbp + 0x50], ax
xorps xmm0, xmm0
movups xmmword [rbp + 0x90], xmm0
movups xmmword [rbp + 0xa0], xmm0
movups xmmword [rbp + 0xb0], xmm0
movups xmmword [rbp + 0xc0], xmm0
mov r9d, reloc.WS2_32.dll_recv
lea r8, [rsp + 0x64]
lea rdx, [rbp + 0x38]
lea rcx, [rbp + 0x90]
call fcn.1800ed280
mov byte [rbp - 0x20], 0
mov rdx, qword [rsi + 0x10]
test dword [rdx], 0x4000000
je 0x1800afab2
mov r9, qword [rsi + 0x18]
movzx r8d, r12w
lea rcx, [rbp - 0x70]
call fcn.1800af6a0
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x18], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp - 8], xmm1
cmp byte [rbp - 0x20], 0
jne 0x1800afaa2
mov byte [rbp - 0x20], 1
lea rdx, [rbp - 0x18]
lea rcx, [rbp + 0x90]
call fcn.1800ed930
mov rcx, qword [r14 + 0x38]
test rcx, rcx
je 0x1800afe38
mov rax, qword [rcx]
lea rdx, [rbp + 0x90]
mov rax, qword [rax + 0x10]
call qword [case.0x18009ccb8.0]
mov r15, qword [rsi]
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm0
mov byte [rbp - 0x70], 0
mov ecx, reloc.WS2_32.dll_recv
call fcn.1801e6190
mov rdi, rax
mov qword [rbp - 0x68], rax
lea rcx, [rax + 0x10]
mov qword [rbp - 0x58], rcx
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rbp - 0x60], rcx
movups xmm0, xmmword [r15 + 0x44]
movups xmmword [rax], xmm0
xorps xmm1, xmm1
xor eax, eax
movups xmmword [rbp - 0x48], xmm1
movups xmmword [rbp - 0x38], xmm1
mov qword [rbp - 0x28], rax
mov byte [rbp - 0x48], al
lea ecx, [rax + 0x20]
call fcn.1801e6190
mov rbx, rax
mov qword [rbp - 0x40], rax
lea rcx, [rax + 0x20]
mov qword [rbp - 0x30], rcx
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
mov qword [rbp - 0x38], rcx
xor r12d, r12d
mov dword [rbp - 0x28], r12d
sub rcx, rax
cmp rcx, 0x10
jae 0x1800afb6b
lea edx, [r12 + 0x10]
lea rcx, [rbp - 0x48]
call fcn.1800afec0
mov rbx, qword [rbp - 0x40]
mov r8d, reloc.WS2_32.dll_recv
mov rdx, rdi
mov rcx, rbx
call fcn.18020b840
lea rdi, [rbx + 0x10]
mov qword [rbp - 0x38], rdi
call fcn.18012ab80
mov edx, 0xffffffff
mov rcx, rax
call fcn.18012ac40
mov dword [rbp - 0x28], eax
mov ecx, eax
not ecx
add ecx, ecx
xor ecx, eax
mov dword [rbp - 0x50], ecx
mov rcx, r12
sub rdi, rbx
je 0x1800afbc6
nop dword [rax]
mov rax, rcx
and eax, 3
movzx eax, byte [rbp + rax - 0x50]
xor byte [rbx + rcx], al
inc rcx
cmp rcx, rdi
jb 0x1800afbb0
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x58], xmm0
movups xmmword [rbp + 0x68], xmm0
movups xmmword [rbp + 0x78], xmm0
mov qword [rbp + 0x88], rax
mov rcx, qword [rsi + 8]
mov eax, dword [rcx + 0x18]
mov dword [rsp + 0x28], eax
mov eax, dword [rcx + 0x1c]
mov dword [rsp + 0x2c], eax
mov eax, dword [r15 + 0x40]
mov dword [rsp + 0x30], eax
lea rdx, [rbp - 0x48]
lea rcx, [rsp + 0x38]
call fcn.1800af710
mov eax, dword [rbp - 0x28]
mov dword [rsp + 0x58], eax
call fcn.18012ab80
mov r8, rax
lea rdx, [rsp + 0x28]
lea rcx, [rbp + 0x58]
call fcn.1800ed940
nop
lea rcx, [rsp + 0x38]
call fcn.1800b0070
xor edx, edx
mov rcx, qword [rsi]
call fcn.1801c2970
mov rdx, qword [rsi + 8]
mov ecx, dword [rdx + 0x18]
mov dword [rbp - 0x78], ecx
mov ecx, dword [rdx + 0x1c]
mov dword [rbp - 0x74], ecx
mov rax, qword [rax + 8]
mov qword [rsp + 0x78], rax
mov rbx, qword [0x1802b1eb8]
test rbx, rbx
jne 0x1800afd07
mov ecx, 0xb0
call fcn.1801e6190
mov rbx, rax
mov qword [rbp - 0x50], rax
test rax, rax
je 0x1800afcfd
xor edx, edx
mov r8d, 0xb0
mov rcx, rax
call fcn.18020bef0
mov qword [rbx], r12
mov qword [rbx + 8], r12
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], r12
mov qword [rbx + 0x20], r12
mov qword [rbx + 0x28], r12
mov qword [rbx + 0x30], r12
mov qword [rbx + 0x38], r12
mov qword [rbx + 0x40], r12
mov qword [rbx + 0x48], r12
mov qword [rbx + 0x50], r12
mov qword [rbx + 0x58], r12
mov qword [rbx + 0x60], r12
mov qword [rbx + 0x68], r12
mov qword [rbx + 0x70], r12
mov qword [rbx + 0x78], r12
mov qword [rbx + 0x80], r12
mov qword [rbx + 0x88], r12
mov qword [rbx + 0x90], r12
mov qword [rbx + 0x98], r12
mov qword [rbx + 0xa0], r12
mov dword [rbx + 0xa8], r12d
mov byte [rbx + 0xac], 0
jmp 0x1800afd00
mov rbx, r12
mov qword [0x1802b1eb8], rbx
mov qword [rbp - 0x80], rbx
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x10], xmm0
movups xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], rax
lea rdx, [rsp + 0x78]
lea rcx, [rbp]
call fcn.1800e2d10
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0xd0], xmm0
movups xmmword [rbp + 0xe0], xmm0
movups xmmword [rbp + 0xf0], xmm0
movups xmmword [rbp + 0x100], xmm0
lea r8, [rbp + 0x58]
lea rdx, [rbp]
lea rcx, [rbp + 0xd0]
call fcn.1800e2c00
nop
mov r8, r13
lea rdx, [rbp + 0x90]
lea rcx, [rbp + 0xd0]
call fcn.1800e2fd0
mov ebx, eax
lea rcx, [rbp + 0xd8]
call fcn.1800b0070
nop
mov rcx, qword [rbp]
test rcx, rcx
je 0x1800afdcb
mov rdx, qword [rbp + 0x10]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800afdb9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800afe32
call fcn.1801e61d0
nop
mov qword [rbp], r12
xorps xmm0, xmm0
movdqu xmmword [rbp + 8], xmm0
lea rcx, [rbp + 0x58]
call fcn.1800b0070
nop
lea rcx, [rbp - 0x48]
call fcn.1800b0070
nop
lea rcx, [rbp - 0x70]
call fcn.1800b0070
nop
mov byte [rbp - 0x20], 0
mov rcx, qword [r14 + 0x38]
test rcx, rcx
je 0x1800afe0d
mov rax, qword [rcx]
cmp rcx, r14
setne dl
mov rax, qword [rax + 0x20]
call qword [case.0x18009ccb8.0]
mov qword [r14 + 0x38], r12
mov eax, ebx
mov rcx, qword [rbp + 0x110]
xor rcx, rsp
call fcn.1801e68c0
add rsp, 0x228
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.18010fa40
nop
call fcn.1801e75e0
int3