Function at 0x29a0c66e2
Capabilities:
Authenticate hmac
Encode data using xor
Encrypt data using chaskey

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x488
mov rbp, rcx
push r13
neg r13
not r13d
emms
push r10
sub r10, r13
emms
pcmpeqb mm7, mm4
push r15
psrld mm5, 0x5e
paddsw mm6, mm5
psrad mm0, 0x29
pop r15
nop
andps xmm10, xmm13
neg r13w
pop r10
psrad mm6, 6
emms
sbb r13b, 0x17
pop r13
mov word [rsp + 0x278], 0x2a6a
mov byte [rsp + 0x27a], 0
push r15
xorps xmm2, xmm5
minps xmm10, xmm15
push r14
pslld mm0, 0x64
pop r14
mulss xmm6, xmm12
nop
pop r15
lea rsi, [rsp + 0x278]
mov rcx, rsi
call sub.msvcrt.dll_strlen
cmp rax, 2
jne 0x29a0c6808
mov rax, rsi
lea rdx, [rsp + 0x27a]
push r14
psubusw mm6, mm1
shl r14d, 1
rcl r14w, 5
neg r14
push r13
orps xmm11, xmm4
xadd r14, r13
inc r13d
push rdx
emms
pcmpeqb mm6, mm0
push rbx
cmp r13b, bl
pop rbx
sbb r14w, 0x12
not r13
pop rdx
pmullw mm0, mm7
nop
comiss xmm2, xmm13
pop r13
shl r14b, 0x13
not r14
sar r14d, 6
rcl r14, 5
pop r14
xor byte [rax], 0x19
push r12
inc r12
push r11
ror r12w, 0xb
shl r12d, 0x13
push r8
dec r12d
emms
pslld mm0, 0x64
pop r8
psrld mm3, 0x2a
psrld mm1, 0x46
pop r11
psrad mm7, 0x4e
pop r12
inc rax
cmp rax, rdx
jne 0x29a0c677e
jmp 0x29a0c683f
push rcx
paddusb mm7, mm3
emms
emms
push r9
not r9w
psrld mm1, 9
psraw mm2, 6
push r15
psrad mm4, 0x22
emms
or r15, rcx
pop r15
emms
psrld mm7, 0x51
inc rcx
pop r9
emms
emms
movhlps xmm6, xmm9
pop rcx
push r15
nop
ror r15, 6
movups xmm1, xmm6
push r11
sbb r11d, 1
emms
ror r15, 0x12
push rax
nop
emms
push rcx
rol r11b, 8
punpckhwd mm5, mm6
pop rcx
shr al, 0x16
not r11
emms
pop rax
not r15b
nop
pop r11
rcl r15w, 9
nop
pop r15
mov word [rsp + 0x70], 0x5c
push r10
nop
push rdx
sar dx, 0x10
push r13
psrlq mm7, 0x28
pop r13
rcl dx, 9
pop rdx
psllq mm4, 0x2b
pop r10
mov edx, 4
mov ecx, 3
call sub.msvcrt.dll_calloc
mov rcx, rax
cmp r12, 0x19
jne 0x29a0c6917
push r14
neg r14b
push r13
emms
push rcx
psubsb mm4, mm1
push rax
andnps xmm9, xmm14
pop rax
movaps xmm13, xmm0
pop rcx
psraw mm6, 0x5e
pop r13
paddsb mm7, mm4
pop r14
jmp 0x29a0c6982
push rdx
emms
psrlq mm7, 0x61
inc rdx
emms
nop
push r10
emms
subss xmm2, xmm1
nop
adc edx, r10d
push rcx
not ecx
psrlw mm7, 5
emms
push r12
emms
ror rcx, 8
push r8
movups xmm3, xmm8
pop r8
xadd r10w, dx
rcl r12d, 0x12
pop r12
psrlw mm1, 0x49
psubsb mm0, mm1
sar ecx, 0x15
pop rcx
not dx
xadd dl, r10b
psrld mm4, 0x69
psrad mm7, 0x4f
pop r10
psrlw mm1, 0x67
emms
pslld mm7, 0x24
pslld mm6, 0x13
pxor mm7, mm4
pop rdx
push r12
pcmpeqb mm7, mm6
inc r12
psubusw mm1, mm0
psrlq mm2, 0x4b
movups xmm13, xmm1
push rdx
nop
pmaddwd mm4, mm6
not rdx
psraw mm6, 0xe
psraw mm1, 0x43
pop rdx
dec r12d
neg r12b
neg r12w
nop
inc r12d
pcmpeqb mm3, mm6
pop r12
mov edx, 0x6c
call sub.msvcrt.dll_realloc
mov rcx, rax
xor eax, eax
cmp r12w, 5
jne 0x29a0c69f9
push r15
punpcklbw mm2, mm1
push r8
paddusb mm3, mm6
psrlq mm6, 0x29
pop r8
pxor mm0, mm7
pop r15
jmp 0x29a0c6a07
push rax
por mm2, mm1
push r14
nop
nop
pop r14
neg rax
pop rax
push r10
psubusw mm5, mm0
push rcx
nop
xadd cl, r10b
pop rcx
neg r10d
pop r10
xor dword [rcx + rax*4], 0x16
push rdx
psrlq mm4, 0x57
pmulhuw mm2, mm1
emms
nop
dec rdx
pmaxsw mm6, mm1
sbb rdx, 0xc
pop rdx
inc rax
cmp rax, 3
jne 0x29a0c69c8
call sub.msvcrt.dll_free
push r14
mov r14, 0xa
shl r14w, 0x14
por mm3, mm2
sar r14d, 0xd
push rbx
nop
sar bl, 0xc
nop
push r9
rcl r9b, 0x14
nop
push r13
nop
pop r13
nop
addps xmm9, xmm11
pop r9
shl r14b, 7
rcl bl, 2
or bx, r14w
pop rbx
mulss xmm7, xmm5
nop
nop
sar r14w, 0xf
pop r14
mov word [rsp + 0x72], 0x3f
push r8
mov r8, 3
push r8
emms
push r14
emms
pop r14
pslld mm7, 0x50
pop r8
dec r8
jne 0x29a0c6a97
pop r8
mov word [rsp + 0x74], 0x3f
mov dword [rsp + 0x60], 0x364471
cmp r12d, ebx
jne 0x29a0c6ae9
push r13
psrlw mm1, 0x61
push r10
psraw mm4, 0x10
not r13d
pop r10
psrld mm3, 0x4e
pop r13
jmp 0x29a0c6aff
push r12
dec r12d
push r9
shr r9d, 0x16
or r12d, r9d
pop r9
shl r12b, 0x16
pop r12
push r14
inc r14
push r15
inc r14
xadd r15b, r14b
pop r15
minps xmm12, xmm6
pop r14
mov dword [rsp + 0x278], 0x44246f7b
mov byte [rsp + 0x27c], 0
push r9
psrlq mm5, 8
pop r9
lea rdi, [rsp + 0x60]
mov rdx, rsi
mov rcx, rdi
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x29a0c6bf0
mov rax, rdi
lea rdx, [rsp + 0x63]
push r13
movhlps xmm3, xmm8
push r8
not r13
and r8w, r13w
push rbx
mov bx, 2
xor r8w, r13w
pmaxub mm2, mm7
push r11
psraw mm6, 0x21
sar rbx, 0xe
psraw mm0, 0x33
nop
pop r11
movlhps xmm2, xmm5
nop
inc r8d
pop rbx
nop
mov r8d, 0x10
pop r8
nop
pop r13
xor byte [rax], 0x62
cmp r12b, r9b
jne 0x29a0c6bbd
push rax
neg ax
push r9
adc r9d, eax
shl eax, 0x11
pop r9
nop
pop rax
jmp 0x29a0c6bcf
push r13
dec r13
push rdx
emms
emms
pop rdx
ror r13w, 0xa
pop r13
push r12
inc r12d
push r11
nop
paddsb mm5, mm3
pop r11
psraw mm4, 0x14
pop r12
inc rax
cmp rax, rdx
jne 0x29a0c6b50
jmp 0x29a0c6c14
push r14
addps xmm5, xmm1
push rdx
emms
push r11
not dx
push r10
psrlw mm2, 0x4f
pop r10
subps xmm12, xmm7
pop r11
paddsw mm2, mm1
pop rdx
paddd mm0, mm5
pop r14
push rcx
subps xmm9, xmm5
push r14
neg r14b
push rax
pcmpeqw mm7, mm2
pop rax
inc ecx
pop r14
packssdw mm3, mm5
pop rcx
mov word [rsp + 0x76], 0x5c
push r8
pmullw mm7, mm0
push rdx
emms
push rbx
nop
pop rbx
xadd dl, r8b
pop rdx
comiss xmm4, xmm12
pop r8
push r15
psrlq mm1, 0x18
push r14
punpckhbw mm0, mm4
pop r14
psrlw mm3, 0x14
pop r15
push r11
ror r11d, 0x17
push r10
psrad mm5, 0x27
emms
push rdx
paddsb mm1, mm4
cmp r11w, dx
nop
push r15
mulps xmm14, xmm1
inc r11
punpckhwd mm0, mm6
paddb mm5, mm1
pop r15
dec rdx
paddb mm7, mm1
sub r11, rdx
pop rdx
nop
sbb r11w, r10w
pop r10
neg r11w
pop r11
push r11
mov r11, 9
push r9
maxps xmm8, xmm2
ror r9d, 1
push r14
nop
sub r14d, 0x15
rcr r9w, 0x10
push rcx
rcl r11b, 0xa
psllq mm0, 0x15
ucomiss xmm13, xmm15
packuswb mm4, mm7
push rbx
not r9b
andnps xmm0, xmm13
pminsw mm6, mm2
nop
psrld mm6, 0x10
pop rbx
nop
paddsb mm6, mm2
andps xmm11, xmm1
emms
pop rcx
pcmpgtb mm6, mm3
nop
paddsb mm2, mm1
pop r14
paddusw mm7, mm6
pmaddwd mm4, mm3
pop r9
punpckhbw mm2, mm0
pop r11
call fcn.29a0c2f86
push r12
sub r12, 3
push r9
inc r9d
psrlq mm3, 0x21
pop r9
sar r12b, 0x15
pop r12
xor r8d, r8d
mov qword [rsp + 0x40], r8
push r10
nop
push rdx
sar dx, 0x10
push r13
psrlq mm7, 0x28
pop r13
rcl dx, 9
pop rdx
psllq mm4, 0x2b
pop r10
mov edx, 4
mov ecx, 3
call sub.msvcrt.dll_calloc
mov rcx, rax
cmp r12, 0x19
jne 0x29a0c6db5
push r14
neg r14b
push r13
emms
push rcx
psubsb mm4, mm1
push rax
andnps xmm9, xmm14
pop rax
movaps xmm13, xmm0
pop rcx
psraw mm6, 0x5e
pop r13
paddsb mm7, mm4
pop r14
jmp 0x29a0c6e20
push rdx
emms
psrlq mm7, 0x61
inc rdx
emms
nop
push r10
emms
subss xmm2, xmm1
nop
adc edx, r10d
push rcx
not ecx
psrlw mm7, 5
emms
push r12
emms
ror rcx, 8
push r8
movups xmm3, xmm8
pop r8
xadd r10w, dx
rcl r12d, 0x12
pop r12
psrlw mm1, 0x49
psubsb mm0, mm1
sar ecx, 0x15
pop rcx
not dx
xadd dl, r10b
psrld mm4, 0x69
psrad mm7, 0x4f
pop r10
psrlw mm1, 0x67
emms
pslld mm7, 0x24
pslld mm6, 0x13
pxor mm7, mm4
pop rdx
push r12
pcmpeqb mm7, mm6
inc r12
psubusw mm1, mm0
psrlq mm2, 0x4b
movups xmm13, xmm1
push rdx
nop
pmaddwd mm4, mm6
not rdx
psraw mm6, 0xe
psraw mm1, 0x43
pop rdx
dec r12d
neg r12b
neg r12w
nop
inc r12d
pcmpeqb mm3, mm6
pop r12
mov edx, 0x6c
call sub.msvcrt.dll_realloc
mov rcx, rax
xor eax, eax
cmp r12w, 5
jne 0x29a0c6e97
push r15
punpcklbw mm2, mm1
push r8
paddusb mm3, mm6
psrlq mm6, 0x29
pop r8
pxor mm0, mm7
pop r15
jmp 0x29a0c6ea5
push rax
por mm2, mm1
push r14
nop
nop
pop r14
neg rax
pop rax
push r10
psubusw mm5, mm0
push rcx
nop
xadd cl, r10b
pop rcx
neg r10d
pop r10
xor dword [rcx + rax*4], 0x16
push rdx
psrlq mm4, 0x57
pmulhuw mm2, mm1
emms
nop
dec rdx
pmaxsw mm6, mm1
sbb rdx, 0xc
pop rdx
inc rax
cmp rax, 3
jne 0x29a0c6e66
call sub.msvcrt.dll_free
push r14
mov r14, 0xa
shl r14w, 0x14
por mm3, mm2
sar r14d, 0xd
push rbx
nop
sar bl, 0xc
nop
push r9
rcl r9b, 0x14
nop
push r13
nop
pop r13
nop
addps xmm9, xmm11
pop r9
shl r14b, 7
rcl bl, 2
or bx, r14w
pop rbx
mulss xmm7, xmm5
nop
nop
sar r14w, 0xf
pop r14
lea rdx, [fcn.29a0c66e2]
lea r8, [rsp + 0x40]
mov ecx, 6
call fcn.29a0ba3d2
push rbx
pslld mm1, 0x18
pop rbx
test eax, eax
je 0x29a0c7523
cmp r12d, 2
jne 0x29a0c6f55
push rcx
not cl
pop rcx
jmp 0x29a0c6f59
push rax
not al
pop rax
push rbx
not bl
pop rbx
call fcn.29a0c37db
cmp r12, 0x52
jne 0x29a0c6f8c
push rcx
nop
push r15
not ecx
paddsw mm2, mm6
pop r15
psrad mm1, 0x53
pop rcx
jmp 0x29a0c6f9f
push r12
paddusb mm7, mm5
push rbx
neg bl
psrlw mm3, 3
pop rbx
shl r12b, 0xd
pop r12
push r10
rcr r10b, 6
push r9
inc r9
neg r10w
pop r9
shl r10b, 7
pop r10
mov edx, 4
mov ecx, 3
call sub.msvcrt.dll_calloc
mov rcx, rax
push r15
maxps xmm9, xmm2
nop
neg r15
push rax
sbb rax, 6
movlhps xmm7, xmm5
psrad mm3, 0x19
push r14
not r15b
add r14d, eax
push r10
nop
emms
pop r10
sar ax, 1
sar rax, 0x14
neg r15
pop r14
pcmpeqd mm6, mm3
sub al, r15b
pop rax
emms
psrlq mm2, 0x68
pop r15
mov edx, 0x6c
call sub.msvcrt.dll_realloc
mov rcx, rax
push r12
pslld mm1, 0x5d
push r10
nop
push rax
not ax
push r13
nop
push r11
dec r11
push r8
xchg r11b, r12b
pop r8
psraw mm0, 0x22
pop r11
and r12d, eax
pop r13
emms
pop rax
nop
pop r10
pcmpeqw mm2, mm6
pop r12
call sub.msvcrt.dll_free
push r8
paddd mm1, mm5
emms
push r10
maxss xmm8, xmm12
rcl r8d, 0x10
push r11
packssdw mm7, mm2
sbb r8w, r11w
push r12
psrad mm6, 0x36
and r11b, r12b
pop r12
sbb r11d, r8d
sbb r11w, 5
pop r11
psrad mm0, 0x28
rcr r8b, 3
pop r10
pslld mm4, 0x18
dec r8d
pop r8
mov rcx, qword [rsp + 0x40]
mov r8d, 0x104
mov rdx, rsi
call fcn.29a0b959c
mov ebx, eax
cmp r12d, 0x66
jne 0x29a0c70b4
push r9
rol r9d, 6
pop r9
jmp 0x29a0c70b8
push rbx
emms
pop rbx
push r15
inc r15d
pop r15
call fcn.29a0c2c09
mov edx, ebx
mov rcx, rsi
call fcn.29a0c6232
mov word [rsp + 0x60], 0x7a5e
mov byte [rsp + 0x62], 0
movsxd rbx, eax
push rbx
nop
nop
movlhps xmm5, xmm4
pslld mm2, 0x66
rcl ebx, 0xb
push r11
nop
packuswb mm1, mm0
rcr bx, 0x14
emms
push rax
mulps xmm0, xmm4
nop
psrad mm7, 0xb
push rdx
punpcklwd mm2, mm7
packssdw mm7, mm6
push r15
inc edx
pop r15
punpckhwd mm4, mm3
xchg edx, eax
pop rdx
inc rax
neg al
emms
pop rax
nop
ror bl, 0xc
emms
emms
pop r11
nop
nop
pcmpeqb mm2, mm3
emms
andnps xmm15, xmm5
pop rbx
mov rcx, rdi
call sub.msvcrt.dll_strlen
cmp rax, 2
jne 0x29a0c7171
push r14
sbb r14w, 4
inc r14
dec r14d
nop
inc r14
push rbx
mov r14d, ebx
rol bl, 0x17
nop
ror r14b, 0x15
nop
pop rbx
psraw mm4, 0x23
emms
nop
dec r14
sbb r14b, 0x14
pmulhuw mm3, mm6
pop r14
jmp 0x29a0c71d0
mov rax, rdi
lea rdx, [rsp + 0x62]
push r11
minps xmm4, xmm6
emms
psllq mm2, 0x4b
push rcx
nop
emms
push r13
mov r13d, ecx
pop r13
inc r11d
inc r11
pop rcx
inc r11
movhlps xmm10, xmm2
emms
pop r11
xor byte [rax], 0x41
push r10
pmulhuw mm3, mm0
push rbx
por mm3, mm7
push r8
emms
push r13
rcl r10b, 4
pop r13
emms
pop r8
psraw mm6, 0x69
pop rbx
sar r10, 0x12
pop r10
inc rax
cmp rax, rdx
jne 0x29a0c7179
cmp r12b, 0x5f
jne 0x29a0c71ea
push r9
emms
push r12
pcmpeqd mm5, mm7
emms
pop r12
inc r9
pop r9
jmp 0x29a0c71fd
push r15
paddb mm7, mm6
push r8
emms
emms
pop r8
xorps xmm15, xmm9
pop r15
push rcx
dec ecx
push r11
addss xmm10, xmm8
mulss xmm0, xmm4
pop r11
rol cx, 9
pop rcx
lea r12, [rbx + rbx]
lea rcx, [rsp + 0x78]
mov r8, rsi
mov edx, 0x200
mov r9, r12
lea r13, [rsp + 0x70]
call fcn.29a0bd4cf
push r10
rcr r10, 6
push r14
pminsw mm7, mm3
push rax
emms
push r11
nop
push rdx
adc r10d, r14d
push rcx
emms
push r12
andnps xmm6, xmm4
pop r12
emms
pop rcx
not rdx
pop rdx
psraw mm2, 0x49
pop r11
andnps xmm9, xmm10
pop rax
shl r10, 5
pop r14
psrlq mm6, 0x52
pop r10
cmp r12, 0x58
je 0x29a0c735f
push r11
neg r11b
push rbx
mulss xmm5, xmm12
pop rbx
emms
pop r11
cmp rdx, 0x55
je 0x29a0c7378
cmp r12, 0x56
jne 0x29a0c72a1
push r14
psrad mm7, 0x56
pop r14
jmp 0x29a0c72a8
push r12
pcmpeqd mm7, mm0
pop r12
push r13
emms
pop r13
cmp edx, r8d
je 0x29a0c73df
push r14
nop
push r9
subss xmm6, xmm9
push rax
paddb mm7, mm6
push rcx
emms
pop rcx
emms
pop rax
emms
pop r9
nop
pop r14
cmp r11w, ax
je 0x29a0c73f5
push r15
andnps xmm15, xmm8
push rdx
mov r15, rdx
push r11
mov r11w, r15w
push r13
emms
push r9
paddd mm3, mm2
pop r9
pslld mm6, 0x5b
pop r13
psubsb mm7, mm0
pop r11
movss xmm2, xmm4
pop rdx
psllq mm3, 0x20
pop r15
cmp r14d, edx
je 0x29a0c742b
push r15
rcr r15d, 7
pslld mm3, 0x10
not r15w
push rbx
orps xmm7, xmm5
comiss xmm1, xmm8
xorps xmm10, xmm0
push r14
emms
addps xmm2, xmm10
sbb r15, 0x13
pop r14
rcpps xmm4, xmm11
emms
nop
pop rbx
rcl r15b, 5
nop
nop
pop r15
cmp r11w, ax
je 0x29a0c7441
jne 0x29a0c7495
push r10
emms
nop
nop
inc r10d
orps xmm8, xmm2
emms
pcmpeqd mm0, mm7
pop r10
jmp 0x29a0c7495
push r9
nop
shl r9, 6
nop
sbb r9, 4
emms
push r10
psrad mm4, 0x5f
sub r9, 6
dec r10d
nop
push r14
xadd r10w, r9w
shr r9w, 1
paddsw mm3, mm1
push rax
pcmpeqw mm7, mm5
emms
push rcx
nop
pop rcx
pslld mm0, 0x5b
nop
pop rax
neg r14
nop
nop
pop r14
mov r9w, r10w
nop
paddd mm6, mm4
xchg r10d, r9d
pop r10
andnps xmm3, xmm5
subps xmm9, xmm13
neg r9d
comiss xmm15, xmm1
maxss xmm10, xmm7
pop r9
jmp 0x29a0c7495
push r13
pcmpgtb mm5, mm0
push r15
shl r13w, 0x13
pop r15
nop
pop r13
jmp 0x29a0c7495
push r9
sar r9d, 2
push r13
punpcklbw mm1, mm7
push r11
subps xmm12, xmm7
push rcx
inc r13d
push r12
pcmpeqw mm2, mm3
push rbx
psrlw mm6, 0x21
pop rbx
minps xmm15, xmm13
pop r12
pminsw mm6, mm0
pop rcx
nop
pop r11
emms
pop r13
nop
pop r9
jmp 0x29a0c7495
push r11
mov r11, 2
push r14
pop r14
dec r11
jne 0x29a0c7434
pop r11
jmp 0x29a0c7495
cmp r12w, r14w
jne 0x29a0c7475
push r10
psrlq mm7, 0x5d
push r13
shl r13, 6
movhlps xmm11, xmm12
pop r13
shl r10b, 0x12
pop r10
jmp 0x29a0c7487
push rcx
shr cl, 0x10
push r9
psraw mm0, 0x42
paddsb mm6, mm0
pop r9
emms
pop rcx
push r11
not r11
push rbx
inc r11
nop
pop rbx
nop
pop r11
push r14
inc r14
psllq mm2, 0x5c
push r12
not r14b
pop r12
pcmpgtd mm6, mm1
rcl r14, 2
pop r14
push rbx
rcpss xmm14, xmm12
rcr bl, 1
movhlps xmm1, xmm5
push r8
nop
sbb r8b, 7
psrlq mm3, 0x2d
push rcx
nop
emms
push r9
sbb r9w, bx
pmulhuw mm4, mm7
pop r9
inc ebx
psrld mm4, 0x24
inc rbx
pop rcx
psrld mm3, 0x46
nop
pop r8
addss xmm6, xmm11
neg bx
pop rbx
mov edx, 0x100
lea rcx, [r13 + r12 + 8]
mov r9d, 0x14
mov r8, rbp
sub rdx, rbx
add rdx, rdx
call fcn.29a0bd4cf
push r8
mov r8, 3
push rdx
push r14
pop r14
pop rdx
dec r8
jne 0x29a0c7514
pop r8
jmp 0x29a0c752a
xor ecx, ecx
call fcn.29a0b88f4
push r10
comiss xmm6, xmm0
push r9
emms
push r8
psubsb mm7, mm5
push rdx
andps xmm14, xmm4
push rcx
or r10w, cx
push r12
emms
push r15
inc edx
pop r15
movlhps xmm2, xmm11
pop r12
pslld mm3, 0xd
pop rcx
pslld mm4, 0x4d
pop rdx
punpcklbw mm1, mm2
pop r8
psubusw mm4, mm0
pop r9
not r10
pop r10
cmp r12b, r11b
jne 0x29a0c7627
cmp r12b, 0x57
jne 0x29a0c758c
push r12
not r12b
push rax
sar rax, 1
nop
pop rax
xorps xmm6, xmm3
pop r12
jmp 0x29a0c759f
push r13
emms
push rbx
not bx
psrld mm5, 2
pop rbx
mulps xmm3, xmm8
pop r13
push r9
psadbw mm2, mm0
push r8
neg r8w
paddsb mm7, mm2
pop r8
psrlw mm2, 0x46
pop r9
jmp 0x29a0c764d
push r12
not r12w
push rax
not r12b
push r8
punpcklwd mm5, mm0
push rdx
psrlq mm6, 0x4c
pop rdx
pslld mm3, 0x32
pop r8
sbb ax, r12w
pop rax
psrld mm2, 0x11
pop r12
push r8
emms
pop r8
xor ecx, ecx
mov qword [rsp + 0x48], rcx
push r11
movaps xmm1, xmm10
dec r11d
pslld mm3, 0x3a
emms
push r9
nop
pcmpeqd mm5, mm6
emms
addps xmm13, xmm4
pop r9
nop
nop
psraw mm1, 0x45
nop
pop r11
push r10
rcr r10, 6
push r14
pminsw mm7, mm3
push rax
emms
push r11
nop
push rdx
adc r10d, r14d
push rcx
emms
push r12
andnps xmm6, xmm4
pop r12
emms
pop rcx
not rdx
pop rdx
psraw mm2, 0x49
pop r11
andnps xmm9, xmm10
pop rax
shl r10, 5
pop r14
psrlq mm6, 0x52
pop r10
cmp r12, 0x58
je 0x29a0c77af
push r11
neg r11b
push rbx
mulss xmm5, xmm12
pop rbx
emms
pop r11
cmp rdx, 0x55
je 0x29a0c77c8
cmp r12, 0x56
jne 0x29a0c76f1
push r14
psrad mm7, 0x56
pop r14
jmp 0x29a0c76f8
push r12
pcmpeqd mm7, mm0
pop r12
push r13
emms
pop r13
cmp edx, r8d
je 0x29a0c782f
push r14
nop
push r9
subss xmm6, xmm9
push rax
paddb mm7, mm6
push rcx
emms
pop rcx
emms
pop rax
emms
pop r9
nop
pop r14
cmp r11w, ax
je 0x29a0c7845
push r15
andnps xmm15, xmm8
push rdx
mov r15, rdx
push r11
mov r11w, r15w
push r13
emms
push r9
paddd mm3, mm2
pop r9
pslld mm6, 0x5b
pop r13
psubsb mm7, mm0
pop r11
movss xmm2, xmm4
pop rdx
psllq mm3, 0x20
pop r15
cmp r14d, edx
je 0x29a0c787b
push r15
rcr r15d, 7
pslld mm3, 0x10
not r15w
push rbx
orps xmm7, xmm5
comiss xmm1, xmm8
xorps xmm10, xmm0
push r14
emms
addps xmm2, xmm10
sbb r15, 0x13
pop r14
rcpps xmm4, xmm11
emms
nop
pop rbx
rcl r15b, 5
nop
nop
pop r15
cmp r11w, ax
je 0x29a0c7891
jne 0x29a0c78e5
push r10
emms
nop
nop
inc r10d
orps xmm8, xmm2
emms
pcmpeqd mm0, mm7
pop r10
jmp 0x29a0c78e5
push r9
nop
shl r9, 6
nop
sbb r9, 4
emms
push r10
psrad mm4, 0x5f
sub r9, 6
dec r10d
nop
push r14
xadd r10w, r9w
shr r9w, 1
paddsw mm3, mm1
push rax
pcmpeqw mm7, mm5
emms
push rcx
nop
pop rcx
pslld mm0, 0x5b
nop
pop rax
neg r14
nop
nop
pop r14
mov r9w, r10w
nop
paddd mm6, mm4
xchg r10d, r9d
pop r10
andnps xmm3, xmm5
subps xmm9, xmm13
neg r9d
comiss xmm15, xmm1
maxss xmm10, xmm7
pop r9
jmp 0x29a0c78e5
push r13
pcmpgtb mm5, mm0
push r15
shl r13w, 0x13
pop r15
nop
pop r13
jmp 0x29a0c78e5
push r9
sar r9d, 2
push r13
punpcklbw mm1, mm7
push r11
subps xmm12, xmm7
push rcx
inc r13d
push r12
pcmpeqw mm2, mm3
push rbx
psrlw mm6, 0x21
pop rbx
minps xmm15, xmm13
pop r12
pminsw mm6, mm0
pop rcx
nop
pop r11
emms
pop r13
nop
pop r9
jmp 0x29a0c78e5
push r11
mov r11, 2
push r14
pop r14
dec r11
jne 0x29a0c7884
pop r11
jmp 0x29a0c78e5
cmp r12w, r14w
jne 0x29a0c78c5
push r10
psrlq mm7, 0x5d
push r13
shl r13, 6
movhlps xmm11, xmm12
pop r13
shl r10b, 0x12
pop r10
jmp 0x29a0c78d7
push rcx
shr cl, 0x10
push r9
psraw mm0, 0x42
paddsb mm6, mm0
pop r9
emms
pop rcx
push r11
not r11
push rbx
inc r11
nop
pop rbx
nop
pop r11
push r14
inc r14
psllq mm2, 0x5c
push r12
not r14b
pop r12
pcmpgtd mm6, mm1
rcl r14, 2
pop r14
push rbx
rcpss xmm14, xmm12
rcr bl, 1
movhlps xmm1, xmm5
push r8
nop
sbb r8b, 7
psrlq mm3, 0x2d
push rcx
nop
emms
push r9
sbb r9w, bx
pmulhuw mm4, mm7
pop r9
inc ebx
psrld mm4, 0x24
inc rbx
pop rcx
psrld mm3, 0x46
nop
pop r8
addss xmm6, xmm11
neg bx
pop rbx
push r8
psrlw mm2, 0x61
nop
neg r8d
paddd mm7, mm1
push rcx
emms
paddusb mm2, mm3
movlhps xmm12, xmm15
push r13
sbb cx, r8w
neg cl
push r9
inc rcx
pop r9
nop
nop
pop r13
punpckhbw mm2, mm6
emms
rcl rcx, 4
pop rcx
psrlq mm4, 0x30
inc r8d
movss xmm11, xmm6
movups xmm10, xmm2
pop r8
mov ecx, 8
call sub.msvcrt.dll_malloc
mov rcx, rax
push rdx
mulss xmm5, xmm14
nop
movss xmm14, xmm6
push rcx
psrld mm5, 0x50
emms
push r12
emms
pop r12
emms
sbb rcx, 0x12
pop rcx
sbb edx, 8
movaps xmm6, xmm1
emms
pop rdx
mov edx, 0x30
call sub.msvcrt.dll_realloc
mov rcx, rax
xor eax, eax
push r8
psubsb mm7, mm1
nop
comiss xmm1, xmm4
push r13
inc r8
test r13d, r8d
nop
push r15
movss xmm3, xmm15
rcr r13b, 0x15
push r9
emms
psrld mm0, 0x3e
pop r9
nop
pxor mm0, mm7
pcmpeqd mm2, mm5
pop r15
test r13w, r8w
xorps xmm14, xmm15
pop r13
neg r8
emms
pop r8
xor dword [rcx + rax*4], 0x69
push rbx
psrlw mm0, 0x1a
push r14
cmp bx, r14w
push r10
maxss xmm13, xmm9
push r15
shl r10d, 0x13
push rax
adc ebx, eax
pop rax
movups xmm11, xmm15
pop r15
cmp r10d, r14d
pop r10
not r14w
pop r14
ror ebx, 0x12
pop rbx
test rax, rax
jne 0x29a0c7a4d
mov eax, 1
jmp 0x29a0c79c8
call sub.msvcrt.dll_free
cmp r12w, 0x3b
jne 0x29a0c7a6a
push r12
ror r12, 4
pop r12
jmp 0x29a0c7a70
push r10
emms
pop r10
push rax
addss xmm15, xmm10
pop rax
lea rbx, [rsp + 0x50]
lea rdx, [rsp + 0x70]
mov rcx, rbx
call fcn.29a0c5cc0
cmp r12, 0x3f
jne 0x29a0c7a9d
push r10
nop
pop r10
jmp 0x29a0c7aa6
push r9
rol r9w, 3
pop r9
push r11
pslld mm5, 0xa
pop r11
call fcn.29a0c462b
xor edx, edx
xor eax, eax
mov dword [rsp + 0x278], 0x30
mov qword [rsp + 0x280], rax
mov dword [rsp + 0x290], 0x40
mov qword [rsp + 0x288], rbx
mov qword [rsp + 0x298], rdx
mov qword [rsp + 0x2a0], rdx
mov dword [rsp + 0x60], 0x6e6a34
push r14
maxss xmm0, xmm6
push r13
nop
push r15
nop
push rcx
subps xmm13, xmm0
push r11
addss xmm9, xmm15
push rax
test r15b, r13b
pop rax
not r13b
pop r11
movlhps xmm0, xmm11
pop rcx
nop
pop r15
rcpps xmm0, xmm1
pop r13
neg r14w
pop r14
mov word [rsp + 0x3d], 0x757e
mov byte [rsp + 0x3f], 0
push r12
emms
push r8
pslld mm1, 0xc
push r14
subps xmm5, xmm6
push rdx
sub r8d, 0x17
push rax
dec r8
push rcx
subss xmm11, xmm1
push rbx
shl r12, 0x15
pop rbx
andps xmm6, xmm13
pop rcx
nop
pop rax
psrlq mm0, 0x13
pop rdx
por mm6, mm3
pop r14
movlhps xmm8, xmm10
pop r8
emms
pop r12
lea rbx, [rsp + 0x3d]
mov rcx, rdi
mov rdx, rbx
call sub.msvcrt.dll__mbscmp
test eax, eax
jne 0x29a0c7c27
mov rax, rdi
lea rdx, [rsp + 0x63]
push rdx
psllq mm1, 0xf
pcmpeqw mm6, mm3
punpckhbw mm3, mm6
push r8
psadbw mm6, mm2
neg r8b
rcr r8, 0x11
push r12
emms
not rdx
push rcx
emms
cmp r8, r12
pop rcx
shl r8b, 9
pand mm4, mm7
nop
pop r12
movaps xmm14, xmm13
inc rdx
pop r8
dec edx
pslld mm5, 0x6a
pop rdx
xor byte [rax], 0x37
push rdx
paddsb mm3, mm5
ror rdx, 0xf
push r8
psllq mm1, 0x2f
emms
push r15
psllq mm6, 0x61
rcpss xmm4, xmm15
push rcx
sar r15d, 0x11
sbb r8d, ecx
pop rcx
movups xmm11, xmm3
psrlq mm6, 0x2e
pop r15
psrad mm1, 0x30
pmaxub mm3, mm5
pop r8
comiss xmm13, xmm8
rcr dl, 0x15
pop rdx
inc rax
cmp rdx, rax
jne 0x29a0c7b95
jmp 0x29a0c7cbd
mov rax, rbx
lea rdx, [rsp + 0x3f]
push r13
mov r13, 2
push r8
emms
nop
psrad mm5, 0x30
push r12
orps xmm5, xmm11
andps xmm2, xmm10
not r12d
push r10
paddsb mm4, mm1
emms
xchg r8, r10
pop r10
movlhps xmm6, xmm15
minps xmm4, xmm8
emms
pop r12
dec r8d
psrad mm5, 0x4e
neg r8w
pop r8
dec r13
jne 0x29a0c7c38
pop r13
xor byte [rax], 2
push r15
comiss xmm6, xmm11
push r9
pslld mm5, 0x67
push rcx
pcmpeqb mm6, mm5
push rax
rcl eax, 0x16
push rdx
nop
push r11
emms
pop r11
shl r9d, 0xd
pop rdx
pslld mm3, 0x29
pop rax
rol r15, 6
pop rcx
not r9d
pop r9
emms
pop r15
inc rax
cmp rax, rdx
jne 0x29a0c7c2f
push r12
neg r12b
neg r12w
push r9
pcmpeqb mm4, mm1
pop r9
mov r12d, 5
nop
pop r12
mov edx, 0x120089
lea rcx, [rsp + 0x48]
mov r9, rdi
mov r8, rsi
mov dword [rsp + 0x28], 0x20
mov dword [rsp + 0x20], 1
call fcn.29a0bb870
push r8
psrld mm1, 0x55
psrld mm6, 8
push r11
nop
emms
push r9
or r11b, r8b
inc r9
push r15
emms
emms
push r14
sub r14, 3
psrlq mm1, 0x65
pop r14
pslld mm1, 7
mov r9, r15
pop r15
inc r11
psrlq mm0, 0x34
pop r9
rcpss xmm12, xmm7
nop
pop r11
nop
psubsb mm0, mm6
pop r8
call fcn.29a0c352b
mov rax, qword [rsp + 0x48]
add rsp, 0x488
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret