Function at 0x1800238b0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x168]
sub rsp, 0x240
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x18007f060]
xor rax, rsp
mov qword [rbp + 0x110], rax
mov qword [rsp + 0x48], rcx
xor r14d, r14d
mov dword [rsp + 0x40], r14d
movzx eax, word [rcx + 0x270]
mov edx, 0x10b
cmp ax, dx
jne 0x180023919
mov r13d, dword [rcx + 0xcc]
lea eax, [rdx - 0x3b]
jmp 0x180023933
mov edx, 0x20b
cmp ax, dx
jne 0x180023ea3
mov r13d, dword [rcx + 0x1bc]
mov eax, 0x1c0
lea r12, [rax + rcx]
xor r15d, r15d
test r13d, r13d
jle 0x180023e9f
xorps xmm7, xmm7
movss xmm6, dword [0x180074be8]
nop
lea rcx, [rsp + 0x70]
call fcn.18002d420
nop
mov rax, qword [rbp - 0x80]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x80]
add rcx, rax
call fcn.18001a670
mov edx, r15d
lea rcx, [rbp - 0x80]
call fcn.18002d7f0
nop
mov qword [rbp + 0x70], 0
xor edi, edi
mov qword [rbp + 0x80], rdi
mov ebx, 0xf
mov qword [rbp + 0x88], rbx
mov byte [rbp + 0x70], dil
or r14d, 2
mov dword [rsp + 0x40], r14d
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov ecx, dword [rbp - 8]
mov eax, ecx
and al, 0x22
cmp al, 2
je 0x1800239da
mov rax, qword [rbp - 0x38]
mov r8, qword [rax]
test r8, r8
je 0x1800239da
mov rax, qword [rbp - 0x58]
mov rdx, qword [rax]
cmp r8, qword [rbp - 0x10]
cmovb r8, qword [rbp - 0x10]
sub r8, rdx
jmp 0x180023a0b
test cl, 4
jne 0x180023a01
mov rax, qword [rbp - 0x40]
mov rcx, qword [rax]
test rcx, rcx
je 0x180023a01
mov rax, qword [rbp - 0x60]
mov rdx, qword [rax]
mov rax, qword [rbp - 0x28]
movsxd r8, dword [rax]
sub r8, rdx
add r8, rcx
jmp 0x180023a0b
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x50]
test rdx, rdx
je 0x180023a27
lea rcx, [rbp + 0x70]
call fcn.180006570
mov rbx, qword [rbp + 0x88]
mov rdi, qword [rbp + 0x80]
and r14d, 0xfffffffd
or r14d, 1
lea rax, [rbp + 0x70]
mov rsi, qword [rbp + 0x70]
cmp rbx, 0x10
cmovae rax, rsi
movsx ecx, byte [rax]
call fcn.180040550
test eax, eax
je 0x180023a7f
lea rax, [rbp + 0x70]
cmp rbx, 0x10
cmovae rax, rsi
movsx ecx, byte [rax]
call fcn.18003d428
lea rcx, [rbp + 0x70]
cmp rbx, 0x10
cmovae rcx, rsi
mov byte [rcx], al
mov rbx, qword [rbp + 0x88]
mov rdi, qword [rbp + 0x80]
mov rsi, qword [rbp + 0x70]
mov rcx, qword [0x180080858]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rax, rdi
jb 0x180023edf
lea r9, [0x180080848]
cmp qword [0x180080860], 0x10
cmovae r9, qword [0x180080848]
lea rax, [rbp + 0x70]
cmp rbx, 0x10
cmovae rax, rsi
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x90]
call fcn.18001a4e0
or r14d, 4
lea rdx, [0x180080208]
cmp qword [0x180080220], 0x10
cmovae rdx, qword [0x180080208]
mov r8, qword [0x180080218]
lea rcx, [rbp + 0x90]
call fcn.180018a50
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xb0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xc0], xmm1
xor ebx, ebx
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], bl
or r14d, 8
mov rdx, qword [rbp + 0xa8]
cmp rdx, 0x10
jb 0x180023b72
inc rdx
mov rcx, qword [rbp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180023b6d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180023ee5
call fcn.180034ec0
mov qword [rbp + 0xa0], rbx
mov qword [rbp + 0xa8], 0xf
mov byte [rbp + 0x90], 0
mov rcx, qword [0x180080858]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
mov rdx, qword [rbp + 0x80]
cmp rax, rdx
jb 0x180023f03
lea r9, [0x180080848]
cmp qword [0x180080860], 0x10
cmovae r9, qword [0x180080848]
lea rax, [rbp + 0x70]
cmp qword [rbp + 0x88], 0x10
cmovae rax, qword [rbp + 0x70]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0xf0]
call fcn.18001a4e0
or r14d, 0x10
lea rdx, [0x180080c08]
cmp qword [0x180080c20], 0x10
cmovae rdx, qword [0x180080c08]
mov r8, qword [0x180080c18]
lea rcx, [rbp + 0xf0]
call fcn.180018a50
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xd0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xe0], xmm1
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
or r14d, 0x20
mov rdx, qword [rbp + 0x108]
cmp rdx, 0x10
jb 0x180023c8d
inc rdx
mov rcx, qword [rbp + 0xf0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180023c88
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180023eeb
call fcn.180034ec0
mov eax, dword [r12]
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
ucomiss xmm0, xmm7
jne 0x180023ca1
movaps xmm0, xmm6
lea r8, [rbp + 0xb0]
mov rbx, qword [rbp + 0xb0]
mov rdi, qword [rbp + 0xc8]
cmp rdi, 0x10
cmovae r8, rbx
xor ecx, ecx
xor edx, edx
mov r9, qword [rbp + 0xc0]
test r9, r9
je 0x180023cec
nop
movzx eax, byte [rdx + r8]
add ecx, eax
imul ecx, ecx, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
inc rdx
cmp rdx, r9
jne 0x180023cd0
lea ecx, [rcx + rcx*8]
mov eax, ecx
shr eax, 0xb
xor ecx, eax
imul r8d, ecx, 0x8001
mov eax, 0x446f8657
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
add r8d, 0x36
mov rax, qword [rsp + 0x48]
mov rsi, qword [rax + 0x278]
addss xmm0, dword [rsi + r8*4]
movss dword [rsi + r8*4], xmm0
mov eax, dword [r12 + 4]
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
ucomiss xmm1, xmm7
jne 0x180023d4b
movaps xmm1, xmm6
lea r8, [rbp + 0xd0]
mov r9, qword [rbp + 0xd0]
mov r11, qword [rbp + 0xe8]
cmp r11, 0x10
cmovae r8, r9
xor ecx, ecx
xor edx, edx
mov r10, qword [rbp + 0xe0]
test r10, r10
je 0x180023d9c
nop dword [rax + rax]
movzx eax, byte [rdx + r8]
add ecx, eax
imul ecx, ecx, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
inc rdx
cmp rdx, r10
jne 0x180023d80
lea ecx, [rcx + rcx*8]
mov eax, ecx
shr eax, 0xb
xor ecx, eax
imul r8d, ecx, 0x8001
mov eax, 0x446f8657
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
add r8d, 0x36
addss xmm1, dword [rsi + r8*4]
movss dword [rsi + r8*4], xmm1
add r12, 8
cmp r11, 0x10
jb 0x180023e16
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x180023e0d
add rdx, 0x27
mov r9, qword [r9 - 8]
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180023ef1
mov rcx, r9
call fcn.180034ec0
nop
cmp rdi, 0x10
jb 0x180023e4e
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x180023e45
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180023ef7
mov rcx, rbx
call fcn.180034ec0
nop
mov rdx, qword [rbp + 0x88]
cmp rdx, 0x10
jb 0x180023e89
inc rdx
mov rcx, qword [rbp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180023e83
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180023efd
call fcn.180034ec0
nop
lea rcx, [rsp + 0x70]
call fcn.180023f10
inc r15d
cmp r15d, r13d
jl 0x180023950
mov al, 1
jmp 0x180023ea5
xor al, al
mov rcx, qword [rbp + 0x110]
xor rcx, rsp
call fcn.180034ea0
lea r11, [rsp + 0x240]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, 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 rbp
ret
call fcn.180005f70
nop
call fcn.18003b6f4
int3
call fcn.18003b6f4
int3
call fcn.18003b6f4
nop
call fcn.18003b6f4
nop
call fcn.18003b6f4
nop
call fcn.180005f70
int3