Function at 0x1400bb967
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
mov rbx, r8
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x88], rcx
xorps xmm0, xmm0
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x50], 0
xor eax, eax
lea rcx, [0x140109da0]
movsxd rdx, dword [rax + rcx]
xor dword [rsp + rdx*4 + 0x30], 0x78c104ba
add rax, 4
cmp rax, 0x24
jne 0x1400bb9ac
cmp r9, 4
mov eax, 0xb4e2b6
mov ecx, 0x6c320201
cmovl ecx, eax
mov dword [rsp + 0x2c], ecx
cmp r9, 3
mov eax, 0x5aed4d2e
mov ecx, 0x6fd4cbbf
cmovl ecx, eax
mov dword [rsp + 0x28], ecx
lea rsi, [r9 - 1]
cmp r9, 2
mov eax, 0x112dbc20
mov ecx, 0x7e5f28f5
cmovl ecx, eax
mov dword [rsp + 0x24], ecx
test r9, r9
mov eax, 0xf9a1542
mov ecx, 0x1b8d9245
cmovle ecx, eax
mov dword [rsp + 0x20], ecx
mov eax, 0x2f7d4ef2
xor ecx, ecx
mov qword [rsp + 0x68], rcx
lea r14, [0x140109d80]
lea r15, [0x140109df8]
lea r12, [0x140109dd0]
lea r13, [0x140109de8]
xor ecx, ecx
mov qword [rsp + 0x60], rcx
xor ebp, ebp
xor edi, edi
cmp eax, 0x634c96fe
jle 0x1400bbaa2
cmp eax, 0x771e161a
jle 0x1400bbad8
cmp eax, 0x775b11f8
je 0x1400bbb59
cmp eax, 0x7cbfe930
jne 0x1400bbbfd
mov eax, dword [rbx + 4]
mov qword [rsp + 0x78], rax
test bpl, bpl
jne 0x1400bba95
xor eax, eax
movsxd rcx, dword [rax + r13]
xor dword [rsp + rcx*4 + 0x30], 0x28a16966
add rax, 4
cmp rax, 0x10
jne 0x1400bba7f
mov eax, dword [rsp + 0x44]
xor eax, dword [rsp + 0x28]
mov bpl, 1
jmp 0x1400bba4c
cmp eax, 0x2f7d4ef1
jg 0x1400bbb0b
cmp eax, 0x13cd7de5
je 0x1400bbb73
cmp eax, 0x1b98f6ac
jne 0x1400bba4c
mov ecx, 3
mov rdx, rsi
call fcn.14001ce24
mov eax, dword [rsp + 0x50]
mov ecx, 0x62a5731c
xor eax, ecx
jmp 0x1400bba4c
cmp eax, 0x634c96ff
je 0x1400bbb90
cmp eax, 0x69603052
jne 0x1400bba4c
mov ecx, 2
mov rdx, rsi
call fcn.14001ce24
mov eax, dword [rsp + 0x48]
mov ecx, 0x4775a2d9
xor eax, ecx
jmp 0x1400bba4c
cmp eax, 0x2f7d4ef2
je 0x1400bbbca
cmp eax, 0x5c59b6c3
jne 0x1400bba4c
mov eax, dword [rbx + 8]
mov qword [rsp + 0x80], rax
test dil, dil
jne 0x1400bbb49
xor eax, eax
movsxd rcx, dword [rax + r15]
xor dword [rsp + rcx*4 + 0x30], 0xe97711d
add rax, 4
cmp rax, 8
jne 0x1400bbb33
mov eax, dword [rsp + 0x4c]
xor eax, dword [rsp + 0x2c]
mov dil, 1
jmp 0x1400bba4c
xor ecx, ecx
mov rdx, rsi
call fcn.14001ce24
mov eax, dword [rsp + 0x38]
mov ecx, 0x61ac573a
xor eax, ecx
jmp 0x1400bba4c
mov ecx, 1
mov rdx, rsi
call fcn.14001ce24
mov eax, dword [rsp + 0x40]
mov ecx, 0x4f32944c
xor eax, ecx
jmp 0x1400bba4c
mov eax, dword [rbx]
mov qword [rsp + 0x70], rax
cmp byte [rsp + 0x60], 0
jne 0x1400bbbb6
xor eax, eax
movsxd rcx, dword [rax + r12]
xor dword [rsp + rcx*4 + 0x30], 0x316dbcb9
add rax, 4
cmp rax, 0x18
jne 0x1400bbba0
mov eax, dword [rsp + 0x3c]
xor eax, dword [rsp + 0x24]
mov cl, 1
mov qword [rsp + 0x60], rcx
jmp 0x1400bba4c
cmp byte [rsp + 0x68], 0
jne 0x1400bbbe9
xor eax, eax
movsxd rcx, dword [rax + r14]
xor dword [rsp + rcx*4 + 0x30], 0x7a21c57f
add rax, 4
cmp rax, 0x20
jne 0x1400bbbd3
mov eax, dword [rsp + 0x30]
xor eax, dword [rsp + 0x20]
mov cl, 1
mov qword [rsp + 0x68], rcx
jmp 0x1400bba4c
cmp eax, 0x771e161b
jne 0x1400bba4c
mov edx, dword [rbx + 0xc]
mov rbp, qword [rsp + 0x70]
shl rbp, 0x10
or rbp, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x78]
shl rbx, 0x10
or rbx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x80]
shl rcx, 0x10
or rcx, qword [rsp + 0x80]
mov rax, rdx
shl rax, 0x10
or rax, rdx
movabs rdx, 0xffff0000ffff
and rbp, rdx
and rbx, rdx
and rcx, rdx
and rax, rdx
mov rdx, rbp
shl rdx, 8
or rdx, rbp
mov rbp, rbx
shl rbp, 8
or rbp, rbx
movabs rbx, 0xff00ff00ff00ff
and rdx, rbx
and rbp, rbx
mov rbx, rcx
shl rbx, 0x10
shl rcx, 8
or rcx, rbx
movabs rbx, 0xff00ff00ff00ff00
and rcx, rbx
or rcx, rdx
mov rdx, qword [rsp + 0x88]
mov qword [rdx], rcx
mov rcx, rax
shl rcx, 0x10
shl rax, 8
or rax, rcx
and rax, rbx
or rax, rbp
mov rcx, qword [rsp + 0x90]
mov qword [rcx], rax
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret