Function at 0x14000b290
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
mov rax, rsp
mov dword [rax + 0x20], r9d
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
push rbp
push rbx
push rdi
push r13
lea rbp, [rax - 0x68]
sub rsp, 0x148
test byte [rcx + 0x14], 0x42
mov ebx, r9d
mov r13, qword [0x14013eb00]
mov rdi, rcx
jne 0x14000bef6
cmp byte [rcx + 0xd0], 0
jg 0x14000bef6
cmp byte [rcx + 0xd1], 0
jg 0x14000bef6
cmp byte [rcx + 0xb7], 0
je 0x14000bef6
movss xmm1, dword [r13 + 0x3c20]
movss xmm0, dword [rdi + 0x58]
movaps xmm2, xmm1
movzx ecx, byte [r13 + 0x7e]
mulss xmm1, dword [0x1400ddb24]
mov qword [rax - 0x28], rsi
mulss xmm2, dword [0x1400ddb78]
mov byte [rbp + 0x70], 0
movaps xmmword [rax - 0x58], xmm6
movss xmm6, dword [0x1400ddb70]
movaps xmmword [rax - 0x68], xmm7
addss xmm0, xmm6
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rax - 0x88], xmm9
movaps xmmword [rax - 0x98], xmm10
movaps xmmword [rax - 0xa8], xmm11
movaps xmmword [rax - 0xb8], xmm12
addss xmm0, xmm1
movaps xmmword [rax - 0xc8], xmm13
movaps xmmword [rax - 0xd8], xmm14
movaps xmmword [rax - 0xe8], xmm15
movzx eax, cl
neg al
xorps xmm15, xmm15
maxss xmm2, xmm0
sbb eax, eax
and eax, 4
mov dword [rsp + 0x48], eax
cvttss2si eax, xmm2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1400ddb54]
cvttss2si eax, xmm0
movd xmm11, eax
cvtdq2ps xmm11, xmm11
movss dword [rsp + 0x44], xmm11
test cl, cl
je 0x14000b3bc
movss xmm8, dword [0x1400ddbb4]
jmp 0x14000b3c0
movaps xmm8, xmm15
movss xmm14, dword [0x1400ddcfc]
lea rcx, str.RESIZE
mov qword [rsp + 0x138], r12
movaps xmm9, xmm14
mov qword [rsp + 0x130], r14
movaps xmm10, xmm14
mov qword [rsp + 0x128], r15
movaps xmm13, xmm14
movaps xmm12, xmm14
movss dword [rsp + 0x40], xmm8
mov dword [rdi + 0x158], 1
call fcn.1400102c0
movss xmm7, dword [0x1400ddd40]
lea r11, [0x1400d7b20]
xor esi, esi
test ebx, ebx
jle 0x14000b856
mov r12, qword [rbp + 0x90]
lea r14, [0x14013e180]
nop word [rax + rax]
movss xmm2, dword [r14 + 8]
movss xmm0, dword [r14 + 0xc]
movaps xmm5, xmm2
movss xmm4, dword [rdi + 0x20]
movaps xmm1, xmm0
addss xmm4, dword [rdi + 0x28]
movss xmm3, dword [rdi + 0x2c]
addss xmm3, dword [rdi + 0x24]
mulss xmm5, xmm11
subss xmm4, dword [rdi + 0x20]
mulss xmm1, xmm11
subss xmm3, dword [rdi + 0x24]
mulss xmm2, xmm8
mulss xmm4, dword [r14]
mulss xmm3, dword [r14 + 4]
addss xmm4, dword [rdi + 0x20]
mulss xmm0, xmm8
addss xmm3, dword [rdi + 0x24]
addss xmm5, xmm4
subss xmm4, xmm2
addss xmm1, xmm3
subss xmm3, xmm0
movss dword [rsp + 0x58], xmm5
comiss xmm4, xmm5
movss dword [rsp + 0x50], xmm4
movss dword [rsp + 0x54], xmm3
movss dword [rsp + 0x5c], xmm1
jbe 0x14000b4d2
movss dword [rsp + 0x50], xmm5
movss dword [rsp + 0x58], xmm4
comiss xmm3, xmm1
jbe 0x14000b4e3
movss dword [rsp + 0x54], xmm1
movss dword [rsp + 0x5c], xmm3
mov eax, dword [rdi + 0xf0]
lea r8, [rsp + 0x68]
dec eax
mov dword [rsp + 0x68], esi
movsxd rcx, eax
mov edx, 4
mov rax, qword [rdi + 0xf8]
mov ebx, dword [rax + rcx*4]
not ebx
nop dword [rax + rax]
movzx eax, byte [r8]
lea r8, [r8 + 1]
movzx ecx, bl
xor rcx, rax
mov eax, ebx
shr eax, 8
mov ebx, dword [r11 + rcx*4]
xor ebx, eax
sub rdx, 1
jne 0x14000b510
mov rax, qword [rdi]
not ebx
cmp dword [rax + 0x3f40], ebx
jne 0x14000b54b
movsxd r8, esi
mov edx, 4
mov ecx, ebx
call fcn.14001ae10
mov r9d, 8
lea rcx, [rsp + 0x50]
xor r8d, r8d
mov edx, ebx
call fcn.140012c10
lea r9, [rsp + 0x30]
mov dword [rsp + 0x20], 0x40800
lea r8, [rsp + 0x31]
mov edx, ebx
lea rcx, [rsp + 0x50]
call fcn.1400370a0
movzx r15d, byte [rsp + 0x31]
movzx ebx, byte [rsp + 0x30]
test r15b, r15b
jne 0x14000b596
test bl, bl
je 0x14000b7ce
mov eax, esi
and al, 1
neg al
sbb eax, eax
add eax, 6
mov dword [r13 + 0x4a78], eax
test bl, bl
je 0x14000b7ce
cmp word [r13 + 0x3752], 2
jne 0x14000b5fa
test esi, esi
jne 0x14000b5fa
mov r8, qword [rbp + 0x78]
lea rcx, [rsp + 0x78]
mov rdx, rdi
call fcn.14000abc0
xor edx, edx
mov byte [rbp + 0x70], 1
xor ecx, ecx
movss xmm13, dword [rax]
movss xmm12, dword [rax + 4]
call fcn.140006e50
test bl, bl
je 0x14000b7ec
mov eax, 0x20
jmp 0x14000b7f7
movss xmm11, dword [r14 + 4]
ucomiss xmm11, xmm6
jp 0x14000b616
jne 0x14000b616
mov rax, qword [rbp + 0x98]
movss xmm7, dword [rax + 4]
jmp 0x14000b61d
mov rax, qword [rbp + 0x98]
movss xmm8, dword [r14]
ucomiss xmm8, xmm6
jp 0x14000b630
jne 0x14000b630
movss xmm6, dword [rax]
jmp 0x14000b638
movss xmm6, dword [0x1400ddd40]
ucomiss xmm11, xmm15
jp 0x14000b647
jne 0x14000b647
movss xmm5, dword [rax + 0xc]
jmp 0x14000b64b
movaps xmm5, xmm14
ucomiss xmm8, xmm15
jp 0x14000b65a
jne 0x14000b65a
movss xmm4, dword [rax + 8]
jmp 0x14000b65e
movaps xmm4, xmm14
movss xmm1, dword [rsp + 0x40]
movss xmm3, dword [rsp + 0x44]
movaps xmm0, xmm1
xorps xmm3, xmmword [0x1400ddf90]
mulss xmm1, dword [r14 + 0xc]
movaps xmm2, xmm3
mulss xmm0, dword [r14 + 8]
mulss xmm3, dword [r14 + 0xc]
mulss xmm2, dword [r14 + 8]
subss xmm3, xmm1
subss xmm2, xmm0
mulss xmm3, xmm11
mulss xmm2, xmm8
addss xmm3, xmm1
movss xmm1, dword [r13 + 0xe0c]
subss xmm1, dword [r13 + 0x3f70]
addss xmm2, xmm0
movss xmm0, dword [r13 + 0xe08]
subss xmm0, dword [r13 + 0x3f6c]
addss xmm1, xmm3
addss xmm0, xmm2
comiss xmm7, xmm1
ja 0x14000b6e1
movaps xmm7, xmm5
minss xmm7, xmm1
comiss xmm6, xmm0
ja 0x14000b6ed
movaps xmm6, xmm4
minss xmm6, xmm0
movss xmm9, dword [rdi + 0x20]
lea r8, [rsp + 0x60]
movss xmm10, dword [rdi + 0x24]
subss xmm9, xmm6
movss xmm0, dword [rdi + 0x20]
subss xmm10, xmm7
addss xmm0, dword [rdi + 0x28]
movss xmm1, dword [rdi + 0x24]
lea rcx, [rsp + 0x38]
addss xmm1, dword [rdi + 0x2c]
mulss xmm9, xmm8
mov rdx, rdi
mulss xmm10, xmm11
addss xmm9, xmm6
subss xmm6, xmm0
addss xmm10, xmm7
subss xmm7, xmm1
mulss xmm6, xmm8
mulss xmm7, xmm11
addss xmm6, xmm0
addss xmm7, xmm1
subss xmm6, xmm9
subss xmm7, xmm10
movss dword [rsp + 0x60], xmm6
movss dword [rsp + 0x64], xmm7
call fcn.14000abc0
movss xmm0, dword [r14]
ucomiss xmm0, xmm15
movss xmm13, dword [rsp + 0x38]
jp 0x14000b78e
jne 0x14000b78e
movaps xmm0, xmm13
subss xmm0, xmm6
subss xmm9, xmm0
movss xmm0, dword [r14 + 4]
ucomiss xmm0, xmm15
movss xmm12, dword [rsp + 0x3c]
jp 0x14000b7b0
jne 0x14000b7b0
movaps xmm0, xmm12
subss xmm0, xmm7
subss xmm10, xmm0
movss xmm6, dword [0x1400ddb70]
movss xmm7, dword [0x1400ddd40]
movss xmm8, dword [rsp + 0x40]
movss xmm11, dword [rsp + 0x44]
test esi, esi
je 0x14000b5e8
test bl, bl
jne 0x14000b5f0
test r15b, r15b
jne 0x14000b7ec
mov r10, qword [0x14013eb00]
jmp 0x14000b830
xor eax, eax
test r15b, r15b
setne al
add eax, 0x1e
mov r10, qword [0x14013eb00]
lea rcx, [rsp + 0x68]
add rax, rax
movups xmm1, xmmword [r10 + rax*8 + 0x38b8]
movups xmmword [rsp + 0x68], xmm1
shufps xmm1, xmm1, 0xff
mulss xmm1, dword [r10 + 0x37d0]
movss dword [rsp + 0x74], xmm1
call fcn.140003cf0
mov dword [r12], eax
inc esi
lea r11, [0x1400d7b20]
add r14, 0x18
add r12, 4
cmp esi, dword [rbp + 0x88]
jl 0x14000b440
lea r11, [0x1400d7b20]
jmp 0x14000b85d
mov r10, qword [0x14013eb00]
mov eax, dword [rsp + 0x48]
xor esi, esi
mov qword [rsp + 0x68], rax
test rax, rax
je 0x14000bb18
movss xmm15, dword [0x1400ddb08]
lea r12, [0x14013e1e0]
cmp esi, 1
jbe 0x14000b891
mov r15d, 1
mov r14d, r15d
jmp 0x14000b897
xor r15d, r15d
xor r14d, r14d
movss xmm6, dword [0x1400ddbb4]
lea rcx, [rsp + 0x50]
movaps xmm3, xmm11
movss dword [rsp + 0x20], xmm6
mov r8d, esi
mov rdx, rdi
call fcn.14000b150
mov eax, dword [rdi + 0xf0]
lea r9d, [rsi + 4]
dec eax
mov dword [rsp + 0x48], r9d
movsxd rcx, eax
lea r8, [rsp + 0x48]
mov rax, qword [rdi + 0xf8]
mov edx, 4
mov ebx, dword [rax + rcx*4]
not ebx
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r8]
lea r8, [r8 + 1]
movzx ecx, bl
xor rcx, rax
mov eax, ebx
shr eax, 8
mov ebx, dword [r11 + rcx*4]
xor ebx, eax
sub rdx, 1
jne 0x14000b8f0
mov rax, qword [rdi]
not ebx
cmp dword [rax + 0x3f40], ebx
jne 0x14000b92b
movsxd r8, r9d
mov edx, 4
mov ecx, ebx
call fcn.14001ae10
mov r9d, 8
lea rcx, [rsp + 0x50]
xor r8d, r8d
mov edx, ebx
call fcn.140012c10
lea r9, [rsp + 0x31]
mov dword [rsp + 0x20], 0x40800
lea r8, [rsp + 0x30]
mov edx, ebx
lea rcx, [rsp + 0x50]
call fcn.1400370a0
cmp byte [rsp + 0x30], 0
movzx ecx, byte [rsp + 0x31]
je 0x14000b979
movss xmm0, dword [r13 + 0x3f50]
comiss xmm0, xmm15
ja 0x14000b981
test cl, cl
je 0x14000baf0
neg r15d
sbb eax, eax
add eax, 4
mov dword [r13 + 0x4a78], eax
test cl, cl
je 0x14000baf0
mov rax, qword [rbp + 0x80]
mov dword [rax], esi
cmp esi, 3
jne 0x14000beaa
mov rax, qword [rbp + 0x98]
movss xmm8, dword [rax + 4]
movaps xmm2, xmm14
movaps xmm3, xmm14
movsd xmm0, qword [rdi + 0x20]
movss xmm1, dword [r13 + r14*4 + 0xe08]
subss xmm1, dword [r13 + r14*4 + 0x3f6c]
movsd qword [rsp + 0x48], xmm0
addss xmm1, xmm6
movss dword [rsp + r14*4 + 0x48], xmm1
movss xmm0, dword [rsp + 0x4c]
comiss xmm8, xmm0
ja 0x14000b9fe
movaps xmm8, xmm2
minss xmm8, xmm0
movss xmm0, dword [rsp + 0x48]
comiss xmm7, xmm0
ja 0x14000ba10
movaps xmm7, xmm3
minss xmm7, xmm0
movss xmm6, dword [r12 + 8]
lea r8, [rsp + 0x38]
minss xmm6, dword [r12 + 0x10]
movss xmm11, dword [r12 + 0xc]
lea rcx, [rsp + 0x60]
minss xmm11, dword [r12 + 0x14]
movss xmm9, dword [rdi + 0x20]
mov rdx, rdi
movss xmm10, dword [rdi + 0x24]
subss xmm9, xmm7
movss xmm0, dword [rdi + 0x20]
subss xmm10, xmm8
addss xmm0, dword [rdi + 0x28]
movss xmm1, dword [rdi + 0x24]
addss xmm1, dword [rdi + 0x2c]
mulss xmm9, xmm6
mulss xmm10, xmm11
addss xmm9, xmm7
subss xmm7, xmm0
addss xmm10, xmm8
subss xmm8, xmm1
mulss xmm7, xmm6
mulss xmm8, xmm11
addss xmm7, xmm0
addss xmm8, xmm1
subss xmm7, xmm9
subss xmm8, xmm10
movss dword [rsp + 0x38], xmm7
movss dword [rsp + 0x3c], xmm8
call fcn.14000abc0
movss xmm13, dword [rsp + 0x60]
xorps xmm1, xmm1
ucomiss xmm6, xmm1
jp 0x14000bacc
jne 0x14000bacc
movaps xmm0, xmm13
subss xmm0, xmm7
subss xmm9, xmm0
ucomiss xmm11, xmm1
movss xmm12, dword [rsp + 0x64]
jp 0x14000bae9
jne 0x14000bae9
movaps xmm0, xmm12
subss xmm0, xmm8
subss xmm10, xmm0
movss xmm11, dword [rsp + 0x44]
movss xmm7, dword [0x1400ddd40]
lea r11, [0x1400d7b20]
inc esi
add r12, 0x1c
sub qword [rsp + 0x68], 1
jne 0x14000b881
mov r10, qword [0x14013eb00]
mov rax, qword [r10 + 0x3ef8]
xorps xmm8, xmm8
movaps xmm15, xmmword [rsp + 0x80]
movaps xmm11, xmmword [rsp + 0xc0]
mov r15, qword [rsp + 0x128]
dec dword [rax + 0xf0]
mov r14, qword [rsp + 0x130]
mov r12, qword [rsp + 0x138]
mov rsi, qword [rsp + 0x140]
mov dword [rdi + 0x158], 0
mov rax, qword [r13 + 0x4a40]
test rax, rax
je 0x14000bdd1
cmp qword [rax + 0x378], rdi
jne 0x14000bdd1
mov r11d, dword [r13 + 0x490c]
movaps xmm3, xmm8
movaps xmm4, xmm8
cmp r11d, 2
jne 0x14000bbf1
cmp byte [r13 + 0xe25], 0
je 0x14000bbf1
mov edx, 0x202
mov rcx, r10
call fcn.1400104d0
mov edx, 0x201
mov rcx, r10
mov r9, rax
call fcn.1400104d0
movss xmm3, dword [r9 + 0xc]
mov edx, 0x204
mov rcx, r10
subss xmm3, dword [rax + 0xc]
call fcn.1400104d0
mov edx, 0x203
mov rcx, r10
mov r9, rax
call fcn.1400104d0
movss xmm4, dword [r9 + 0xc]
subss xmm4, dword [rax + 0xc]
cmp r11d, 3
jne 0x14000bc47
mov edx, 0x270
mov rcx, r10
call fcn.1400104d0
mov edx, 0x26f
mov rcx, r10
mov r9, rax
call fcn.1400104d0
movss xmm3, dword [r9 + 0xc]
mov edx, 0x272
mov rcx, r10
subss xmm3, dword [rax + 0xc]
call fcn.1400104d0
mov edx, 0x271
mov rcx, r10
mov r9, rax
call fcn.1400104d0
movss xmm4, dword [r9 + 0xc]
subss xmm4, dword [rax + 0xc]
ucomiss xmm3, xmm8
jp 0x14000bc5b
jne 0x14000bc5b
ucomiss xmm4, xmm8
jp 0x14000bc5b
je 0x14000bdd1
movss xmm2, dword [r13 + 0x70]
lea rcx, [rsp + 0x50]
minss xmm2, dword [r13 + 0x74]
movss xmm0, dword [r13 + 0x18]
mulss xmm0, dword [0x1400ddcd0]
mov rax, qword [rbp + 0x98]
mulss xmm2, xmm0
movaps xmm1, xmm2
mulss xmm2, xmm4
mulss xmm1, xmm3
addss xmm2, dword [r13 + 0x4a70]
addss xmm1, dword [r13 + 0x4a6c]
movss dword [r13 + 0x4a70], xmm2
movss dword [r13 + 0x4a6c], xmm1
movss xmm1, dword [rax]
subss xmm1, dword [rdi + 0x20]
movss xmm0, dword [r13 + 0x4a6c]
movss xmm2, dword [rax + 4]
subss xmm2, dword [rdi + 0x24]
subss xmm1, dword [rdi + 0x28]
subss xmm2, dword [rdi + 0x2c]
maxss xmm0, xmm1
movss xmm1, dword [r13 + 0x4a70]
mov byte [r13 + 0x4a60], 0
mov byte [r13 + 0x4917], 1
maxss xmm1, xmm2
unpcklps xmm0, xmm1
movsd qword [r13 + 0x4a6c], xmm0
movups xmm1, xmmword [r10 + 0x3ab8]
movups xmmword [rsp + 0x50], xmm1
shufps xmm1, xmm1, 0xff
mulss xmm1, dword [r10 + 0x37d0]
movss dword [rsp + 0x5c], xmm1
call fcn.140003cf0
mov rcx, qword [rbp + 0x90]
mov dword [rcx], eax
cvttss2si eax, dword [r13 + 0x4a6c]
movd xmm7, eax
cvttss2si eax, dword [r13 + 0x4a70]
cvtdq2ps xmm7, xmm7
movd xmm6, eax
ucomiss xmm7, xmm8
cvtdq2ps xmm6, xmm6
jp 0x14000bd65
jne 0x14000bd65
ucomiss xmm6, xmm8
jp 0x14000bd65
je 0x14000bdd1
movaps xmm0, xmm7
lea r8, [rsp + 0x38]
addss xmm0, dword [rdi + 0x30]
movaps xmm1, xmm6
lea rcx, [rsp + 0x78]
addss xmm1, dword [rdi + 0x34]
mov rdx, rdi
movss dword [rsp + 0x38], xmm0
movss dword [rsp + 0x3c], xmm1
call fcn.14000abc0
movss xmm0, dword [r13 + 0x4a6c]
movss xmm1, dword [r13 + 0x4a70]
subss xmm0, xmm7
mov r10, qword [0x14013eb00]
subss xmm1, xmm6
movss xmm13, dword [rax]
movss xmm12, dword [rax + 4]
movss dword [r13 + 0x4a6c], xmm0
movss dword [r13 + 0x4a70], xmm1
ucomiss xmm13, xmm14
movaps xmm7, xmmword [rsp + 0x100]
movaps xmm6, xmmword [rsp + 0x110]
jp 0x14000bde9
je 0x14000be13
test dword [rdi + 0x14], 0x100
movss dword [rdi + 0x30], xmm13
movss dword [rdi + 0x34], xmm12
jne 0x14000be13
comiss xmm8, dword [r10 + 0x5bec]
jb 0x14000be13
mov eax, dword [r10 + 0x1c]
mov dword [r10 + 0x5bec], eax
movaps xmm13, xmmword [rsp + 0xa0]
movaps xmm12, xmmword [rsp + 0xb0]
ucomiss xmm9, xmm14
movaps xmm14, xmmword [rsp + 0x90]
jp 0x14000be36
je 0x14000be74
test dword [rdi + 0x14], 0x100
cvttss2si eax, xmm9
movd xmm1, eax
cvttss2si eax, xmm10
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
unpcklps xmm1, xmm0
movsd qword [rdi + 0x20], xmm1
jne 0x14000be74
comiss xmm8, dword [r10 + 0x5bec]
jb 0x14000be74
mov ecx, dword [r10 + 0x1c]
mov dword [r10 + 0x5bec], ecx
movsd xmm0, qword [rdi + 0x30]
movzx eax, byte [rbp + 0x70]
movaps xmm10, xmmword [rsp + 0xd0]
movaps xmm9, xmmword [rsp + 0xe0]
movaps xmm8, xmmword [rsp + 0xf0]
movsd qword [rdi + 0x28], xmm0
add rsp, 0x148
pop r13
pop rdi
pop rbx
pop rbp
ret
movaps xmm8, xmm7
cmp esi, 1
jne 0x14000bec3
mov rax, qword [rbp + 0x98]
movss xmm7, dword [rax]
jmp 0x14000b9b7
cmp esi, 2
jne 0x14000bed9
mov rax, qword [rbp + 0x98]
movss xmm2, dword [rax + 0xc]
jmp 0x14000b9bb
movaps xmm2, xmm14
test esi, esi
jne 0x14000b9bb
mov rax, qword [rbp + 0x98]
movss xmm3, dword [rax + 8]
jmp 0x14000b9bf
xor al, al
add rsp, 0x148
pop r13
pop rdi
pop rbx
pop rbp
ret