Function at 0x1400e8b10
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x130
mov r15, qword [rcx + 0xa8]
mov rbx, rcx
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
lea rbp, [r15 + 8]
mov rdx, qword [rcx + 0x90]
movaps xmmword [rax - 0x88], xmm11
mov qword [rax + 0x10], r12
mov r12d, 4
movd xmm7, dword [rcx + 0x738]
sub r12, r15
movd xmm8, dword [rcx + 0x73c]
mov qword [rax + 0x18], r13
mov rax, qword [rcx + 0x78]
mov r13, qword [rcx + 0xc0]
mov qword [rsp + 0x48], rax
mov eax, dword [rcx + 0x80]
mov rcx, qword [rcx + 0x7a0]
mov dword [rsp + 0x30], eax
mov eax, dword [rdx]
movss xmm6, dword [0x140194a8c]
mov dword [rcx], eax
mov eax, dword [rdx + 4]
mov rcx, qword [rbx + 0x7a0]
movss xmm9, dword [0x140194d10]
movss xmm11, dword [0x1401948e0]
cvtdq2ps xmm7, xmm7
mov dword [rcx + 4], eax
mov rax, 0xfffffffffffffffc
sub rax, r15
mov qword [rsp + 0x20], r13
mov qword [rsp + 0x50], rax
mov eax, 8
mov rdi, qword [rsp + 0x50]
sub rax, r15
mov qword [rsp + 0x60], rax
mov eax, 0xc
sub rax, r15
mov qword [rsp + 0x40], 3
mov qword [rsp + 0x68], rax
mov eax, 0x10
sub rax, r15
mov qword [rsp + 0x70], rax
mov eax, 0x14
sub rax, r15
mov qword [rsp + 0x80], rax
mov eax, 0x18
sub rax, r15
mov qword [rsp + 0x88], rax
mov eax, 0x1c
sub rax, r15
mov qword [rsp + 0x90], rax
mov eax, 0x20
sub rax, r15
mov qword [rsp + 0x98], rax
mov eax, 0x24
sub rax, r15
mov qword [rsp + 0xa0], rax
mov eax, 0x28
sub rax, r15
mov qword [rsp + 0xa8], rax
mov eax, 0x2c
sub rax, r15
mov qword [rsp + 0xb0], rax
mov eax, 0x30
sub rax, r15
mov qword [rsp + 0xb8], rax
mov eax, 0x34
sub rax, r15
mov qword [rsp + 0xc0], rax
mov eax, 0x38
sub rax, r15
mov qword [rsp + 0xc8], rax
mov rax, 0xfffffffffffffff8
cvtdq2ps xmm8, xmm8
sub rax, r15
mov qword [rsp + 0x78], rax
divss xmm7, xmm6
divss xmm8, xmm6
mov rsi, qword [rsp + 0x60]
mov r14, r12
mov r12, qword [rsp + 0x68]
mov r13, qword [rsp + 0x70]
movss xmm0, dword [rbp - 8]
xorps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_expf
mov rax, qword [rbx + 0x7b0]
addss xmm0, xmm11
mov rcx, qword [rsp + 0x78]
movaps xmm1, xmm11
add rcx, rbp
divss xmm1, xmm0
movss dword [rcx + rax], xmm1
movss xmm0, dword [rbp - 4]
xorps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_expf
mov rax, qword [rbx + 0x7b0]
addss xmm0, xmm11
movaps xmm1, xmm11
lea rcx, [rdi + rbp]
divss xmm1, xmm0
movss dword [rcx + rax], xmm1
movss xmm0, dword [rbp]
xorps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_expf
mov rax, qword [rbx + 0x7b0]
addss xmm0, xmm11
movaps xmm1, xmm11
mov rcx, rbp
sub rcx, r15
divss xmm1, xmm0
movss dword [rcx + rax], xmm1
movss xmm0, dword [rbp + 4]
xorps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_expf
mov rax, qword [rbx + 0x7b0]
addss xmm0, xmm11
movaps xmm1, xmm11
lea rcx, [r14 + rbp]
divss xmm1, xmm0
movss dword [rcx + rax], xmm1
movss xmm0, dword [rbp + 8]
xorps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_expf
mov rax, qword [rbx + 0x7b0]
addss xmm0, xmm11
movaps xmm1, xmm11
lea rcx, [rsi + rbp]
divss xmm1, xmm0
movss dword [rcx + rax], xmm1
movss xmm0, dword [rbp + 0xc]
xorps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_expf
mov rax, qword [rbx + 0x7b0]
addss xmm0, xmm11
movaps xmm1, xmm11
lea rcx, [r12 + rbp]
divss xmm1, xmm0
movss dword [rcx + rax], xmm1
movss xmm0, dword [rbp + 0x10]
xorps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_expf
mov rax, qword [rbx + 0x7b0]
addss xmm0, xmm11
movaps xmm1, xmm11
mov rcx, rbp
add rcx, r13
divss xmm1, xmm0
movss dword [rcx + rax], xmm1
movss xmm0, dword [rbp + 0x14]
xorps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_expf
mov rax, qword [rbx + 0x7b0]
addss xmm0, xmm11
mov rcx, qword [rsp + 0x80]
movaps xmm1, xmm11
add rcx, rbp
divss xmm1, xmm0
movss dword [rcx + rax], xmm1
movss xmm0, dword [rbp + 0x18]
xorps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_expf
addss xmm0, xmm11
movaps xmm1, xmm11
mov rax, qword [rbx + 0x7b0]
mov rcx, qword [rsp + 0x88]
divss xmm1, xmm0
add rcx, rbp
movss dword [rcx + rax], xmm1
movss xmm0, dword [rbp + 0x1c]
xorps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_expf
mov rax, qword [rbx + 0x7b0]
addss xmm0, xmm11
mov rcx, qword [rsp + 0x90]
movaps xmm1, xmm11
add rcx, rbp
divss xmm1, xmm0
movss dword [rcx + rax], xmm1
movss xmm0, dword [rbp + 0x20]
xorps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_expf
mov rax, qword [rbx + 0x7b0]
addss xmm0, xmm11
mov rcx, qword [rsp + 0x98]
movaps xmm1, xmm11
add rcx, rbp
divss xmm1, xmm0
movss dword [rcx + rax], xmm1
movss xmm0, dword [rbp + 0x24]
xorps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_expf
mov rax, qword [rbx + 0x7b0]
addss xmm0, xmm11
mov rcx, qword [rsp + 0xa0]
movaps xmm1, xmm11
add rcx, rbp
divss xmm1, xmm0
movss dword [rcx + rax], xmm1
movss xmm0, dword [rbp + 0x28]
xorps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_expf
mov rax, qword [rbx + 0x7b0]
addss xmm0, xmm11
mov rcx, qword [rsp + 0xa8]
movaps xmm1, xmm11
add rcx, rbp
divss xmm1, xmm0
movss dword [rcx + rax], xmm1
movss xmm0, dword [rbp + 0x2c]
xorps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_expf
mov rax, qword [rbx + 0x7b0]
addss xmm0, xmm11
mov rcx, qword [rsp + 0xb0]
movaps xmm1, xmm11
add rcx, rbp
divss xmm1, xmm0
movss dword [rcx + rax], xmm1
movss xmm0, dword [rbp + 0x30]
xorps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_expf
mov rax, qword [rbx + 0x7b0]
addss xmm0, xmm11
mov rcx, qword [rsp + 0xb8]
movaps xmm1, xmm11
add rcx, rbp
divss xmm1, xmm0
movss dword [rcx + rax], xmm1
movss xmm0, dword [rbp + 0x34]
xorps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_expf
mov rax, qword [rbx + 0x7b0]
addss xmm0, xmm11
mov rcx, qword [rsp + 0xc0]
movaps xmm1, xmm11
add rcx, rbp
divss xmm1, xmm0
movss dword [rcx + rax], xmm1
movss xmm0, dword [rbp + 0x38]
xorps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_expf
addss xmm0, xmm11
movaps xmm1, xmm11
divss xmm1, xmm0
mov rcx, qword [rsp + 0xc8]
mov rax, qword [rbx + 0x7b0]
add rcx, rbp
add rbp, 0x44
sub qword [rsp + 0x40], 1
movss dword [rcx + rax], xmm1
jne 0x1400e8ce0
mov rax, qword [rbx + 0x7a8]
mov r13, qword [rsp + 0x20]
movss xmm2, dword [0x1401948bc]
movss xmm0, dword [r13]
divss xmm0, xmm2
movss dword [rax], xmm0
movss xmm0, dword [r13 + 4]
mov rax, qword [rbx + 0x7a8]
divss xmm0, xmm2
movss dword [rax + 4], xmm0
movss xmm1, dword [r13 + 8]
mov rax, qword [rbx + 0x7a8]
divss xmm1, xmm2
movss dword [rax + 8], xmm1
mov eax, dword [r13 + 0xc]
mov rcx, qword [rbx + 0x7b8]
mov dword [rcx], eax
mov eax, dword [r13 + 0x10]
mov rcx, qword [rbx + 0x7b8]
mov dword [rcx + 4], eax
mov eax, dword [r13 + 0x14]
mov rcx, qword [rbx + 0x7b8]
mov r13, qword [rsp + 0x170]
mov dword [rcx + 8], eax
mov rax, qword [rbx + 0x7b8]
movss xmm0, dword [rax]
mulss xmm0, dword [0x140194a88]
addss xmm0, dword [0x140194a90]
movss dword [rax], xmm0
mov rax, qword [rbx + 0x7b8]
movss xmm0, dword [rax + 4]
mulss xmm0, dword [0x140194a7c]
addss xmm0, dword [0x140194a94]
movss dword [rax + 4], xmm0
mov rax, qword [rbx + 0x7b8]
movss xmm0, dword [rax + 8]
mulss xmm0, dword [0x1401948a4]
addss xmm0, dword [0x1401948b4]
movss dword [rax + 8], xmm0
mov eax, dword [rbx + 0xf0]
cmp eax, 1
jne 0x1400e913e
mov rax, qword [rbx + 0x7a8]
movss xmm0, dword [rax + 8]
addss xmm0, dword [0x140194910]
movss dword [rax + 8], xmm0
movaps xmm0, xmm6
mov rax, qword [rbx + 0x7b8]
divss xmm0, dword [rax + 8]
movss xmm1, dword [rax]
subss xmm0, dword [rax + 4]
movss dword [rax], xmm0
jmp 0x1400e91bf
cmp eax, 2
jne 0x1400e9189
mov rax, qword [rbx + 0x7a8]
movaps xmm1, xmm6
movss xmm0, dword [rax + 8]
addss xmm0, dword [0x140194a0c]
movss dword [rax + 8], xmm0
mov rax, qword [rbx + 0x7b8]
divss xmm1, dword [rax + 8]
movaps xmm0, xmm1
subss xmm1, dword [rax]
subss xmm0, dword [rax + 4]
movss dword [rax], xmm1
mov rax, qword [rbx + 0x7b8]
movss dword [rax + 4], xmm0
jmp 0x1400e91cb
cmp eax, 3
jne 0x1400e91cb
mov rax, qword [rbx + 0x7a8]
movaps xmm1, xmm6
movss xmm0, dword [rax + 8]
subss xmm0, dword [0x140194910]
movss dword [rax + 8], xmm0
mov rcx, qword [rbx + 0x7b8]
divss xmm1, dword [rcx + 8]
mov eax, dword [rcx + 4]
subss xmm1, dword [rcx]
mov dword [rcx], eax
mov rax, qword [rbx + 0x7b8]
movss dword [rax + 4], xmm1
mov rax, qword [rbx + 0x7b8]
xor r15d, r15d
mov rcx, qword [rbx + 0x7a8]
mov edi, 0x80000000
movups xmm3, xmmword [rbx + 0x730]
mov edx, dword [rbx + 0xec]
mov ebp, 0x7fffffff
movss xmm2, dword [rax]
lea r12d, [r15 + 4]
movss xmm4, dword [rax + 4]
movdqa xmm0, xmm3
movss xmm1, dword [rcx + 8]
mov esi, edi
movsxd r9, dword [rsp + 0x30]
mov r14d, ebp
psrldq xmm0, 8
movq r8, xmm0
movss xmm0, dword [rcx + 4]
movd xmm5, r8d
cvtdq2ps xmm5, xmm5
shr r8, 0x20
mulss xmm5, dword [rax + 8]
mov eax, dword [rcx]
mov dword [rcx], eax
movq rcx, xmm3
mov rax, qword [rbx + 0x7a8]
divss xmm5, xmm6
movss dword [rax + 4], xmm0
mov rax, qword [rbx + 0x7a8]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
shr rcx, 0x20
sub edx, ecx
sub edx, r8d
movss dword [rax + 8], xmm1
mov rax, qword [rbx + 0x7b8]
divss xmm0, xmm5
addss xmm0, xmm2
movss dword [rax], xmm0
mov rax, qword [rbx + 0x7b8]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
divss xmm0, xmm5
addss xmm0, xmm4
movss dword [rax + 4], xmm0
mov rax, qword [rbx + 0x7b8]
movss dword [rax + 8], xmm5
test r9, r9
jle 0x1400e93d3
mov rcx, qword [rsp + 0x48]
lea r10, [0x14018e2e0]
mov rdx, rcx
sub r12, rcx
mov r8d, r15d
movsd xmm2, qword [r10 + r8*8]
movsd xmm3, qword [r10 + r8*8 + 8]
mov eax, dword [rbx + 0xf0]
cvtpd2ps xmm2, xmm2
cvtpd2ps xmm3, xmm3
addss xmm2, dword [rdx]
addss xmm3, dword [rdx + 4]
mulss xmm2, xmm7
mulss xmm3, xmm8
mulss xmm2, xmm6
mulss xmm3, xmm6
cmp eax, 1
jne 0x1400e9311
movaps xmm0, xmm2
movaps xmm2, xmm3
movd xmm3, dword [rbx + 0x73c]
cvtdq2ps xmm3, xmm3
subss xmm3, xmm0
jmp 0x1400e9356
cmp eax, 2
jne 0x1400e933c
movd xmm0, dword [rbx + 0x738]
movd xmm1, dword [rbx + 0x73c]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
subss xmm0, xmm2
subss xmm1, xmm3
movaps xmm2, xmm0
movaps xmm3, xmm1
jmp 0x1400e9356
cmp eax, 3
jne 0x1400e9356
movaps xmm0, xmm2
movd xmm2, dword [rbx + 0x738]
cvtdq2ps xmm2, xmm2
subss xmm2, xmm3
movaps xmm3, xmm0
movd xmm0, dword [rbx + 0x730]
movd xmm1, dword [rbx + 0x734]
mov rax, qword [rbx + 0x798]
sub rax, rcx
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
addss xmm2, xmm0
addss xmm3, xmm1
movss dword [rax + rdx], xmm2
mov rcx, qword [rbx + 0x798]
add rcx, r12
movss dword [rcx + rdx], xmm3
cvttss2si ecx, xmm2
cmp ecx, esi
mov eax, ecx
cmovle eax, esi
cmp ecx, r14d
mov esi, eax
cmovge ecx, r14d
mov r14d, ecx
cvttss2si ecx, xmm3
cmp ecx, edi
mov eax, ecx
cmovle eax, edi
cmp ecx, ebp
mov edi, eax
cmovge ecx, ebp
add r8, 2
add rdx, 8
mov ebp, ecx
mov rcx, qword [rsp + 0x48]
cmp r8, r9
jl 0x1400e92c0
mov r12, qword [rsp + 0x168]
mov r9d, esi
sub r9d, r14d
mov dword [rsp + 0x20], r14d
mov r10d, edi
mov dword [rsp + 0x24], ebp
sub r10d, ebp
mov dword [rsp + 0x28], r9d
mov dword [rsp + 0x2c], r10d
cmp dword [rbx + 0x770], r15d
je 0x1400e96bf
movups xmm0, xmmword [rbx + 0x740]
movq rcx, xmm0
psrldq xmm0, 8
movq r11, xmm0
mov rdx, rcx
shr rdx, 0x20
mov r8, r11
shr r8, 0x20
lea eax, [r11 + rcx]
cmp esi, eax
cmovge esi, eax
cmp r14d, ecx
lea eax, [r8 + rdx]
cmovg ecx, r14d
cmp edi, eax
cmovge edi, eax
cmp ebp, edx
mov eax, r10d
cmovg edx, ebp
imul eax, r9d
sub edi, edx
imul r11d, r8d
sub esi, ecx
js 0x1400e9464
test edi, edi
js 0x1400e9464
imul edi, esi
mov r15d, edi
movd xmm3, r15d
cvtdq2ps xmm3, xmm3
movd xmm0, eax
movaps xmm2, xmm3
movd xmm1, r11d
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
divss xmm2, xmm0
divss xmm3, xmm1
minss xmm2, xmm3
comiss xmm2, dword [0x1401948d4]
jbe 0x1400e949f
movups xmm0, xmmword [rbx + 0x740]
jmp 0x1400e96c4
movss xmm0, dword [rbx + 0x760]
xorps xmm4, xmm4
movss xmm9, dword [0x140194884]
xorps xmm3, xmm3
cvtsi2ss xmm3, dword [rbx + 0x740]
movsd xmm8, qword [0x140194d00]
movss xmm7, dword [0x140194868]
movss xmm6, dword [0x140194898]
movss xmm5, dword [0x140194a44]
mulss xmm0, xmm9
cvtsi2ss xmm4, r14d
movaps xmmword [rsp + 0xe0], xmm10
movss xmm10, dword [0x1401948c8]
movaps xmm2, xmm4
subss xmm2, xmm3
mulss xmm2, xmm10
addss xmm2, xmm0
movss dword [rbx + 0x760], xmm2
cvtps2pd xmm0, xmm2
andps xmm0, xmm8
cvtpd2ps xmm1, xmm0
mulss xmm1, xmm7
addss xmm1, xmm6
mulss xmm1, xmm5
movaps xmm0, xmm1
addss xmm0, xmm11
divss xmm1, xmm0
movaps xmm0, xmm11
subss xmm0, xmm1
mulss xmm1, xmm4
xorps xmm4, xmm4
cvtsi2ss xmm4, ebp
mulss xmm0, xmm3
xorps xmm3, xmm3
cvtsi2ss xmm3, dword [rbx + 0x744]
addss xmm0, xmm1
movaps xmm2, xmm4
subss xmm2, xmm3
cvttss2si eax, xmm0
movss xmm0, dword [rbx + 0x764]
mulss xmm0, xmm9
mov dword [rsp + 0x20], eax
mulss xmm2, xmm10
addss xmm2, xmm0
cvtps2pd xmm0, xmm2
movss dword [rbx + 0x764], xmm2
andps xmm0, xmm8
cvtpd2ps xmm1, xmm0
mulss xmm1, xmm7
addss xmm1, xmm6
mulss xmm1, xmm5
movaps xmm0, xmm1
addss xmm0, xmm11
divss xmm1, xmm0
movaps xmm0, xmm11
subss xmm0, xmm1
mulss xmm1, xmm4
xorps xmm4, xmm4
cvtsi2ss xmm4, r9d
mulss xmm0, xmm3
xorps xmm3, xmm3
cvtsi2ss xmm3, dword [rbx + 0x748]
addss xmm0, xmm1
movaps xmm2, xmm4
subss xmm2, xmm3
cvttss2si eax, xmm0
movss xmm0, dword [rbx + 0x768]
mulss xmm0, xmm9
mov dword [rsp + 0x24], eax
mulss xmm2, xmm10
addss xmm2, xmm0
cvtps2pd xmm0, xmm2
movss dword [rbx + 0x768], xmm2
andps xmm0, xmm8
cvtpd2ps xmm1, xmm0
mulss xmm1, xmm7
addss xmm1, xmm6
mulss xmm1, xmm5
movaps xmm0, xmm1
addss xmm0, xmm11
divss xmm1, xmm0
movaps xmm0, xmm11
subss xmm0, xmm1
mulss xmm1, xmm4
xorps xmm4, xmm4
cvtsi2ss xmm4, r10d
mulss xmm0, xmm3
xorps xmm3, xmm3
cvtsi2ss xmm3, dword [rbx + 0x74c]
addss xmm0, xmm1
movaps xmm2, xmm4
subss xmm2, xmm3
cvttss2si eax, xmm0
movss xmm0, dword [rbx + 0x76c]
mulss xmm0, xmm9
mov dword [rsp + 0x28], eax
mulss xmm2, xmm10
movaps xmm10, xmmword [rsp + 0xe0]
addss xmm2, xmm0
cvtps2pd xmm0, xmm2
movss dword [rbx + 0x76c], xmm2
andps xmm0, xmm8
cvtpd2ps xmm1, xmm0
mulss xmm1, xmm7
addss xmm1, xmm6
mulss xmm1, xmm5
movaps xmm0, xmm1
addss xmm0, xmm11
divss xmm1, xmm0
subss xmm11, xmm1
mulss xmm1, xmm4
mulss xmm11, xmm3
addss xmm11, xmm1
cvttss2si eax, xmm11
mov dword [rsp + 0x2c], eax
movups xmm0, xmmword [rsp + 0x20]
lea r11, [rsp + 0x130]
mov dword [rbx + 0x770], 1
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm11, xmmword [r11 - 0x60]
movups xmmword [rbx + 0x740], xmm0
mov rbx, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret