Function at 0x29a0b984d
Capabilities:
Encode data using xor
Parse pe header

Disassembly:
cmp r12, 0x49
jne 0x29a0b9869
push rcx
subps xmm2, xmm7
push rbx
rcpss xmm14, xmm3
psraw mm0, 0x5d
pop rbx
pslld mm7, 0x64
pop rcx
jmp 0x29a0b987d
push r8
dec r8
push rax
punpcklwd mm1, mm3
sbb r8b, 0x16
pop rax
shl r8, 6
pop r8
push r10
emms
push r9
emms
rcl r9w, 0x10
pop r9
psrld mm3, 0x68
pop r10
mov qword [rsp + 8], rcx
cmp r12b, 0x19
je 0x29a0b99a2
push rcx
emms
push r15
pslld mm1, 0x68
push r13
paddsw mm7, mm4
pop r13
adc rcx, r15
pop r15
psrad mm3, 0x23
pop rcx
cmp r14b, 0x48
je 0x29a0b99bf
push r10
andps xmm13, xmm0
emms
pmulhuw mm3, mm5
psrad mm3, 0x55
inc r10
push r13
emms
psrad mm2, 0x43
add r13, r10
inc r10d
orps xmm15, xmm7
pop r13
shl r10d, 0x10
not r10w
not r10b
packuswb mm7, mm4
nop
dec r10
pop r10
cmp r10, 0x54
je 0x29a0b99f7
push rbx
psrad mm1, 0x5f
subps xmm15, xmm0
pcmpgtw mm6, mm4
push r11
nop
nop
emms
push r12
paddusw mm4, mm1
nop
maxss xmm12, xmm7
pop r12
dec ebx
nop
nop
pop r11
minps xmm1, xmm15
sub rbx, 2
emms
pop rbx
cmp edx, 0x27
je 0x29a0b9a26
push r10
mov r10, 3
push r14
pop r14
dec r10
jne 0x29a0b994b
pop r10
cmp r9w, 0x4d
je 0x29a0b9a60
push r8
emms
punpckhwd mm0, mm6
nop
maxps xmm6, xmm0
nop
push r11
shr r8w, 4
subps xmm12, xmm10
test r8b, r11b
emms
mulps xmm10, xmm0
pop r11
emms
por mm3, mm4
nop
neg r8d
nop
dec r8d
pop r8
cmp r10w, r13w
je 0x29a0b9a9f
jne 0x29a0b9ad6
push r11
mov r11, 1
push r13
push r14
pop r14
pop r13
dec r11
jne 0x29a0b99ab
pop r11
jmp 0x29a0b9ad6
push rdx
not dl
rcpps xmm2, xmm1
nop
dec rdx
not rdx
push rbx
movhlps xmm13, xmm8
shl rdx, 4
emms
dec rbx
subss xmm3, xmm4
pop rbx
packsswb mm6, mm4
ror dl, 0xe
orps xmm4, xmm15
dec edx
emms
pslld mm6, 0x36
pop rdx
jmp 0x29a0b9ad6
push rbx
psllq mm1, 0x66
not ebx
emms
andps xmm12, xmm13
push r8
sub r8, rbx
emms
movss xmm2, xmm9
adc r8d, ebx
pop r8
emms
neg bl
pminsw mm1, mm4
movhlps xmm3, xmm15
pop rbx
jmp 0x29a0b9ad6
push rbx
punpckhwd mm5, mm2
dec rbx
nop
push r14
movaps xmm1, xmm15
pmaddwd mm4, mm6
psadbw mm2, mm5
push r15
nop
paddw mm2, mm0
add r15b, bl
pop r15
add ebx, r14d
psraw mm1, 0x13
not r14
pop r14
movss xmm3, xmm4
movaps xmm2, xmm11
psrad mm4, 0x45
pop rbx
jmp 0x29a0b9ad6
push r9
psraw mm1, 0x5a
push r12
sub r9, r12
xchg r9d, r12d
push rbx
nop
packssdw mm1, mm2
adc r12d, ebx
push rax
emms
dec r12
neg r12d
cmp bx, r12w
pop rax
shl r9b, 0x11
dec r9
psraw mm4, 0x59
pop rbx
emms
xchg r9, r12
pop r12
psrad mm6, 0x2d
pop r9
jmp 0x29a0b9ad6
push r13
movss xmm2, xmm7
push rax
maxss xmm10, xmm8
push r12
paddusw mm1, mm6
push rbx
psraw mm0, 0xb
push r9
emms
push r14
emms
pop r14
nop
pop r9
not r13
pop rbx
psrld mm2, 0x43
pop r12
paddusb mm6, mm0
pop rax
ror r13d, 0xd
pop r13
push r14
mov r14, 1
push r10
pop r10
dec r14
jne 0x29a0b9adf
pop r14
mov qword [rsp + 0x10], rdx
push r15
rcr r15w, 0x13
push r13
paddusw mm3, mm7
push r9
or r13b, r15b
pop r9
nop
pop r13
addss xmm7, xmm11
pop r15
mov qword [rsp + 0x18], r8
push r10
mov r10, 2
push rdx
push r9
pop r9
pop rdx
dec r10
jne 0x29a0b9b1a
pop r10
mov qword [rsp + 0x20], r9
cmp r12, 0x50
jne 0x29a0b9b39
push r8
nop
pop r8
jmp 0x29a0b9b41
push r14
psrad mm6, 0x31
pop r14
push rcx
psrad mm5, 0x1f
pop rcx
sub rsp, 0x64
push r8
emms
push r13
dec r8
pop r13
psrlq mm0, 0x67
pop r8
movabs rcx, 0xfc9516d9
push r12
mov r12, 3
push rdx
push r11
pop r11
pop rdx
dec r12
jne 0x29a0b9b6f
pop r12
call fcn.29a0b8164
push r12
dec r12
push r11
nop
psllq mm5, 0x38
push r14
pcmpeqw mm7, mm4
psllq mm1, 0x2e
psrlw mm1, 0x42
pop r14
xchg r11b, r12b
mov r12, 0x17
pop r11
shr r12b, 0x13
pop r12
mov r15, rax
cmp r12b, 0x3e
jne 0x29a0b9c32
push r10
punpckldq mm1, mm0
push r8
psrlq mm2, 0x2c
push r9
pmullw mm7, mm3
push rcx
emms
push r12
paddsb mm0, mm3
push rbx
ror r12b, 8
push r11
ucomiss xmm6, xmm11
pop r11
inc ecx
pop rbx
dec r8
pop r12
psrlq mm2, 0x28
pop rcx
not r8b
pop r9
emms
pop r8
psrlw mm6, 5
pop r10
jmp 0x29a0b9c5b
push r10
paddsw mm3, mm6
push r14
maxps xmm13, xmm11
xor r10d, r14d
push r12
nop
adc r10d, r12d
ucomiss xmm10, xmm6
pop r12
rcl r10, 1
xadd r10, r14
pop r14
pslld mm1, 0x52
pop r10
push r12
rcl r12b, 8
pop r12
movabs rcx, 0xfc9516d9
push r10
nop
psllq mm0, 0x21
pminsw mm1, mm6
inc r10d
neg r10b
push r9
psrad mm5, 0x14
nop
not r9d
sub r9d, r10d
rol r10, 0x10
pop r9
nop
shl r10, 7
inc r10d
dec r10
rcpss xmm10, xmm13
addss xmm5, xmm0
pop r10
call fcn.29a0b830c
push r13
psrlw mm4, 7
push rcx
not r13b
push r9
movaps xmm5, xmm0
pop r9
emms
pop rcx
emms
pop r13
add rsp, 0x64
push r8
mov r8, 1
push rbx
push r12
pop r12
pop rbx
dec r8
jne 0x29a0b9cd0
pop r8
mov rcx, qword [rsp + 8]
cmp r12d, r14d
jne 0x29a0b9cf1
push r15
sbb r15b, 0x17
pop r15
jmp 0x29a0b9cf8
push r13
packsswb mm4, mm7
pop r13
push rcx
rol cx, 7
pop rcx
mov rdx, qword [rsp + 0x10]
push r8
rcl r8w, 0x14
nop
emms
push r14
sub r8w, 0xc
nop
not r8w
push r15
movss xmm4, xmm9
packssdw mm3, mm4
push rcx
xadd ecx, r14d
punpcklbw mm3, mm5
pop rcx
sar r8b, 1
subps xmm12, xmm0
psrlw mm4, 0x40
pop r15
emms
adc r8d, r14d
pop r14
neg r8d
pandn mm7, mm6
pop r8
mov r8, qword [rsp + 0x18]
cmp r12b, 0x37
jne 0x29a0b9d8a
cmp r12b, 0x2d
jne 0x29a0b9d68
push r15
inc r15
pop r15
jmp 0x29a0b9d70
push r8
subps xmm10, xmm4
pop r8
push r14
neg r14d
pop r14
jmp 0x29a0b9dae
push rax
nop
psrad mm2, 0x23
emms
push r14
nop
nop
push r8
not r8w
pop r8
psraw mm6, 0x15
packsswb mm6, mm4
pop r14
nop
pmulhuw mm1, mm5
emms
pop rax
push r12
mulss xmm14, xmm2
push rcx
psrlw mm5, 0x13
push r9
pmulhuw mm5, mm6
push r14
psubw mm2, mm4
pop r14
add r12b, r9b
pop r9
dec rcx
pop rcx
emms
pop r12
mov r9, qword [rsp + 0x20]
push r12
mov r12, 2
push r13
pop r13
dec r12
jne 0x29a0b9de1
pop r12
mov r10, rcx
push r12
mov r12, 2
push rax
psrlw mm1, 0x3f
psraw mm1, 0x58
push rbx
pslld mm7, 0x32
emms
push r9
dec eax
neg eax
push r14
nop
emms
push r13
nop
neg r13b
pop r13
psubw mm2, mm3
mov bx, r9w
pop r14
xor bx, r9w
emms
pop r9
neg al
emms
pop rbx
emms
nop
pop rax
dec r12
jne 0x29a0b9df8
pop r12
jmp r15