Function at 0x7ff70b4f27c0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rdx
push rbx
push rsi
push rdi
push r13
push r14
sub rsp, 0xc0
mov rdi, qword [rsp + 0x128]
mov r13, rdx
mov rbx, qword [rsp + 0x120]
mov r14, rcx
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rsp + 0x40], xmm12
movaps xmm12, xmm2
movaps xmmword [rsp + 0x30], xmm13
mov qword [rsp + 0xf0], r9
test rdi, rdi
jne 0x7ff70b4f282c
mov rdi, 0xffffffffffffffff
nop dword [rax + rax]
inc rdi
cmp byte [rbx + rdi], 0
jne 0x7ff70b4f2820
add rdi, rbx
cvttss2si eax, dword [rsp + 0xf0]
mov rsi, qword [rsp + 0x118]
movss xmm7, dword [rsi + 0xc]
movd xmm13, eax
cvttss2si eax, dword [rsp + 0xf4]
cvtdq2ps xmm13, xmm13
movd xmm8, eax
addss xmm13, dword [rcx + 0x40]
cvtdq2ps xmm8, xmm8
addss xmm8, dword [rcx + 0x44]
comiss xmm8, xmm7
ja 0x7ff70b4f2e52
movaps xmmword [rsp + 0xa0], xmm6
movaps xmm0, xmm8
movss xmm6, dword [rsi + 4]
movaps xmmword [rsp + 0x60], xmm10
movss xmm10, dword [rcx + 0x14]
divss xmm12, xmm10
mulss xmm10, xmm12
addss xmm0, xmm10
comiss xmm6, xmm0
jbe 0x7ff70b4f28df
cmp rbx, rdi
jae 0x7ff70b4f28df
mov r8, rdi
mov edx, 0xa
sub r8, rbx
mov rcx, rbx
call fcn.7ff70b54ea10
mov rbx, rax
test rax, rax
je 0x7ff70b4f28c9
inc rbx
jmp 0x7ff70b4f28cc
mov rbx, rdi
addss xmm8, xmm10
movaps xmm0, xmm10
addss xmm0, xmm8
comiss xmm6, xmm0
ja 0x7ff70b4f28a4
mov rax, rdi
sub rax, rbx
cmp rax, 0x2710
jle 0x7ff70b4f2932
comiss xmm7, xmm8
mov rax, rbx
movaps xmm6, xmm8
jbe 0x7ff70b4f292f
nop word [rax + rax]
cmp rax, rdi
jae 0x7ff70b4f292f
mov r8, rdi
mov edx, 0xa
sub r8, rax
mov rcx, rax
call fcn.7ff70b54ea10
test rax, rax
je 0x7ff70b4f2922
inc rax
jmp 0x7ff70b4f2925
mov rax, rdi
addss xmm6, xmm10
comiss xmm7, xmm6
ja 0x7ff70b4f2900
mov rdi, rax
cmp rbx, rdi
je 0x7ff70b4f2e44
mov r8d, edi
mov qword [rsp + 0x100], rbp
sub r8d, ebx
mov qword [rsp + 0xb8], r12
mov qword [rsp + 0xb0], r15
mov rcx, r13
mov r15d, dword [r13 + 0x10]
lea edx, [r8 + r8*2]
add edx, edx
lea r8d, [r8*4]
add r15d, edx
mov dword [rsp + 0x20], r15d
call fcn.7ff70b4ef9b0
mov rbp, qword [r13 + 0x50]
mov eax, dword [r13 + 0x40]
mov r12, qword [r13 + 0x48]
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0xf0], eax
cmp rbx, rdi
jae 0x7ff70b4f2d08
movaps xmmword [rsp + 0x50], xmm11
lea r13d, [rax + 2]
movaps xmm11, xmm13
movaps xmmword [rsp + 0x70], xmm9
mov r9d, 0xffff
nop word [rax + rax]
movsx r11d, byte [rbx]
mov dword [rsp + 0x128], r11d
cmp r11d, 0x80
jae 0x7ff70b4f29da
inc rbx
jmp 0x7ff70b4f2a0a
mov r8, rdi
lea rcx, [rsp + 0x128]
mov rdx, rbx
call fcn.7ff70b4ee950
mov r11d, dword [rsp + 0x128]
movsxd rcx, eax
add rbx, rcx
test r11d, r11d
je 0x7ff70b4f2cef
mov r9d, 0xffff
cmp r11d, 0x20
jae 0x7ff70b4f2a39
cmp r11d, 0xa
jne 0x7ff70b4f2a2f
addss xmm8, xmm10
movaps xmm11, xmm13
comiss xmm8, dword [rsi + 0xc]
ja 0x7ff70b4f2cef
jmp 0x7ff70b4f2ce0
cmp r11d, 0xd
je 0x7ff70b4f2ce0
mov r15d, dword [r14 + 0x18]
xor r8d, r8d
movzx esi, r11w
cmp esi, r15d
jge 0x7ff70b4f2a63
mov rax, qword [r14 + 0x20]
movzx ecx, r11w
movzx edx, word [rax + rcx*2]
cmp dx, r9w
je 0x7ff70b4f2a63
imul r8, rdx, 0x2c
add r8, qword [r14 + 0x30]
xorps xmm9, xmm9
test r8, r8
jne 0x7ff70b4f2b1e
mov rax, qword [0x7ff70b692190]
mov rax, qword [rax + 0x40]
mov r10, qword [rax + 0x48]
movsxd rax, dword [rax + 0x40]
lea rbp, [r10 + rax*8]
cmp r10, rbp
je 0x7ff70b4f2ae1
nop dword [rax]
mov rdx, qword [r10]
cmp rdx, r14
je 0x7ff70b4f2ad3
movss xmm0, dword [r14 + 0x14]
ucomiss xmm0, dword [rdx + 0x14]
jp 0x7ff70b4f2ad3
jne 0x7ff70b4f2ad3
xor r8d, r8d
cmp esi, dword [rdx + 0x18]
jge 0x7ff70b4f2ace
mov rax, qword [rdx + 0x20]
movzx ecx, r11w
movzx r9d, word [rax + rcx*2]
mov eax, 0xffff
cmp r9w, ax
je 0x7ff70b4f2ace
imul r8, r9, 0x2c
add r8, qword [rdx + 0x30]
test r8, r8
jne 0x7ff70b4f2b19
add r10, 8
cmp r10, rbp
jne 0x7ff70b4f2a90
test r8, r8
jne 0x7ff70b4f2b19
cmp esi, r15d
jl 0x7ff70b4f2aec
mov r8, qword [r14 + 0x38]
jmp 0x7ff70b4f2b10
mov rax, qword [r14 + 0x20]
movzx ecx, r11w
movzx edx, word [rax + rcx*2]
mov eax, 0xffff
cmp dx, ax
jne 0x7ff70b4f2b08
mov r8, qword [r14 + 0x38]
jmp 0x7ff70b4f2b10
imul r8, rdx, 0x2c
add r8, qword [r14 + 0x30]
test r8, r8
je 0x7ff70b4f2cce
mov rbp, qword [rsp + 0x28]
xor r9d, r9d
nop dword [rax]
nop word [rax + rax]
movzx eax, r9b
movsxd rdx, r9d
add al, al
lea ecx, [rax + r9]
inc r9d
add cl, byte [r8]
xor byte [rdx + r8 + 4], cl
cmp r9d, 0x28
jb 0x7ff70b4f2b30
movaps xmm9, xmm12
mulss xmm9, dword [r8 + 8]
cmp r11d, 0x20
je 0x7ff70b4f2ca7
cmp r11d, 9
je 0x7ff70b4f2ca7
mov rax, qword [rsp + 0x118]
movaps xmm5, xmm12
mulss xmm5, dword [r8 + 0xc]
movaps xmm6, xmm12
mulss xmm6, dword [r8 + 0x10]
movaps xmm7, xmm12
mulss xmm7, dword [r8 + 0x18]
addss xmm5, xmm11
movss xmm0, dword [rax + 8]
addss xmm6, xmm8
addss xmm7, xmm8
comiss xmm0, xmm5
jb 0x7ff70b4f2ca7
movaps xmm4, xmm12
mulss xmm4, dword [r8 + 0x14]
addss xmm4, xmm11
comiss xmm4, dword [rax]
jb 0x7ff70b4f2ca7
movss xmm3, dword [r8 + 0x1c]
lea eax, [r13 - 1]
movss xmm0, dword [r8 + 0x20]
movss xmm1, dword [r8 + 0x24]
movss xmm2, dword [r8 + 0x28]
mov ecx, dword [rsp + 0xf0]
mov dword [rbp + 4], eax
lea eax, [r13 + 1]
mov dword [rbp + 0x14], eax
mov eax, dword [rsp + 0x110]
mov dword [rbp], ecx
mov dword [rbp + 8], r13d
mov dword [rbp + 0xc], ecx
add ecx, 4
mov dword [rbp + 0x10], r13d
add r13d, 4
mov dword [r12 + 0x10], eax
mov dword [r12 + 0x24], eax
mov dword [r12 + 0x38], eax
mov dword [r12 + 0x4c], eax
movss dword [r12], xmm5
movss dword [r12 + 4], xmm6
movss dword [r12 + 8], xmm3
movss dword [r12 + 0xc], xmm0
movss dword [r12 + 0x14], xmm4
movss dword [r12 + 0x18], xmm6
movss dword [r12 + 0x1c], xmm1
movss dword [r12 + 0x20], xmm0
movss dword [r12 + 0x28], xmm4
movss dword [r12 + 0x2c], xmm7
movss dword [r12 + 0x30], xmm1
movss dword [r12 + 0x34], xmm2
movss dword [r12 + 0x3c], xmm5
movss dword [r12 + 0x40], xmm7
movss dword [r12 + 0x44], xmm3
movss dword [r12 + 0x48], xmm2
add r12, 0x50
add rbp, 0x18
mov dword [rsp + 0xf0], ecx
mov qword [rsp + 0x28], rbp
xor r9d, r9d
nop word [rax + rax]
movzx eax, r9b
movsxd rdx, r9d
add al, al
lea ecx, [rax + r9]
inc r9d
add cl, byte [r8]
xor byte [rdx + r8 + 4], cl
cmp r9d, 0x28
jb 0x7ff70b4f2cb0
mov rbp, qword [rsp + 0x28]
addss xmm11, xmm9
mov rsi, qword [rsp + 0x118]
mov r9d, 0xffff
cmp rbx, rdi
jb 0x7ff70b4f29c0
mov r13, qword [rsp + 0xf8]
mov r15d, dword [rsp + 0x20]
movaps xmm11, xmmword [rsp + 0x50]
movaps xmm9, xmmword [rsp + 0x70]
mov rcx, r12
movabs rax, 0x6666666666666667
sub rcx, qword [r13 + 0x28]
mov edi, 8
imul rcx
mov ecx, dword [r13 + 0x24]
mov rbx, rdx
sar rbx, 3
mov rax, rbx
shr rax, 0x3f
add rbx, rax
cmp ebx, ecx
jle 0x7ff70b4f2d97
test ecx, ecx
je 0x7ff70b4f2d49
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x7ff70b4f2d4b
mov eax, edi
cmp eax, ebx
mov esi, ebx
cmovg esi, eax
cmp esi, ecx
jle 0x7ff70b4f2d97
movsxd rax, esi
lea rcx, [rax + rax*4]
shl rcx, 2
call fcn.7ff70b4dd450
mov rdx, qword [r13 + 0x28]
mov rbp, rax
test rdx, rdx
je 0x7ff70b4f2d8f
movsxd rcx, dword [r13 + 0x20]
lea r8, [rcx + rcx*4]
mov rcx, rax
shl r8, 2
call fcn.7ff70b54e1a0
mov rcx, qword [r13 + 0x28]
call fcn.7ff70b4dd700
mov qword [r13 + 0x28], rbp
mov dword [r13 + 0x24], esi
mov r14, qword [rsp + 0x28]
mov rbp, qword [rsp + 0x100]
mov dword [r13 + 0x20], ebx
mov rbx, r14
sub rbx, qword [r13 + 0x18]
mov ecx, dword [r13 + 0x14]
sar rbx, 2
cmp ebx, ecx
jle 0x7ff70b4f2e0d
test ecx, ecx
je 0x7ff70b4f2dc9
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
lea edi, [rcx + rax]
cmp edi, ebx
mov esi, ebx
cmovg esi, edi
cmp esi, ecx
jle 0x7ff70b4f2e0d
movsxd rcx, esi
shl rcx, 2
call fcn.7ff70b4dd450
mov rdx, qword [r13 + 0x18]
mov rdi, rax
test rdx, rdx
je 0x7ff70b4f2e05
movsxd r8, dword [r13 + 0x10]
mov rcx, rax
shl r8, 2
call fcn.7ff70b54e1a0
mov rcx, qword [r13 + 0x18]
call fcn.7ff70b4dd700
mov qword [r13 + 0x18], rdi
mov dword [r13 + 0x14], esi
mov dword [r13 + 0x10], ebx
sub ebx, r15d
mov rax, qword [r13 + 8]
movsxd rcx, dword [r13]
mov r15, qword [rsp + 0xb0]
shl rcx, 5
add dword [rcx + rax - 0x20], ebx
mov eax, dword [r13 + 0x20]
mov qword [r13 + 0x48], r12
mov r12, qword [rsp + 0xb8]
mov dword [r13 + 0x40], eax
mov qword [r13 + 0x50], r14
movaps xmm6, xmmword [rsp + 0xa0]
movaps xmm10, xmmword [rsp + 0x60]
movaps xmm13, xmmword [rsp + 0x30]
lea r11, [rsp + 0xc0]
movaps xmm7, xmmword [r11 - 0x30]
movaps xmm8, xmmword [r11 - 0x40]
movaps xmm12, xmmword [r11 - 0x80]
mov rsp, r11
pop r14
pop r13
pop rdi
pop rsi
pop rbx
ret