Function at 0x2e499e22d
Capabilities:
Encode data using xor
Encrypt data using chaskey

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x88
mov qword [rsp + 0xd0], rcx
cmp rdx, 0x49
jne 0x2e499e25b
push rbx
dec ebx
pop rbx
jmp 0x2e499e262
push r10
paddsb mm2, mm5
pop r10
push rcx
dec rcx
pop rcx
push r12
sbb r12w, 5
neg r12w
rol r12b, 0x12
subss xmm0, xmm13
nop
push r13
psrld mm7, 3
ror r13, 1
psrad mm6, 0x12
psraw mm0, 0x20
push r11
dec r11d
orps xmm2, xmm0
maxss xmm8, xmm13
push r15
psllq mm5, 0x24
sbb r11b, r12b
push r10
inc r12d
pop r10
psllq mm4, 0x37
pandn mm5, mm2
pop r15
emms
subss xmm5, xmm10
nop
pop r11
emms
psllq mm5, 0x6a
nop
psubusw mm6, mm2
pop r13
ror r12, 0x17
psrld mm1, 0xf
andps xmm6, xmm8
sbb r12d, 0xa
packuswb mm7, mm3
pop r12
call fcn.2e49b27d0
push r15
movlhps xmm0, xmm7
push r8
nop
push r14
not r14
push rdx
pslld mm4, 0x47
push rbx
mulps xmm1, xmm3
push rax
emms
pop rax
shl bx, 0xe
pop rbx
punpckhwd mm5, mm0
pop rdx
nop
pop r14
rcpss xmm13, xmm7
pop r8
sar r15, 5
pop r15
mov edx, 8
mov ecx, 3
call sub.msvcrt.dll_calloc
mov rcx, rax
push r9
andnps xmm13, xmm1
andnps xmm8, xmm6
emms
nop
pslld mm4, 0x45
push r12
add r9b, r12b
psrad mm3, 0x5a
neg r9w
paddusw mm2, mm4
push r8
pmaxsw mm1, mm5
nop
dec r12
push rdx
psrlw mm1, 0x61
movups xmm10, xmm0
push rbx
pcmpgtd mm7, mm5
pop rbx
movaps xmm13, xmm8
pcmpeqd mm4, mm1
pop rdx
adc r9, r12
inc r8d
maxss xmm13, xmm7
pop r8
emms
emms
and r12d, r9d
xadd r12w, r9w
pop r12
andps xmm12, xmm5
inc r9d
not r9
psrad mm1, 0xf
not r9b
pop r9
mov edx, 0xc0
call sub.msvcrt.dll_realloc
mov rcx, rax
push r9
nop
dec r9
emms
nop
push rdx
sbb rdx, r9
pmaddwd mm0, mm1
emms
push r12
nop
rol r9b, 4
push rax
nop
pop rax
sar r9, 0x10
test dx, r9w
pop r12
andnps xmm11, xmm14
dec rdx
maxss xmm10, xmm0
pop rdx
psubw mm4, mm2
maxss xmm1, xmm14
psrlw mm5, 0x58
shl r9, 0xb
pop r9
call sub.msvcrt.dll_free
push rdx
pcmpgtb mm4, mm1
rol rdx, 0xb
push r15
sbb dl, 0xc
pop r15
orps xmm10, xmm13
sub edx, 0x11
pop rdx
cmp rdx, rax
jne 0x2e499e455
cmp dx, bx
jne 0x2e499e414
push rbx
emms
pop rbx
jmp 0x2e499e41b
push r11
psubsb mm3, mm5
pop r11
push rcx
emms
pop rcx
jmp 0x2e499e495
push r10
andnps xmm13, xmm5
push r8
nop
push rdx
mov dx, r10w
push rax
paddusw mm0, mm1
push r15
paddb mm2, mm1
push r14
pmaddwd mm3, mm1
push r12
psrlq mm5, 0x31
pop r12
subss xmm12, xmm2
pop r14
nop
pop r15
neg r10
pop rax
nop
pop rdx
add r8w, r10w
pop r8
psrlw mm6, 0x67
pop r10
cmp dx, 0xa
jne 0x2e499e4ab
push r15
maxss xmm3, xmm1
pop r15
jmp 0x2e499e4b2
push r14
pcmpgtd mm6, mm1
pop r14
push r8
shl r8w, 0x17
pop r8
call fcn.2e49b1e3b
mov dword [rsp + 0x60], 0x64492e
push r9
dec r9d
nop
push r12
andnps xmm12, xmm13
psadbw mm7, mm4
push r13
pcmpgtw mm5, mm3
psubusw mm1, mm7
push r15
sar r13b, 0x13
shl r12w, 0x14
push r10
rcr r13b, 6
pcmpeqw mm2, mm5
pop r10
mulss xmm9, xmm6
dec r13d
pop r15
pmullw mm2, mm3
rcl r9b, 7
pop r13
emms
psllq mm5, 0x55
pop r12
maxss xmm14, xmm10
emms
pop r9
lea rbx, [rsp + 0x60]
mov rcx, rbx
call sub.msvcrt.dll_strlen
cmp rax, 2
jne 0x2e499e543
push rax
psubw mm1, mm2
punpckldq mm1, mm3
push rcx
psllq mm4, 0x2f
pop rcx
psllq mm3, 0x40
shl eax, 8
pop rax
jmp 0x2e499e58d
mov rax, rbx
lea rdx, [rsp + 0x63]
cmp rdx, r15
jne 0x2e499e560
push r8
psrlw mm4, 0x31
pop r8
jmp 0x2e499e567
push r15
neg r15
pop r15
push rbx
neg ebx
pop rbx
xor byte [rax], 0x25
push r9
ucomiss xmm15, xmm3
push r8
nop
push r10
nop
pop r10
nop
pop r8
neg r9w
pop r9
inc rax
cmp rax, rdx
jne 0x2e499e54b
cmp dx, r13w
jne 0x2e499e5a3
push r14
nop
push rcx
nop
emms
pop rcx
psrlw mm1, 0x12
pop r14
jmp 0x2e499e5b1
push rdx
not dl
push r10
nop
inc r10d
pop r10
emms
pop rdx
push rax
psrlw mm7, 0x5b
push rbx
xchg bl, al
psadbw mm1, mm7
pop rbx
packuswb mm0, mm1
pop rax
cmp dl, 0x45
jne 0x2e499e5f1
push rcx
sub ecx, 0x13
push r8
ucomiss xmm14, xmm12
emms
pop r8
nop
pop rcx
jmp 0x2e499e606
push r15
orps xmm2, xmm6
push rax
xor ax, r15w
psrlq mm1, 0x59
pop rax
psrad mm7, 0x1f
pop r15
push r13
shr r13d, 0x10
push rbx
pslld mm1, 0xe
paddsw mm7, mm2
pop rbx
nop
pop r13
push r13
pcmpgtd mm0, mm4
psrlw mm0, 0x2a
push r10
shl r13b, 3
pop r10
packsswb mm6, mm2
nop
pop r13
push rdx
subss xmm0, xmm4
pop rdx
push r10
mov r10, 1
push rdx
not dl
push r13
ror r13w, 3
pop r13
rcr edx, 0xd
pop rdx
dec r10
jne 0x2e499e63e
pop r10
call fcn.2e49b288a
xor eax, eax
mov r9, rbx
mov r8d, 8
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0xd0]
mov ecx, 0xb5
mov dword [rsp + 0x20], 0x20
call fcn.2e49a78c5
mov esi, eax
push r10
mov r10, 1
push rcx
pcmpeqd mm2, mm0
push rbx
emms
pop rbx
psraw mm0, 0x49
pop rcx
dec r10
jne 0x2e499e68f
pop r10
test eax, eax
je 0x2e499e6d8
push r9
paddsb mm1, mm7
xorps xmm6, xmm0
nop
emms
push r11
inc r11
test r9w, r11w
mov r9, r11
emms
pop r11
inc r9d
packsswb mm1, mm2
shr r9w, 0xe
orps xmm9, xmm13
pop r9
jmp 0x2e499f39f
push r12
pandn mm6, mm3
paddusw mm1, mm2
push r11
dec r12
pop r11
rcpss xmm15, xmm12
pmullw mm4, mm0
pop r12
mov ecx, 4
mov edx, 4
call sub.msvcrt.dll_calloc
mov rcx, rax
xor eax, eax
push rdx
emms
push r8
punpcklbw mm3, mm4
nop
pop r8
emms
pop rdx
xor dword [rcx + rax*4], 0x25
push rdx
not rdx
movups xmm3, xmm15
push r13
nop
pop r13
not dx
rol dl, 0x14
pop rdx
inc rax
cmp rax, 4
jne 0x2e499e705
call sub.msvcrt.dll_free
push r13
emms
packsswb mm1, mm2
psllq mm2, 0x5e
psllq mm0, 4
push r8
inc r13d
emms
pandn mm1, mm2
emms
pop r8
nop
nop
dec r13d
inc r13
pop r13
movabs r14, 0x7e005a0057
xor ebp, ebp
xor r12d, r12d
movabs r15, 0x73006f0053
cmp dword [rbx], 0
je 0x2e499eef6
mov dword [rsp + 0x54], 0x64492e
push r9
dec r9d
nop
push r12
andnps xmm12, xmm13
psadbw mm7, mm4
push r13
pcmpgtw mm5, mm3
psubusw mm1, mm7
push r15
sar r13b, 0x13
shl r12w, 0x14
push r10
rcr r13b, 6
pcmpeqw mm2, mm5
pop r10
mulss xmm9, xmm6
dec r13d
pop r15
pmullw mm2, mm3
rcl r9b, 7
pop r13
emms
psllq mm5, 0x55
pop r12
maxss xmm14, xmm10
emms
pop r9
lea rdi, [rsp + 0x54]
mov rcx, rdi
call sub.msvcrt.dll_strlen
cmp rax, 2
jne 0x2e499e805
push rax
psubw mm1, mm2
punpckldq mm1, mm3
push rcx
psllq mm4, 0x2f
pop rcx
psllq mm3, 0x40
shl eax, 8
pop rax
jmp 0x2e499e84f
mov rax, rdi
lea rdx, [rsp + 0x57]
cmp rdx, r15
jne 0x2e499e822
push r8
psrlw mm4, 0x31
pop r8
jmp 0x2e499e829
push r15
neg r15
pop r15
push rbx
neg ebx
pop rbx
xor byte [rax], 0x25
push r9
ucomiss xmm15, xmm3
push r8
nop
push r10
nop
pop r10
nop
pop r8
neg r9w
pop r9
inc rax
cmp rax, rdx
jne 0x2e499e80d
cmp dx, r13w
jne 0x2e499e865
push r14
nop
push rcx
nop
emms
pop rcx
psrlw mm1, 0x12
pop r14
jmp 0x2e499e873
push rdx
not dl
push r10
nop
inc r10d
pop r10
emms
pop rdx
push rax
psrlw mm7, 0x5b
push rbx
xchg bl, al
psadbw mm1, mm7
pop rbx
packuswb mm0, mm1
pop rax
mov eax, dword [rbx]
shr eax, 0x10
mov dword [rsp + 0x3c], eax
push r10
emms
psrlw mm3, 0x3a
pcmpgtd mm4, mm0
emms
xorps xmm0, xmm12
push rcx
rcr r10w, 0x16
rcr r10b, 6
movss xmm0, xmm2
emms
push r14
emms
paddsb mm4, mm1
inc rcx
push rbx
shl r10d, 8
mov cl, 0x11
push r9
cmp r9d, ebx
pop r9
emms
psraw mm3, 0x67
pop rbx
neg r14b
or cl, r14b
nop
pop r14
inc ecx
ucomiss xmm5, xmm1
movss xmm7, xmm12
neg r10d
pop rcx
emms
not r10b
sbb r10b, 0x10
minps xmm10, xmm12
pmullw mm1, mm5
pop r10
mov ecx, 0x10
call sub.msvcrt.dll_malloc
mov rcx, rax
push rcx
ror cx, 8
push r12
psrld mm1, 0x34
dec r12
pop r12
emms
pop rcx
mov edx, 0x90
call sub.msvcrt.dll_realloc
mov rcx, rax
push r8
shl r8b, 0xd
nop
pcmpeqb mm5, mm1
shl r8b, 0x10
punpckhwd mm6, mm7
pcmpeqd mm5, mm7
nop
emms
psraw mm5, 0x3c
emms
movaps xmm13, xmm0
dec r8d
pop r8
call sub.msvcrt.dll_free
cmp dx, r12w
jne 0x2e499e96b
push rbx
psrlq mm5, 0x67
push r14
psrad mm7, 0xa
rcl bx, 4
pop r14
movhlps xmm3, xmm8
pop rbx
jmp 0x2e499e97d
push rcx
shr rcx, 0xf
push r8
sub r8d, 0x16
emms
pop r8
emms
pop rcx
push r11
minps xmm6, xmm11
push r9
paddw mm3, mm7
movlhps xmm3, xmm14
pop r9
subss xmm9, xmm10
pop r11
movabs rax, 0x5e002f005f0078
mov dword [rsp + 0x5c], 0x7a
mov r13d, dword [rbx]
mov qword [rsp + 0x54], rax
push r9
mov r9w, 0x12
dec r9d
nop
push rbx
nop
emms
push rax
xorps xmm5, xmm7
pop rax
shl bl, 1
xchg bx, r9w
pop rbx
pmulhuw mm7, mm0
emms
psllq mm1, 0x2b
pop r9
mov rcx, rdi
call sub.msvcrt.dll_wcslen
cmp rax, 2
jne 0x2e499ea26
push r11
emms
push r12
inc r12d
shr r12w, 3
push rax
mov r12, r11
emms
emms
push r9
movss xmm14, xmm3
psllq mm1, 0x60
sub r9d, 5
neg r9
pop r9
xchg r12w, ax
paddusw mm0, mm5
movhlps xmm0, xmm3
pop rax
pminsw mm6, mm0
psrlq mm1, 0x5b
pop r12
emms
pop r11
jmp 0x2e499ea96
mov rax, rdi
lea rdx, [rsp + 0x5e]
push r11
nop
push r14
maxps xmm2, xmm10
emms
push r8
pslld mm0, 0x1e
nop
dec r11d
push rax
neg r8d
nop
emms
psllq mm4, 0x3b
pop rax
nop
dec r14d
psubsb mm4, mm0
pop r8
pxor mm7, mm6
xchg r11, r14
pop r14
nop
pop r11
xor word [rax], 0x13
cmp rdx, 0x33
jne 0x2e499ea7d
push r12
paddusb mm2, mm3
pop r12
jmp 0x2e499ea85
push r8
pslld mm1, 0x32
pop r8
push r9
psrlw mm5, 0x65
pop r9
add rax, 2
cmp rax, rdx
jne 0x2e499ea2e
push r13
nop
psubw mm2, mm7
nop
maxss xmm12, xmm9
emms
push r14
dec r13
cmp r13w, r14w
packssdw mm7, mm5
psubusw mm0, mm7
nop
pop r14
nop
psrad mm0, 3
rcl r13d, 0xa
psrlq mm1, 0x25
psrad mm7, 0x11
emms
pop r13
test byte [rsp + 0x3c], 4
je 0x2e499eec6
mov qword [rsp + 0x4c], r14
push r15
shl r15b, 0xd
push r12
xchg r15w, r12w
push rdx
rol r12b, 0x12
push rbx
pmaxub mm7, mm2
push r8
psrld mm2, 0x61
pop r8
not r12w
pop rbx
sbb dl, r15b
pop rdx
rcr r12, 0x15
pop r12
not r15d
pop r15
mov qword [rsp + 0x54], r15
push r9
not r9
movlhps xmm1, xmm5
mulps xmm14, xmm1
push rdx
mov dx, r9w
nop
nop
push r8
nop
subss xmm11, xmm9
push r13
subps xmm2, xmm12
emms
pop r13
psrad mm4, 0x53
test r8d, r9d
pmaddwd mm2, mm3
pop r8
emms
xchg dl, r9b
pop rdx
rcpps xmm14, xmm11
nop
pop r9
lea rbp, [rsp + 0x4c]
mov rdx, rdi
mov rcx, rbp
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x2e499ee28
lea rax, [rsp + 0x52]
push r15
pcmpgtb mm7, mm1
dec r15
minps xmm11, xmm9
push rdx
xorps xmm9, xmm8
emms
inc r15
push rcx
nop
mov edx, r15d
emms
pop rcx
punpcklwd mm4, mm6
psrlq mm4, 0x55
nop
pop rdx
rol r15d, 2
por mm5, mm4
shl r15, 5
pop r15
xor word [rbp], 0x96
cmp edx, eax
je 0x2e499ec8f
push rax
mov rax, 1
push r10
pop r10
dec rax
jne 0x2e499ebb6
pop rax
cmp r8d, r15d
je 0x2e499ecba
push rcx
psrlq mm6, 0x37
pminsw mm5, mm1
nop
push rdx
nop
dec rcx
push r10
mulss xmm12, xmm1
pop r10
nop
inc rcx
pop rdx
nop
sbb cl, 0x14
nop
pop rcx
cmp ebx, 0x5d
je 0x2e499ed08
push r12
emms
dec r12d
psllq mm6, 0x5f
push rax
emms
nop
emms
push r13
emms
mulss xmm13, xmm14
paddusb mm3, mm2
pop r13
adc r12, rax
dec r12
psllq mm1, 0x15
pop rax
rcpss xmm13, xmm8
subss xmm1, xmm14
sbb r12, 0xa
pop r12
cmp r13d, 0x50
je 0x2e499ed15
push r10
nop
nop
inc r10
emms
movlhps xmm2, xmm13
sub r10d, 0x15
rcr r10, 0xf
mov r10, 2
paddusw mm0, mm2
emms
nop
nop
pop r10
cmp bx, 0x37
je 0x2e499ed5b
cmp dx, 0xc
jne 0x2e499ec74
push rdx
pxor mm7, mm0
pop rdx
jmp 0x2e499ec7c
push r15
xorps xmm7, xmm11
pop r15
push rbx
emms
pop rbx
cmp r13, r11
je 0x2e499ed73
jne 0x2e499edb2
push rdx
movlhps xmm0, xmm6
push r11
emms
sub r11w, 0xc
push r13
ror r11d, 0xb
emms
paddusw mm3, mm2
pop r13
mov r11, rdx
psraw mm3, 0x54
pop r11
neg edx
pop rdx
jmp 0x2e499edb2
push r8
movlhps xmm6, xmm9
movlhps xmm12, xmm9
subss xmm11, xmm12
mulps xmm15, xmm1
push rdx
psrad mm5, 0x3c
movhlps xmm14, xmm8
dec r8d
push r14
test r14b, r8b
rol r8d, 7
push r9
psrlq mm5, 2
pop r9
nop
nop
pop r14
paddsw mm7, mm2
rol dx, 8
emms
pop rdx
emms
paddusb mm5, mm0
neg r8d
nop
pop r8
jmp 0x2e499edb2
push r14
shl r14d, 0x13
pop r14
jmp 0x2e499edb2
cmp edx, r8d
jne 0x2e499ed2d
push rdx
nop
push r12
ror dl, 0xa
add r12w, dx
pop r12
sub dl, 0xc
pop rdx
jmp 0x2e499ed43
push r14
maxss xmm10, xmm13
push r10
emms
dec r14
pop r10
sbb r14b, 2
pop r14
push r9
psrlw mm4, 0x36
push r15
mov r9w, r15w
shl r9b, 0xf
pop r15
emms
pop r9
jmp 0x2e499edb2
push rax
pmaxub mm7, mm1
neg al
push r13
sbb r13w, 0xe
pop r13
emms
sub ax, 6
pop rax
jmp 0x2e499edb2
push rdx
nop
nop
emms
neg edx
push rbx
add dx, bx
neg bx
pcmpeqb mm4, mm7
push r14
test r14w, dx
test r14b, bl
push r13
movups xmm14, xmm2
pop r13
paddsb mm4, mm7
dec ebx
pop r14
psrlq mm5, 0x3e
packuswb mm2, mm5
psrad mm0, 0x65
pop rbx
psadbw mm3, mm0
nop
neg dl
dec rdx
pop rdx
push r13
pmaxsw mm4, mm3
emms
nop
not r13b
emms
push r8
mulss xmm1, xmm10
xchg r8b, r13b
pslld mm5, 0x41
emms
push rcx
nop
neg r13w
mov r13w, 0x10
push r15
psubusw mm1, mm0
subps xmm11, xmm15
push rdx
xor r15b, r13b
pop rdx
pcmpeqw mm3, mm7
neg r15b
pop r15
nop
dec r8
nop
pop rcx
sbb r13b, 0x11
not r13w
psraw mm1, 0x37
emms
pop r8
andnps xmm0, xmm14
neg r13
orps xmm11, xmm3
nop
subss xmm5, xmm15
pop r13
add rbp, 2
cmp rbp, rax
jne 0x2e499eb6c
jmp 0x2e499ee63
push r12
nop
push r11
and r12w, r11w
push r14
not r11b
push rdx
emms
push rax
movhlps xmm4, xmm5
push r9
cmp r12, rdx
push rcx
adc eax, r9d
pop rcx
add r14b, r9b
pop r9
add r11w, r14w
pop rax
punpckhbw mm5, mm1
pop rdx
add r11d, r14d
pop r14
nop
pop r11
psrad mm7, 0x23
pop r12
push r10
nop
minps xmm3, xmm0
nop
emms
rcpps xmm0, xmm12
push r8
emms
rol r10d, 0xa
and r10, r8
add r8w, r10w
push r14
nop
nop
xorps xmm6, xmm0
push r11
nop
emms
push r9
or r8d, r11d
pop r9
neg r11d
rol r14w, 0xb
pop r11
pcmpeqd mm7, mm5
movss xmm5, xmm8
nop
pop r14
nop
dec r10d
inc r10d
sub r8, r10
pop r8
not r10b
emms
shr r10, 8
nop
emms
pop r10
mov ebp, r13d
jmp 0x2e499eeed
test byte [rsp + 0x3c], 8
je 0x2e499eeed
push r14
neg r14b
emms
ror r14d, 0xd
emms
sar r14b, 3
pslld mm2, 0x5e
nop
pop r14
call fcn.2e49b2092
mov r12d, r13d
add rbx, 4
jmp 0x2e499e779
push r11
psraw mm3, 0x4a
nop
addps xmm14, xmm0
emms
push r13
nop
dec r13
shr r13b, 0x13
push rdx
pcmpgtw mm5, mm1
psadbw mm6, mm7
push rbx
pmaddwd mm4, mm0
pop rbx
sar dl, 0x16
not r11d
pop rdx
cmp r11w, r13w
ror r11b, 0x17
movhlps xmm12, xmm14
pop r13
psllq mm3, 0x4e
nop
psraw mm1, 0x6a
sub r11w, 2
pop r11
push r9
nop
pmulhuw mm7, mm3
mov r9b, 7
neg r9b
push rbx
punpcklwd mm3, mm7
not rbx
psllq mm6, 1
nop
pop rbx
dec r9d
dec r9d
neg r9
rcpss xmm9, xmm2
pop r9
push r8
pmaxsw mm0, mm2
pop r8
cmp bp, 0x8664
je 0x2e499ef80
cmp bp, 0x2200
jne 0x2e499f2e3
push r10
emms
psrlw mm3, 0x3a
pcmpgtd mm4, mm0
emms
xorps xmm0, xmm12
push rcx
rcr r10w, 0x16
rcr r10b, 6
movss xmm0, xmm2
emms
push r14
emms
paddsb mm4, mm1
inc rcx
push rbx
shl r10d, 8
mov cl, 0x11
push r9
cmp r9d, ebx
pop r9
emms
psraw mm3, 0x67
pop rbx
neg r14b
or cl, r14b
nop
pop r14
inc ecx
ucomiss xmm5, xmm1
movss xmm7, xmm12
neg r10d
pop rcx
emms
not r10b
sbb r10b, 0x10
minps xmm10, xmm12
pmullw mm1, mm5
pop r10
mov ecx, 0x10
call sub.msvcrt.dll_malloc
mov rcx, rax
push rcx
ror cx, 8
push r12
psrld mm1, 0x34
dec r12
pop r12
emms
pop rcx
mov edx, 0x90
call sub.msvcrt.dll_realloc
mov rcx, rax
push r8
shl r8b, 0xd
nop
pcmpeqb mm5, mm1
shl r8b, 0x10
punpckhwd mm6, mm7
pcmpeqd mm5, mm7
nop
emms
psraw mm5, 0x3c
emms
movaps xmm13, xmm0
dec r8d
pop r8
call sub.msvcrt.dll_free
cmp dx, r12w
jne 0x2e499f05f
push rbx
psrlq mm5, 0x67
push r14
psrad mm7, 0xa
rcl bx, 4
pop r14
movhlps xmm3, xmm8
pop rbx
jmp 0x2e499f071
push rcx
shr rcx, 0xf
push r8
sub r8d, 0x16
emms
pop r8
emms
pop rcx
push r11
minps xmm6, xmm11
push r9
paddw mm3, mm7
movlhps xmm3, xmm14
pop r9
subss xmm9, xmm10
pop r11
test r12w, r12w
jne 0x2e499f1a6
push r10
emms
psrlw mm3, 0x3a
pcmpgtd mm4, mm0
emms
xorps xmm0, xmm12
push rcx
rcr r10w, 0x16
rcr r10b, 6
movss xmm0, xmm2
emms
push r14
emms
paddsb mm4, mm1
inc rcx
push rbx
shl r10d, 8
mov cl, 0x11
push r9
cmp r9d, ebx
pop r9
emms
psraw mm3, 0x67
pop rbx
neg r14b
or cl, r14b
nop
pop r14
inc ecx
ucomiss xmm5, xmm1
movss xmm7, xmm12
neg r10d
pop rcx
emms
not r10b
sbb r10b, 0x10
minps xmm10, xmm12
pmullw mm1, mm5
pop r10
mov ecx, 0x10
call sub.msvcrt.dll_malloc
mov rcx, rax
push rcx
ror cx, 8
push r12
psrld mm1, 0x34
dec r12
pop r12
emms
pop rcx
mov edx, 0x90
call sub.msvcrt.dll_realloc
mov rcx, rax
push r8
shl r8b, 0xd
nop
pcmpeqb mm5, mm1
shl r8b, 0x10
punpckhwd mm6, mm7
pcmpeqd mm5, mm7
nop
emms
psraw mm5, 0x3c
emms
movaps xmm13, xmm0
dec r8d
pop r8
call sub.msvcrt.dll_free
cmp dx, r12w
jne 0x2e499f172
push rbx
psrlq mm5, 0x67
push r14
psrad mm7, 0xa
rcl bx, 4
pop r14
movhlps xmm3, xmm8
pop rbx
jmp 0x2e499f184
push rcx
shr rcx, 0xf
push r8
sub r8d, 0x16
emms
pop r8
emms
pop rcx
push r11
minps xmm6, xmm11
push r9
paddw mm3, mm7
movlhps xmm3, xmm14
pop r9
subss xmm9, xmm10
pop r11
mov esi, 1
jmp 0x2e499f39f
movabs rax, 0x5e002f005f0078
mov dword [rsp + 0x5c], 0x7a
mov qword [rsp + 0x54], rax
push r9
mov r9w, 0x12
dec r9d
nop
push rbx
nop
emms
push rax
xorps xmm5, xmm7
pop rax
shl bl, 1
xchg bx, r9w
pop rbx
pmulhuw mm7, mm0
emms
psllq mm1, 0x2b
pop r9
lea rbx, [rsp + 0x54]
mov rcx, rbx
call sub.msvcrt.dll_wcslen
cmp rax, 2
jne 0x2e499f239
push r11
emms
push r12
inc r12d
shr r12w, 3
push rax
mov r12, r11
emms
emms
push r9
movss xmm14, xmm3
psllq mm1, 0x60
sub r9d, 5
neg r9
pop r9
xchg r12w, ax
paddusw mm0, mm5
movhlps xmm0, xmm3
pop rax
pminsw mm6, mm0
psrlq mm1, 0x5b
pop r12
emms
pop r11
jmp 0x2e499f2a9
mov rax, rbx
lea rdx, [rsp + 0x5e]
push r11
nop
push r14
maxps xmm2, xmm10
emms
push r8
pslld mm0, 0x1e
nop
dec r11d
push rax
neg r8d
nop
emms
psllq mm4, 0x3b
pop rax
nop
dec r14d
psubsb mm4, mm0
pop r8
pxor mm7, mm6
xchg r11, r14
pop r14
nop
pop r11
xor word [rax], 0x13
cmp rdx, 0x33
jne 0x2e499f290
push r12
paddusb mm2, mm3
pop r12
jmp 0x2e499f298
push r8
pslld mm1, 0x32
pop r8
push r9
psrlw mm5, 0x65
pop r9
add rax, 2
cmp rax, rdx
jne 0x2e499f241
push r13
nop
psubw mm2, mm7
nop
maxss xmm12, xmm9
emms
push r14
dec r13
cmp r13w, r14w
packssdw mm7, mm5
psubusw mm0, mm7
nop
pop r14
nop
psrad mm0, 3
rcl r13d, 0xa
psrlq mm1, 0x25
psrad mm7, 0x11
emms
pop r13
jmp 0x2e499f39f
mov dword [rsp + 0x4c], 0x60005f
mov word [rsp + 0x50], 0
push rdx
mov rdx, 3
push rcx
push r8
pop r8
pop rcx
dec rdx
jne 0x2e499f2fa
pop rdx
movabs rax, 0x7300700029
mov qword [rsp + 0x54], rax
push r12
emms
push r15
sub r12, r15
push r8
nop
pop r8
comiss xmm6, xmm2
pop r15
movups xmm15, xmm5
pop r12
lea rbx, [rsp + 0x4c]
lea rdx, [rsp + 0x54]
mov rcx, rbx
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x2e499f37b
mov rax, rbx
lea rdx, [rsp + 0x50]
cmp dx, 0x68
jne 0x2e499f35b
push r9
mov r9b, 0x12
pop r9
jmp 0x2e499f360
push rax
paddw mm2, mm1
pop rax
push rbx
movlhps xmm0, xmm1
pop rbx
xor word [rax], 7
push r11
punpckhwd mm5, mm7
pop r11
add rax, 2
cmp rax, rdx
jne 0x2e499f34c
jmp 0x2e499f38d
push rax
mov rax, 1
push r8
pop r8
dec rax
jne 0x2e499f383
pop rax
push r13
mov r13, 2
push rcx
pop rcx
dec r13
jne 0x2e499f396
pop r13
mov eax, esi
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret