Function at 0x180021ed0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
movzx r10d, word [rcx + 0x6e]
xor r9d, r9d
movss xmm1, dword [0x180074be8]
mov rbx, rcx
test r10b, 1
je 0x180021f85
cmp qword [0x1800836d8], 0x10
lea r8, [0x1800836c0]
mov r11, qword [0x1800836d0]
mov ecx, r9d
cmovae r8, qword [0x1800836c0]
mov edx, r9d
test r11, r11
je 0x180021f3c
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 0x180021f20
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 0x180022025
cmp qword [0x180083638], 0x10
lea r8, [0x180083620]
mov r11, qword [0x180083630]
mov ecx, r9d
cmovae r8, qword [0x180083620]
mov rdx, r9
test r11, r11
je 0x180021fdc
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 0x180021fc0
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 0x1800220c5
cmp qword [0x180083f98], 0x10
lea r8, [0x180083f80]
mov r11, qword [0x180083f90]
mov ecx, r9d
cmovae r8, qword [0x180083f80]
mov rdx, r9
test r11, r11
je 0x18002207c
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 0x180022060
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 0x180022165
cmp qword [0x180083558], 0x10
lea r8, [0x180083540]
mov r11, qword [0x180083550]
mov ecx, r9d
cmovae r8, qword [0x180083540]
mov rdx, r9
test r11, r11
je 0x18002211c
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 0x180022100
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, 0x10
je 0x180022205
cmp qword [0x180083e18], 0x10
lea r8, [0x180083e00]
mov r11, qword [0x180083e10]
mov ecx, r9d
cmovae r8, qword [0x180083e00]
mov rdx, r9
test r11, r11
je 0x1800221bc
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 0x1800221a0
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 0x1800222a5
cmp qword [0x180083538], 0x10
lea r8, [0x180083520]
mov r11, qword [0x180083530]
mov ecx, r9d
cmovae r8, qword [0x180083520]
mov rdx, r9
test r11, r11
je 0x18002225c
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 0x180022240
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 0x180022345
cmp qword [0x1800837d8], 0x10
lea r8, [0x1800837c0]
mov r11, qword [0x1800837d0]
mov ecx, r9d
cmovae r8, qword [0x1800837c0]
mov rdx, r9
test r11, r11
je 0x1800222fc
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 0x1800222e0
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 0x1800223e5
cmp qword [0x180083f38], 0x10
lea r8, [0x180083f20]
mov r11, qword [0x180083f30]
mov ecx, r9d
cmovae r8, qword [0x180083f20]
mov rdx, r9
test r11, r11
je 0x18002239c
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 0x180022380
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 0x180022485
cmp qword [0x180083618], 0x10
lea r8, [0x180083600]
mov r11, qword [0x180083610]
mov ecx, r9d
cmovae r8, qword [0x180083600]
mov rdx, r9
test r11, r11
je 0x18002243c
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 0x180022420
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 0x180022525
cmp qword [0x180083d98], 0x10
lea r8, [0x180083d80]
mov r11, qword [0x180083d90]
mov ecx, r9d
cmovae r8, qword [0x180083d80]
mov rdx, r9
test r11, r11
je 0x1800224dc
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 0x1800224c0
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 0x1800225c5
cmp qword [0x180083b58], 0x10
lea r8, [0x180083b40]
mov r11, qword [0x180083b50]
mov ecx, r9d
cmovae r8, qword [0x180083b40]
mov rdx, r9
test r11, r11
je 0x18002257c
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 0x180022560
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 0x180022665
cmp qword [0x180083398], 0x10
lea r8, [0x180083380]
mov r11, qword [0x180083390]
mov ecx, r9d
cmovae r8, qword [0x180083380]
mov rdx, r9
test r11, r11
je 0x18002261c
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 0x180022600
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 0x180022705
cmp qword [0x180083dd8], 0x10
lea r8, [0x180083dc0]
mov r11, qword [0x180083dd0]
mov ecx, r9d
cmovae r8, qword [0x180083dc0]
mov rdx, r9
test r11, r11
je 0x1800226bc
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 0x1800226a0
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 0x1800227a5
cmp qword [0x180083a38], 0x10
lea r8, [0x180083a20]
mov r11, qword [0x180083a30]
mov ecx, r9d
cmovae r8, qword [0x180083a20]
mov rdx, r9
test r11, r11
je 0x18002275c
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 0x180022740
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 0x180022837
cmp qword [0x180083bf8], 0x10
lea rdx, [0x180083be0]
mov r8, qword [0x180083bf0]
mov rcx, r9
cmovae rdx, qword [0x180083be0]
test r8, r8
je 0x1800227f4
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 0x1800227d5
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 rbx, qword [rsp + 8]
mov al, 1
ret