Function at 0x18002c550
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
lea r8, [0x1800808a8]
mov rdi, rdx
mov rbx, rcx
call fcn.18002c130
test al, al
jne 0x18002c57b
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov eax, dword [rdi + 0x28]
movss xmm0, dword [0x180074be8]
test eax, eax
je 0x18002c594
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
jmp 0x18002c597
movaps xmm1, xmm0
cmp qword [0x180083d58], 0x10
lea r8, [0x180083d40]
mov r10, qword [0x180083d50]
cmovae r8, qword [0x180083d40]
xor r9d, r9d
mov ecx, r9d
mov edx, r9d
test r10, r10
je 0x18002c5ec
nop dword [rax]
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, r10
jne 0x18002c5d0
mov r10, qword [rbx + 0x278]
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
add r8d, 0x36
addss xmm1, dword [r10 + r8*4]
movss dword [r10 + r8*4], xmm1
mov eax, dword [rdi + 0x2c]
test eax, eax
je 0x18002c642
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
jmp 0x18002c645
movaps xmm1, xmm0
cmp qword [0x180083b98], 0x10
lea r8, [0x180083b80]
mov r11, qword [0x180083b90]
mov ecx, r9d
cmovae r8, qword [0x180083b80]
mov rdx, r9
test r11, r11
je 0x18002c68c
nop
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 0x18002c670
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
add r8d, 0x36
addss xmm1, dword [r10 + r8*4]
movss dword [r10 + r8*4], xmm1
mov eax, dword [rdi + 0x30]
test eax, eax
je 0x18002c6db
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
jmp 0x18002c6de
movaps xmm1, xmm0
cmp qword [0x1800839d8], 0x10
lea r8, [0x1800839c0]
mov r11, qword [0x1800839d0]
mov ecx, r9d
cmovae r8, qword [0x1800839c0]
mov rdx, r9
test r11, r11
je 0x18002c72c
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 0x18002c710
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
add r8d, 0x36
addss xmm1, dword [r10 + r8*4]
movss dword [r10 + r8*4], xmm1
mov eax, dword [rdi + 0x34]
test eax, eax
je 0x18002c77b
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
jmp 0x18002c77e
movaps xmm1, xmm0
cmp qword [0x180083378], 0x10
lea r8, [0x180083360]
mov r11, qword [0x180083370]
mov ecx, r9d
cmovae r8, qword [0x180083360]
mov rdx, r9
test r11, r11
je 0x18002c7cc
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 0x18002c7b0
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
add r8d, 0x36
addss xmm1, dword [r10 + r8*4]
movss dword [r10 + r8*4], xmm1
mov eax, dword [rdi + 0x38]
test eax, eax
je 0x18002c81b
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
jmp 0x18002c81e
movaps xmm1, xmm0
cmp qword [0x180083ff8], 0x10
lea r8, [0x180083fe0]
mov r11, qword [0x180083ff0]
mov ecx, r9d
cmovae r8, qword [0x180083fe0]
mov rdx, r9
test r11, r11
je 0x18002c873
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 0x18002c850
mov r10, qword [rbx + 0x278]
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
add r8d, 0x36
addss xmm1, dword [r10 + r8*4]
movss dword [r10 + r8*4], xmm1
mov eax, dword [rdi + 0x3c]
test eax, eax
je 0x18002c8c2
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
jmp 0x18002c8c5
movaps xmm1, xmm0
cmp qword [0x180083d18], 0x10
lea r8, [0x180083d00]
mov r11, qword [0x180083d10]
mov ecx, r9d
cmovae r8, qword [0x180083d00]
mov rdx, r9
test r11, r11
je 0x18002c913
nop
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 0x18002c8f0
mov r10, qword [rbx + 0x278]
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
add r8d, 0x36
addss xmm1, dword [r10 + r8*4]
movss dword [r10 + r8*4], xmm1
mov eax, dword [rdi + 0x40]
test eax, eax
je 0x18002c962
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
jmp 0x18002c965
movaps xmm1, xmm0
cmp qword [0x180083c38], 0x10
lea r8, [0x180083c20]
mov r11, qword [0x180083c30]
mov ecx, r9d
cmovae r8, qword [0x180083c20]
mov rdx, r9
test r11, r11
je 0x18002c9b3
nop
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 0x18002c990
mov r10, qword [rbx + 0x278]
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
add r8d, 0x36
addss xmm1, dword [r10 + r8*4]
movss dword [r10 + r8*4], xmm1
mov eax, dword [rdi + 0x44]
test eax, eax
je 0x18002ca02
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
jmp 0x18002ca05
movaps xmm1, xmm0
cmp qword [0x180083e58], 0x10
lea r8, [0x180083e40]
mov r11, qword [0x180083e50]
mov ecx, r9d
cmovae r8, qword [0x180083e40]
mov rdx, r9
test r11, r11
je 0x18002ca53
nop
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 0x18002ca30
mov r10, qword [rbx + 0x278]
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
add r8d, 0x36
addss xmm1, dword [r10 + r8*4]
movss dword [r10 + r8*4], xmm1
mov eax, dword [rdi + 0x48]
test eax, eax
je 0x18002caa2
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
jmp 0x18002caa5
movaps xmm1, xmm0
cmp qword [0x180083938], 0x10
lea r8, [0x180083920]
mov r11, qword [0x180083930]
mov ecx, r9d
cmovae r8, qword [0x180083920]
mov rdx, r9
test r11, r11
je 0x18002caf3
nop
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 0x18002cad0
mov r10, qword [rbx + 0x278]
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
add r8d, 0x36
addss xmm1, dword [r10 + r8*4]
movss dword [r10 + r8*4], xmm1
mov eax, dword [rdi + 0x4c]
test eax, eax
je 0x18002cb42
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
jmp 0x18002cb45
movaps xmm1, xmm0
cmp qword [0x180083b18], 0x10
lea r8, [0x180083b00]
mov r11, qword [0x180083b10]
mov ecx, r9d
cmovae r8, qword [0x180083b00]
mov rdx, r9
test r11, r11
je 0x18002cb93
nop
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 0x18002cb70
mov r10, qword [rbx + 0x278]
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
add r8d, 0x36
addss xmm1, dword [r10 + r8*4]
movss dword [r10 + r8*4], xmm1
mov eax, dword [rdi + 0x50]
test eax, eax
je 0x18002cbe2
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
jmp 0x18002cbe5
movaps xmm1, xmm0
cmp qword [0x1800835f8], 0x10
lea r8, [0x1800835e0]
mov r11, qword [0x1800835f0]
mov ecx, r9d
cmovae r8, qword [0x1800835e0]
mov rdx, r9
test r11, r11
je 0x18002cc33
nop
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 0x18002cc10
mov r10, qword [rbx + 0x278]
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
add r8d, 0x36
addss xmm1, dword [r10 + r8*4]
movss dword [r10 + r8*4], xmm1
mov eax, dword [rdi + 0x54]
test eax, eax
je 0x18002cc82
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
jmp 0x18002cc85
movaps xmm1, xmm0
cmp qword [0x180084058], 0x10
lea r8, [0x180084040]
mov r11, qword [0x180084050]
mov ecx, r9d
cmovae r8, qword [0x180084040]
mov rdx, r9
test r11, r11
je 0x18002ccd3
nop
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 0x18002ccb0
mov r10, qword [rbx + 0x278]
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
add r8d, 0x36
addss xmm1, dword [r10 + r8*4]
movss dword [r10 + r8*4], xmm1
mov eax, dword [rdi + 0x58]
test eax, eax
je 0x18002cd20
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
cmp qword [0x180083ad8], 0x10
lea rdx, [0x180083ac0]
mov r8, qword [0x180083ad0]
mov rcx, r9
cmovae rdx, qword [0x180083ac0]
test r8, r8
je 0x18002cd6c
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 0x18002cd46
mov r10, qword [rbx + 0x278]
mov rbx, qword [rsp + 0x30]
lea ecx, [r9 + r9*8]
mov edx, ecx
mov eax, 0x446f8657
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 al, 1
add ecx, 0x36
addss xmm0, dword [r10 + rcx*4]
movss dword [r10 + rcx*4], xmm0
add rsp, 0x20
pop rdi
ret