Function at 0x2904e45e7
Capabilities:
Encode data using base64

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x30
cmp r12, 0xc
jne 0x2904e461e
push r12
emms
push rdx
rcl rdx, 0x13
paddsw mm2, mm5
pop rdx
emms
pop r12
jmp 0x2904e462d
push r11
pand mm2, mm5
push rcx
movlhps xmm0, xmm3
pop rcx
pmulhuw mm7, mm5
pop r11
push r14
pcmpeqd mm4, mm2
pcmpeqw mm0, mm2
movhlps xmm14, xmm0
push r12
inc r14d
sub r14d, r12d
emms
push rbx
xadd r14, rbx
pxor mm4, mm1
psubw mm1, mm4
pop rbx
nop
sar r12d, 0x17
emms
pop r12
nop
dec r14d
emms
pop r14
push r15
paddsb mm7, mm6
push rcx
emms
push r9
nop
push r13
andps xmm0, xmm13
push r14
shl r13d, 0x10
pop r14
punpcklbw mm4, mm5
pop r13
nop
pop r9
psrld mm0, 0x4a
pop rcx
nop
pop r15
push r12
mulps xmm3, xmm5
punpcklwd mm7, mm5
push r11
psllq mm6, 5
pop r11
inc r12d
pcmpgtb mm1, mm5
pop r12
mov word [rsp + 0x2d], 0x50f
mov byte [rsp + 0x2f], 0xc3
push r15
psrlw mm7, 0x57
pslld mm3, 0x3b
paddw mm6, mm7
push rbx
pcmpeqb mm6, mm1
andnps xmm5, xmm13
psrad mm2, 0x34
push r12
shl r12b, 0x14
emms
mulps xmm15, xmm11
pop r12
minps xmm8, xmm15
ucomiss xmm0, xmm7
sbb ebx, r15d
pop rbx
nop
emms
punpckldq mm6, mm3
pop r15
push r12
nop
nop
inc r12d
pcmpeqb mm6, mm3
addps xmm8, xmm2
push rcx
nop
maxps xmm12, xmm0
emms
inc r12
push r8
psllq mm0, 0x33
inc rcx
movlhps xmm14, xmm8
push rax
cmp r12d, r8d
emms
push rdx
inc ecx
pop rdx
nop
mov r12, 3
pop rax
punpckhwd mm4, mm7
neg r12w
sub r8d, 0xc
pop r8
orps xmm15, xmm11
psllq mm0, 4
emms
sbb cx, 0xe
pop rcx
sbb r12w, 5
shl r12, 0xb
maxps xmm14, xmm6
psrlw mm5, 0x3f
nop
pop r12
push rdx
neg edx
mulss xmm1, xmm14
pmulhuw mm2, mm0
paddusb mm4, mm0
mov dl, 0x15
push r13
psubusw mm7, mm2
pmullw mm0, mm2
dec r13d
nop
push r15
sub r15, rdx
psrad mm3, 0x44
pminsw mm0, mm5
push r9
sub r15d, edx
not rdx
push r12
shl rdx, 7
pop r12
psllq mm0, 0x3d
nop
pop r9
psrld mm7, 0x18
psrad mm4, 0x2f
emms
pop r15
movhlps xmm7, xmm3
or edx, r13d
paddb mm4, mm7
emms
pop r13
movlhps xmm12, xmm14
nop
shl rdx, 0x15
inc edx
sub rdx, 0x10
pop rdx
mov edx, edx
lea r11, [rcx + rdx]
mov rbx, r11
push rax
psrlq mm3, 0x67
push rcx
nop
pop rcx
nop
pop rax
mov r8d, 3
lea rcx, [rsp + 0x2d]
mov rdx, r11
call fcn.2904e37d0
test eax, eax
jne 0x2904e4853
cmp r12b, bl
jne 0x2904e4810
push r12
not r12b
push rax
movss xmm15, xmm5
addss xmm0, xmm8
pop rax
pcmpeqb mm3, mm5
pop r12
jmp 0x2904e4825
push r13
shr r13w, 0x15
push r9
mov r9b, r13b
emms
pop r9
dec r13
pop r13
push r10
psrld mm1, 0x37
push r8
ror r8d, 0x13
nop
pop r8
emms
pop r10
push rax
mov rax, 1
push r15
push r10
pop r10
pop r15
dec rax
jne 0x2904e4840
pop rax
jmp 0x2904e4bd2
lea rsi, [r11 + 0x20]
lea rdi, [r11 + 0x4000]
add r11, r11
push r8
nop
push rax
rol eax, 0x12
pop rax
addps xmm12, xmm13
pop r8
mov r8d, 3
mov rdx, rsi
mov rbx, rsi
call fcn.2904e37d0
test eax, eax
jne 0x2904e48cb
cmp r12w, bx
jne 0x2904e48a4
push r11
psllq mm4, 0x34
push r9
xor r9d, r11d
sar r9w, 0x14
pop r9
mulps xmm11, xmm2
pop r11
jmp 0x2904e48b8
push r12
pmaxub mm6, mm7
push r15
packsswb mm7, mm5
psraw mm3, 0x1a
pop r15
emms
pop r12
push rax
movups xmm6, xmm3
push rdx
neg ax
and rax, rdx
pop rdx
nop
pop rax
jmp 0x2904e4bd2
cmp r12, 0x59
jne 0x2904e48e7
push r9
dec r9d
push r13
shl r13, 0xd
nop
pop r13
ror r9d, 4
pop r9
jmp 0x2904e48fa
push r12
emms
push rax
shl eax, 0x11
mov ax, 0x10
pop rax
psrlq mm7, 3
pop r12
push rbx
addps xmm3, xmm5
push r14
mov bl, r14b
emms
pop r14
movlhps xmm11, xmm14
pop rbx
mov rax, r11
sub rax, rsi
mov rbx, rax
push rax
inc eax
push r9
mov eax, 1
packsswb mm2, mm1
push r11
emms
andps xmm4, xmm7
nop
push r14
subss xmm13, xmm12
punpcklwd mm3, mm1
subps xmm15, xmm10
nop
pop r14
psrlq mm7, 0xb
sbb ax, 0x16
dec r9
pop r11
emms
dec eax
pop r9
paddd mm6, mm7
pop rax
mov r8d, 3
mov rdx, rax
call fcn.2904e37d0
test eax, eax
jne 0x2904e496e
push rbx
pcmpgtd mm4, mm2
pop rbx
jmp 0x2904e4bd2
add rsi, 0x20
cmp rsi, rdi
jne 0x2904e4861
cmp r12d, 0x23
je 0x2904e4a87
push r10
movups xmm13, xmm11
psrad mm7, 0x5a
paddusb mm3, mm4
push rax
sub al, 0x10
paddsb mm3, mm5
subps xmm2, xmm11
push r8
addss xmm4, xmm11
neg r10w
emms
pop r8
punpckhwd mm6, mm2
neg r10d
sar r10, 0xf
pop rax
nop
inc r10
dec r10d
pop r10
cmp r10d, r11d
je 0x2904e4aab
cmp r12d, 0xe
jne 0x2904e49db
push r15
not r15d
pop r15
jmp 0x2904e49e0
push r12
nop
pop r12
push rcx
pmaxsw mm4, mm3
pop rcx
cmp r11d, eax
je 0x2904e4ad5
push r9
emms
shr r9w, 0x17
not r9
mulps xmm13, xmm3
rcpps xmm5, xmm2
shr r9b, 2
rcl r9b, 3
pop r9
cmp r9d, 0x39
je 0x2904e4b24
push r15
psrlw mm6, 6
emms
rol r15d, 7
not r15
push rdx
nop
emms
sbb r15b, 6
push rcx
sbb dx, cx
neg cl
push r14
emms
pop r14
not cx
andps xmm5, xmm3
pop rcx
emms
sub rdx, 0x12
emms
pop rdx
psrad mm5, 0x4c
nop
pslld mm0, 0x50
nop
pop r15
cmp r8d, r13d
je 0x2904e4b6a
cmp r12w, 0x45
jne 0x2904e4a6d
push r11
neg r11d
pop r11
jmp 0x2904e4a70
push rbx
nop
pop rbx
push r15
not r15w
pop r15
cmp eax, r8d
je 0x2904e4b7e
jne 0x2904e4bb8
push r10
rcl r10w, 0xd
push r9
sub r9b, 1
push r14
ror r14b, 1
pop r14
dec r10
pop r9
psllq mm0, 0x65
pop r10
jmp 0x2904e4bb8
push r10
emms
push r9
psrlw mm2, 0x56
push rcx
emms
push r12
psraw mm7, 0x5d
pop r12
psrad mm2, 0x1a
pop rcx
rcr r9b, 6
pop r9
packuswb mm6, mm1
pop r10
jmp 0x2904e4bb8
push r9
psllq mm4, 0xc
rol r9d, 2
push rax
inc r9d
nop
push r11
addss xmm8, xmm4
adc eax, r11d
push r10
cmp r11d, eax
sub ax, r11w
push rdx
pmullw mm2, mm1
psrlq mm7, 0x3b
pop rdx
psrlq mm1, 0x30
inc r11d
pop r10
subps xmm15, xmm0
emms
pop r11
emms
pmaddwd mm5, mm1
pop rax
dec r9
neg r9d
pop r9
jmp 0x2904e4bb8
push r14
emms
maxss xmm8, xmm14
emms
rol r14d, 0xc
push r9
shl r14, 0x12
emms
rol r9d, 0x10
push r13
emms
ror r13w, 0x15
push r11
not r14
pop r11
nop
punpcklwd mm0, mm3
pop r13
packsswb mm4, mm0
pand mm0, mm6
nop
pop r9
psubsb mm6, mm0
emms
emms
nop
pop r14
jmp 0x2904e4bb8
push r13
mov r13, 1
push rcx
pop rcx
dec r13
jne 0x2904e4b73
pop r13
jmp 0x2904e4bb8
push r10
emms
push r8
not r10w
push rbx
mulps xmm9, xmm13
push r15
emms
push r14
cmp r8w, r14w
push r13
emms
pop r13
rcl r8b, 4
pop r14
dec r10d
pop r15
pslld mm1, 2
pop rbx
sar r8b, 0x14
pop r8
packsswb mm7, mm2
pop r10
push r12
mov r12, 1
push r13
push r15
pop r15
pop r13
dec r12
jne 0x2904e4bc1
pop r12
xor ebx, ebx
mov rax, rbx
add rsp, 0x30
pop rbx
pop rsi
pop rdi
ret