Function at 0x1401942f0
Capabilities:
Encrypt data using speck
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1d0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
mov rax, qword [0x1404b0028]
xor rax, rsp
mov qword [rsp + 0x158], rax
mov rbp, rcx
mov rbx, qword [rcx + 0x40]
mov rdx, rbx
sub rdx, qword [rcx + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rdx
mov rsi, rdx
sar rsi, 2
mov rax, rsi
shr rax, 0x3f
add rsi, rax
mov qword [rsp + 0x50], rsi
mov edi, dword [rcx + 0x30]
movd xmm7, edi
cvtdq2ps xmm7, xmm7
mulss xmm7, dword [0x140373dd4]
movaps xmm0, xmm7
call fcn.1402f2e30
cvttss2si r13d, xmm0
mov dword [rsp + 0x44], r13d
mov r14d, dword [rbp + 0x34]
movd xmm0, r14d
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x140373dd4]
call fcn.1402f2e30
cvttss2si ecx, xmm0
mov dword [rsp + 0x40], ecx
lea eax, [r13*8]
sub edi, eax
add edi, 8
mov dword [rsp + 0x8c], edi
lea eax, [rcx*8]
sub r14d, eax
add r14d, 8
mov dword [rsp + 0x88], r14d
movaps xmm0, xmm7
call fcn.1402f4fa0
cvttss2si edi, xmm0
mov dword [rsp + 0x38], edi
mov r15, qword [rbp + 0x18]
mov qword [rsp + 0x78], r15
xorps xmm0, xmm0
movdqu xmmword [rsp + 0xb8], xmm0
xor r14d, r14d
mov qword [rsp + 0xc8], r14
test rsi, rsi
je 0x1401944bd
movabs rax, 0x1fffffffffffffff
cmp rsi, rax
ja 0x140195312
lea rbx, [rsi*8]
cmp rbx, 0x1000
jb 0x14019446f
lea rcx, [rbx + 0x27]
cmp rcx, rbx
jbe 0x140195318
call fcn.140048eb4
test rax, rax
je 0x14019530c
lea r12, [rax + 0x27]
and r12, 0xffffffffffffffe0
mov qword [r12 - 8], rax
jmp 0x140194489
test rbx, rbx
je 0x140194486
mov rcx, rbx
call fcn.140048eb4
mov r12, rax
mov qword [rsp + 0x60], rax
jmp 0x14019448e
xor r12d, r12d
mov qword [rsp + 0x60], r12
mov qword [rsp + 0xb8], r12
lea r14, [r12 + rbx]
mov qword [rsp + 0xc8], r14
mov r8, rbx
xor edx, edx
mov rcx, r12
call fcn.1402d1c50
mov qword [rsp + 0xc0], r14
mov rbx, qword [rbp + 0x40]
jmp 0x1401944ca
mov r12, qword [rsp + 0xb8]
mov qword [rsp + 0x60], r12
sub rbx, qword [rbp + 0x38]
movabs r14, 0x2aaaaaaaaaaaaaab
mov rax, r14
imul rbx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x90], xmm0
mov qword [rsp + 0xa0], 0
lea r8, [rsp + 0x20]
lea rcx, [rsp + 0x90]
call fcn.14019a1d0
nop
mov r8, qword [rbp + 0x58]
sub r8, qword [rbp + 0x50]
sar r8, 2
mov rcx, qword [rbp + 0x40]
sub rcx, qword [rbp + 0x38]
mov rax, r14
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r8, rdx
jne 0x14019531e
lea rax, [rdx - 1]
test rax, 0xfffffffffffffffd
jne 0x140195347
movsxd rdx, esi
mov qword [rsp + 0x70], rdx
lea rcx, [rbp + 0x68]
call fcn.1401a0810
mov eax, r13d
imul eax, esi
shl eax, 6
movsxd rcx, eax
lea rcx, [rcx*2 + 0x20]
call fcn.140048ef0
mov r8, rax
mov qword [rsp + 0xd8], rax
lea rcx, [rax + 1]
test cl, 0xf
mov rdx, rax
cmove rdx, rcx
lea rcx, [rax + 2]
test cl, 0xf
cmove rdx, rcx
add rax, 3
test al, 0xf
cmove rdx, rax
lea rax, [r8 + 4]
test al, 0xf
cmove rdx, rax
lea rax, [r8 + 5]
test al, 0xf
cmove rdx, rax
lea rax, [r8 + 6]
test al, 0xf
cmove rdx, rax
lea rax, [r8 + 7]
test al, 0xf
cmove rdx, rax
lea rax, [r8 + 8]
test al, 0xf
cmove rdx, rax
lea rax, [r8 + 9]
test al, 0xf
cmove rdx, rax
lea rax, [r8 + 0xa]
test al, 0xf
cmove rdx, rax
lea rax, [r8 + 0xb]
test al, 0xf
cmove rdx, rax
lea rax, [r8 + 0xc]
test al, 0xf
cmove rdx, rax
lea rax, [r8 + 0xd]
test al, 0xf
cmove rdx, rax
lea rax, [r8 + 0xe]
test al, 0xf
cmove rdx, rax
lea rax, [r8 + 0xf]
test al, 0xf
cmove rdx, rax
lea rax, [r8 + 0x10]
test al, 0xf
cmove rdx, rax
lea rax, [r8 + 0x11]
test al, 0xf
cmove rdx, rax
lea rax, [r8 + 0x12]
test al, 0xf
cmove rdx, rax
lea rax, [r8 + 0x13]
test al, 0xf
cmove rdx, rax
lea rax, [r8 + 0x14]
test al, 0xf
cmove rdx, rax
lea rax, [r8 + 0x15]
test al, 0xf
cmove rdx, rax
lea rax, [r8 + 0x16]
test al, 0xf
cmove rdx, rax
lea rax, [r8 + 0x17]
test al, 0xf
cmove rdx, rax
lea rax, [r8 + 0x18]
test al, 0xf
cmove rdx, rax
lea rax, [r8 + 0x19]
test al, 0xf
cmove rdx, rax
lea rax, [r8 + 0x1a]
test al, 0xf
cmove rdx, rax
lea rax, [r8 + 0x1b]
test al, 0xf
cmove rdx, rax
lea rax, [r8 + 0x1c]
test al, 0xf
cmove rdx, rax
lea rax, [r8 + 0x1d]
test al, 0xf
cmove rdx, rax
lea rax, [r8 + 0x1e]
test al, 0xf
cmove rdx, rax
lea rax, [r8 + 0x1f]
test al, 0xf
cmove rdx, rax
mov qword [rsp + 0x140], rdx
mov r10, qword [rsp + 0x70]
cmp r10, 1
jle 0x14019470c
mov edx, 1
mov eax, r13d
shl eax, 6
movsxd r8, eax
nop dword [rax]
mov rax, qword [rsp + rdx*8 + 0x138]
lea rcx, [rax + r8*2]
mov qword [rsp + rdx*8 + 0x140], rcx
inc rdx
cmp rdx, r10
jl 0x1401946f0
mov rax, qword [rbp + 0x20]
mov qword [r12], rax
mov r9, qword [rsp + 0x50]
cmp r9d, 1
jbe 0x140194762
mov eax, dword [rsp + 0x40]
imul eax, r13d
movsxd r10, eax
lea rdx, [r12 + 8]
mov r8, r12
dec r9d
nop word [rax + rax]
mov rax, qword [r8]
lea rcx, [rax + r10*2]
mov qword [rdx], rcx
lea r8, [r8 + 8]
lea rdx, [rdx + 8]
sub r9, 1
jne 0x140194740
mov r9, qword [rsp + 0x50]
mov r10, qword [rsp + 0x70]
xor r8d, r8d
mov dword [rsp + 0x3c], r8d
mov r14, qword [rsp + 0x90]
mov eax, dword [rsp + 0x40]
test eax, eax
jle 0x140195037
xor r11d, r11d
mov qword [rsp + 0x80], r11
lea ecx, [rax - 1]
mov dword [rsp + 0x4c], ecx
lea edx, [r8 + 8]
movss xmm7, dword [0x1403f2b2c]
movss xmm9, dword [0x1403f2b58]
movss xmm10, dword [0x1403f2b24]
movss xmm11, dword [0x1403f2b3c]
movss xmm12, dword [0x1403f2b5c]
xorps xmm8, xmm8
nop dword [rax]
nop dword [rax + rax]
mov eax, dword [rsp + 0x88]
cmp r8d, ecx
cmovne eax, edx
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x28], edx
xor ecx, ecx
mov dword [rsp + 0x24], ecx
test r13d, r13d
jle 0x140194c1c
lea r8d, [r13 - 1]
mov dword [rsp + 0x58], r8d
xor esi, esi
mov qword [rsp + 0x30], rsi
xor r13d, r13d
mov qword [rsp + 0x68], r13
nop dword [rax]
mov eax, dword [rsp + 0x8c]
cmp ecx, r8d
cmovne eax, edx
mov dword [rsp + 0x28], eax
mov cl, 1
mov byte [rsp + 0x20], cl
test r9d, r9d
je 0x140194a4c
xorps xmm6, xmm6
xor ebx, ebx
mov r13d, r9d
lea rsi, [0x140000000]
nop
mov rdx, qword [rbx + r14]
movdqu xmmword [rdx + 0x70], xmm6
movdqu xmmword [rdx + 0x60], xmm6
movdqu xmmword [rdx + 0x50], xmm6
movdqu xmmword [rdx + 0x40], xmm6
movdqu xmmword [rdx + 0x30], xmm6
movdqu xmmword [rdx + 0x20], xmm6
movdqu xmmword [rdx + 0x10], xmm6
mov rax, qword [r12]
movzx ecx, word [rax]
add rax, 2
mov qword [r12], rax
movdqa xmm0, xmm6
pinsrw xmm0, ecx, 0
movdqu xmmword [rdx], xmm0
inc dword [rbp + 0x10]
mov r8, qword [rbx + r14]
xor edi, edi
lea ecx, [rdi + 1]
mov r9d, 0xff00
movzx eax, word [r15]
cmp ax, r9w
je 0x1401948cc
mov edx, eax
and ax, r9w
cmp ax, r9w
jne 0x1401948b2
movzx eax, dl
add ecx, eax
jmp 0x1401948be
mov edi, ecx
movsxd rax, ecx
mov word [r8 + rax*2], dx
inc ecx
inc dword [rbp + 0xc]
add r15, 2
cmp ecx, 0x40
jge 0x1401948d3
jmp 0x140194895
inc dword [rbp + 0xc]
add r15, 2
cmp byte [rbp + 8], 0
jne 0x140194908
xor r8d, r8d
nop dword [rax]
mov rdx, qword [rbx + r14]
movzx eax, word [rdx + r8]
movzx ecx, ax
and cx, r9w
movzx eax, al
or cx, ax
mov word [rdx + r8], cx
add r8, 2
cmp r8, 0x80
jl 0x1401948e0
test edi, edi
jne 0x14019499c
mov rax, qword [rbx + r14]
movzx ecx, word [rax]
movss xmm0, dword [rsi + rcx*4 + 0x329770]
mov rcx, qword [rbp + 0x68]
mov rax, qword [rbx + rcx]
movss dword [rax], xmm0
mov rax, qword [rbx + rcx]
movss xmm1, dword [rax]
mulss xmm1, xmm7
mulss xmm1, xmm7
shufps xmm1, xmm1, 0
movups xmmword [rax], xmm1
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax + 0x20], xmm1
movups xmmword [rax + 0x30], xmm1
movups xmmword [rax + 0x40], xmm1
movups xmmword [rax + 0x50], xmm1
movups xmmword [rax + 0x60], xmm1
movups xmmword [rax + 0x70], xmm1
movups xmmword [rax + 0x80], xmm1
movups xmmword [rax + 0x90], xmm1
movups xmmword [rax + 0xa0], xmm1
movups xmmword [rax + 0xb0], xmm1
movups xmmword [rax + 0xc0], xmm1
movups xmmword [rax + 0xd0], xmm1
movups xmmword [rax + 0xe0], xmm1
movups xmmword [rax + 0xf0], xmm1
jmp 0x140194a1c
mov byte [rsp + 0x20], 0
mov rdx, qword [rbp + 0x68]
mov rdx, qword [rbx + rdx]
mov rcx, qword [rbx + r14]
call qword [0x1405fe3c8]
mov rcx, qword [rbp + 0x68]
mov rcx, qword [rcx + rbx]
cmp edi, 2
jge 0x1401949c8
call qword [0x1405fe408]
jmp 0x140194a1c
cmp edi, 5
jge 0x1401949d5
call qword [0x1405fe400]
jmp 0x140194a1c
cmp edi, 9
jge 0x1401949e2
call qword [0x1405fe3f8]
jmp 0x140194a1c
cmp edi, 0xe
jge 0x1401949ef
call qword [0x1405fe3f0]
jmp 0x140194a1c
cmp edi, 0x14
jge 0x1401949fc
call qword [0x1405fe3e8]
jmp 0x140194a1c
cmp edi, 0x1b
jge 0x140194a09
call qword [0x1405fe3e0]
jmp 0x140194a1c
cmp edi, 0x23
jge 0x140194a16
call qword [0x1405fe3d8]
jmp 0x140194a1c
call qword [0x1405fe3d0]
add r12, 8
add rbx, 0x10
sub r13, 1
jne 0x140194840
mov qword [rsp + 0x78], r15
mov rsi, qword [rsp + 0x30]
movzx ecx, byte [rsp + 0x20]
mov r13, qword [rsp + 0x68]
mov r9, qword [rsp + 0x50]
mov r10, qword [rsp + 0x70]
cmp r10, 3
jne 0x140194abc
mov rax, qword [rbp + 0x68]
test cl, cl
jne 0x140194a6c
mov r8, qword [rax + 0x20]
mov rdx, qword [rax + 0x10]
mov rcx, qword [rax]
call fcn.14019fa30
jmp 0x140194abc
mov rdx, qword [rax + 0x20]
mov rcx, qword [rax + 0x10]
mov rax, qword [rax]
movss xmm4, dword [rax]
movss xmm3, dword [rcx]
movss xmm2, dword [rdx]
movaps xmm0, xmm2
mulss xmm0, xmm9
addss xmm0, xmm4
movss dword [rax], xmm0
movaps xmm0, xmm3
mulss xmm0, xmm10
movaps xmm1, xmm4
subss xmm1, xmm0
mulss xmm2, xmm11
subss xmm1, xmm2
movss dword [rcx], xmm1
mulss xmm3, xmm12
addss xmm3, xmm4
movss dword [rdx], xmm3
test r9d, r9d
je 0x140194bcd
xor edi, edi
lea r14, [rsp + 0x140]
mov r12d, r9d
movzx r15d, byte [rsp + 0x20]
nop dword [rax + rax]
mov rbx, qword [r14]
mov rax, qword [rbp + 0x68]
test r15b, r15b
jne 0x140194aff
lea rcx, [rbx + r13]
mov rdx, qword [rdi + rax]
call qword [0x1405fe3c0]
jmp 0x140194ba4
mov rax, qword [rdi + rax]
movss xmm0, dword [rax]
movss dword [rsp + 0x30], xmm0
ucomiss xmm0, xmm8
jp 0x140194b1e
jne 0x140194b1e
mov edx, dword [rsp + 0x30]
shr edx, 0x10
jmp 0x140194b65
mov ecx, dword [rsp + 0x30]
mov eax, ecx
shr rax, 0x17
lea rdx, [0x140000000]
movzx r8d, word [rdx + rax*2 + 0x369770]
test r8w, r8w
je 0x140194b5d
and ecx, 0x7fffff
mov eax, ecx
shr eax, 0xd
and eax, 1
lea edx, [rcx + 0xfff]
add edx, eax
shr edx, 0xd
add dx, r8w
jmp 0x140194b65
call fcn.1400c9400
movzx edx, ax
movsx eax, dx
movd xmm0, eax
punpcklwd xmm0, xmm0
pshufd xmm0, xmm0, 0
movdqu xmmword [rsi + rbx], xmm0
movdqu xmmword [rsi + rbx + 0x10], xmm0
movdqu xmmword [rsi + rbx + 0x20], xmm0
movdqu xmmword [rsi + rbx + 0x30], xmm0
movdqu xmmword [rsi + rbx + 0x40], xmm0
movdqu xmmword [rsi + rbx + 0x50], xmm0
movdqu xmmword [rsi + rbx + 0x60], xmm0
movdqu xmmword [rsi + rbx + 0x70], xmm0
add r14, 8
add rdi, 0x10
sub r12, 1
jne 0x140194ae0
mov r15, qword [rsp + 0x78]
mov r14, qword [rsp + 0x90]
mov r9, qword [rsp + 0x50]
mov r10, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x24]
inc ecx
mov dword [rsp + 0x24], ecx
sub r13, 0xffffffffffffff80
mov qword [rsp + 0x68], r13
sub rsi, 0xffffffffffffff80
mov qword [rsp + 0x30], rsi
cmp ecx, dword [rsp + 0x44]
mov edx, dword [rsp + 0x28]
mov r8d, dword [rsp + 0x58]
mov r12, qword [rsp + 0x60]
jl 0x140194810
mov eax, edx
mov dword [rsp + 0x28], edx
mov edi, dword [rsp + 0x38]
mov eax, dword [rsp + 0x48]
mov r8d, dword [rsp + 0x3c]
mov r11, qword [rsp + 0x80]
test r10, r10
jle 0x140194ff9
lea esi, [r8*8]
mov dword [rsp + 0x30], esi
lea ebx, [rsi + rax]
mov dword [rsp + 0x48], ebx
movsxd r11, ebx
mov r15, qword [rsp + 0x80]
lea r15, [r15*8]
xor r9d, r9d
mov qword [rsp + 0x58], r9
lea r12, [rsp + 0x140]
mov qword [rsp + 0xb0], r12
mov r13, r10
mov qword [rsp + 0x68], r10
nop dword [rax + rax]
mov r8b, 1
mov rdx, r15
cmp r15, r11
jge 0x140194db5
mov rax, qword [rbp + 0x38]
mov r10, qword [r9 + rax]
nop word [rax + rax]
test byte [r10 + rdx*8], 0xf
mov ecx, 0
movzx eax, r8b
cmove ecx, eax
movzx r8d, cl
inc rdx
cmp rdx, r11
jl 0x140194c90
test cl, cl
jne 0x140194db5
mov r10d, esi
cmp esi, ebx
jge 0x140194f20
lea r11, [r15*8]
nop dword [rax + rax]
mov rax, qword [rbp + 0x38]
mov rcx, qword [r9 + rax]
mov r8, qword [r11 + rcx]
test edi, edi
jle 0x140194da0
mov ecx, r10d
and ecx, 7
shl ecx, 3
mov rax, qword [r12]
lea rdx, [rax + rcx*2]
mov r9d, edi
nop dword [rax + rax]
movzx ecx, word [rdx]
mov rax, qword [rbp + 0x28]
movzx ecx, word [rax + rcx*2]
mov word [r8], cx
movzx ecx, word [rdx + 2]
mov rax, qword [rbp + 0x28]
movzx ecx, word [rax + rcx*2]
mov word [r8 + 2], cx
movzx ecx, word [rdx + 4]
mov rax, qword [rbp + 0x28]
movzx ecx, word [rax + rcx*2]
mov word [r8 + 4], cx
movzx ecx, word [rdx + 6]
mov rax, qword [rbp + 0x28]
movzx ecx, word [rax + rcx*2]
mov word [r8 + 6], cx
movzx ecx, word [rdx + 8]
mov rax, qword [rbp + 0x28]
movzx ecx, word [rax + rcx*2]
mov word [r8 + 8], cx
movzx ecx, word [rdx + 0xa]
mov rax, qword [rbp + 0x28]
movzx ecx, word [rax + rcx*2]
mov word [r8 + 0xa], cx
movzx ecx, word [rdx + 0xc]
mov rax, qword [rbp + 0x28]
movzx ecx, word [rax + rcx*2]
mov word [r8 + 0xc], cx
movzx ecx, word [rdx + 0xe]
mov rax, qword [rbp + 0x28]
movzx ecx, word [rax + rcx*2]
mov word [r8 + 0xe], cx
lea r8, [r8 + 0x10]
lea rdx, [rdx + 0x80]
sub r9, 1
jne 0x140194d00
mov r9, qword [rsp + 0x58]
inc r10d
add r11, 8
cmp r10d, ebx
jl 0x140194cd0
jmp 0x140194f20
mov edx, esi
mov dword [rsp + 0x24], edx
cmp esi, ebx
jge 0x140194f20
mov r10, qword [r12]
mov qword [rsp + 0xd0], r10
lea r8, [r15*8]
mov qword [rsp + 0xa8], r8
nop
mov rax, qword [rbp + 0x38]
mov rcx, qword [r9 + rax]
mov r12, qword [r8 + rcx]
mov eax, edx
and eax, 7
shl eax, 3
lea r14, [r10 + rax*2]
test edi, edi
jle 0x140194ef5
xorps xmm1, xmm1
mov r13d, edi
nop word [rax + rax]
prefetchnta byte [r14 + 0x100]
movdqu xmm0, xmmword [r14]
mov r9, qword [rbp + 0x28]
pextrw eax, xmm0, 0
movzx ecx, ax
movzx edx, word [r9 + rcx*2]
pextrw eax, xmm0, 1
movzx ecx, ax
movzx r8d, word [r9 + rcx*2]
pextrw eax, xmm0, 2
movzx ecx, ax
movzx r10d, word [r9 + rcx*2]
pextrw eax, xmm0, 3
movzx ecx, ax
movzx r11d, word [r9 + rcx*2]
pextrw eax, xmm0, 4
movzx ecx, ax
movzx ebx, word [r9 + rcx*2]
pextrw eax, xmm0, 5
movzx ecx, ax
movzx edi, word [r9 + rcx*2]
pextrw eax, xmm0, 6
movzx ecx, ax
movzx esi, word [r9 + rcx*2]
pextrw eax, xmm0, 7
movzx ecx, ax
movdqa xmm0, xmm1
pinsrw xmm0, edx, 0
pinsrw xmm0, r8d, 1
pinsrw xmm0, r10d, 2
pinsrw xmm0, r11d, 3
pinsrw xmm0, ebx, 4
pinsrw xmm0, edi, 5
pinsrw xmm0, esi, 6
movzx eax, word [r9 + rcx*2]
pinsrw xmm0, eax, 7
movdqu xmmword [r12], xmm0
lea r14, [r14 + 0x80]
lea r12, [r12 + 0x10]
sub r13, 1
jne 0x140194e10
mov edx, dword [rsp + 0x24]
mov r8, qword [rsp + 0xa8]
mov ebx, dword [rsp + 0x48]
mov r9, qword [rsp + 0x58]
mov r10, qword [rsp + 0xd0]
mov edi, dword [rsp + 0x38]
inc edx
mov dword [rsp + 0x24], edx
add r8, 8
mov qword [rsp + 0xa8], r8
cmp edx, ebx
jl 0x140194de0
mov r12, qword [rsp + 0xb0]
mov esi, dword [rsp + 0x30]
mov r13, qword [rsp + 0x68]
cmp edi, dword [rsp + 0x44]
je 0x140194fb7
mov r10d, esi
cmp esi, ebx
jge 0x140194fb7
mov rsi, qword [r12]
lea edi, [rdi*8]
movsxd r14, edi
lea r11, [r15*8]
mov r13d, dword [rsp + 0x28]
mov eax, r10d
and eax, 7
add eax, edi
shl eax, 3
cdqe
lea rdx, [rsi + rax*2]
mov rax, qword [rbp + 0x38]
mov rax, qword [r9 + rax]
mov rax, qword [r11 + rax]
lea r8, [rax + r14*2]
test r13d, r13d
jle 0x140194fa2
mov r9, r13
nop dword [rax]
movzx ecx, word [rdx]
mov rax, qword [rbp + 0x28]
movzx ecx, word [rax + rcx*2]
mov word [r8], cx
lea r8, [r8 + 2]
lea rdx, [rdx + 2]
sub r9, 1
jne 0x140194f80
mov r9, qword [rsp + 0x58]
inc r10d
add r11, 8
cmp r10d, ebx
jl 0x140194f50
mov edi, dword [rsp + 0x38]
mov r13, qword [rsp + 0x68]
add r12, 8
mov qword [rsp + 0xb0], r12
add r9, 0x18
mov qword [rsp + 0x58], r9
sub r13, 1
mov qword [rsp + 0x68], r13
movsxd r11, ebx
mov esi, dword [rsp + 0x30]
jne 0x140194c70
mov r15, qword [rsp + 0x78]
mov r10, qword [rsp + 0x70]
mov r8d, dword [rsp + 0x3c]
mov r11, qword [rsp + 0x80]
inc r8d
mov dword [rsp + 0x3c], r8d
inc r11
mov qword [rsp + 0x80], r11
cmp r8d, dword [rsp + 0x40]
mov r14, qword [rsp + 0x90]
mov r9, qword [rsp + 0x50]
mov r13d, dword [rsp + 0x44]
mov r12, qword [rsp + 0x60]
mov ecx, dword [rsp + 0x4c]
mov edx, 8
jl 0x1401947d0
xor r13d, r13d
mov dword [rsp + 0x24], r13d
cmp dword [rsp + 0x50], r13d
jbe 0x1401951f9
movabs rcx, 0x7fffffffffffffff
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rbp + 0x50]
cmp dword [rax + r13*4], 2
jne 0x1401951e6
movsxd rbx, dword [rbp + 0x30]
xor r12d, r12d
xor edi, edi
test rbx, rbx
je 0x1401950dc
cmp rbx, rcx
ja 0x14019537c
add rbx, rbx
cmp rbx, 0x1000
jb 0x1401950bb
lea rcx, [rbx + 0x27]
cmp rcx, rbx
jbe 0x140195376
call fcn.140048eb4
test rax, rax
je 0x140195382
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x1401950cb
test rbx, rbx
je 0x1401950cb
mov rcx, rbx
call fcn.140048eb4
mov rdi, rax
lea r12, [rdi + rbx]
mov r8, rbx
xor edx, edx
mov rcx, rdi
call fcn.1402d1c50
xor esi, esi
cmp dword [rbp + 0x34], esi
jle 0x1401951a0
lea r13, [r13 + r13*2]
xor r15d, r15d
lea r14, [0x140000000]
nop word [rax + rax]
mov rax, qword [rbp + 0x38]
mov rcx, qword [rax + r13*8]
mov rbx, qword [r15 + rcx]
movsxd r8, dword [rbp + 0x30]
add r8, r8
mov rdx, rbx
mov rcx, rdi
call fcn.1402d15b0
mov r9, rdi
xor r10d, r10d
cmp dword [rbp + 0x30], r10d
jle 0x140195184
nop word [rax + rax]
movzx ecx, byte [r9]
lea rax, [r9 + 1]
lea r9, [r9 + 2]
movzx edx, byte [rax]
shl rdx, 8
or rdx, rcx
movss xmm0, dword [r14 + rdx*4 + 0x329770]
movss dword [rsp + 0x4c], xmm0
mov eax, dword [rsp + 0x4c]
mov r8d, eax
shr r8d, 8
mov edx, eax
shr edx, 0x10
mov ecx, eax
shr ecx, 0x18
mov byte [rbx], al
mov byte [rbx + 1], r8b
mov byte [rbx + 2], dl
mov byte [rbx + 3], cl
lea rbx, [rbx + 4]
inc r10d
cmp r10d, dword [rbp + 0x30]
jl 0x140195130
inc esi
add r15, 8
cmp esi, dword [rbp + 0x34]
jl 0x140195100
mov r14, qword [rsp + 0x90]
mov r13d, dword [rsp + 0x24]
test rdi, rdi
je 0x1401951dc
sub r12, rdi
sar r12, 1
lea rdx, [r12 + r12]
cmp rdx, 0x1000
jb 0x1401951d4
add rdx, 0x27
mov rcx, qword [rdi - 8]
sub rdi, rcx
lea rax, [rdi - 8]
cmp rax, 0x1f
ja 0x140195382
mov rdi, rcx
mov rcx, rdi
call fcn.140048eac
movabs rcx, 0x7fffffffffffffff
inc r13d
mov dword [rsp + 0x24], r13d
cmp r13d, dword [rsp + 0x50]
jb 0x140195060
mov rcx, qword [rsp + 0xd8]
call fcn.140048eac
nop
test r14, r14
je 0x14019527e
mov rbx, r14
mov rdi, qword [rsp + 0x98]
cmp r14, rdi
je 0x140195241
nop dword [rax]
mov rcx, qword [rbx + 8]
call fcn.1402e429c
mov qword [rbx + 8], 0
mov qword [rbx], 0
add rbx, 0x10
cmp rbx, rdi
jne 0x140195220
mov rdx, qword [rsp + 0xa0]
sub rdx, r14
and rdx, 0xfffffffffffffff0
mov rax, r14
cmp rdx, 0x1000
jb 0x140195275
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140195370
mov rcx, r14
call fcn.140048eac
nop
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0xc8]
sub rdx, rcx
and rdx, 0xfffffffffffffff8
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401952b3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14019530c
call fcn.140048eac
mov rcx, qword [rsp + 0x158]
xor rcx, rsp
call fcn.140048b40
lea r11, [rsp + 0x1d0]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
call fcn.1402d6908
int3
call fcn.1400116f0
int3
call fcn.1400128f0
nop
lea rdx, str.Row_pointers_and_types_mismatch_in_count
lea rcx, [rsp + 0xe0]
call fcn.1400d1fd0
lea rdx, [0x1404ad860]
lea rcx, [rsp + 0xe0]
call fcn.1402d12e0
int3
lea rdx, str.Only_1_and_3_channel_encoding_is_supported
lea rcx, [rsp + 0xe0]
call fcn.14019e8b0
lea rdx, [0x1404ad8a0]
lea rcx, [rsp + 0xe0]
call fcn.1402d12e0
nop
call fcn.1402d6908
nop
call fcn.1400128f0
int3
call fcn.1400116f0
int3
call fcn.1402d6908
int3