Function at 0x14006fb60
Capabilities:
Encrypt data using speck

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x308
movaps xmmword [rsp + 0x2f0], xmm15
movaps xmmword [rsp + 0x2e0], xmm14
movaps xmmword [rsp + 0x2d0], xmm13
movaps xmmword [rsp + 0x2c0], xmm12
movaps xmmword [rsp + 0x2b0], xmm11
movaps xmmword [rsp + 0x2a0], xmm10
movaps xmmword [rsp + 0x290], xmm9
movaps xmmword [rsp + 0x280], xmm8
movaps xmmword [rsp + 0x270], xmm7
movaps xmmword [rsp + 0x260], xmm6
mov r15, r8
mov r8d, edx
mov rax, qword [0x140279c48]
xor rax, rsp
mov qword [rsp + 0x258], rax
movups xmm0, xmmword [rcx + 0x70]
movaps xmmword [rsp + 0xb0], xmm0
mov qword [rsp + 0x58], rcx
movups xmm0, xmmword [rcx + 0x50]
movaps xmmword [rsp + 0x90], xmm0
lea rcx, [rsp + 0xa0]
lea rdx, [rsp + 0x90]
mov dword [rsp + 0x50], r8d
call fcn.14006f320
mov edx, dword [rsp + 0xa8]
mov eax, dword [rsp + 0xac]
xor r13d, r13d
cmp edx, eax
jge 0x140071411
mov rbp, qword [rsp + 0x58]
lea rcx, [rbp + 0x80]
mov qword [rsp + 0x70], rcx
lea rcx, [rbp + 0x40]
mov qword [rsp + 0x68], rcx
lea rcx, [rbp + 0x60]
mov qword [rsp + 0x78], rcx
xor r12d, r12d
mov dword [rsp + 0x4c], 1
xorps xmm10, xmm10
xorps xmm12, xmm12
movaps xmm9, xmmword [0x1401cb0b0]
movaps xmm15, xmmword [0x140118700]
movss xmm11, dword [0x1401d1b94]
mov dword [rsp + 0x54], 0
xor esi, esi
xor r14d, r14d
jmp 0x14006fda9
movaps xmm14, xmm4
shufps xmm14, xmm4, 0x55
xorps xmm14, xmm15
xorps xmm4, xmm15
andps xmm3, xmm6
andnps xmm6, xmm4
orps xmm6, xmm3
movss xmm3, dword [r15 + 0x10]
addss xmm3, xmm0
shufps xmm0, xmm0, 0x55
addss xmm0, dword [r15 + 0x14]
movaps xmm4, xmm2
addss xmm4, xmm3
shufps xmm2, xmm2, 0x55
addss xmm2, xmm0
movaps xmm5, xmm1
addss xmm5, xmm4
movss dword [r15 + 0x10], xmm5
shufps xmm1, xmm1, 0x55
addss xmm1, xmm2
movss dword [r15 + 0x14], xmm1
cvttss2si eax, xmm2
cvttss2si ecx, xmm4
cvttss2si edx, xmm0
cvttss2si ebp, xmm3
cvttss2si r9d, xmm1
cvttss2si r8d, xmm5
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x20], ebp
mov rcx, r15
mov dl, 4
call fcn.140071680
movss xmm0, dword [r15 + 0x10]
addss xmm0, xmm13
shufps xmm13, xmm13, 0x55
addss xmm13, dword [r15 + 0x14]
movaps xmm1, xmm7
addss xmm1, xmm0
shufps xmm7, xmm7, 0x55
addss xmm7, xmm13
addss xmm6, xmm1
movss dword [r15 + 0x10], xmm6
addss xmm14, xmm7
movss dword [r15 + 0x14], xmm14
cvttss2si eax, xmm7
cvttss2si ecx, xmm1
cvttss2si edx, xmm13
cvttss2si ebp, xmm0
cvttss2si r9d, xmm14
cvttss2si r8d, xmm6
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x20], ebp
mov rcx, r15
mov dl, 4
call fcn.140071680
xor r14d, r14d
mov edx, dword [rsp + 0xa8]
mov eax, dword [rsp + 0xac]
cmp edx, eax
jge 0x14007140e
mov rbx, qword [rsp + 0xa0]
movsxd rbp, edx
lea rcx, [rbp + 1]
mov dword [rsp + 0xa8], ecx
mov dil, byte [rbx + rbp]
cmp dil, 0x12
jae 0x14006fe10
cmp dil, 7
jae 0x14006fe70
cmp dil, 4
jae 0x14006ffa8
lea ebp, [rdi + 1]
cmp bpl, 0x1d
ja case.0x14006fe02.1
movzx ebp, bpl
mov r8, rsi
lea rsi, [0x1400714f0]
movsxd rbp, dword [rsi + rbp*4]
add rbp, rsi
mov rsi, r8
jmp rbp
cmp dil, 0x18
jae 0x14006fea0
cmp dil, 0x15
jae 0x140070037
cmp dil, 0x13
jb case.0x14006fe02.2
cmp dword [rsp + 0x4c], 0
je 0x14006fe43
mov edx, r14d
shr edx, 0x1f
add edx, r14d
sar edx, 1
add r12d, edx
mov edx, r12d
add edx, 7
cmovns edx, r12d
add edx, 7
sar edx, 3
add edx, ecx
cmp eax, edx
mov ecx, edx
cmovl ecx, eax
test edx, edx
cmovs ecx, eax
mov dword [rsp + 0xa8], ecx
jmp 0x1400704df
cmp dil, 0xb
jae 0x1400700e5
cmp dil, 8
jae 0x140070125
xor r13d, r13d
test r14d, r14d
jle 0x140071411
cmp r13d, r14d
jge 0x14006fd90
jmp 0x140070f50
cmp dil, 0x1d
jae 0x140070112
cmp dil, 0x19
jae 0x140070213
cmp r14d, 8
jl 0x14007140e
mov r13, rsi
lea ebx, [r14 - 2]
xor edi, edi
nop word [rax + rax]
mov eax, dword [0x14027ddc8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x14027ddcc], 0xa
setl al
or al, cl
nop
test al, al
je 0x14006fef0
lea eax, [rdi + 5]
cmp eax, ebx
jge 0x14007069b
cdqe
lea ecx, [rdi + 4]
movsxd rcx, ecx
lea edx, [rdi + 3]
movsxd rdx, edx
lea ebp, [rdi + 2]
movsxd rbp, ebp
mov esi, edi
or esi, 1
movsxd rsi, esi
movss xmm0, dword [rsp + rsi*4 + 0x190]
movsxd rsi, edi
movss xmm1, dword [rsp + rsi*4 + 0x190]
addss xmm1, dword [r15 + 0x10]
addss xmm0, dword [r15 + 0x14]
cvttss2si esi, xmm1
addss xmm1, dword [rsp + rbp*4 + 0x190]
cvttss2si ebp, xmm0
addss xmm0, dword [rsp + rdx*4 + 0x190]
cvttss2si edx, xmm1
addss xmm1, dword [rsp + rcx*4 + 0x190]
cvttss2si ecx, xmm0
addss xmm0, dword [rsp + rax*4 + 0x190]
movss dword [r15 + 0x10], xmm1
movss dword [r15 + 0x14], xmm0
cvttss2si r9d, xmm0
cvttss2si r8d, xmm1
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x20], esi
mov rcx, r15
mov dl, 4
call fcn.140071680
add edi, 6
jmp 0x14006fed0
jne 0x14007034c
test r14d, r14d
jle 0x14007140e
add r14d, 0xffffffff
movd xmm6, dword [rsp + r14*4 + 0x190]
movss xmm1, dword [r15 + 8]
movss xmm2, dword [r15 + 0xc]
movss xmm0, dword [r15 + 0x10]
ucomiss xmm1, xmm0
jne 0x14006ffef
jp 0x14006ffef
movss xmm3, dword [r15 + 0x14]
ucomiss xmm2, xmm3
jne 0x14006ffef
jnp 0x1400709ac
cvttss2si r9d, xmm2
cvttss2si r8d, xmm1
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, r15
mov dl, 2
call fcn.140071680
movsd xmm0, qword [r15 + 0x10]
movq xmm1, xmm6
shufps xmm1, xmm10, 0xe2
jmp 0x140070499
jne 0x14007040d
cmp r14d, 2
jl 0x14007140e
lea eax, [r14 - 1]
movss xmm7, dword [rsp + rax*4 + 0x190]
add r14d, 0xfffffffe
movss xmm6, dword [rsp + r14*4 + 0x190]
movss xmm1, dword [r15 + 8]
movss xmm2, dword [r15 + 0xc]
movss xmm0, dword [r15 + 0x10]
ucomiss xmm1, xmm0
jne 0x14007008c
jp 0x14007008c
movss xmm3, dword [r15 + 0x14]
ucomiss xmm2, xmm3
jne 0x14007008c
jnp 0x1400709b4
cvttss2si r9d, xmm2
cvttss2si r8d, xmm1
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, r15
mov dl, 2
call fcn.140071680
movsd xmm0, qword [r15 + 0x10]
unpcklps xmm6, xmm7
addps xmm6, xmm0
movaps xmm0, xmm6
shufps xmm0, xmm6, 0x55
cvttss2si r8d, xmm6
movlhps xmm6, xmm6
movups xmmword [r15 + 8], xmm6
jmp 0x1400704b0
jne 0x140070527
test esi, esi
jle 0x14007140e
add esi, 0xffffffff
mov rax, rsi
shl rax, 4
movups xmm0, xmmword [rsp + rax + 0xf0]
movaps xmmword [rsp + 0xa0], xmm0
jmp 0x14006fd93
jne 0x14007067a
mov ebx, r12d
mov r12d, dword [rsp + 0x54]
jmp 0x140070eb5
cmp dil, 9
ja 0x140070717
cmp dil, 0xff
je case.0x14006fe02.0
cmp dil, 8
jne 0x1400708c5
cmp r14d, 6
jl 0x14007140e
mov eax, 5
nop word cs:[rax + rax]
nop dword [rax]
lea ecx, [rax - 5]
lea edx, [rax - 3]
movsxd rdx, edx
lea ebp, [rax - 2]
movsxd rbp, ebp
lea ebx, [rax - 1]
movsxd rbx, ebx
movsxd rdi, eax
lea eax, [rdi - 4]
cdqe
movss xmm0, dword [rsp + rax*4 + 0x190]
movsxd rax, ecx
movss xmm1, dword [rsp + rax*4 + 0x190]
addss xmm1, dword [r15 + 0x10]
addss xmm0, dword [r15 + 0x14]
cvttss2si eax, xmm1
addss xmm1, dword [rsp + rdx*4 + 0x190]
cvttss2si ecx, xmm0
addss xmm0, dword [rsp + rbp*4 + 0x190]
cvttss2si edx, xmm1
addss xmm1, dword [rsp + rbx*4 + 0x190]
cvttss2si ebp, xmm0
addss xmm0, dword [rsp + rdi*4 + 0x190]
movss dword [r15 + 0x10], xmm1
movss dword [r15 + 0x14], xmm0
cvttss2si r9d, xmm0
cvttss2si r8d, xmm1
mov dword [rsp + 0x38], ebp
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], eax
mov rcx, r15
mov dl, 4
call fcn.140071680
lea eax, [rdi + 6]
cmp eax, r14d
jl 0x140070160
jmp 0x14006fd90
jne 0x1400707c3
cmp r14d, 8
jl 0x14007140e
mov r13, rsi
lea edi, [r14 - 6]
xor eax, eax
nop dword [rax]
lea ecx, [rax + 1]
movsxd rcx, ecx
movss xmm0, dword [rsp + rcx*4 + 0x190]
movsxd rsi, eax
movss xmm1, dword [rsp + rsi*4 + 0x190]
addss xmm1, dword [r15 + 0x10]
movss dword [r15 + 0x10], xmm1
addss xmm0, dword [r15 + 0x14]
movss dword [r15 + 0x14], xmm0
cvttss2si r8d, xmm1
cvttss2si r9d, xmm0
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, r15
mov dl, 2
call fcn.140071680
lea eax, [rsi + 2]
add esi, 3
cmp esi, edi
jl 0x140070230
lea ecx, [rax + 5]
cmp ecx, r14d
jge 0x14007140e
lea edx, [rax + 1]
movsxd rdx, edx
lea ebp, [rax + 2]
movsxd rbp, ebp
lea ebx, [rax + 3]
movsxd rbx, ebx
lea edi, [rax + 4]
movsxd rdi, edi
movsxd rcx, ecx
movss xmm0, dword [rsp + rdx*4 + 0x190]
cdqe
movss xmm1, dword [rsp + rax*4 + 0x190]
addss xmm1, dword [r15 + 0x10]
addss xmm0, dword [r15 + 0x14]
cvttss2si eax, xmm1
addss xmm1, dword [rsp + rbp*4 + 0x190]
cvttss2si edx, xmm0
addss xmm0, dword [rsp + rbx*4 + 0x190]
cvttss2si ebp, xmm1
addss xmm1, dword [rsp + rdi*4 + 0x190]
cvttss2si ebx, xmm0
addss xmm0, dword [rsp + rcx*4 + 0x190]
movss dword [r15 + 0x10], xmm1
movss dword [r15 + 0x14], xmm0
cvttss2si r9d, xmm0
cvttss2si r8d, xmm1
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x30], ebp
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x20], eax
mov rcx, r15
mov dl, 4
jmp 0x140070707
cmp dil, 6
jae 0x140070866
cmp r14d, 2
jl 0x14007140e
xor edi, edi
nop word cs:[rax + rax]
nop dword [rax]
mov eax, dword [0x14027ddc8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x14027ddcc], 0xa
setl al
or al, cl
nop
test al, al
je 0x140070390
mov eax, edi
or eax, 1
cmp eax, r14d
jge 0x14006fd90
movsxd rcx, edi
movss xmm0, dword [rsp + rcx*4 + 0x190]
cdqe
movss xmm1, dword [rsp + rax*4 + 0x190]
addss xmm0, dword [r15 + 0x10]
movss dword [r15 + 0x10], xmm0
addss xmm1, dword [r15 + 0x14]
movss dword [r15 + 0x14], xmm1
cvttss2si r8d, xmm0
cvttss2si r9d, xmm1
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, r15
mov dl, 2
call fcn.140071680
add edi, 2
jmp 0x140070370
cmp dil, 0x17
jae case.0x14006fe02.2
test r14d, r14d
jle 0x14007140e
add r14d, 0xffffffff
movss xmm6, dword [rsp + r14*4 + 0x190]
movss xmm1, dword [r15 + 8]
movss xmm2, dword [r15 + 0xc]
movss xmm0, dword [r15 + 0x10]
ucomiss xmm1, xmm0
jne 0x140070458
jp 0x140070458
movss xmm3, dword [r15 + 0x14]
ucomiss xmm2, xmm3
jne 0x140070458
jnp 0x1400709bc
cvttss2si r9d, xmm2
cvttss2si r8d, xmm1
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, r15
mov dl, 2
call fcn.140071680
movsd xmm0, qword [r15 + 0x10]
xorps xmm1, xmm1
movss xmm1, xmm6
addps xmm1, xmm0
movaps xmm0, xmm1
shufps xmm0, xmm1, 0x55
cvttss2si r8d, xmm1
movlhps xmm1, xmm1
movups xmmword [r15 + 8], xmm1
cvttss2si r9d, xmm0
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, r15
mov dl, 1
call fcn.140071680
xor r14d, r14d
mov dword [rsp + 0x4c], 0
jmp 0x14006fd93
mov eax, dword [0x14027ddc8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x14027ddcc], 0xa
setl al
or al, cl
nop dword [rax]
test al, al
je 0x140070510
mov eax, r14d
shr eax, 0x1f
add eax, r14d
sar eax, 1
add r12d, eax
jmp 0x14006fd90
cmp dil, 0xe
jae 0x140070880
cmp dil, 0xff
je case.0x14006fe02.0
cmp dil, 0xc
jne 0x1400708c5
xor r13d, r13d
cmp ecx, eax
jge 0x140071411
add edx, 2
mov dword [rsp + 0xa8], edx
mov al, byte [rbx + rcx]
cmp al, 0x24
jae 0x1400709c4
cmp al, 0x23
je 0x140070c15
cmp al, 0x22
jne 0x140071411
cmp r14d, 7
jl 0x140071411
movss xmm0, dword [rsp + 0x190]
movss xmm8, dword [rsp + 0x198]
movss xmm13, dword [rsp + 0x1a0]
movss xmm6, dword [rsp + 0x1a4]
movss xmm7, dword [rsp + 0x1a8]
addss xmm0, dword [r15 + 0x10]
movss xmm1, dword [r15 + 0x14]
addss xmm1, xmm12
cvttss2si eax, xmm0
addss xmm0, dword [rsp + 0x194]
movaps xmm2, xmm8
cvttss2si ecx, xmm0
addss xmm0, dword [rsp + 0x19c]
addss xmm2, xmm1
movss dword [r15 + 0x10], xmm0
cvttss2si edx, xmm2
addss xmm2, xmm12
movss dword [r15 + 0x14], xmm2
cvttss2si ebp, xmm1
cvttss2si r9d, xmm2
cvttss2si r8d, xmm0
mov dword [rsp + 0x38], edx
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x20], eax
mov rcx, r15
mov dl, 4
call fcn.140071680
addss xmm13, dword [r15 + 0x10]
movss xmm0, dword [r15 + 0x14]
addss xmm0, xmm12
cvttss2si eax, xmm0
addss xmm6, xmm13
subss xmm0, xmm8
addss xmm7, xmm6
movss dword [r15 + 0x10], xmm7
cvttss2si ecx, xmm0
addss xmm0, xmm12
movss dword [r15 + 0x14], xmm0
cvttss2si edx, xmm6
cvttss2si ebp, xmm13
cvttss2si r9d, xmm0
cvttss2si r8d, xmm7
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x28], eax
jmp 0x14006fd82
cmp dil, 0x1f
jae 0x14007089b
xor edi, edi
mov r13d, 0
cmp r14d, 4
jge 0x140071029
jmp 0x140071411
mov eax, edi
or eax, 1
cmp eax, r14d
jge 0x14007140e
movsxd rcx, edi
cdqe
movss xmm0, dword [rsp + rax*4 + 0x190]
movss xmm1, dword [rsp + rcx*4 + 0x190]
addss xmm1, dword [r15 + 0x10]
movss dword [r15 + 0x10], xmm1
addss xmm0, dword [r15 + 0x14]
movss dword [r15 + 0x14], xmm0
cvttss2si r8d, xmm1
cvttss2si r9d, xmm0
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, r15
mov dl, 2
call fcn.140071680
xor r14d, r14d
mov rsi, r13
jmp 0x14006fd93
mov ebx, r12d
mov r12d, 1
cmp dword [rsp + 0x54], 0
jne 0x140070eb5
mov rcx, qword [rsp + 0x58]
mov eax, dword [rcx + 0x9c]
test eax, eax
je 0x140070eb5
mov r9, qword [rcx + 0x90]
mov ecx, eax
sar ecx, 0x1f
and ecx, eax
test eax, eax
mov qword [rsp + 0x60], rsi
jle 0x140070c0c
movsxd rdx, ecx
mov r8b, byte [r9 + rdx]
add rdx, 1
test r8b, r8b
mov ebp, dword [rsp + 0x50]
je 0x140070d71
cmp r8b, 3
jne 0x140070e5a
xor r13d, r13d
mov r10d, 0
cmp edx, eax
jge 0x140070796
add ecx, 2
movzx r10d, byte [r9 + rdx]
shl r10d, 8
mov edx, ecx
cmp edx, eax
jge 0x1400707a5
movsxd rcx, edx
add edx, 1
movzx r13d, byte [r9 + rcx]
xor ebp, ebp
cmp edx, eax
jge 0x140070d99
movsxd rcx, edx
add edx, 1
movzx r8d, byte [r9 + rcx]
shl r8d, 8
jmp 0x140070d9c
cmp dil, 0x1c
jae 0x1400708bf
cmp r14d, 4
jl 0x14007140e
mov ebx, r14d
and ebx, 1
lea eax, [rbx + 3]
cmp eax, r14d
jge 0x14006fd90
xor edx, edx
xorps xmm0, xmm0
test ebx, ebx
setne cl
je 0x1400707fe
movss xmm0, dword [rsp + 0x190]
mov eax, eax
mov ebp, ebx
mov dl, cl
cmp dil, 0x1b
jne 0x140070a46
lea ecx, [rbx + 2]
movss xmm6, dword [rsp + rdx*4 + 0x190]
addss xmm6, dword [r15 + 0x10]
addss xmm0, dword [r15 + 0x14]
movss xmm1, dword [rsp + rbp*4 + 0x194]
addss xmm1, xmm6
movss xmm3, dword [rsp + rcx*4 + 0x190]
addss xmm3, xmm0
movss xmm4, dword [rsp + rax*4 + 0x190]
addss xmm4, xmm1
movss dword [r15 + 0x10], xmm4
movaps xmm5, xmm3
addss xmm5, xmm12
movaps xmm2, xmm0
movaps xmm0, xmm6
jmp 0x140070a93
xor r13d, r13d
test r14d, r14d
jle 0x140071411
cmp r13d, r14d
jge 0x14006fd90
jmp 0x140070fba
cmp dil, 0xff
je case.0x14006fe02.0
cmp dil, 0x1c
je case.0x14006fe02.29
cmp dil, 0xe
jne case.0x14006fe02.1
jmp 0x140071490
cmp dil, 0xff
je case.0x14006fe02.0
cmp dil, 0x1c
je case.0x14006fe02.29
cmp dil, 0x1f
jne case.0x14006fe02.1
xor r13d, r13d
cmp r14d, 4
jge 0x1400710dc
jmp 0x140071411
cmp dil, 0xff
je case.0x14006fe02.0
cmp dil, 0x1c
je case.0x14006fe02.29
add dil, 0xe0
cmp dil, 0xde
ja 0x14007140e
cmp eax, edx
mov ecx, edx
cmovl ecx, eax
test edx, edx
cmovs ecx, eax
mov dword [rsp + 0xa8], ecx
lea rcx, [rsp + 0xa0]
call fcn.14006f900
cwde
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
cmp r14d, 0x2f
jle 0x140070997
jmp 0x14007140e
cmp ecx, eax
jge 0x140070925
add edx, 2
mov bpl, byte [rbx + rcx]
mov ecx, edx
cmp ecx, eax
jl 0x14007092b
xor edx, edx
jmp 0x140070934
xor ebp, ebp
cmp ecx, eax
jge 0x140070921
movsxd rdx, ecx
add ecx, 1
mov dl, byte [rbx + rdx]
mov r8, rsi
cmp ecx, eax
jge 0x140070947
movsxd rdi, ecx
add ecx, 1
mov dil, byte [rbx + rdi]
jmp 0x140070949
xor edi, edi
movzx ebp, bpl
movzx esi, dl
shl ebp, 0x10
shl esi, 8
or esi, ebp
movzx edx, dil
or edx, esi
cmp ecx, eax
jge 0x14007096d
movsxd rax, ecx
add ecx, 1
mov al, byte [rbx + rax]
jmp 0x14007096f
xor eax, eax
mov rsi, r8
shl edx, 8
movzx eax, al
or eax, edx
mov dword [rsp + 0xa8], ecx
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mulss xmm0, xmm11
cmp r14d, 0x2f
jg 0x14007140e
movsxd rax, r14d
add r14d, 1
movss dword [rsp + rax*4 + 0x190], xmm0
jmp 0x14006fd93
unpcklps xmm0, xmm3
jmp 0x140070029
unpcklps xmm0, xmm3
jmp 0x1400700c6
unpcklps xmm0, xmm3
jmp 0x140070492
je 0x140070c50
cmp al, 0x25
jne 0x140071411
cmp r14d, 0xb
jl 0x140071411
movsd xmm0, qword [rsp + 0x190]
movsd xmm2, qword [rsp + 0x198]
movsd xmm1, qword [rsp + 0x1a0]
movsd xmm13, qword [rsp + 0x1a8]
movsd xmm7, qword [rsp + 0x1b0]
movss xmm3, dword [rsp + 0x1b8]
movaps xmm4, xmm0
addps xmm4, xmm2
addps xmm4, xmm1
addps xmm4, xmm13
addps xmm4, xmm7
movaps xmm5, xmm4
andps xmm5, xmm9
pshufd xmm6, xmm5, 0x55
ucomiss xmm5, xmm6
cmpltss xmm6, xmm5
ja 0x14006fc94
movaps xmm14, xmm3
jmp 0x14006fca1
movss xmm2, dword [rsp + rdx*4 + 0x190]
lea ecx, [rbx + 2]
addss xmm0, dword [r15 + 0x10]
addss xmm2, dword [r15 + 0x14]
movss xmm1, dword [rsp + rbp*4 + 0x194]
addss xmm1, xmm0
movss xmm3, dword [rsp + rcx*4 + 0x190]
addss xmm3, xmm2
movaps xmm4, xmm1
addss xmm4, xmm12
movss xmm5, dword [rsp + rax*4 + 0x190]
addss xmm5, xmm3
movss dword [r15 + 0x10], xmm4
movss dword [r15 + 0x14], xmm5
cvttss2si eax, xmm3
cvttss2si ecx, xmm1
cvttss2si edx, xmm2
cvttss2si ebp, xmm0
cvttss2si r9d, xmm5
cvttss2si r8d, xmm4
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x20], ebp
mov rcx, r15
mov dl, 4
call fcn.140071680
cmp ebx, 1
mov eax, 8
sbb eax, 0
cmp eax, r14d
jge 0x14006fd90
or ebx, 4
jmp 0x140070b9d
movsxd rcx, ebx
movss xmm0, dword [rsp + rcx*4 + 0x190]
lea edx, [rcx + 1]
movsxd rdx, edx
add ecx, 2
movsxd rcx, ecx
cdqe
movss xmm1, dword [r15 + 0x10]
addss xmm1, xmm12
addss xmm0, dword [r15 + 0x14]
movss xmm2, dword [rsp + rdx*4 + 0x190]
addss xmm2, xmm1
movss xmm3, dword [rsp + rcx*4 + 0x190]
addss xmm3, xmm0
movaps xmm4, xmm2
addss xmm4, xmm12
movss xmm5, dword [rsp + rax*4 + 0x190]
addss xmm5, xmm3
movss dword [r15 + 0x10], xmm4
movss dword [r15 + 0x14], xmm5
cvttss2si eax, xmm3
cvttss2si ecx, xmm2
cvttss2si edx, xmm0
cvttss2si ebp, xmm1
cvttss2si r9d, xmm5
cvttss2si r8d, xmm4
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x20], ebp
mov rcx, r15
mov dl, 4
call fcn.140071680
lea ecx, [rbx + 4]
add ebx, 7
mov eax, ebx
cmp ebx, r14d
mov ebx, ecx
jge 0x14006fd90
cmp dil, 0x1b
jne 0x140070af0
lea ecx, [rbx + 2]
cdqe
movsxd rcx, ecx
lea edx, [rbx + 1]
movsxd rdx, edx
movsxd rbp, ebx
movss xmm1, dword [rsp + rbp*4 + 0x190]
addss xmm1, dword [r15 + 0x10]
movss xmm0, dword [r15 + 0x14]
addss xmm0, xmm12
movss xmm2, dword [rsp + rdx*4 + 0x190]
addss xmm2, xmm1
movss xmm3, dword [rsp + rcx*4 + 0x190]
addss xmm3, xmm0
movss xmm4, dword [rsp + rax*4 + 0x190]
addss xmm4, xmm2
movss dword [r15 + 0x10], xmm4
movaps xmm5, xmm3
addss xmm5, xmm12
jmp 0x140070b50
mov ebp, dword [rsp + 0x50]
jmp 0x140070d73
cmp r14d, 0xd
jl 0x140071411
movss xmm13, dword [rsp + 0x190]
cmp dword [0x14027ddcc], 0xa
jl 0x14007119b
mov eax, dword [0x14027ddc8]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1400712da
jmp 0x14007119b
cmp r14d, 9
jl 0x140071411
movss xmm0, dword [rsp + 0x190]
movss xmm7, dword [rsp + 0x194]
movss xmm8, dword [rsp + 0x19c]
movss xmm6, dword [rsp + 0x1ac]
movaps xmm10, xmm15
movss xmm15, dword [rsp + 0x1a8]
movss xmm14, dword [rsp + 0x1a4]
movss xmm13, dword [rsp + 0x1b0]
addss xmm0, dword [r15 + 0x10]
movss xmm1, dword [r15 + 0x14]
addss xmm1, xmm7
cvttss2si eax, xmm0
addss xmm0, dword [rsp + 0x198]
movaps xmm2, xmm8
cvttss2si ecx, xmm0
addss xmm0, dword [rsp + 0x1a0]
addss xmm2, xmm1
movss dword [r15 + 0x10], xmm0
cvttss2si edx, xmm2
addss xmm2, xmm12
movss dword [r15 + 0x14], xmm2
cvttss2si ebp, xmm1
cvttss2si r9d, xmm2
cvttss2si r8d, xmm0
mov dword [rsp + 0x38], edx
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x20], eax
mov rcx, r15
mov dl, 4
call fcn.140071680
addss xmm7, xmm8
addss xmm7, xmm6
addss xmm14, dword [r15 + 0x10]
movss xmm0, dword [r15 + 0x14]
addss xmm0, xmm12
addss xmm15, xmm14
addss xmm6, xmm0
addss xmm13, xmm15
movss dword [r15 + 0x10], xmm13
cvttss2si eax, xmm6
subss xmm6, xmm7
movss dword [r15 + 0x14], xmm6
cvttss2si ecx, xmm15
movaps xmm15, xmm10
xorps xmm10, xmm10
cvttss2si edx, xmm0
cvttss2si ebp, xmm14
cvttss2si r9d, xmm6
cvttss2si r8d, xmm13
jmp 0x14006fd76
mov ecx, edx
add ecx, ebp
cmp eax, ecx
mov edx, ecx
cmovl edx, eax
test ecx, ecx
cmovs edx, eax
xor r8d, r8d
cmp edx, eax
jge 0x140070e60
movsxd rax, edx
movzx r8d, byte [r9 + rax]
jmp 0x140070e60
xor r8d, r8d
or r13d, r10d
cmp edx, eax
jge 0x140070dae
movsxd rcx, edx
add edx, 1
movzx ebp, byte [r9 + rcx]
mov ecx, dword [0x14027d408]
lea esi, [rcx - 1]
imul esi, ecx
test sil, 1
sete cl
cmp dword [0x14027d40c], 0xa
setl r11b
test r13d, r13d
jle 0x140070e5a
or r11b, cl
or ebp, r8d
jmp 0x140070de3
add r13d, 0xffffffff
je 0x140070e5a
mov r10d, ebp
test r11b, r11b
je 0x140070e07
nop dword [rax + rax]
xor r8d, r8d
cmp edx, eax
jge 0x140070e12
movsxd rcx, edx
add edx, 1
movzx r8d, byte [r9 + rcx]
test r11b, r11b
jne 0x140070e17
xor ecx, ecx
cmp edx, eax
setl cl
add edx, ecx
jmp 0x140070df0
test r11b, r11b
je 0x140070e07
cmp edx, eax
jge 0x140070e2e
movsxd rcx, edx
add edx, 1
movzx ebp, byte [r9 + rcx]
cmp edx, eax
jl 0x140070e34
xor ecx, ecx
jmp 0x140070e3f
xor ebp, ebp
cmp edx, eax
jge 0x140070e2a
movsxd rcx, edx
add edx, 1
movzx ecx, byte [r9 + rcx]
movzx esi, bpl
shl esi, 8
movzx ebp, cl
or ebp, esi
mov esi, dword [rsp + 0x50]
cmp r10d, esi
jg 0x140070ddd
cmp ebp, esi
jle 0x140070ddd
jmp 0x140070e60
mov r8d, 0xffffffff
mov rax, qword [rsp + 0x70]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0xd0], xmm0
lea rsi, [rsp + 0xe0]
mov rcx, rsi
lea rdx, [rsp + 0xd0]
call fcn.14006f320
mov rax, qword [rsp + 0x68]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0xc0], xmm0
lea rcx, [rsp + 0xb0]
lea rdx, [rsp + 0xc0]
mov r8, rsi
call fcn.14006f650
mov rsi, qword [rsp + 0x60]
xor r13d, r13d
test r14d, r14d
jle 0x140071411
cmp esi, 9
jg 0x140071411
add r14d, 0xffffffff
mov eax, r14d
cvttss2si r8d, dword [rsp + rax*4 + 0x190]
movsxd rax, esi
shl rax, 4
movaps xmm0, xmmword [rsp + 0xa0]
movups xmmword [rsp + rax + 0xf0], xmm0
cmp dil, 0xa
mov rax, qword [rsp + 0x78]
lea rcx, [rsp + 0xb0]
cmove rax, rcx
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x80], xmm0
lea rcx, [rsp + 0xa0]
lea rdx, [rsp + 0x80]
call fcn.140071570
cmp dword [rsp + 0xac], 0
je 0x140071411
add esi, 1
mov dword [rsp + 0xa8], 0
mov dword [rsp + 0x54], r12d
mov r12d, ebx
jmp 0x14006fd93
movsxd rax, r13d
movss xmm0, dword [rsp + rax*4 + 0x190]
movss xmm1, dword [r15 + 0x10]
addss xmm1, xmm12
movss dword [r15 + 0x10], xmm1
addss xmm0, dword [r15 + 0x14]
movss dword [r15 + 0x14], xmm0
cvttss2si r8d, xmm1
cvttss2si r9d, xmm0
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, r15
mov dl, 2
call fcn.140071680
add r13d, 1
cmp r13d, r14d
jge 0x14006fd90
movsxd rax, r13d
movss xmm0, dword [rsp + rax*4 + 0x190]
addss xmm0, dword [r15 + 0x10]
movss dword [r15 + 0x10], xmm0
movss xmm1, dword [r15 + 0x14]
addss xmm1, xmm12
movss dword [r15 + 0x14], xmm1
cvttss2si r8d, xmm0
cvttss2si r9d, xmm1
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, r15
mov dl, 2
call fcn.140071680
add r13d, 1
cmp r13d, r14d
jge 0x14006fd90
jmp 0x140070f50
lea eax, [rdi + 3]
cmp eax, r14d
jge 0x14006fd90
mov ecx, r14d
sub ecx, edi
lea r13d, [rdi + 4]
xorps xmm0, xmm0
cmp ecx, 5
jne 0x140071052
movsxd rcx, r13d
movss xmm0, dword [rsp + rcx*4 + 0x190]
lea ecx, [rdi + 2]
movsxd rcx, ecx
lea edx, [rdi + 1]
movsxd rdx, edx
movsxd rbp, edi
movss xmm1, dword [rsp + rbp*4 + 0x190]
movss xmm2, dword [r15 + 0x10]
addss xmm2, xmm12
addss xmm1, dword [r15 + 0x14]
cvttss2si ebp, xmm2
addss xmm2, dword [rsp + rdx*4 + 0x190]
cvttss2si edx, xmm1
addss xmm1, dword [rsp + rcx*4 + 0x190]
cvttss2si ecx, xmm2
cdqe
addss xmm2, dword [rsp + rax*4 + 0x190]
movss dword [r15 + 0x10], xmm2
addss xmm0, xmm1
movss dword [r15 + 0x14], xmm0
cvttss2si eax, xmm1
cvttss2si r9d, xmm0
cvttss2si r8d, xmm2
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x20], ebp
mov rcx, r15
mov dl, 4
call fcn.140071680
lea eax, [r13 + 3]
cmp eax, r14d
jge 0x14006fd90
mov ecx, r14d
sub ecx, r13d
lea edi, [r13 + 4]
xorps xmm0, xmm0
cmp ecx, 5
jne 0x140071107
movsxd rcx, edi
movss xmm0, dword [rsp + rcx*4 + 0x190]
cdqe
movss xmm1, dword [rsp + rax*4 + 0x190]
lea eax, [r13 + 2]
cdqe
lea ecx, [r13 + 1]
movsxd rcx, ecx
movsxd rdx, r13d
movss xmm2, dword [rsp + rdx*4 + 0x190]
addss xmm2, dword [r15 + 0x10]
movss xmm3, dword [r15 + 0x14]
addss xmm3, xmm12
cvttss2si edx, xmm2
addss xmm2, dword [rsp + rcx*4 + 0x190]
cvttss2si ecx, xmm3
addss xmm3, dword [rsp + rax*4 + 0x190]
addss xmm0, xmm2
movss dword [r15 + 0x10], xmm0
addss xmm1, xmm3
movss dword [r15 + 0x14], xmm1
cvttss2si eax, xmm3
cvttss2si ebp, xmm2
cvttss2si r9d, xmm1
cvttss2si r8d, xmm0
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], ebp
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], edx
mov rcx, r15
mov dl, 4
call fcn.140071680
jmp 0x140071029
movss xmm0, dword [rsp + 0x194]
movss xmm14, dword [rsp + 0x1a8]
movss xmm15, dword [rsp + 0x1ac]
movss xmm6, dword [rsp + 0x1b0]
movss xmm9, dword [rsp + 0x1b4]
movss xmm7, dword [rsp + 0x1b8]
movss xmm8, dword [rsp + 0x1bc]
movss xmm1, dword [r15 + 0x10]
addss xmm1, xmm13
addss xmm0, dword [r15 + 0x14]
cvttss2si eax, xmm1
addss xmm1, dword [rsp + 0x198]
cvttss2si ecx, xmm0
addss xmm0, dword [rsp + 0x19c]
cvttss2si edx, xmm1
addss xmm1, dword [rsp + 0x1a0]
cvttss2si ebp, xmm0
addss xmm0, dword [rsp + 0x1a4]
movss dword [r15 + 0x10], xmm1
movss dword [r15 + 0x14], xmm0
cvttss2si r9d, xmm0
cvttss2si r8d, xmm1
mov dword [rsp + 0x38], ebp
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], eax
mov rcx, r15
mov dl, 4
call fcn.140071680
addss xmm14, dword [r15 + 0x10]
addss xmm15, dword [r15 + 0x14]
addss xmm6, xmm14
addss xmm9, xmm15
addss xmm7, xmm6
movss dword [r15 + 0x10], xmm7
addss xmm8, xmm9
movss dword [r15 + 0x14], xmm8
cvttss2si eax, xmm9
cvttss2si ecx, xmm6
cvttss2si edx, xmm15
cvttss2si ebp, xmm14
cvttss2si r9d, xmm8
cvttss2si r8d, xmm7
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x20], ebp
mov rcx, r15
mov dl, 4
call fcn.140071680
xor r14d, r14d
cmp dword [0x14027ddcc], 0xa
jl 0x1400713f9
mov eax, dword [0x14027ddc8]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1400713f9
movss xmm0, dword [rsp + 0x194]
movss xmm14, dword [rsp + 0x1a8]
movss xmm8, dword [rsp + 0x1ac]
movss xmm9, dword [rsp + 0x1b0]
movss xmm6, dword [rsp + 0x1b4]
movss xmm15, dword [rsp + 0x1b8]
movss xmm7, dword [rsp + 0x1bc]
movss xmm1, dword [r15 + 0x10]
addss xmm1, xmm13
addss xmm0, dword [r15 + 0x14]
cvttss2si eax, xmm1
addss xmm1, dword [rsp + 0x198]
cvttss2si ecx, xmm0
addss xmm0, dword [rsp + 0x19c]
cvttss2si edx, xmm1
addss xmm1, dword [rsp + 0x1a0]
cvttss2si ebp, xmm0
addss xmm0, dword [rsp + 0x1a4]
movss dword [r15 + 0x10], xmm1
movss dword [r15 + 0x14], xmm0
cvttss2si r9d, xmm0
cvttss2si r8d, xmm1
mov dword [rsp + 0x38], ebp
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], eax
mov rcx, r15
mov dl, 4
call fcn.140071680
addss xmm14, dword [r15 + 0x10]
addss xmm8, dword [r15 + 0x14]
addss xmm9, xmm14
addss xmm6, xmm8
addss xmm15, xmm9
movss dword [r15 + 0x10], xmm15
addss xmm7, xmm6
movss dword [r15 + 0x14], xmm7
cvttss2si eax, xmm6
cvttss2si ecx, xmm9
cvttss2si edx, xmm8
cvttss2si ebp, xmm14
cvttss2si r9d, xmm7
cvttss2si r8d, xmm15
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x20], ebp
mov rcx, r15
mov dl, 4
call fcn.140071680
jmp 0x14007119b
movaps xmm9, xmmword [0x1401cb0b0]
movaps xmm15, xmmword [0x140118700]
jmp 0x14006fd93
xor r13d, r13d
mov rcx, qword [rsp + 0x258]
xor rcx, rsp
call fcn.1400c4bd0
mov eax, r13d
movaps xmm6, xmmword [rsp + 0x260]
movaps xmm7, xmmword [rsp + 0x270]
movaps xmm8, xmmword [rsp + 0x280]
movaps xmm9, xmmword [rsp + 0x290]
movaps xmm10, xmmword [rsp + 0x2a0]
movaps xmm11, xmmword [rsp + 0x2b0]
movaps xmm12, xmmword [rsp + 0x2c0]
movaps xmm13, xmmword [rsp + 0x2d0]
movaps xmm14, xmmword [rsp + 0x2e0]
movaps xmm15, xmmword [rsp + 0x2f0]
add rsp, 0x308
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movss xmm0, dword [r15 + 8]
movss xmm1, dword [r15 + 0xc]
ucomiss xmm0, dword [r15 + 0x10]
jne 0x1400714ae
jp 0x1400714ae
ucomiss xmm1, dword [r15 + 0x14]
jne 0x1400714ae
jnp 0x1400714e2
cvttss2si r9d, xmm1
cvttss2si r8d, xmm0
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, r15
mov dl, 2
call fcn.140071680
mov r13d, 1
jmp 0x140071411