Function at 0x180022f00
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
movzx eax, word [rcx + 0x270]
mov rbx, rcx
mov ecx, 0x10b
cmp ax, cx
jne 0x180022f23
movzx r10d, word [rbx + 0xb6]
jmp 0x180022f39
mov ecx, 0x20b
cmp ax, cx
jne 0x18002389f
movzx r10d, word [rbx + 0x196]
movss xmm1, dword [0x180074be8]
xor r9d, r9d
test r10b, 1
je 0x180022fe5
cmp qword [0x180083ef8], 0x10
lea r8, [0x180083ee0]
mov r11, qword [0x180083ef0]
mov ecx, r9d
cmovae r8, qword [0x180083ee0]
mov edx, r9d
test r11, r11
je 0x180022f9c
nop word [rax + rax]
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r11
jne 0x180022f80
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [rbx + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm1
movss dword [rax + r8*4], xmm0
test r10b, 2
je 0x180023085
cmp qword [0x1800834f8], 0x10
lea r8, [0x1800834e0]
mov r11, qword [0x1800834f0]
mov ecx, r9d
cmovae r8, qword [0x1800834e0]
mov rdx, r9
test r11, r11
je 0x18002303c
nop dword [rax + rax]
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r11
jne 0x180023020
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [rbx + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm1
movss dword [rax + r8*4], xmm0
test r10b, 4
je 0x180023125
cmp qword [0x180083e78], 0x10
lea r8, [0x180083e60]
mov r11, qword [0x180083e70]
mov ecx, r9d
cmovae r8, qword [0x180083e60]
mov rdx, r9
test r11, r11
je 0x1800230dc
nop dword [rax + rax]
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r11
jne 0x1800230c0
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [rbx + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm1
movss dword [rax + r8*4], xmm0
test r10b, 8
je 0x1800231c5
cmp qword [0x1800834b8], 0x10
lea r8, [0x1800834a0]
mov r11, qword [0x1800834b0]
mov ecx, r9d
cmovae r8, qword [0x1800834a0]
mov rdx, r9
test r11, r11
je 0x18002317c
nop dword [rax + rax]
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r11
jne 0x180023160
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [rbx + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm1
movss dword [rax + r8*4], xmm0
test r10b, 0x20
je 0x180023265
cmp qword [0x180083cd8], 0x10
lea r8, [0x180083cc0]
mov r11, qword [0x180083cd0]
mov ecx, r9d
cmovae r8, qword [0x180083cc0]
mov rdx, r9
test r11, r11
je 0x18002321c
nop dword [rax + rax]
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r11
jne 0x180023200
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [rbx + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm1
movss dword [rax + r8*4], xmm0
test r10b, 0x40
je 0x180023305
cmp qword [0x180083578], 0x10
lea r8, [0x180083560]
mov r11, qword [0x180083570]
mov ecx, r9d
cmovae r8, qword [0x180083560]
mov rdx, r9
test r11, r11
je 0x1800232bc
nop dword [rax + rax]
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r11
jne 0x1800232a0
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [rbx + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm1
movss dword [rax + r8*4], xmm0
test r10b, r10b
jns 0x1800233a5
cmp qword [0x1800837f8], 0x10
lea r8, [0x1800837e0]
mov r11, qword [0x1800837f0]
mov ecx, r9d
cmovae r8, qword [0x1800837e0]
mov rdx, r9
test r11, r11
je 0x18002335c
nop word [rax + rax]
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r11
jne 0x180023340
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [rbx + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm1
movss dword [rax + r8*4], xmm0
bt r10w, 8
jae 0x180023445
cmp qword [0x180083718], 0x10
lea r8, [0x180083700]
mov r11, qword [0x180083710]
mov ecx, r9d
cmovae r8, qword [0x180083700]
mov rdx, r9
test r11, r11
je 0x1800233fc
nop word [rax + rax]
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r11
jne 0x1800233e0
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [rbx + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm1
movss dword [rax + r8*4], xmm0
bt r10w, 9
jae 0x1800234e5
cmp qword [0x180083f78], 0x10
lea r8, [0x180083f60]
mov r11, qword [0x180083f70]
mov ecx, r9d
cmovae r8, qword [0x180083f60]
mov rdx, r9
test r11, r11
je 0x18002349c
nop word [rax + rax]
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r11
jne 0x180023480
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [rbx + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm1
movss dword [rax + r8*4], xmm0
bt r10w, 0xa
jae 0x180023585
cmp qword [0x1800833d8], 0x10
lea r8, [0x1800833c0]
mov r11, qword [0x1800833d0]
mov ecx, r9d
cmovae r8, qword [0x1800833c0]
mov rdx, r9
test r11, r11
je 0x18002353c
nop word [rax + rax]
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r11
jne 0x180023520
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [rbx + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm1
movss dword [rax + r8*4], xmm0
bt r10w, 0xb
jae 0x180023625
cmp qword [0x180083978], 0x10
lea r8, [0x180083960]
mov r11, qword [0x180083970]
mov ecx, r9d
cmovae r8, qword [0x180083960]
mov rdx, r9
test r11, r11
je 0x1800235dc
nop word [rax + rax]
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r11
jne 0x1800235c0
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [rbx + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm1
movss dword [rax + r8*4], xmm0
bt r10w, 0xc
jae 0x1800236c5
cmp qword [0x1800837b8], 0x10
lea r8, [0x1800837a0]
mov r11, qword [0x1800837b0]
mov ecx, r9d
cmovae r8, qword [0x1800837a0]
mov rdx, r9
test r11, r11
je 0x18002367c
nop word [rax + rax]
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r11
jne 0x180023660
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [rbx + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm1
movss dword [rax + r8*4], xmm0
bt r10w, 0xd
jae 0x180023765
cmp qword [0x180083eb8], 0x10
lea r8, [0x180083ea0]
mov r11, qword [0x180083eb0]
mov ecx, r9d
cmovae r8, qword [0x180083ea0]
mov rdx, r9
test r11, r11
je 0x18002371c
nop word [rax + rax]
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r11
jne 0x180023700
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [rbx + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm1
movss dword [rax + r8*4], xmm0
bt r10w, 0xe
jae 0x180023805
cmp qword [0x180083cf8], 0x10
lea r8, [0x180083ce0]
mov r11, qword [0x180083cf0]
mov ecx, r9d
cmovae r8, qword [0x180083ce0]
mov rdx, r9
test r11, r11
je 0x1800237bc
nop word [rax + rax]
movzx eax, byte [rdx + r8]
inc rdx
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
cmp rdx, r11
jne 0x1800237a0
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x446f8657
imul r8d, ecx, 0x8001
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
mov rax, qword [rbx + 0x278]
add r8d, 0x36
movss xmm0, dword [rax + r8*4]
addss xmm0, xmm1
movss dword [rax + r8*4], xmm0
test r10w, r10w
jns 0x180023897
cmp qword [0x180083d78], 0x10
lea rdx, [0x180083d60]
mov r8, qword [0x180083d70]
mov rcx, r9
cmovae rdx, qword [0x180083d60]
test r8, r8
je 0x180023854
movzx eax, byte [rcx + rdx]
inc rcx
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
cmp rcx, r8
jne 0x180023835
lea ecx, [r9 + r9*8]
mov eax, 0x446f8657
mov edx, ecx
shr edx, 0xb
xor edx, ecx
imul ecx, edx, 0x8001
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub ecx, eax
mov rax, qword [rbx + 0x278]
add ecx, 0x36
movss xmm0, dword [rax + rcx*4]
addss xmm0, xmm1
movss dword [rax + rcx*4], xmm0
mov al, 1
mov rbx, qword [rsp + 8]
ret
mov rbx, qword [rsp + 8]
xor al, al
ret