Function at 0x2904e6828
Capabilities:
Encode data using base64
Encrypt data using chaskey
Encrypt data using speck
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
push rdx
psrad mm1, 0x65
inc edx
push rbx
addps xmm11, xmm9
pop rbx
movlhps xmm2, xmm5
dec edx
pop rdx
cmp dword [0x290508d20], 0
je 0x2904e6888
push r12
inc r12
psrlq mm0, 0x6a
pminsw mm0, mm6
xorps xmm8, xmm5
push r13
psrad mm3, 0x32
xchg r13d, r12d
nop
emms
pop r13
psrlq mm3, 0x65
addss xmm3, xmm5
psrlw mm7, 0x63
packsswb mm0, mm3
pop r12
jmp 0x2904e8096
cmp r12, 0x11
jne 0x2904e68b5
push r9
pslld mm5, 0x3a
push rbx
sub r9, rbx
emms
pop rbx
emms
pop r9
jmp 0x2904e68ca
push r12
rcpps xmm3, xmm10
push rax
pmaddwd mm5, mm0
psrlq mm5, 0x13
pop rax
sar r12, 8
pop r12
push r11
sar r11d, 2
push r13
sbb r13d, r11d
psrlw mm0, 0x3a
pop r13
emms
pop r11
mov ecx, 0x60
call fcn.2904e3952
push r15
inc r15d
push r9
shl r15, 0x15
movlhps xmm8, xmm13
push r11
sar r9b, 0x12
emms
andps xmm0, xmm2
pop r11
psraw mm5, 0x52
punpcklwd mm1, mm7
pop r9
psllq mm2, 0x26
pop r15
mov rax, qword [rax + 0x18]
push rdx
mov rdx, 3
push r9
addps xmm1, xmm7
sbb r9w, 0xd
rol r9, 0x16
push rbx
pmaddwd mm7, mm2
movhlps xmm14, xmm13
emms
push r11
sub bx, r11w
pandn mm1, mm4
push r13
neg rbx
por mm3, mm1
pop r13
add bx, r11w
paddd mm0, mm6
emms
pop r11
emms
dec r9
pop rbx
emms
movaps xmm11, xmm7
pop r9
dec rdx
jne 0x2904e6920
pop rdx
cmp r12w, 7
jne 0x2904e69b2
push r10
mov r10, 3
push r8
push r11
pop r11
pop r8
dec r10
jne 0x2904e697a
pop r10
jmp 0x2904e69dc
push r8
sar r8b, 3
push r14
subps xmm0, xmm14
push r9
nop
push rax
add r8d, r9d
push r10
nop
pop r10
psrlq mm3, 0x54
pop rax
addss xmm0, xmm10
pop r9
nop
pop r14
nop
pop r8
push rax
emms
pslld mm6, 0x4c
push rcx
shl eax, 5
pop rcx
nop
emms
pop rax
push rdx
nop
psrad mm6, 0x63
psrad mm0, 0x45
inc edx
nop
pmulhuw mm7, mm3
nop
paddw mm2, mm1
emms
dec rdx
paddd mm2, mm3
pcmpgtw mm2, mm3
pop rdx
cmp r12, r13
jne 0x2904e6ab8
push r9
pxor mm6, mm0
push rbx
nop
psrlw mm0, 0x5f
push r12
shl r9w, 9
dec r12
packsswb mm1, mm4
push r13
mulps xmm9, xmm8
xorps xmm3, xmm11
psllq mm4, 0x3b
paddusb mm1, mm3
push rax
emms
nop
psrld mm2, 0x63
emms
nop
pop rax
emms
mov ebx, r9d
inc r13d
emms
pop r13
movlhps xmm1, xmm4
maxps xmm13, xmm11
rol bl, 7
pop r12
psllq mm7, 0x49
shr r9d, 0xa
pop rbx
rcpss xmm1, xmm7
pop r9
jmp 0x2904e6b27
push r15
psrlw mm5, 0x68
psrad mm5, 0xc
emms
emms
ror r15d, 0xc
push rcx
psrad mm1, 0x66
xadd cl, r15b
mov r15d, 8
psrad mm5, 0x2f
push r8
nop
psrlw mm6, 0x23
sar cl, 9
push r12
pmullw mm6, mm0
paddb mm6, mm4
push r13
neg r12d
pop r13
inc rcx
emms
pop r12
neg r15d
orps xmm7, xmm0
xorps xmm14, xmm12
pop r8
emms
emms
sub rcx, 0x13
mov r15w, 0x11
pop rcx
ucomiss xmm7, xmm12
nop
inc r15d
emms
psrlq mm7, 0x37
pop r15
push r9
ucomiss xmm15, xmm7
shl r9w, 0xd
psrlq mm4, 0x1c
push r12
andnps xmm15, xmm13
punpckldq mm2, mm3
push rcx
ror r9b, 0x11
pop rcx
psrlw mm5, 0x1a
dec r9
pop r12
punpckldq mm2, mm5
paddd mm1, mm4
movups xmm14, xmm11
pop r9
xor r14d, r14d
mov rdx, qword [rax + 0x10]
xor eax, eax
cmp qword [rdx + 0x30], 0
je 0x2904e7151
cmp r12b, 0x59
jne 0x2904e6bcb
push rdx
packsswb mm1, mm5
movss xmm1, xmm13
sar rdx, 0xb
push r12
movups xmm3, xmm13
psrld mm3, 0x5b
pcmpeqd mm3, mm5
push rcx
sbb dl, 0xf
emms
emms
pop rcx
emms
emms
pslld mm5, 0x66
pop r12
shl dx, 0x11
orps xmm1, xmm11
rcpps xmm2, xmm6
pop rdx
jmp 0x2904e6c06
push rax
psubsb mm4, mm2
nop
push r9
movhlps xmm14, xmm9
shl ax, 7
push r11
xor r9d, r11d
movaps xmm11, xmm5
push r15
xadd r9d, r15d
psrad mm1, 9
pop r15
pslld mm6, 0x27
not rax
pop r11
nop
andnps xmm12, xmm7
pop r9
ror eax, 7
rcr al, 0xa
pop rax
push r12
inc r12
push r9
xadd r9d, r12d
emms
pop r9
paddw mm0, mm5
pop r12
mov r14, qword [rdx + 0x30]
push rdx
emms
nop
push r8
subps xmm4, xmm0
subss xmm6, xmm0
push r13
nop
pmaddwd mm4, mm5
push rcx
psraw mm7, 0x10
pslld mm2, 8
push r11
psraw mm2, 0x3b
shl r8, 0xf
pop r11
movaps xmm14, xmm4
ucomiss xmm5, xmm3
pop rcx
andps xmm13, xmm14
pmullw mm0, mm7
pop r13
sbb r8d, 0xd
pslld mm2, 0x3c
pop r8
psrld mm3, 0x6a
pcmpgtw mm2, mm6
pop rdx
push rbx
emms
push r14
psrlq mm3, 0x4e
push r8
subps xmm2, xmm8
push rax
packssdw mm1, mm7
push r11
emms
push r15
emms
push r12
rcpps xmm7, xmm1
pop r12
nop
pop r15
shl eax, 4
pop r11
psrld mm4, 1
pop rax
xchg r8b, bl
pop r8
rcpss xmm7, xmm10
pop r14
neg ebx
pop rbx
movsxd rcx, dword [r14 + 0x3c]
add rcx, r14
push rdx
psrlw mm6, 0x1e
orps xmm3, xmm11
push rax
xadd edx, eax
and rdx, rax
push r9
test ax, r9w
nop
push r11
emms
psrad mm5, 0x3e
pop r11
psrlw mm5, 0x32
nop
pop r9
movlhps xmm13, xmm12
psrad mm6, 0x39
pop rax
andps xmm11, xmm0
nop
pop rdx
push r11
mov r11b, 0x12
push r8
shr r8, 0x16
push r9
xadd r8b, r11b
push r12
adc r11d, r9d
push rcx
dec r9d
push rax
shl cl, 3
pop rax
nop
pop rcx
psrlw mm1, 0x50
pop r12
dec r8d
pop r9
nop
pop r8
movups xmm9, xmm6
pop r11
mov ecx, dword [rcx + 0x88]
push rax
emms
rcpps xmm12, xmm7
rcpps xmm8, xmm2
shl rax, 0xe
emms
emms
nop
psraw mm3, 0x14
psraw mm0, 0x34
not eax
shl eax, 4
rcl al, 8
pop rax
test ecx, ecx
jne 0x2904e6d63
push rcx
packsswb mm1, mm2
nop
push r8
neg r8d
pop r8
mulss xmm13, xmm1
paddw mm6, mm5
pop rcx
jmp 0x2904e7149
push rax
movaps xmm10, xmm0
push r15
minps xmm15, xmm4
psubusw mm1, mm0
push r14
addss xmm9, xmm0
rcr eax, 0xb
addps xmm3, xmm12
push rdx
pandn mm2, mm6
psrld mm0, 0x16
xchg edx, eax
dec r15d
pop rdx
psrlq mm5, 0x19
emms
rcpss xmm4, xmm1
pop r14
inc rax
emms
pop r15
psrlw mm7, 0x1f
pop rax
lea rax, [rcx + r14]
push r10
dec r10
push r11
pminsw mm7, mm2
push rbx
neg r11d
push r12
pslld mm4, 0x68
push rcx
rcl r11, 0xe
pop rcx
nop
pop r12
emms
pop rbx
psrlw mm2, 0x61
pop r11
paddusw mm0, mm4
pop r10
mov ecx, dword [rax + 0xc]
add rcx, r14
cmp r12, 0x43
jne 0x2904e6df7
push r10
sbb r10d, 0xd
push rdx
rcl dl, 9
rcl r10w, 3
pop rdx
psrad mm5, 0x1a
pop r10
jmp 0x2904e6e09
push rbx
sar bl, 0xb
push r15
emms
maxss xmm6, xmm15
pop r15
emms
pop rbx
push rax
subss xmm0, xmm14
push r8
psllq mm3, 0x55
xor r8b, al
pop r8
pslld mm5, 3
pop rax
mov r9d, dword [rcx]
or r9d, 0x20202020
cmp r9d, 0x6c64746e
je 0x2904e6e53
cmp r12, 0x5a
jne 0x2904e6e44
push r9
neg r9b
pop r9
jmp 0x2904e6e4b
push r15
inc r15
pop r15
push rax
nop
pop rax
jmp 0x2904e7149
push rbx
rol ebx, 0x14
push rdx
neg rbx
pcmpeqw mm6, mm7
push r10
cmp dx, r10w
rcl edx, 3
pmaddwd mm3, mm5
push r14
nop
pslld mm4, 3
pminsw mm3, mm0
emms
push r8
movhlps xmm2, xmm14
dec r8d
subps xmm5, xmm14
adc r14d, ebx
inc r14
pop r8
inc r14d
sar r14b, 3
nop
not dx
pop r14
or r10, rdx
emms
subps xmm0, xmm9
pop r10
mov bx, dx
nop
pop rdx
paddb mm6, mm7
pop rbx
mov ecx, dword [rcx + 4]
or ecx, 0x20202020
cmp ecx, 0x6c642e6c
jne 0x2904e6f04
push rcx
sar cx, 9
push r11
emms
push rdx
packuswb mm1, mm3
push r8
ucomiss xmm15, xmm12
push r14
paddw mm2, mm4
push rax
pslld mm5, 0x61
push r10
xor r10d, r14d
pop r10
pslld mm6, 0x65
pop rax
movaps xmm15, xmm11
pop r14
pcmpgtw mm7, mm1
pop r8
sbb rcx, rdx
pop rdx
xor cl, r11b
pop r11
psrad mm1, 0x15
pop rcx
jmp 0x2904e7151
cmp r12b, r14b
je 0x2904e7001
push r14
emms
inc r14
nop
dec r14
neg r14w
emms
psrlw mm0, 0x43
paddd mm4, mm1
nop
pcmpgtw mm3, mm2
mov r14w, 4
rcpss xmm0, xmm7
pop r14
cmp r11w, 0x2d
je 0x2904e704a
push r11
sbb r11d, 0xa
push r10
test r10w, r11w
pop r10
movss xmm2, xmm15
pop r11
cmp r8d, r10d
je 0x2904e7055
push rcx
ror cl, 4
push r8
xor ecx, r8d
neg cl
push rbx
adc rbx, rcx
sub rcx, 0xf
emms
pop rbx
emms
emms
pop r8
paddsw mm0, mm7
pop rcx
cmp eax, r12d
je 0x2904e7077
push r14
psrad mm5, 2
pop r14
cmp r10b, 0x22
je 0x2904e70bf
cmp r12w, 0x30
jne 0x2904e6fc6
push rcx
emms
push r12
psrlw mm6, 0x4f
addss xmm15, xmm8
pop r12
emms
pop rcx
jmp 0x2904e6fdd
push r14
psraw mm0, 0xa
push r8
psrlw mm6, 0x5b
psrlw mm7, 0x2f
pop r8
inc r14d
pop r14
push r10
movups xmm1, xmm7
push r13
neg r13d
mulss xmm2, xmm3
pop r13
emms
pop r10
cmp ax, 0x1b
je 0x2904e7101
jne 0x2904e7134
push r11
shl r11w, 5
push r8
nop
push r13
shr r11, 0x14
push r14
mulss xmm10, xmm11
push rax
nop
push rbx
xor r11, r14
push r9
pslld mm4, 0x5a
pop r9
psrad mm6, 0x65
pop rbx
dec r13
pop rax
neg r14w
pop r14
ror r13b, 0x15
pop r13
emms
pop r8
mulps xmm7, xmm10
pop r11
jmp 0x2904e7134
push rax
pslld mm1, 0x25
pop rax
jmp 0x2904e7134
cmp r12w, 0xc
jne 0x2904e7066
push r14
not r14w
pop r14
jmp 0x2904e706c
push r13
emms
pop r13
push rbx
shr bx, 0xd
pop rbx
jmp 0x2904e7134
push r12
subss xmm3, xmm7
maxss xmm12, xmm9
push rdx
nop
emms
push rax
sub edx, 6
not r12
push r11
sub dl, r12b
add dl, al
push r13
pslld mm2, 0x37
add r12w, dx
pop r13
nop
inc r11
pop r11
xchg r12d, eax
psrlw mm3, 0x65
pop rax
psrlq mm4, 0x5d
emms
pop rdx
emms
subss xmm13, xmm6
pop r12
jmp 0x2904e7134
push rdx
neg dl
packssdw mm4, mm2
pcmpeqw mm7, mm2
push r10
packsswb mm4, mm5
nop
dec rdx
push r14
or dx, r10w
inc rdx
push r8
emms
nop
pop r8
shr dx, 0xc
psraw mm7, 0x38
or r10w, dx
pop r14
psrlq mm3, 0x2b
andps xmm10, xmm2
pop r10
emms
pmullw mm2, mm6
pop rdx
jmp 0x2904e7134
push r11
not r11
neg r11d
psraw mm0, 0x29
nop
sbb r11, 0xf
push rcx
emms
emms
pslld mm5, 0x15
addps xmm5, xmm15
nop
pop rcx
emms
shl r11, 9
emms
emms
paddw mm7, mm4
psrad mm2, 0x48
pop r11
push r10
emms
nop
push r8
shl r8w, 8
pop r8
pmullw mm2, mm6
emms
pop r10
mov rdx, qword [rdx]
jmp 0x2904e6b63
push r8
nop
rol r8, 0x14
nop
push rbx
emms
mulps xmm14, xmm6
subps xmm13, xmm8
push rcx
xor r8, rbx
pandn mm0, mm1
nop
pop rcx
addss xmm5, xmm13
emms
emms
pop rbx
nop
nop
maxss xmm3, xmm5
pop r8
test rax, rax
jne 0x2904e71a0
push rdx
emms
push r11
emms
push rax
test dx, r11w
pop rax
psllq mm7, 0x25
pop r11
punpckhwd mm7, mm3
pop rdx
jmp 0x2904e809b
push rcx
subps xmm11, xmm7
nop
nop
pslld mm3, 0x46
andps xmm13, xmm4
push r13
emms
sbb r13d, 0xb
emms
movlhps xmm4, xmm5
psraw mm0, 0x3d
pop r13
movups xmm11, xmm14
emms
not rcx
sar cx, 0xa
mov cx, 3
dec ecx
pop rcx
mov ecx, dword [rax + 0x18]
push rcx
emms
psrad mm6, 2
push r12
pand mm4, mm3
nop
push r8
nop
nop
push r15
not r15d
neg cl
pop r15
psubusw mm3, mm7
dec r12d
pop r8
dec rcx
emms
pop r12
shr cx, 3
inc rcx
pop rcx
mov r12d, dword [rax + 0x1c]
add r12, r14
push r11
neg r11b
psraw mm0, 0x54
por mm4, mm1
nop
push r14
adc r11, r14
mov r14d, 0x16
inc r14d
nop
pop r14
maxss xmm0, xmm7
ucomiss xmm6, xmm2
pcmpeqw mm3, mm7
emms
pop r11
mov edx, dword [rax + 0x20]
add rdx, r14
push rcx
psraw mm6, 0x23
push r12
not r12d
push rbx
inc rbx
push rax
comiss xmm12, xmm6
pop rax
psllq mm7, 0x4b
pop rbx
emms
pop r12
shr cx, 0xc
pop rcx
mov ebp, dword [rax + 0x24]
add rbp, r14
push r12
sub r12b, 0x10
rcl r12w, 0xf
nop
push r14
nop
shl r12b, 6
push r9
rcl r12w, 5
pop r9
rcr r12w, 7
rcl r14b, 9
pop r14
psrad mm3, 0x48
emms
neg r12
pop r12
push r10
mov r10, 1
push rax
pop rax
dec r10
jne 0x2904e72a6
pop r10
push r12
mov r12, 3
push rbx
push rax
pop rax
pop rbx
dec r12
jne 0x2904e72b8
pop r12
cmp r12d, r9d
jne 0x2904e72d7
push r13
psrad mm4, 0x39
pop r13
jmp 0x2904e72dc
push r15
nop
pop r15
push r10
nop
pop r10
push r12
inc r12
push rcx
psrlq mm6, 0x66
pop rcx
pxor mm1, mm0
pop r12
lea ebx, [rcx - 1]
xor esi, esi
xor edi, edi
lea r13, [rdx + rbx*4]
add rbx, rbx
add rbx, rbp
push r13
sbb r13d, 0xa
push r10
cmp r10b, r13b
push rbx
rcpps xmm14, xmm3
push r9
shl r9, 0xf
push r12
not r13w
pop r12
psrlq mm2, 0x49
pop r9
paddb mm2, mm7
pop rbx
pslld mm3, 0x50
pop r10
nop
pop r13
mov ecx, dword [r13]
add rcx, r14
cmp r12, rax
jne 0x2904e7366
push r12
emms
push rdx
psrad mm1, 2
emms
pop rdx
packuswb mm4, mm6
pop r12
jmp 0x2904e7378
push r13
emms
push r10
pslld mm6, 0x4f
nop
pop r10
not r13b
pop r13
push r11
emms
push rcx
emms
dec rcx
pop rcx
inc r11
pop r11
cmp word [rcx], 0x775a
jne 0x2904e77be
mov r9d, edi
lea rax, [0x290508d28]
shl r9, 4
lea r15, [r9 + rax]
call fcn.2904e4414
mov dword [r15], eax
push rcx
paddd mm0, mm2
push r15
emms
pop r15
not ecx
pop rcx
movzx eax, word [rbx]
mov eax, dword [r12 + rax*4]
mov dword [r15 + 4], eax
cmp r12w, 0x17
je 0x2904e754b
push r12
emms
emms
emms
mov r12b, 3
subps xmm7, xmm13
push r14
dec r12
emms
minps xmm2, xmm11
paddd mm1, mm7
pmaxub mm0, mm7
pop r14
psrld mm2, 0x20
psrlw mm7, 0x57
paddsw mm1, mm5
pslld mm2, 0x1d
sbb r12, 0x11
inc r12d
pop r12
cmp r12, r9
je 0x2904e758f
push r13
pand mm3, mm2
orps xmm11, xmm1
neg r13w
emms
shr r13b, 0x12
push r8
neg r8b
neg r13d
paddsb mm1, mm5
rol r8d, 0x16
push rcx
nop
rol cx, 0xf
pcmpgtd mm3, mm6
push rdx
rol ecx, 0x14
nop
push r11
emms
pop r11
ror r8, 0x11
shr ecx, 0x14
pop rdx
nop
emms
nop
pop rcx
psrlq mm4, 0x42
emms
nop
addps xmm5, xmm1
pop r8
paddw mm1, mm7
movaps xmm13, xmm5
paddw mm0, mm5
emms
emms
pop r13
cmp al, r11b
je 0x2904e75ae
cmp r12d, 0x45
jne 0x2904e74a5
push r9
nop
push r8
mov r9w, 0xf
dec r9
pop r8
pmulhuw mm2, mm4
pop r9
jmp 0x2904e74b4
push r11
emms
push rdx
psrld mm2, 0xc
emms
pop rdx
nop
pop r11
push r13
psubusw mm5, mm7
push r15
psrad mm7, 0x16
rcpss xmm4, xmm7
pop r15
not r13
pop r13
cmp eax, 6
je 0x2904e75b9
push r14
emms
ror r14b, 0x12
neg r14
push rdx
psubusw mm3, mm6
nop
push r9
comiss xmm12, xmm10
pop r9
emms
or edx, r14d
pop rdx
pmullw mm6, mm7
sbb r14, 0xb
psrlq mm7, 0x45
pop r14
cmp r8b, 0x5c
je 0x2904e75ff
push r15
inc r15d
nop
push r10
emms
sbb r10, 0x16
push rdx
psrlw mm6, 0x33
or r15b, dl
push r14
emms
psraw mm5, 0x4c
pop r14
movlhps xmm4, xmm11
psrad mm6, 0x4c
pop rdx
nop
emms
pop r10
emms
paddd mm0, mm5
pop r15
cmp al, 0x3f
je 0x2904e7613
jne 0x2904e763e
push rcx
nop
push r9
pminsw mm7, mm5
pcmpgtd mm3, mm0
push r8
emms
nop
rcr cl, 4
push r14
pslld mm3, 0x16
emms
shl r14, 0xb
neg r8b
pop r14
psrlq mm6, 2
shl r8d, 2
mulps xmm5, xmm11
pop r8
rcpss xmm6, xmm10
minps xmm15, xmm13
pop r9
emms
pop rcx
jmp 0x2904e763e
cmp r12d, 0x31
jne 0x2904e759f
push r11
psllq mm1, 0x12
pop r11
jmp 0x2904e75a2
push rbx
nop
pop rbx
push r14
pcmpgtb mm3, mm4
pop r14
jmp 0x2904e763e
push rbx
psrld mm5, 0x2d
pop rbx
jmp 0x2904e763e
push r11
neg r11w
push r8
add r11b, r8b
rcl r8w, 0x16
push r10
neg r10w
nop
packuswb mm0, mm2
push rax
maxss xmm2, xmm5
shl r11d, 1
psrlw mm0, 0x3a
pcmpeqd mm6, mm7
pop rax
pxor mm0, mm4
xchg r10, r8
emms
pop r10
pslld mm7, 0x64
not r11w
pop r8
shl r11d, 0xd
pop r11
jmp 0x2904e763e
push r12
pmulhuw mm2, mm7
push r11
movhlps xmm6, xmm3
pop r11
psllq mm6, 0x69
pop r12
jmp 0x2904e763e
push rax
nop
psrad mm5, 0x67
ucomiss xmm3, xmm10
push r15
emms
nop
push r14
mov r14b, 0x17
pop r14
andps xmm3, xmm13
and ax, r15w
pop r15
packsswb mm7, mm1
inc rax
psrlw mm0, 0xd
pop rax
push rbx
emms
push r8
pcmpeqw mm5, mm2
emms
push r10
psllq mm5, 0x45
neg r8
cmp r8w, bx
pop r10
shl r8, 0xf
sub bl, r8b
pop r8
emms
pop rbx
mov ecx, dword [r15 + 4]
mov edx, 0x12
add rcx, r14
call fcn.2904e45e7
mov qword [r15 + 8], rax
push r13
emms
psllq mm1, 0x3e
push r8
paddd mm1, mm5
psrlq mm2, 0x60
push r12
shl r13b, 0xe
emms
push r14
nop
comiss xmm2, xmm12
pop r14
psrad mm7, 0x68
psrld mm2, 0x63
pop r12
psrad mm6, 0x38
inc r13
pop r8
dec r13d
psrad mm3, 0x51
pop r13
cmp qword [r15 + 8], 0
jne 0x2904e7717
cmp r12d, 0x68
jne 0x2904e76cb
push r15
emms
pop r15
jmp 0x2904e76d4
push r10
mov r10w, 0x17
pop r10
push r14
maxps xmm0, xmm9
pop r14
mov ecx, dword [r15 + 4]
mov edx, 8
add rcx, r14
call fcn.2904e45e7
mov qword [r15 + 8], rax
push rax
nop
inc eax
comiss xmm4, xmm15
paddw mm4, mm5
push r10
or eax, r10d
or al, r10b
orps xmm14, xmm15
nop
pop r10
nop
sbb al, 1
pslld mm1, 0x33
psrlw mm3, 0x2a
pop rax
push r14
psrlw mm5, 0x25
ror r14, 8
nop
nop
emms
push rbx
emms
rcr bl, 0x14
cmp ebx, r14d
adc rbx, r14
nop
pop rbx
rol r14, 0x17
psrad mm5, 0x18
emms
andnps xmm1, xmm5
psraw mm4, 0x53
pmaxsw mm7, mm3
pop r14
inc edi
push rbx
mov rbx, 2
push r13
pop r13
dec rbx
jne 0x2904e7753
pop rbx
cmp edi, 0x7d0
jne 0x2904e77b4
push r11
psrld mm2, 0x20
packssdw mm0, mm5
dec r11d
psrlq mm5, 0x3a
push r10
nop
nop
dec r11d
push r9
psrlq mm7, 0x51
and r10d, r11d
push r13
psubsb mm2, mm1
pop r13
emms
por mm0, mm2
pop r9
maxps xmm15, xmm8
xadd r10d, r11d
rol r11d, 7
pop r10
emms
emms
shr r11b, 0x11
psrld mm0, 0x6b
pop r11
jmp 0x2904e7a13
push r12
nop
pop r12
jmp 0x2904e79ea
push rcx
psllq mm4, 0x42
psraw mm3, 0x3d
dec ecx
pslld mm4, 0x58
emms
shr cx, 7
emms
emms
nop
psrld mm5, 0xd
emms
neg ecx
pop rcx
mov r10d, esi
lea rax, [0x290501008]
shl r10, 4
add r10, rax
call fcn.2904e4414
mov dword [r10], eax
push r11
psrlq mm6, 0x16
nop
not r11d
comiss xmm6, xmm11
emms
push rax
nop
or r11w, ax
andps xmm14, xmm10
shl r11w, 2
and al, r11b
pop rax
psrld mm3, 0x2e
sar r11d, 0xf
andnps xmm9, xmm3
andps xmm7, xmm14
psrlq mm6, 0x5c
inc r11d
pop r11
movzx eax, word [rbx]
mov eax, dword [r12 + rax*4]
mov dword [r10 + 4], eax
push r8
movaps xmm6, xmm10
push rax
emms
push r11
neg eax
push r13
psllq mm1, 0x23
push rbx
sbb r8b, 3
push r9
emms
pop r9
dec eax
pop rbx
emms
pop r13
nop
pop r11
pcmpgtd mm6, mm5
pop rax
pslld mm7, 0x55
pop r8
mov eax, dword [r10 + 4]
add rax, r14
mov qword [r10 + 8], rax
push r14
emms
push r13
and r13, r14
psraw mm4, 0x5d
push r11
mov r11d, 3
and r13w, r11w
xadd r11, r13
pop r11
sar r13b, 6
psrld mm0, 0x37
pop r13
not r14
pop r14
inc esi
cmp r12d, 0xc
jne 0x2904e7916
push rbx
shr bl, 4
sub bl, 8
emms
maxss xmm11, xmm7
psrlw mm5, 0x69
packssdw mm6, mm4
pslld mm2, 0x60
pop rbx
jmp 0x2904e7944
push r10
nop
push r8
nop
push rdx
nop
push r14
xadd r10w, r8w
push rax
psubusw mm5, mm4
push rcx
pmullw mm1, mm4
pop rcx
dec r8
pop rax
pand mm5, mm1
pop r14
inc rdx
pop rdx
emms
pop r8
packuswb mm4, mm1
pop r10
push rbx
emms
psrld mm3, 0x1f
pslld mm6, 5
push rcx
psraw mm4, 0x21
not rbx
nop
push rax
cmp bx, ax
sub al, cl
not cx
pop rax
pslld mm7, 0x54
rcr cx, 1
nop
pop rcx
orps xmm14, xmm11
nop
psrlw mm5, 0x30
pop rbx
cmp esi, 0x7d0
jne 0x2904e7992
push rcx
sub cl, 0x14
push r13
xchg cl, r13b
sub r13, rcx
pop r13
nop
pop rcx
jmp 0x2904e7a13
push rbx
psadbw mm6, mm1
push r12
psraw mm5, 0x2b
nop
push r9
psrlw mm3, 0x1d
sbb r12b, 0x10
andps xmm15, xmm0
push r10
test r9b, r10b
nop
psrld mm3, 0x5e
nop
push rcx
nop
nop
neg r9
sub r9, 8
test cl, r10b
pop rcx
psrld mm1, 1
paddusb mm1, mm4
pminsw mm1, mm2
shr r10w, 0x15
pop r10
pand mm7, mm0
sbb bx, r12w
emms
pop r9
cmp r12d, ebx
emms
pop r12
inc ebx
pop rbx
push r10
not r10d
push r15
neg r10b
paddusb mm1, mm5
pop r15
neg r10d
pop r10
sub r13, 4
lea rax, [rbx - 2]
cmp rbp, rbx
je 0x2904e7a13
mov rbx, rax
jmp 0x2904e7302
cmp r12w, 0x60
jne 0x2904e7a5f
push r15
movaps xmm15, xmm12
push r12
nop
xadd r15b, r12b
pop r12
neg r15d
pop r15
jmp 0x2904e7a6e
push r10
nop
push r14
nop
psrlq mm6, 0x24
pop r14
nop
pop r10
push r10
rcr r10b, 3
dec r10d
addss xmm8, xmm10
push r9
psrlq mm4, 0x59
paddsw mm7, mm0
sub r10b, 0x12
push rcx
ror r10, 6
maxss xmm15, xmm8
push rdx
or r9w, r10w
mov rcx, 5
pop rdx
neg r9
not r9d
cmp r10d, ecx
pop rcx
inc r9
add r9w, r10w
pop r9
pslld mm0, 0x69
sbb r10w, 1
pop r10
mov dword [0x290508d20], edi
push r15
nop
sub r15w, 0xd
paddw mm4, mm7
sbb r15w, 0x13
emms
nop
nop
emms
comiss xmm1, xmm5
emms
nop
nop
pop r15
mov dword [section..bss], esi
cmp r12, r8
jne 0x2904e7b01
push r13
nop
push r14
psraw mm4, 0x33
emms
pop r14
emms
pop r13
jmp 0x2904e7b14
push rcx
psadbw mm6, mm7
push r12
neg r12w
emms
pop r12
psrlq mm4, 0x47
pop rcx
push r9
rcl r9, 2
push r15
nop
nop
pop r15
addps xmm15, xmm7
pop r9
lea r9, [0x290508d20]
xor r8d, r8d
lea r10, [r9 + 8]
mov eax, dword [r9]
dec eax
cmp r8d, eax
jae 0x2904e8082
push r11
sbb r11, 0x10
shl r11b, 0x10
push r12
emms
pop r12
nop
paddw mm1, mm6
pop r11
xor ecx, ecx
mov eax, r8d
not eax
add eax, dword [r9]
cmp ecx, eax
jae 0x2904e8072
push r9
neg r9
por mm2, mm4
psrad mm2, 0x4e
psrlw mm3, 0x58
nop
paddsb mm5, mm3
emms
emms
sar r9b, 9
pmaxsw mm4, mm0
emms
rcr r9, 4
pop r9
mov edx, ecx
lea eax, [rcx + 1]
shl rdx, 4
mov rcx, rax
shl rax, 4
add rdx, r10
add rax, r10
mov esi, dword [rdx + 4]
cmp dword [rax + 4], esi
jae 0x2904e802f
cmp r12d, 0x64
je 0x2904e7cdf
push r12
not r12w
nop
push r11
pmaxub mm4, mm2
pop r11
sbb r12d, 0xf
psrlw mm7, 0x61
pop r12
cmp r8, r11
je 0x2904e7cf9
push r13
rcl r13d, 0x11
addss xmm1, xmm15
inc r13
emms
push rdx
nop
nop
subps xmm4, xmm7
push r10
emms
dec r10d
push r8
psrad mm0, 0x18
pop r8
add r10w, r13w
dec r10d
pop r10
nop
movaps xmm1, xmm5
not edx
pop rdx
emms
rcr r13, 4
inc r13d
not r13
pop r13
cmp ax, r14w
je 0x2904e7d10
push r10
inc r10d
push r9
nop
push rax
nop
push r14
inc r10d
push r11
psraw mm4, 0x5d
push rbx
packuswb mm7, mm1
push r8
paddw mm1, mm5
pop r8
and bx, r11w
pop rbx
nop
pop r11
emms
pop r14
xadd r9d, eax
pop rax
sub r10, 0xb
pop r9
nop
pop r10
cmp r8, 0x42
je 0x2904e7d38
push rax
neg eax
nop
rcr rax, 0xb
emms
inc rax
paddw mm7, mm0
psrlq mm1, 0x2f
pop rax
cmp r12, rbx
je 0x2904e7d8d
cmp r12b, 4
jne 0x2904e7ca9
push r13
neg r13d
push r14
paddd mm4, mm5
emms
pop r14
orps xmm0, xmm14
pop r13
jmp 0x2904e7cbb
push r11
emms
push rcx
not r11b
andnps xmm15, xmm3
pop rcx
inc r11d
pop r11
push r8
nop
push r12
shl r12d, 0xf
comiss xmm4, xmm12
pop r12
maxps xmm13, xmm5
pop r8
cmp ecx, 0x5d
je 0x2904e7dd5
jne 0x2904e7deb
push r11
emms
push rdx
emms
push r9
inc r9d
pop r9
nop
pop rdx
mov r11b, 0x11
pop r11
jmp 0x2904e7deb
push rcx
mov rcx, 3
push r14
pop r14
dec rcx
jne 0x2904e7d01
pop rcx
jmp 0x2904e7deb
push rdx
pxor mm0, mm5
push r13
neg r13w
emms
push rax
nop
emms
emms
pop rax
psraw mm6, 0x6b
shl r13w, 0xa
pop r13
movups xmm12, xmm8
pop rdx
jmp 0x2904e7deb
cmp r12d, 0x58
jne 0x2904e7d65
push r13
pandn mm4, mm6
push r15
rcl r13b, 0x10
emms
pop r15
mulss xmm8, xmm10
pop r13
jmp 0x2904e7d7a
push r12
psrad mm6, 0x55
push r9
nop
psrad mm2, 0x3d
pop r9
sub r12, 1
pop r12
push rbx
punpckhbw mm0, mm1
push rcx
psrad mm6, 0x2d
pmaddwd mm4, mm1
pop rcx
movups xmm0, xmm6
pop rbx
jmp 0x2904e7deb
push rbx
punpcklwd mm4, mm7
mov bl, 1
nop
psllq mm2, 0x46
push r12
emms
emms
movlhps xmm4, xmm1
push r11
subps xmm8, xmm12
pcmpeqb mm7, mm5
push r15
pcmpgtb mm3, mm5
pop r15
paddb mm4, mm7
psrlq mm6, 0x55
pop r11
rol bl, 0x11
add r12b, bl
inc ebx
pop r12
emms
addps xmm11, xmm14
shl rbx, 0x15
pslld mm4, 3
pop rbx
jmp 0x2904e7deb
push r10
mov r10, 1
push r8
push rdx
pop rdx
pop r8
dec r10
jne 0x2904e7dde
pop r10
push r8
nop
packsswb mm1, mm7
push r12
cmp r8, r12
not r8
push rax
pminsw mm5, mm7
sub r8w, 6
push r9
psrad mm5, 4
psrld mm2, 0x39
push r11
por mm0, mm7
emms
pop r11
rcr r12, 0x16
test al, r8b
pop r9
sub rax, r8
pcmpeqb mm7, mm5
pop rax
nop
psrld mm2, 0x42
pop r12
sar r8d, 4
shl r8w, 0xe
pop r8
push rax
addss xmm7, xmm10
paddusw mm6, mm1
packsswb mm5, mm3
sbb ax, 0x13
ucomiss xmm1, xmm5
nop
inc rax
pop rax
mov esi, dword [rdx]
push rax
inc eax
nop
push rbx
neg ax
xadd eax, ebx
push r14
not eax
xchg rbx, rax
push r9
pmullw mm2, mm4
nop
push rdx
xorps xmm2, xmm9
rol al, 0xc
pop rdx
punpckhwd mm0, mm5
emms
pop r9
dec rbx
movaps xmm6, xmm11
pop r14
psrad mm6, 7
emms
pop rbx
ucomiss xmm10, xmm0
psrad mm2, 0x12
pop rax
mov ebx, dword [rdx + 4]
push rbx
emms
nop
nop
push rcx
nop
neg ecx
push r11
psrlq mm4, 0x50
pop r11
dec ecx
psraw mm3, 0x5e
pop rcx
ror rbx, 0x11
psllq mm4, 0x52
andps xmm3, xmm15
pop rbx
mov r11, qword [rdx + 8]
push rax
shl al, 7
push rcx
psrlw mm0, 0x45
punpckhwd mm0, mm4
push rbx
nop
sar ebx, 0xc
nop
pop rbx
nop
psadbw mm1, mm4
pop rcx
nop
pop rax
mov edi, dword [rax]
mov dword [rdx], edi
push rdx
pand mm6, mm4
push r13
emms
sub r13w, dx
push r14
pcmpeqd mm6, mm5
movlhps xmm9, xmm11
emms
pop r14
neg r13d
emms
pop r13
ror edx, 9
pop rdx
mov edi, dword [rax + 4]
mov dword [rdx + 4], edi
push rdx
rcr rdx, 0xc
push r9
maxss xmm6, xmm0
push rbx
andps xmm11, xmm3
push r11
pminsw mm1, mm2
pop r11
emms
pop rbx
not dl
pop r9
psrad mm2, 0x68
pop rdx
mov rdi, qword [rax + 8]
mov qword [rdx + 8], rdi
push r15
pcmpgtd mm7, mm0
shl r15, 8
ucomiss xmm11, xmm5
punpckhwd mm3, mm1
punpcklbw mm7, mm0
push rcx
subps xmm2, xmm0
mov cl, r15b
or cl, r15b
rcr r15d, 0x14
push r12
inc r12d
sar ecx, 0x10
nop
push r10
emms
emms
push r13
psrlq mm7, 0x19
pop r13
addss xmm3, xmm15
nop
pop r10
psllq mm4, 0x1c
punpckldq mm1, mm3
paddusw mm6, mm0
pop r12
rcl cl, 0xe
ror cx, 0xe
adc ecx, r15d
neg r15d
pop rcx
nop
subps xmm9, xmm8
nop
inc r15d
comiss xmm8, xmm3
pop r15
mov dword [rax], esi
push rbx
punpckhwd mm3, mm2
push rax
inc ebx
push r14
emms
pop r14
test eax, ebx
pop rax
not bx
pop rbx
mov dword [rax + 4], ebx
cmp r12w, r9w
jne 0x2904e7fdf
push r12
minps xmm7, xmm8
push r15
nop
rol r15, 0xa
pop r15
dec r12d
pop r12
jmp 0x2904e7ff3
push rax
neg ax
push r14
xor eax, r14d
movss xmm1, xmm12
pop r14
pmaxsw mm1, mm5
pop rax
push r9
maxps xmm10, xmm0
push rcx
shl cx, 4
emms
pop rcx
emms
pop r9
mov qword [rax + 8], r11
push r14
pslld mm2, 0x2c
push rdx
shr rdx, 8
push r11
psrlq mm5, 3
push r15
maxps xmm1, xmm11
pop r15
emms
pop r11
and r14b, dl
pop rdx
mulps xmm1, xmm2
pop r14
push r14
psrlw mm5, 0x59
dec r14d
push r9
packuswb mm0, mm2
packssdw mm0, mm5
push r8
shl r8b, 0x10
pslld mm2, 0xb
push rax
sar r14, 0xd
emms
pop rax
subss xmm0, xmm5
psllq mm1, 0x43
pop r8
psrlq mm4, 0x64
sar r9w, 0x17
pop r9
punpcklwd mm6, mm3
nop
pop r14
jmp 0x2904e7b5a
push r14
psrld mm7, 0x37
pop r14
inc r8d
jmp 0x2904e7b34
push r14
mov r14, 2
push r10
pop r10
dec r14
jne 0x2904e808b
pop r14
mov eax, 1
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret