Function at 0x2904f4b60
Capabilities:
Encode data using base64
Encode data using xor
Encrypt data using chaskey
Encrypt data using speck
Hash data using murmur3
Parse pe header

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x78
mov rdi, rcx
mov esi, edx
push r11
maxss xmm3, xmm15
push r8
shr r8d, 0xb
push r14
nop
push rbx
sub r14w, r11w
pop rbx
psllq mm3, 0x1d
pop r14
pcmpgtd mm6, mm3
pop r8
nop
pop r11
push r8
paddusw mm7, mm1
andps xmm4, xmm6
nop
nop
push r13
maxss xmm12, xmm5
nop
mov r8d, 1
mov r13, 0x12
pop r13
psubw mm6, mm7
emms
nop
shr r8w, 3
pop r8
lea rbx, [0x2904f5f60]
lea r14, [rsp + 0x50]
lea r12, [rbx + 0x10]
mov rbp, r14
push r15
nop
minps xmm10, xmm2
movups xmm12, xmm13
emms
push r12
paddb mm0, mm2
movlhps xmm13, xmm15
nop
neg r15
pop r12
sar r15d, 0xb
psubusw mm5, mm3
shr r15d, 0x12
not r15b
pop r15
call fcn.2904f44f7
mov al, byte [rbx]
mov byte [rbp], al
push rcx
pmulhuw mm2, mm6
emms
dec ecx
mov rcx, 0xa
push r11
emms
cmp r11d, ecx
rcpps xmm10, xmm9
neg r11d
pop r11
nop
psrld mm6, 0x40
nop
psrlq mm3, 8
pop rcx
mov edx, 8
mov ecx, 4
call sub.msvcrt.dll_calloc
mov rcx, rax
push r15
neg r15d
nop
neg r15
dec r15d
push r10
packsswb mm2, mm0
emms
rcr r15b, 0x16
push rcx
psllq mm7, 0x69
adc rcx, r15
push rbx
emms
pop rbx
rcl r10w, 0x16
psrlq mm5, 0xf
pop rcx
emms
emms
inc r15
pop r10
nop
psrlw mm1, 0x5c
pmulhuw mm3, mm0
punpcklbw mm6, mm5
pop r15
mov edx, 0xe0
call sub.msvcrt.dll_realloc
mov rcx, rax
cmp r12d, 0x2a
je 0x2904f4e3b
push r12
emms
nop
push rdx
psrld mm0, 0x5b
psrld mm2, 0x4d
push r8
psrad mm5, 0x4c
shr dx, 0x14
push r14
dec r14
xor r12w, r8w
push r11
emms
mov edx, 0x15
pop r11
paddusb mm4, mm7
psubsb mm0, mm3
pop r14
neg r8b
shl r8, 0xe
pop r8
pandn mm4, mm0
ucomiss xmm3, xmm11
pop rdx
pandn mm3, mm1
mulps xmm11, xmm10
pop r12
cmp r12d, 0x35
je 0x2904f4e5a
push rax
movaps xmm9, xmm1
push r9
pmullw mm1, mm2
push r11
and r11, rax
push r10
pslld mm6, 0x2a
push r15
nop
push rdx
pcmpgtb mm4, mm2
push r14
nop
pop r14
dec rax
pop rdx
emms
pop r15
neg r11
pop r10
emms
pop r11
sub rax, 0xc
pop r9
subps xmm13, xmm3
pop rax
cmp r15b, dl
je 0x2904f4e63
push r13
inc r13d
emms
emms
dec r13d
psubusw mm2, mm5
push rbx
emms
paddd mm6, mm4
mulss xmm12, xmm5
dec r13d
packssdw mm0, mm6
pop rbx
nop
movaps xmm15, xmm2
sar r13b, 0xd
emms
rcpps xmm9, xmm0
inc r13d
pop r13
cmp r12w, r13w
je 0x2904f4e81
push rcx
psrlq mm7, 0x58
push r15
inc r15d
push rdx
adc rdx, rcx
push r13
emms
push r8
sub r13b, 0xc
push r11
sar r11b, 0xe
push r10
nop
pop r10
sub r13, 7
pop r11
mov r13, 9
pop r8
pslld mm2, 0x14
pop r13
nop
pop rdx
psrlq mm2, 0x13
pop r15
emms
pop rcx
cmp ax, 0x42
je 0x2904f4e97
push rcx
shr ecx, 0x11
push r8
test r8d, ecx
psrad mm6, 0x67
push r10
subps xmm5, xmm0
psubw mm7, mm6
test cl, r8b
push rax
punpckhwd mm0, mm4
psrad mm1, 1
emms
emms
push r9
neg eax
psrld mm6, 0x46
psrlq mm3, 0x37
neg ax
neg r9d
pop r9
rcl cx, 0xa
andps xmm14, xmm10
neg r10w
pmaxub mm6, mm5
pop rax
emms
nop
pmulhuw mm4, mm3
pop r10
xadd rcx, r8
shr r8d, 8
pop r8
emms
pop rcx
cmp al, bl
je 0x2904f4ec1
jne 0x2904f4f0c
push r14
paddsw mm4, mm2
mulss xmm0, xmm13
nop
nop
pslld mm5, 0xc
psrad mm7, 0x52
ror r14b, 0x11
pop r14
jmp 0x2904f4f0c
push rdx
emms
pop rdx
jmp 0x2904f4f0c
push r8
mulps xmm7, xmm2
push r10
psraw mm5, 0x1a
push r14
nop
pop r14
psubsb mm6, mm3
pop r10
emms
pop r8
jmp 0x2904f4f0c
push r8
mov r8, 1
push r10
pop r10
dec r8
jne 0x2904f4e8a
pop r8
jmp 0x2904f4f0c
push r10
not r10b
push rdx
emms
push rbx
sbb rdx, rbx
push r15
dec rbx
push rcx
not dx
pop rcx
neg r10
pop r15
inc r10d
pop rbx
rol edx, 0x17
pop rdx
neg r10d
pop r10
jmp 0x2904f4f0c
push r11
emms
pmaxsw mm1, mm5
push rax
rcr eax, 0xd
rcpss xmm2, xmm7
push r8
psubw mm1, mm0
nop
push r10
subps xmm9, xmm11
emms
push r14
punpckhbw mm1, mm5
psrad mm3, 0x13
pop r14
cmp rax, r10
xadd r8w, ax
pop r10
mulps xmm3, xmm2
pslld mm0, 0x4c
pop r8
emms
cmp r11, rax
pop rax
sar r11w, 0x13
addps xmm2, xmm3
pop r11
cmp r12b, r13b
jne 0x2904f4f24
push rcx
mov rcx, 0x14
pop rcx
jmp 0x2904f4f2b
push r8
pcmpeqd mm3, mm0
pop r8
push r14
neg r14w
pop r14
call sub.msvcrt.dll_free
push r8
paddw mm7, mm4
psraw mm3, 0x45
push rdx
not edx
nop
push r13
psllq mm5, 0x45
sub r8d, r13d
push r10
maxps xmm12, xmm7
rcr r10, 9
push rax
nop
movaps xmm10, xmm1
pop rax
addss xmm9, xmm1
rcpps xmm0, xmm13
pop r10
ror r8d, 0xd
sbb r13w, 7
pop r13
emms
psllq mm2, 0x30
pop rdx
nop
not r8d
pop r8
mov al, byte [rbx + 0x10]
inc rbx
inc rbp
mov byte [rbp + 0xf], al
cmp rbx, r12
jne 0x2904f4bda
push rcx
dec rcx
emms
nop
push r8
psrlq mm4, 0x4a
nop
ror r8b, 0x13
push r13
paddw mm3, mm4
pcmpeqb mm7, mm6
nop
pop r13
psrld mm3, 0x15
shr r8, 0x17
sar r8, 0xc
pop r8
emms
emms
psrlw mm4, 0x4c
pop rcx
call fcn.2904f2fcd
push r8
paddb mm6, mm2
mov r8, 7
emms
push r15
emms
andps xmm0, xmm12
push rcx
por mm5, mm0
pop rcx
mov r8, r15
nop
pop r15
packsswb mm3, mm1
dec r8
shr r8w, 0x16
pop r8
call fcn.2904f3796
lea r15, [rsp + 0x3d]
test esi, esi
je 0x2904f5f1d
push r15
dec r15d
subps xmm13, xmm4
shl r15b, 5
rol r15, 6
nop
not r15d
emms
sar r15b, 0x14
psrad mm2, 0x5f
nop
nop
comiss xmm5, xmm14
pop r15
xor ebx, ebx
lea r12, [rsp + 0x38]
lea rbp, [rsp + 0x40]
call fcn.2904f3e19
mov word [rsp + 0x30], 0x7d44
mov byte [rsp + 0x32], 0
push r12
nop
push r9
adc r9, r12
psrad mm1, 0x59
pop r9
movss xmm7, xmm3
pop r12
mov dword [rsp + 0x38], 0x266a6b36
mov word [rsp + 0x3c], 0x26
cmp r12, 0x40
jne 0x2904f508a
push r11
ucomiss xmm0, xmm3
pop r11
jmp 0x2904f5091
push rdx
maxss xmm1, xmm9
pop rdx
push r10
paddsw mm2, mm6
pop r10
lea r13, [rsp + 0x30]
mov rdx, r12
mov rcx, r13
call sub.msvcrt.dll__mbscmp
test eax, eax
jne 0x2904f50d2
push r12
packsswb mm4, mm1
shl r12b, 6
shr r12w, 4
not r12w
mov r12, 0x15
psllq mm6, 0x1c
subss xmm4, xmm10
pop r12
jmp 0x2904f50f0
push rbx
emms
push r15
nop
push r14
psrld mm1, 0x5f
push r12
emms
pop r12
neg r14w
pop r14
emms
pop r15
nop
pop rbx
push r8
psrad mm0, 0x29
push r14
shl r14b, 0x16
sar r14b, 3
push r10
not r14d
maxss xmm11, xmm13
emms
push r9
nop
movss xmm11, xmm3
inc r14
mulss xmm12, xmm8
push r15
and r14b, r8b
ror r14d, 1
emms
neg r8
sub r10d, r8d
pop r15
inc r8d
punpcklwd mm3, mm4
not r10b
rcl r8b, 0xc
pop r9
ror r14b, 0xa
psllq mm1, 0x2d
nop
pop r10
emms
psraw mm1, 0xb
pop r14
inc r8
pop r8
mov al, byte [rsp + rbx + 0x60]
mov byte [rbx + rbp], al
push r8
nop
mov r8w, 0xd
push r9
sbb r9, r8
pcmpgtb mm2, mm5
push r15
emms
inc r9
push r13
packssdw mm0, mm7
shr r15, 0xa
push rdx
emms
pcmpgtd mm7, mm0
pop rdx
rol r9w, 0x10
sub r13, r8
pop r13
psraw mm5, 0x2a
addps xmm7, xmm13
pop r15
emms
rcpss xmm3, xmm4
pop r9
emms
pcmpeqd mm7, mm0
pop r8
mov edx, 2
mov ecx, 3
call sub.msvcrt.dll_calloc
mov rcx, rax
cmp r12b, 0x50
jne 0x2904f5249
push rbx
ror bx, 9
packsswb mm5, mm6
dec rbx
push r8
psubsb mm0, mm5
psllq mm7, 0x58
movlhps xmm5, xmm13
push r15
shl rbx, 7
sar r8d, 0x16
push rdx
sar r8b, 9
nop
pop rdx
sub r8, r15
inc r8
inc r15
pop r15
dec rbx
psrld mm5, 0x4b
pop r8
maxps xmm11, xmm12
ror rbx, 9
pop rbx
jmp 0x2904f529e
push r11
emms
push rax
paddsw mm1, mm3
paddsb mm4, mm7
push r10
maxps xmm8, xmm14
and rax, r10
paddusb mm7, mm0
push rbx
xor rbx, r11
paddusw mm4, mm2
neg rax
emms
push r9
add r9d, ebx
mov r9b, r10b
rcpss xmm3, xmm5
xchg bl, al
psrld mm5, 0x48
pop r9
nop
shl ax, 0xd
emms
sbb eax, r10d
pop rbx
nop
shl eax, 0xc
sbb r10b, 0x11
pop r10
nop
emms
pop rax
paddsw mm5, mm4
pop r11
push r10
psrlw mm6, 0x51
push rcx
addss xmm3, xmm12
or rcx, r10
push r13
nop
emms
mov r13b, r10b
push r9
rol r9b, 0xf
pmaxub mm4, mm2
emms
movhlps xmm14, xmm4
pop r9
nop
maxps xmm5, xmm14
rcl cl, 0xe
pop r13
xor cl, r10b
emms
pop rcx
pcmpeqw mm3, mm1
pop r10
mov edx, 0x30
call sub.msvcrt.dll_realloc
mov rcx, rax
xor eax, eax
push r12
emms
push r14
sar r14, 9
pmulhuw mm7, mm4
push rcx
psrld mm6, 0x3d
emms
packssdw mm6, mm4
push rbx
test bx, r14w
movss xmm11, xmm6
nop
shr r12w, 7
pop rbx
neg r12b
dec r12d
emms
pop rcx
movhlps xmm1, xmm6
pcmpeqw mm0, mm1
pop r14
pcmpgtb mm1, mm5
pop r12
xor word [rcx + rax*2], 0x23
push r9
emms
push rcx
xadd cl, r9b
emms
push r14
mulss xmm8, xmm10
psubsb mm4, mm6
not r9d
pop r14
rol cl, 0x11
ror r9, 0x12
pop rcx
nop
pop r9
inc rax
cmp rax, 3
jne 0x2904f52ea
call sub.msvcrt.dll_free
push r8
mov r8, 1
push r10
pop r10
dec r8
jne 0x2904f5369
pop r8
inc rbx
cmp rbx, 0x10
jne 0x2904f5048
push rdx
nop
inc rdx
emms
neg dx
neg dx
psrlw mm5, 0x67
psrad mm6, 0x14
pop rdx
push r11
addss xmm14, xmm12
pslld mm3, 0x68
push r12
nop
pop r12
packssdw mm4, mm5
paddd mm3, mm0
pop r11
xor ebx, ebx
lea r8, [rsp + 0x32]
mov qword [rsp + 0x20], r8
mov word [rsp + 0x30], 0x6143
mov byte [rsp + 0x32], 0
push rbx
psrld mm0, 0x3f
pop rbx
mov dword [rsp + 0x38], 0x7e642765
mov word [rsp + 0x3c], 0x38
push r12
sbb r12b, 0x12
dec r12d
nop
psraw mm5, 0x43
inc r12
pmaddwd mm3, mm5
pandn mm7, mm6
pop r12
mov rdx, r12
mov rcx, r13
call sub.msvcrt.dll__mbscmp
mov r8, qword [rsp + 0x20]
test eax, eax
jne 0x2904f5488
mov rax, r13
push r14
nop
push r12
emms
push rcx
or r12, r14
push rbx
andps xmm11, xmm5
pop rbx
ror r12b, 0x16
pop rcx
nop
pop r12
emms
pop r14
xor byte [rax], 0x76
cmp r12d, 0x6b
jne 0x2904f5458
push r9
rcpss xmm0, xmm10
push rbx
inc ebx
paddd mm5, mm4
pop rbx
emms
pop r9
jmp 0x2904f5467
push r11
nop
push rax
emms
psrlw mm7, 0x48
pop rax
emms
pop r11
push r15
psrlw mm6, 0x1f
push rdx
mov r15w, 5
shl r15d, 0x15
pop rdx
nop
pop r15
inc rax
cmp rax, r8
jne 0x2904f540c
jmp 0x2904f55d1
mov rax, r12
cmp r12d, edx
jne 0x2904f5524
push r14
nop
nop
nop
push rbx
inc rbx
rcpps xmm7, xmm0
and r14d, ebx
push r12
sbb r14d, r12d
emms
push rdx
packsswb mm2, mm1
sub r12d, 2
pop rdx
psrad mm2, 0x34
paddb mm7, mm3
psrad mm2, 0x55
pop r12
not ebx
pslld mm4, 0x16
pop rbx
emms
mulss xmm4, xmm8
pop r14
jmp 0x2904f554b
push rcx
ror rcx, 0x10
psrlq mm5, 0x55
neg ecx
rcr rcx, 0xa
push rax
emms
xchg rcx, rax
comiss xmm13, xmm2
nop
pop rax
psrld mm5, 6
psrlq mm4, 0x1d
paddsw mm0, mm1
nop
pop rcx
cmp r12, 0x32
jne 0x2904f5567
push r15
subps xmm4, xmm3
push r13
psrlw mm6, 0x68
psrad mm6, 0x61
pop r13
nop
pop r15
jmp 0x2904f557c
push r14
mulss xmm12, xmm14
push rdx
movlhps xmm15, xmm0
psraw mm0, 0x21
pop rdx
emms
pop r14
push rax
nop
push r12
psraw mm0, 0x40
emms
pop r12
dec eax
pop rax
xor byte [rax], 0x99
push r11
nop
push r9
psrlw mm7, 0x23
push rcx
nop
push r10
pcmpgtd mm7, mm0
push rdx
emms
push rbx
paddb mm3, mm5
push r15
movaps xmm7, xmm11
pop r15
sar dl, 3
pop rbx
emms
pop rdx
emms
pop r10
inc ecx
pop rcx
emms
pop r9
pslld mm2, 6
pop r11
inc rax
cmp rax, r15
jne 0x2904f548b
push rax
nop
psrad mm6, 0x47
nop
andnps xmm9, xmm11
not eax
minps xmm6, xmm4
emms
neg rax
movups xmm14, xmm5
packsswb mm1, mm6
shl al, 0x17
nop
pop rax
mov eax, dword [rbp + rbx]
xor eax, dword [r14 + rbx]
mov dword [rbp + rbx], eax
add rbx, 4
cmp rbx, 0x10
jne 0x2904f53b6
push r9
ucomiss xmm6, xmm2
push rax
nop
push rbx
nop
push r8
sbb r8b, al
push r15
psrlq mm6, 0x14
push rdx
shl r15, 6
pop rdx
dec r8d
pop r15
rcl bl, 0xf
pop r8
not rax
pop rbx
punpckhbw mm6, mm1
pop rax
emms
pop r9
call fcn.2904f3176
push r15
sar r15, 0xb
nop
movhlps xmm6, xmm3
nop
orps xmm8, xmm15
push rax
rol r15d, 0xf
pslld mm0, 2
ror rax, 0x16
nop
emms
pop rax
neg r15b
movaps xmm13, xmm7
paddd mm1, mm3
nop
psraw mm2, 0x13
punpcklbw mm3, mm2
pop r15
call fcn.2904f49b9
mov eax, dword [rsp + 0x44]
mov edx, dword [rsp + 0x4c]
mov ecx, dword [rsp + 0x40]
mov r8d, dword [rsp + 0x48]
add ecx, eax
add r8d, edx
rol eax, 5
rol edx, 8
xor eax, ecx
rol ecx, 0x10
xor edx, r8d
add r8d, eax
rol eax, 7
add ecx, edx
rol edx, 0xd
xor eax, r8d
xor edx, ecx
rol r8d, 0x10
mov dword [rsp + 0x40], ecx
mov dword [rsp + 0x4c], edx
mov dword [rsp + 0x44], eax
mov dword [rsp + 0x48], r8d
dec ebx
jne 0x2904f5641
cmp r12, r11
je 0x2904f5842
push r14
rcl r14w, 0xf
push r11
neg r14d
pop r11
punpcklwd mm3, mm4
pop r14
cmp r11w, bx
je 0x2904f58ac
push r12
emms
pcmpeqd mm7, mm4
addss xmm8, xmm6
push rdx
emms
nop
shl r12w, 0xd
push r11
ror r12, 0x12
mov r12b, 0x12
sbb r12d, r11d
pop r11
psrad mm2, 0x20
psrld mm2, 0x48
test r12d, edx
pop rdx
inc r12d
emms
emms
pop r12
cmp rax, r9
je 0x2904f58f1
push r10
nop
emms
mulps xmm2, xmm15
nop
paddw mm2, mm0
push rax
andnps xmm13, xmm1
neg eax
nop
shl r10w, 0xc
push r11
subss xmm7, xmm11
punpckhwd mm2, mm1
sbb r10d, 8
push r14
pmullw mm4, mm7
psraw mm5, 4
push r13
por mm0, mm6
pop r13
psrad mm5, 0x4b
packsswb mm3, mm1
pop r14
nop
psllq mm1, 0x6b
rcr rax, 3
pop r11
psrlw mm1, 0x23
nop
pslld mm5, 0x39
punpckldq mm6, mm5
pop rax
subps xmm6, xmm14
rol r10, 0xc
dec r10d
subss xmm12, xmm6
psrad mm4, 0x35
pop r10
cmp r11b, 0x5f
je 0x2904f591d
push rbx
pcmpeqd mm4, mm1
emms
nop
psubsb mm5, mm7
nop
push r14
rcr bl, 0x16
add r14d, ebx
psrad mm7, 0x67
ucomiss xmm3, xmm5
push r11
mulps xmm1, xmm7
shl ebx, 0x16
psubusw mm7, mm3
push r13
pmullw mm6, mm3
emms
push rdx
cmp r11, rbx
pop rdx
emms
emms
pop r13
not r11w
shl r11w, 3
andps xmm5, xmm13
pop r11
emms
psraw mm6, 7
psllq mm0, 0x18
mov r14, rbx
pop r14
psrlq mm1, 0x58
shl rbx, 0x13
punpcklwd mm2, mm6
andps xmm11, xmm14
dec rbx
pop rbx
cmp r10b, 0x4b
je 0x2904f5949
push r15
addps xmm3, xmm14
push r12
psrld mm1, 0xe
dec r12d
pop r12
inc r15
pop r15
cmp r12, rdx
je 0x2904f5964
jne 0x2904f599c
push r13
dec r13d
push r8
not r8d
andnps xmm3, xmm4
push rcx
emms
dec r8
emms
push r10
emms
xor cl, r8b
andps xmm14, xmm4
psraw mm4, 0x2b
push r14
psrad mm3, 0x62
neg r8w
shl r10, 0xb
emms
test r10d, r13d
pop r14
paddsb mm1, mm4
shr r8b, 0x10
addss xmm11, xmm14
adc r10d, r13d
pop r10
addss xmm13, xmm9
paddusw mm3, mm0
xorps xmm13, xmm14
pop rcx
or r13w, r8w
rcr r8w, 1
pop r8
emms
pop r13
jmp 0x2904f599c
push r15
comiss xmm8, xmm11
push r13
nop
or r15, r13
push r14
pmaxsw mm6, mm5
packssdw mm4, mm5
movlhps xmm11, xmm6
push r12
mov r12b, 0x16
paddw mm1, mm3
nop
psrad mm5, 0x42
pop r12
add r13w, r14w
paddsw mm1, mm3
psrad mm2, 0x49
pop r14
sub r13b, 0x13
xchg r13d, r15d
pop r13
nop
pop r15
jmp 0x2904f599c
push r12
shl r12b, 0xe
push r8
ucomiss xmm11, xmm13
psraw mm2, 0x64
push r15
pand mm3, mm4
psubusw mm3, mm0
nop
pop r15
not r8w
not r12
pop r8
sub r12d, 2
pop r12
jmp 0x2904f599c
push r11
sar r11d, 2
neg r11w
sar r11, 0x14
ucomiss xmm5, xmm8
pcmpeqw mm6, mm3
nop
nop
andps xmm13, xmm14
paddd mm5, mm7
psubsb mm4, mm3
punpckhwd mm3, mm4
psllq mm1, 0x5a
pop r11
jmp 0x2904f599c
push r13
maxss xmm14, xmm4
push r10
nop
push rax
dec r10d
pop rax
pmulhuw mm7, mm4
pop r10
neg r13
pop r13
jmp 0x2904f599c
push rdx
not edx
push rbx
movups xmm14, xmm12
nop
push rax
inc eax
psrad mm2, 0x3a
emms
push r15
nop
psraw mm7, 0x51
emms
xadd eax, ebx
pop r15
inc eax
mov rdx, 6
neg rax
pop rax
sbb edx, 6
pslld mm3, 0x29
pop rbx
emms
pop rdx
push r13
psllq mm4, 0x5c
neg r13w
rol r13d, 0x17
push r14
inc r13d
pmulhuw mm2, mm6
inc r14d
push r10
paddsb mm4, mm7
emms
push r12
psrlw mm3, 0x46
psraw mm1, 0x37
pop r12
packsswb mm3, mm6
emms
psrlq mm5, 0x48
pop r10
pcmpgtd mm2, mm7
paddw mm7, mm3
pop r14
nop
shr r13d, 0xd
pop r13
xor eax, eax
push r10
movaps xmm4, xmm10
pcmpeqw mm3, mm2
pmaxsw mm4, mm6
push r13
mulps xmm7, xmm10
nop
emms
push r8
dec r10d
mulss xmm2, xmm11
psrlw mm3, 0x4e
pop r8
andnps xmm0, xmm9
addss xmm10, xmm0
neg r13d
pop r13
pxor mm2, mm1
nop
emms
pop r10
mov edx, dword [rbp + rax]
xor edx, dword [r14 + rax]
mov dword [rbp + rax], edx
add rax, 4
cmp rax, 0x10
jne 0x2904f59e4
push r14
mov r14, 2
push r9
push r15
pop r15
pop r9
dec r14
jne 0x2904f5a3e
pop r14
movabs rax, 0x660070002f
mov ebx, 0x10
cmp esi, ebx
mov qword [rsp + 0x30], rax
cmovbe rbx, rsi
push rdx
emms
nop
rcr rdx, 1
push r9
pmullw mm3, mm7
rol r9w, 0x12
emms
push r14
movups xmm3, xmm15
psllq mm1, 0x19
push r11
paddusw mm1, mm4
psraw mm0, 0x44
pop r11
psrad mm4, 0x6a
punpckhwd mm5, mm0
psraw mm0, 0x59
pop r14
shl r9, 3
nop
pop r9
pand mm4, mm0
paddw mm0, mm6
pop rdx
movabs rax, 0x5f004b0035
mov qword [rsp + 0x38], rax
push rax
not rax
pop rax
mov rdx, r12
mov rcx, r13
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x2904f5b0e
push r13
emms
push r15
comiss xmm14, xmm1
push r11
shl r13w, 8
push r8
paddd mm4, mm3
push rax
nop
push rdx
paddsw mm2, mm3
push r10
inc r13
pop r10
psrld mm2, 0x2b
pop rdx
movaps xmm11, xmm8
pop rax
shl r15b, 0xf
pop r8
mov r11d, r13d
pop r11
emms
pop r15
nop
pop r13
jmp 0x2904f5b35
push rdx
movhlps xmm8, xmm3
push r9
movups xmm15, xmm5
shl edx, 0xe
push r8
shr dl, 7
neg rdx
psraw mm0, 0x54
pop r8
pslld mm5, 0x51
nop
pop r9
psubsb mm1, mm0
pop rdx
push r10
psrlq mm3, 0x42
push rdx
emms
push r13
subss xmm10, xmm8
push r8
subps xmm5, xmm10
pop r8
psrlq mm7, 0x32
pop r13
addps xmm10, xmm4
pop rdx
emms
pop r10
xor r8d, r8d
lea r9, [rsp + 0x32]
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x20], r8
mov word [rsp + 0x30], 0x6143
mov byte [rsp + 0x32], 0
push rbx
psrld mm0, 0x3f
pop rbx
mov dword [rsp + 0x38], 0x7e642765
mov word [rsp + 0x3c], 0x38
push r12
sbb r12b, 0x12
dec r12d
nop
psraw mm5, 0x43
inc r12
pmaddwd mm3, mm5
pandn mm7, mm6
pop r12
mov rdx, r12
mov rcx, r13
call sub.msvcrt.dll__mbscmp
mov r8, qword [rsp + 0x20]
mov r9, qword [rsp + 0x28]
test eax, eax
jne 0x2904f5c40
mov rax, r13
push r14
nop
push r12
emms
push rcx
or r12, r14
push rbx
andps xmm11, xmm5
pop rbx
ror r12b, 0x16
pop rcx
nop
pop r12
emms
pop r14
xor byte [rax], 0x76
cmp r12d, 0x6b
jne 0x2904f5c10
push r9
rcpss xmm0, xmm10
push rbx
inc ebx
paddd mm5, mm4
pop rbx
emms
pop r9
jmp 0x2904f5c1f
push r11
nop
push rax
emms
psrlw mm7, 0x48
pop rax
emms
pop r11
push r15
psrlw mm6, 0x1f
push rdx
mov r15w, 5
shl r15d, 0x15
pop rdx
nop
pop r15
inc rax
cmp rax, r9
jne 0x2904f5bc4
jmp 0x2904f5d89
mov rax, r12
cmp r12d, edx
jne 0x2904f5cdc
push r14
nop
nop
nop
push rbx
inc rbx
rcpps xmm7, xmm0
and r14d, ebx
push r12
sbb r14d, r12d
emms
push rdx
packsswb mm2, mm1
sub r12d, 2
pop rdx
psrad mm2, 0x34
paddb mm7, mm3
psrad mm2, 0x55
pop r12
not ebx
pslld mm4, 0x16
pop rbx
emms
mulss xmm4, xmm8
pop r14
jmp 0x2904f5d03
push rcx
ror rcx, 0x10
psrlq mm5, 0x55
neg ecx
rcr rcx, 0xa
push rax
emms
xchg rcx, rax
comiss xmm13, xmm2
nop
pop rax
psrld mm5, 6
psrlq mm4, 0x1d
paddsw mm0, mm1
nop
pop rcx
cmp r12, 0x32
jne 0x2904f5d1f
push r15
subps xmm4, xmm3
push r13
psrlw mm6, 0x68
psrad mm6, 0x61
pop r13
nop
pop r15
jmp 0x2904f5d34
push r14
mulss xmm12, xmm14
push rdx
movlhps xmm15, xmm0
psraw mm0, 0x21
pop rdx
emms
pop r14
push rax
nop
push r12
psraw mm0, 0x40
emms
pop r12
dec eax
pop rax
xor byte [rax], 0x99
push r11
nop
push r9
psrlw mm7, 0x23
push rcx
nop
push r10
pcmpgtd mm7, mm0
push rdx
emms
push rbx
paddb mm3, mm5
push r15
movaps xmm7, xmm11
pop r15
sar dl, 3
pop rbx
emms
pop rdx
emms
pop r10
inc ecx
pop rcx
emms
pop r9
pslld mm2, 6
pop r11
inc rax
cmp r15, rax
jne 0x2904f5c43
push rax
nop
psrad mm6, 0x47
nop
andnps xmm9, xmm11
not eax
minps xmm6, xmm4
emms
neg rax
movups xmm14, xmm5
packsswb mm1, mm6
shl al, 0x17
nop
pop rax
mov al, byte [rbp + r8]
xor byte [rdi + r8], al
push rdx
pcmpgtb mm2, mm5
movaps xmm10, xmm4
emms
neg edx
subps xmm12, xmm3
emms
shr dl, 0x15
pop rdx
inc r8
cmp r8d, ebx
jb 0x2904f5b64
push rdx
mov rdx, 3
push r12
push rax
pop rax
pop r12
dec rdx
jne 0x2904f5ddd
pop rdx
sub esi, ebx
push rbx
psrlw mm4, 0x29
push r13
psubw mm2, mm6
push r8
xor r13d, r8d
push r14
punpckhbw mm4, mm7
push r9
nop
push r10
pmaxub mm5, mm4
push rdx
pcmpeqw mm1, mm0
pop rdx
nop
pop r10
nop
pop r9
emms
pop r14
rcr r8w, 0x13
pop r8
shl r13, 0xd
pop r13
psllq mm6, 0x17
pop rbx
call fcn.2904f34a5
add rdi, rbx
push r14
sbb r14, 0x12
psllq mm3, 0x6a
paddd mm3, mm7
rcr r14b, 0xd
addps xmm6, xmm11
emms
psrad mm6, 0x1e
pop r14
lea rbp, [r14 - 0x10]
mov rbx, r14
push r12
pslld mm6, 0x66
ror r12b, 6
mov r12, 9
paddw mm1, mm4
psrld mm7, 0x66
push r9
pslld mm0, 0x4f
rcr r9b, 0xd
psraw mm4, 0x12
psubw mm0, mm4
push rdx
psrld mm3, 0x5c
psrlw mm1, 0x2d
pcmpgtw mm7, mm1
push rcx
emms
shl r9w, 0xb
push r10
nop
pop r10
adc r12d, ecx
test r12w, cx
pop rcx
emms
inc r9
dec r9d
pop rdx
inc r9d
nop
nop
inc r12d
pop r9
sub r12, 0xe
nop
pcmpeqb mm3, mm1
psrld mm0, 0x43
neg r12w
pop r12
call fcn.2904f3c3a
inc byte [rbx + 0x1f]
jne 0x2904f5f04
push r13
nop
nop
maxps xmm0, xmm10
neg r13w
push r11
rcr r11d, 1
andnps xmm6, xmm12
shl r13w, 4
shl r11b, 6
pop r11
emms
dec r13d
comiss xmm1, xmm0
nop
pop r13
dec rbx
cmp rbx, rbp
jne 0x2904f5e54
push rdx
mov rdx, 3
push r12
push rax
pop rax
pop r12
dec rdx
jne 0x2904f5f0c
pop rdx
jmp 0x2904f5008
cmp r12w, 0x1b
jne 0x2904f5f2c
push rax
minps xmm13, xmm7
pop rax
jmp 0x2904f5f32
push r13
emms
pop r13
push rcx
neg rcx
pop rcx
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret