Function at 0x140322b50
Capabilities:
Encrypt data using speck

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
mov rsi, rcx
lea rdi, [rcx + 0x28]
mov eax, dword [0x140566bcc]
cmp eax, 0x4b
jge 0x140322b90
movsxd rax, dword [0x14044a220]
lea rcx, [fcn.140322b50]
add ecx, ecx
add ecx, 0x4180
mov edx, ecx
not edx
test edx, ecx
je 0x140322bb9
mov eax, dword [0x14044a220]
mov eax, dword [0x140566bcc]
cmp eax, 0x1a
jge 0x140322b90
jmp 0x140322b72
mov ecx, dword [0x140566bcc]
cmp ecx, 0x20
mov ecx, dword [0x140566bcc]
cmp ecx, 0x2f
jg 0x140322bb0
mov ecx, dword [0x140566bc8]
movabs rcx, 0x1f43ee0df808b0a7
add rax, rcx
movabs rcx, 0x85c98f5642c4eef4
xor rcx, rax
movabs rdx, 0x5c98f5642c4eef4
and rdx, rax
lea rax, [rcx + rdx*2]
movabs r14, 0xe0bc11f207f74f59
add r14, rax
mov ecx, 0x25dd221a
nop word [rax + rax]
mov edx, dword [0x140566bc8]
lea eax, [rdx - 1]
imul eax, edx
mov r8d, dword [0x140543aa8]
add r8d, ecx
xor edx, edx
div r8d
test edx, edx
jne 0x140322c10
lea rax, [0x14044a220]
add r14, rax
mov eax, 0x25dd2218
add eax, dword [0x140543aa8]
lea rcx, [fcn.140322b50]
add ecx, ecx
add ecx, 0x3180
mov edx, ecx
not edx
and edx, ecx
cmp edx, eax
jne 0x140322c82
mov ebp, dword [0x14044a228]
mov ecx, dword [0x140566bc8]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, 0x25dd221a
add ecx, dword [0x140543aa8]
xor edx, edx
div ecx
test edx, edx
je 0x140322c8a
mov eax, dword [0x14044a228]
jmp 0x140322c5d
mov rax, qword [rsi + 0x30]
cmp rax, qword [rsi + 0x28]
je 0x140322ca5
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsi]
mov r13, qword [rax + 0x378]
sub r13, qword [rax + 0x370]
mov rbx, qword [rax + 0x350]
sar r13, 5
movabs r11, 0xcccccccccccccccd
imul r13, r11
mov ecx, dword [0x1405640a8]
mov edx, ecx
xor edx, r13d
and ecx, r13d
lea r12d, [rdx + rcx*2]
sub rbx, qword [rax + 0x348]
lea eax, [rdx + rcx*2]
add eax, 0x1f
cdq
idiv r12d
cmp eax, 3
mov r15d, 2
cmovge r15d, eax
lea eax, [r15 + 6]
mov dword [rsi + 8], eax
lea rcx, [rsi + 0x10]
movsxd rdx, r13d
mov r9, qword [rsi + 0x10]
mov rax, qword [rsi + 0x18]
mov r10, qword [0x140543ab0]
add r10, r9
mov r8, rax
sub r8, r10
movabs r10, 0x5ab65ba3fb872e9b
add r8, r10
sar r8, 4
imul r8, r11
cmp rdx, r8
jae 0x140322d7f
lea rdx, [rdx + rdx*4]
shl rdx, 4
lea rcx, [r9 + rdx]
cmp rcx, rax
mov r10, rbx
je 0x140322dab
add rdx, r9
add rdx, 0x50
xorps xmm0, xmm0
nop dword [rax]
movups xmmword [rdx - 0x14], xmm0
movups xmmword [rdx - 0x20], xmm0
movups xmmword [rdx - 0x30], xmm0
movups xmmword [rdx - 0x40], xmm0
movups xmmword [rdx - 0x50], xmm0
cmp rdx, rax
je 0x140322dab
add rdx, 0x50
jmp 0x140322d60
mov r10, rbx
jbe 0x140322daf
mov r10, qword [rsi + 0x20]
sub r10, r9
sar r10, 4
imul r10, r11
cmp r10, rdx
jae 0x140322ec2
lea r8, [rsp + 0x38]
call fcn.140323ee0
mov r10, rbx
jmp 0x140322daf
mov qword [rsi + 0x18], rcx
sar r10, 3
movabs r8, 0xaaaaaaaaaaaaaaab
mov rcx, qword [rsi + 0x10]
mov rax, qword [rsi + 0x18]
movabs r9, 0xa549a45c0478d1b5
add r9, qword [0x140543ab0]
sub rax, rcx
mov rdx, rax
or rdx, r9
shr rdx, 0x20
je 0x140322dec
cqo
idiv r9
jmp 0x140322df1
xor edx, edx
div r9d
imul r10, r8
mov qword [rsp + 0x30], r10
test eax, eax
jle 0x140322e45
mov eax, 0x18
mov edx, 1
nop dword [rax + rax]
mov r8, qword [rsi]
mov r8, qword [r8 + 0x3a8]
mov qword [rcx + rax], r8
mov rcx, qword [rsi + 0x10]
mov r8, qword [rsi + 0x18]
sub r8, rcx
shr r8, 4
imul r8d, r8d, 0xcccccccd
movsxd r8, r8d
cmp rdx, r8
jge 0x140322e45
add rax, 0x50
inc rdx
jmp 0x140322e10
mov r9, qword [rsi + 0x40]
mov rax, qword [rsi + 0x48]
mov r10, rax
sub r10, r9
movzx ecx, byte [0x140543ab0]
add cl, 0x66
sar r10, cl
lea rbx, [rsi + 0x40]
movsxd rdx, dword [rsp + 0x30]
mov r8, rdx
sub r8, r10
mov qword [rsp + 0x50], r15
jae 0x140322e83
lea rax, [r9 + rdx*2]
mov qword [rsi + 0x48], rax
jmp 0x140322f55
jbe 0x140322f55
mov rcx, qword [0x140543ab0]
sub rcx, qword [rsi + 0x50]
add rcx, r9
movabs r9, 0x5ab65ba3fb872e9b
sub r9, rcx
sar r9, 1
cmp r9, rdx
jae 0x140322f40
lea r8, [rsp + 0x40]
mov rcx, rbx
call fcn.140324550
jmp 0x140322f55
mov rcx, rdx
sub rcx, r8
je 0x140323a5c
not r8
movabs r9, 0xa549a45c0478d164
add r9, qword [0x140543ab0]
and r9, r8
add rdx, r9
mov r8, rcx
not r8
mov r9, rcx
xor r9, 7
and r8, 0xfffffffffffffff8
or r8, r9
xor r8, 0xffffffffffffffff
je 0x140323916
add rax, 0x50
xor r9d, r9d
xorps xmm0, xmm0
movups xmmword [rax - 0x14], xmm0
movups xmmword [rax - 0x20], xmm0
movups xmmword [rax - 0x30], xmm0
movups xmmword [rax - 0x40], xmm0
movups xmmword [rax - 0x50], xmm0
mov r10, rcx
not r10
lea rcx, [r10 + rcx*2]
inc r9
cmp r9, r8
je 0x140323916
add rax, 0x50
jmp 0x140322f10
lea r15, [rax + r8*2]
add r8, r8
mov rcx, rax
xor edx, edx
call fcn.14040c5e0
mov qword [rsi + 0x48], r15
movabs r15, 0xa549a45c0478d166
mov dword [rsp + 0x28], r12d
test r12d, r12d
jle 0x140322ffb
mov rcx, r13
not rcx
mov edx, 0xffffffff
xor rdx, r13
movabs rax, 0xffffffff00000000
and rcx, rax
or rcx, rdx
add rcx, 2
xor edx, edx
xor r8d, r8d
nop word cs:[rax + rax]
mov r9, qword [rsi]
mov r10, qword [rsi + 0x10]
mov r9, qword [r9 + 0x370]
lea r11, [r9 + rdx]
mov eax, dword [r9 + rdx + 0x18]
mov r12, qword [0x140543ab0]
add r12, r15
mov qword [r10 + r8], r12
mov dword [r10 + r8 + 0x44], eax
mov rax, qword [rsi + 0x10]
mov qword [rax + r8 + 0x10], r11
movsxd rax, dword [r9 + rdx + 0x24]
movzx r9d, word [rsi + 8]
mov r10, qword [rsi + 0x40]
add word [r10 + rax*2], r9w
test rcx, rcx
je 0x140322ffb
add r8, 0x50
add rdx, 0xa0
inc rcx
jmp 0x140322fa0
mov qword [rsp + 0x60], r13
mov ecx, 0x25dd2218
add ecx, dword [0x140543aa8]
xor r13d, r13d
mov r10, qword [rsp + 0x30]
cmp r10d, ecx
jle 0x140323051
mov rcx, r10
not rcx
mov r8d, 0xffffffff
xor r8, r10
movabs rax, 0xffffffff00000000
and rcx, rax
or rcx, r8
mov rax, rcx
not rax
dec rax
and r10d, 3
cmp rax, 3
jae 0x140323060
xor edx, edx
jmp 0x14032318f
movabs r11, 0xcccccccccccccccd
jmp 0x1403231df
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x30], r10
add rcx, r10
add rcx, 5
xor edx, edx
movabs r10, 0x7ffffffffffffffc
xor r13d, r13d
movabs r11, 0x7ffffffffffffffd
nop word [rax + rax]
mov r12, qword [rbx]
movzx r14d, word [r12 + rdx*2]
mov r8d, dword [0x140565298]
mov eax, 0xf41b8539
add r8d, eax
mov r9d, r8d
xor r9d, r14d
and r8d, r14d
lea r8d, [r9 + r8*2]
mov r9d, r8d
xor r9d, 0xbe47ac7
and r8d, 0xbe47ac7
lea r8d, [r9 + r8*2]
add r8d, r13d
mov word [r12 + rdx*2], r8w
mov r13, rdx
not r13
mov r9d, edx
and r9d, 1
mov r14, rdx
xor r14, 1
or r14, r9
mov r9, qword [rbx]
movzx r12d, word [r9 + r14*2]
add r12d, r8d
mov word [r9 + r14*2], r12w
mov r8, rdx
xor r8, 2
mov r9, r13
and r9, 0xfffffffffffffffd
xor r9, r8
mov r14, r9
not r14
mov rax, rdx
xor rax, r11
and rax, r14
and r14, r8
and r9, r8
or rax, r9
or rax, r14
mov r8, qword [rbx]
movzx r9d, word [r8 + rax*2]
add r9d, r12d
mov word [r8 + rax*2], r9w
mov rax, rdx
xor rax, 3
and r13, r10
xor r13, rax
not r13
and eax, 3
mov r8, rdx
and r8, r10
or r8, rax
or r8, r13
mov rax, qword [rbx]
movzx r13d, word [rax + r8*2]
add r13d, r9d
mov word [rax + r8*2], r13w
add rdx, qword [0x140543ab0]
movabs rax, 0xa549a45c0478d169
add rdx, rax
test rcx, rcx
je 0x140323185
add rcx, 4
jmp 0x140323090
mov r14, qword [rsp + 0x58]
mov r10, qword [rsp + 0x30]
test r10, r10
movabs r11, 0xcccccccccccccccd
je 0x1403231dc
add rdx, rdx
xor ecx, ecx
nop word cs:[rax + rax]
mov r8d, r13d
mov r9, qword [rbx]
movzx r13d, word [r9 + rdx]
add r13d, r8d
mov word [r9 + rdx], r13w
mov r8, rcx
xor r8, 1
and ecx, 1
lea rcx, [r8 + rcx*2]
cmp rcx, r10
je 0x1403231dc
add rdx, 2
jmp 0x1403231b0
mov r13d, r13d
movabs rbx, 0x7a3670a9bd3b110c
mov rcx, qword [rsi + 0x28]
mov rax, qword [rsi + 0x30]
mov r8, rax
sub r8, rcx
sar r8, 4
imul r8, r11
cmp r13, r8
jae 0x14032324f
lea r8, [r13*4]
add r8, r13
shl r8, 4
lea rdx, [rcx + r8]
cmp rdx, rax
mov r12d, dword [rsp + 0x28]
je 0x14032328d
add rcx, r8
add rcx, 0x50
xorps xmm0, xmm0
nop dword [rax + rax]
movups xmmword [rcx - 0x14], xmm0
movups xmmword [rcx - 0x20], xmm0
movups xmmword [rcx - 0x30], xmm0
movups xmmword [rcx - 0x40], xmm0
movups xmmword [rcx - 0x50], xmm0
cmp rcx, rax
je 0x14032328d
add rcx, 0x50
jmp 0x140323230
mov r12d, dword [rsp + 0x28]
jbe 0x140323291
mov r9, qword [rsi + 0x38]
neg rcx
mov r10, r9
xor r10, rcx
and rcx, r9
lea rcx, [r10 + rcx*2]
sar rcx, 4
imul rcx, r11
cmp rcx, r13
jae 0x140323861
lea r8, [rsp + 0x48]
mov rcx, rdi
mov rdx, r13
call fcn.140323ee0
jmp 0x140323291
mov qword [rsi + 0x30], rdx
add r14, rbx
mov r11d, dword [0x140543100]
lea edx, [r11 + 1]
mov dword [0x140543100], edx
nop word cs:[rax + rax]
mov eax, dword [0x140566bc8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1403232cc
mov eax, dword [0x140566bcc]
cmp eax, 0xd
jle 0x1403232e3
mov eax, dword [0x140566bc8]
mov ecx, 1
sub ecx, eax
imul ecx, eax
test cl, 1
jne 0x1403232b0
jmp 0x1403232c1
test r11d, edx
mov r8, qword [rsp + 0x60]
jne 0x1403232f5
test ebp, ebp
jg 0x14032382b
xor eax, eax
mov qword [rsp + 0x28], rax
test r12d, r12d
jle 0x140323763
mov eax, r8d
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x50]
mov ecx, eax
and ecx, 1
mov dword [rsp + 0x58], ecx
mov ecx, eax
not ecx
xor eax, 0x7ffffffe
and ecx, 0x80000001
or ecx, eax
mov eax, 0x25dd2218
mov r8d, dword [0x140543aa8]
add r8d, eax
mov dword [rsp + 0x6c], r8d
add ecx, 3
mov dword [rsp + 0x50], ecx
xor r13d, r13d
and r11d, edx
lea r14, [fcn.140322b50]
lea ebp, [r14 + r14]
add ebp, 0x200
mov r12d, 0x25dd2226
mov ebx, 0x25dd2219
xor edx, edx
mov qword [rsp + 0x70], r11
mov dword [rsp + 0x4c], ebp
jmp 0x1403233bd
mov rax, qword [rdi]
mov qword [rax + r9 + 0xa0], 1
mov dword [rax + r9 + 0xe4], r8d
mov rdx, qword [0x140543ab0]
sub rdx, r10
mov r11, qword [rsp + 0x70]
mov r13, qword [rsp + 0x30]
mov ebp, dword [rsp + 0x4c]
inc r13
cmp r13, qword [rsp + 0x60]
je 0x140323763
mov r8, qword [rsi]
mov eax, dword [0x140566bcc]
mov r9d, dword [0x140543aa8]
mov ecx, 0x25dd2247
add r9d, ecx
cmp eax, r9d
jl 0x1403233f0
jmp 0x140323470
mov eax, dword [rsp + 0x6c]
cmp dword [rsp + 0x58], eax
jne 0x140323380
neg rdx
jmp 0x1403233a1
cmp r11d, 1
mov r10d, 0
sbb r10, r10
mov rax, qword [0x14044a240]
mov ecx, ebp
not ecx
test ecx, ebp
jne 0x140323470
sub rax, qword [rsp + 0x28]
mov rcx, rax
not rcx
mov r9, r10
not r9
and rcx, r9
and rax, r10
or rax, rcx
xor r9, rax
and r9, rax
nop dword [rax]
cmp dword [0x140543aa8], 0xda22dde8
jne 0x14032344f
mov eax, dword [0x140566bcc]
mov ecx, dword [0x140543aa8]
add ecx, r12d
cmp eax, ecx
jl 0x140323480
mov eax, dword [0x140543aa8]
add eax, ebx
lea ecx, [r14 + r14]
add ecx, 0x4860
test eax, ecx
jne 0x140323430
jmp 0x14032343c
mov rax, qword [0x14044a240]
jmp 0x1403233f0
mov rax, r9
shr rax, 0x20
mov ecx, r9d
not ecx
mov r10d, r9d
xor r10d, eax
mov r11d, ecx
xor ecx, eax
not eax
and r11d, eax
or r11d, r10d
not r11d
and eax, r9d
or ecx, eax
not ecx
or ecx, eax
or ecx, r11d
sub ecx, dword [0x140543aa8]
add ecx, dword [0x1405640a8]
mov r9d, 0x25dd2218
sub r9d, ecx
mov eax, dword [0x140566bc8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov r11d, 0xc3291f81
jne 0x140323520
nop word [rax + rax]
mov eax, dword [0x140543aa8]
add eax, r11d
mov ecx, eax
xor ecx, 0x62b40298
and eax, 0x62b40298
lea eax, [rcx + rax*2]
lea ecx, [r14 + r14]
add ecx, 0x41c0
mov r10d, ecx
xor r10d, eax
not eax
not ecx
and ecx, eax
or ecx, r10d
cmp ecx, 0xffffffff
je 0x140323540
nop word [rax + rax]
mov eax, dword [0x140566bc8]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
jne 0x140323520
jmp 0x1403234e0
neg r9d
mov dword [0x1405640a8], r9d
mov rax, qword [r8 + 0x370]
mov qword [rsp + 0x30], r13
lea r8, [r13*4]
add r8, r13
shl r8, 5
cmp dword [rsi + 8], 0
movsxd rdx, edx
jle 0x1403235a8
lea r9, [rax + r8]
xor r10d, r10d
nop word cs:[rax + rax]
lea rcx, [r10 + rdx]
mov r13, qword [rsi + 0x28]
lea rcx, [rcx + rcx*4]
shl rcx, 4
mov qword [r13 + rcx + 0x10], r9
add r10, qword [0x140543ab0]
add r10, r15
movsxd rcx, dword [rsi + 8]
cmp r10, rcx
jl 0x140323580
mov r9d, dword [rax + r8 + 0x18]
mov eax, r9d
not eax
mov r8d, r9d
xor r8d, 0x30000000
mov r10d, r9d
xor r10d, 0xcfffffff
and r10d, eax
or r10d, r8d
mov r8d, dword [0x140543aa8]
mov r13d, r8d
xor r13d, 0x73256acb
mov ecx, r8d
and ecx, 0x73256acb
lea ecx, [r13 + rcx*2 - 0x4d8888b3]
mov r13d, eax
xor r13d, r9d
and r13d, ecx
xor r13d, r9d
and eax, 0x403fff
or eax, r13d
cmp r10d, 0xdfffffff
not eax
cmove eax, r9d
add r8d, 0x259d2217
xor r8d, eax
not r8d
and r8d, eax
mov rax, qword [rdi]
lea rcx, [rdx + rdx*4]
shl rcx, 4
mov qword [rax + rcx], 6
mov dword [rax + rcx + 0x44], r8d
mov eax, dword [0x140543aa8]
add eax, edx
add eax, 0x25dd2219
cdqe
mov rcx, qword [rdi]
lea rax, [rax + rax*4]
shl rax, 4
mov qword [rcx + rax], 2
mov dword [rcx + rax + 0x44], r8d
lea eax, [rdx + 2]
cdqe
mov rcx, qword [rdi]
lea rax, [rax + rax*4]
shl rax, 4
mov qword [rcx + rax], 3
mov dword [rcx + rax + 0x44], r8d
lea eax, [rdx + 3]
cdqe
mov rcx, qword [rdi]
lea rax, [rax + rax*4]
shl rax, 4
mov qword [rcx + rax], 7
mov dword [rcx + rax + 0x44], r8d
lea eax, [rdx + 4]
cdqe
mov rcx, qword [rdi]
lea rax, [rax + rax*4]
shl rax, 4
mov qword [rcx + rax], 5
mov dword [rcx + rax + 0x44], r8d
lea eax, [rdx + 5]
cdqe
mov rcx, qword [rdi]
lea rax, [rax + rax*4]
shl rax, 4
mov qword [rcx + rax], 1
mov dword [rcx + rax + 0x44], r8d
add edx, 6
movsxd r13, edx
movabs r10, 0x5ab65ba3fb872e98
sub r10, r13
mov rax, r13
shl rax, 4
lea r9, [rax + rax*4]
mov rdx, 0xfffffffffffffffe
sub rdx, r13
add r13, r15
mov eax, dword [rsp + 0x50]
nop word cs:[rax + rax]
mov rcx, qword [rdi]
mov qword [rcx + r9], 1
mov dword [rcx + r9 + 0x44], r8d
mov rcx, qword [0x140543ab0]
lea rbp, [rcx + r13]
mov r11, qword [rdi]
lea rbp, [rbp + rbp*4]
shl rbp, 4
add rcx, r15
mov qword [r11 + rbp], rcx
mov dword [r11 + rbp + 0x44], r8d
test eax, eax
je 0x1403233e0
add r10, 0xfffffffffffffffe
add r9, 0xa0
add rdx, 0xfffffffffffffffe
add r13, 2
add eax, 2
jmp 0x140323710
mov rax, qword [rsi + 0x28]
mov rcx, qword [rsi + 0x30]
movabs rdx, 0xf16cf33de78b8d98
xor rdx, rcx
movabs r8, 0x716cf33de78b8d98
and r8, rcx
add r8, r8
mov rcx, rdx
xor rcx, r8
and r8, rdx
lea rcx, [rcx + r8*2]
sub rcx, rax
movabs rdx, 0xe930cc218747268
add rdx, rcx
shr rdx, 4
imul ecx, edx, 0xcccccccd
test ecx, ecx
jle 0x140322c94
mov edx, 0x18
mov r8d, 1
nop word cs:[rax + rax]
mov rcx, qword [rsi]
mov rcx, qword [rcx + 0x3a8]
mov qword [rax + rdx], rcx
mov rax, qword [rsi + 0x28]
mov rcx, qword [rsi + 0x30]
sub rcx, rax
shr rcx, 4
imul r9d, ecx, 0xcccccccd
shl r9, 0x20
mov ecx, dword [0x140543ab0]
mov r10d, ecx
xor r10d, 0x478d185
not ecx
and ecx, 0x7a
or ecx, r10d
not ecx
lea ecx, [r10 + rcx*2]
sar r9, cl
cmp r8, r9
jge 0x140322c94
add rdx, 0x50
inc r8
jmp 0x1403237d0
mov eax, 8
xor ecx, ecx
mov qword [rsp + 0x28], rcx
nop word [rax + rax]
lea ecx, [rax - 8]
movsxd rcx, ecx
mov r9, qword [rsp + 0x28]
xor r9, qword [r14 + rcx]
mov qword [rsp + 0x28], r9
cmp eax, ebp
jge 0x1403232fc
add eax, 8
jmp 0x140323840
mov rcx, r13
sub rcx, r8
je 0x140323a53
mov r9, qword [0x140543ab0]
movabs r10, 0xa549a45c0478d164
xor r10, r9
movabs r11, 0x2549a45c0478d164
and r11, r9
lea r10, [r10 + r11*2]
movabs rdx, 0x5ab65ba3fb872e9b
sub rdx, r9
mov r9, rdx
and r9, r10
not r10
xor rdx, r10
and rdx, r10
or rdx, r9
and rdx, r8
xor rdx, r8
not rdx
add rdx, r13
mov r10d, ecx
not r10d
or r10, 0xfffffffffffffff8
cmp r10, 0xffffffffffffffff
je 0x140323a4d
add rax, 0x50
mov r9, 0xfffffffffffffffe
sub r9, r10
xor ecx, ecx
xorps xmm0, xmm0
nop word cs:[rax + rax]
movups xmmword [rax - 0x14], xmm0
movups xmmword [rax - 0x20], xmm0
movups xmmword [rax - 0x30], xmm0
movups xmmword [rax - 0x40], xmm0
movups xmmword [rax - 0x50], xmm0
cmp r9, rcx
je 0x140323a44
inc rcx
add rax, 0x50
jmp 0x1403238f0
cmp rdx, 7
mov r10, rbx
jb 0x140323a5f
add rcx, 0xfffffffffffffff8
add rax, 0x280
xorps xmm0, xmm0
movups xmmword [rax - 0x244], xmm0
movups xmmword [rax - 0x250], xmm0
movups xmmword [rax - 0x260], xmm0
movups xmmword [rax - 0x270], xmm0
movups xmmword [rax - 0x280], xmm0
movups xmmword [rax - 0x230], xmm0
movups xmmword [rax - 0x220], xmm0
movups xmmword [rax - 0x210], xmm0
movups xmmword [rax - 0x200], xmm0
movups xmmword [rax - 0x1f4], xmm0
movups xmmword [rax - 0x1e0], xmm0
movups xmmword [rax - 0x1d0], xmm0
movups xmmword [rax - 0x1c0], xmm0
movups xmmword [rax - 0x1b0], xmm0
movups xmmword [rax - 0x1a4], xmm0
movups xmmword [rax - 0x190], xmm0
movups xmmword [rax - 0x180], xmm0
movups xmmword [rax - 0x170], xmm0
movups xmmword [rax - 0x160], xmm0
movups xmmword [rax - 0x154], xmm0
movups xmmword [rax - 0x104], xmm0
movups xmmword [rax - 0x110], xmm0
movups xmmword [rax - 0x120], xmm0
movups xmmword [rax - 0x130], xmm0
movups xmmword [rax - 0x140], xmm0
movups xmmword [rax - 0xf0], xmm0
movups xmmword [rax - 0xe0], xmm0
movups xmmword [rax - 0xd0], xmm0
movups xmmword [rax - 0xc0], xmm0
movups xmmword [rax - 0xb4], xmm0
movups xmmword [rax - 0xa0], xmm0
movups xmmword [rax - 0x90], xmm0
movups xmmword [rax - 0x80], xmm0
movups xmmword [rax - 0x70], xmm0
movups xmmword [rax - 0x64], xmm0
movups xmmword [rax - 0x50], xmm0
movups xmmword [rax - 0x40], xmm0
movups xmmword [rax - 0x30], xmm0
movups xmmword [rax - 0x20], xmm0
movups xmmword [rax - 0x14], xmm0
test rcx, rcx
je 0x140323a5f
add rcx, 0xfffffffffffffff8
add rax, 0x280
jmp 0x140323930
sub r13, r8
not rcx
add rcx, r13
cmp rdx, 7
jae 0x140323a68
mov qword [rsi + 0x30], rax
jmp 0x140323291
mov r10, rbx
mov qword [rsi + 0x18], rax
jmp 0x140322daf
add rax, 0x280
xorps xmm0, xmm0
movabs rdx, 0x34d0cfbcea6bdeee
movabs r8, 0xcb2f30431594210a
movabs r9, 0x4b2f30431594210a
nop
add rcx, rdx
movups xmmword [rax - 0x244], xmm0
movups xmmword [rax - 0x250], xmm0
movups xmmword [rax - 0x260], xmm0
movups xmmword [rax - 0x270], xmm0
movups xmmword [rax - 0x280], xmm0
movups xmmword [rax - 0x230], xmm0
movups xmmword [rax - 0x220], xmm0
movups xmmword [rax - 0x210], xmm0
movups xmmword [rax - 0x200], xmm0
movups xmmword [rax - 0x1f4], xmm0
movups xmmword [rax - 0x1e0], xmm0
movups xmmword [rax - 0x1d0], xmm0
movups xmmword [rax - 0x1c0], xmm0
movups xmmword [rax - 0x1b0], xmm0
movups xmmword [rax - 0x1a4], xmm0
movups xmmword [rax - 0x190], xmm0
movups xmmword [rax - 0x180], xmm0
movups xmmword [rax - 0x170], xmm0
movups xmmword [rax - 0x160], xmm0
movups xmmword [rax - 0x154], xmm0
movups xmmword [rax - 0x104], xmm0
movups xmmword [rax - 0x110], xmm0
movups xmmword [rax - 0x120], xmm0
movups xmmword [rax - 0x130], xmm0
movups xmmword [rax - 0x140], xmm0
movups xmmword [rax - 0xf0], xmm0
movups xmmword [rax - 0xe0], xmm0
movups xmmword [rax - 0xd0], xmm0
movups xmmword [rax - 0xc0], xmm0
movups xmmword [rax - 0xb4], xmm0
movups xmmword [rax - 0xa0], xmm0
movups xmmword [rax - 0x90], xmm0
movups xmmword [rax - 0x80], xmm0
movups xmmword [rax - 0x70], xmm0
movups xmmword [rax - 0x64], xmm0
movups xmmword [rax - 0x50], xmm0
movups xmmword [rax - 0x40], xmm0
movups xmmword [rax - 0x30], xmm0
movups xmmword [rax - 0x20], xmm0
movups xmmword [rax - 0x14], xmm0
mov r10, rcx
xor r10, r8
and rcx, r9
add rcx, rcx
add rcx, r10
je 0x140323a53
add rax, 0x280
jmp 0x140323a90