Function at 0x2f8886a64
Capabilities:
Authenticate hmac
Encode data using xor
Parse pe header

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x478
mov rbp, rcx
push r13
psllq mm7, 4
pop r13
push r9
rcl r9, 4
push r10
dec r9
push rcx
addps xmm2, xmm6
push r12
xchg r12d, ecx
push rbx
nop
pop rbx
sbb r9b, r12b
pop r12
psrad mm5, 4
pop rcx
psadbw mm1, mm7
pop r10
pslld mm5, 8
pop r9
call fcn.2f8883f6c
mov word [rsp + 0x60], 0x5c
movabs rax, 0x35004a004f
mov qword [rsp + 0x50], rax
push rcx
psrlq mm0, 0x45
push r15
emms
pop r15
psrld mm7, 0x4f
pop rcx
movabs rax, 0x6a004f00530061
mov dword [rsp + 0x270], 0x59
mov qword [rsp + 0x268], rax
push r11
nop
psrld mm6, 0x29
psubw mm0, mm1
nop
emms
push r9
packssdw mm4, mm2
emms
emms
paddusw mm7, mm0
psraw mm1, 0xf
pop r9
psllq mm7, 0x6a
pmaxsw mm7, mm6
nop
pmaxub mm7, mm6
maxss xmm1, xmm4
dec r11
pop r11
lea rbx, [rsp + 0x268]
lea rsi, [rsp + 0x50]
mov rdx, rbx
mov rcx, rsi
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x2f8886b91
mov rax, rsi
lea rdx, [rsp + 0x56]
push r9
rcpss xmm3, xmm5
push r12
xorps xmm8, xmm15
push r14
emms
pop r14
psrlw mm0, 0x6b
pop r12
not r9b
pop r9
xor word [rax], 0x48
push r13
paddw mm2, mm0
movss xmm1, xmm10
dec r13
psraw mm2, 0x49
emms
orps xmm14, xmm12
inc r13
pop r13
add rax, 2
cmp rax, rdx
jne 0x2f8886b49
jmp 0x2f8886bac
cmp r10, r8
jne 0x2f8886b9e
push r12
emms
pop r12
jmp 0x2f8886ba4
push rdx
sar dx, 0xd
pop rdx
push r9
neg r9w
pop r9
cmp r10, 0xa
jne 0x2f8886bbf
push r11
emms
pop r11
jmp 0x2f8886bc8
push r9
sar r9w, 6
pop r9
push r12
psubsb mm4, mm3
pop r12
mov word [rsp + 0x62], 0x3f
push r8
sub r8w, 0xe
rcl r8b, 0x11
nop
pxor mm7, mm1
push rdx
not r8w
shl dx, 3
movups xmm12, xmm0
nop
pop rdx
dec r8d
rcr r8d, 0xb
paddsw mm0, mm3
sub r8, 0xf
pop r8
call fcn.2f8883d08
mov word [rsp + 0x64], 0x3f
push r14
sar r14, 0xf
pxor mm5, mm3
dec r14
psrlw mm0, 0x44
rcl r14d, 4
packuswb mm1, mm0
not r14w
emms
paddusb mm6, mm0
nop
pslld mm7, 0x54
rcr r14d, 0x13
pop r14
mov word [rsp + 0x66], 0x5c
mov dword [rsp + 0x50], 0x7b0053
mov word [rsp + 0x54], 0
push rax
addss xmm1, xmm11
pop rax
movabs rax, 0x5a0040004b
mov qword [rsp + 0x268], rax
push r15
nop
push rdx
punpcklbw mm5, mm2
pop rdx
psubsb mm5, mm2
pop r15
mov rdx, rbx
mov rcx, rsi
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x2f8886ce3
push r12
psrad mm4, 0x4e
push rdx
pmulhuw mm1, mm0
mulss xmm13, xmm6
push r10
emms
pcmpgtw mm7, mm4
punpckldq mm5, mm4
push rax
emms
punpcklbw mm7, mm4
rcl ax, 0x12
ror al, 4
push r14
inc rdx
emms
psrad mm6, 0xf
pandn mm3, mm5
minps xmm12, xmm9
pop r14
not dl
xchg r10, rax
neg rax
emms
pop rax
emms
shr r10b, 0xc
maxss xmm6, xmm1
pop r10
neg r12d
pslld mm7, 0x5e
pop rdx
nop
pop r12
jmp 0x2f8886cfc
push r9
neg r9w
push r11
sbb r9b, 0xa
push rbx
inc rbx
pop rbx
dec r11
pop r11
nop
pop r9
cmp r10, rdx
jne 0x2f8886d2d
push rdx
pslld mm5, 1
push r12
psrlw mm7, 0x26
rol dx, 4
pop r12
inc edx
pop rdx
jmp 0x2f8886d3b
push r8
nop
push rbx
nop
sbb r8w, bx
pop rbx
emms
pop r8
push r15
sar r15b, 9
push rcx
neg r15b
xchg r15b, cl
pop rcx
not r15d
pop r15
push r8
mulss xmm5, xmm14
push r11
psrad mm4, 0x51
push rdx
and edx, r11d
pop rdx
sub r8b, r11b
pop r11
maxss xmm2, xmm1
pop r8
push r14
emms
push r12
add r14b, r12b
push rdx
emms
push r8
psllq mm0, 0x11
push r15
mov r14b, r8b
pop r15
psrlq mm6, 0x52
pop r8
emms
pop rdx
nop
pop r12
xorps xmm8, xmm13
pop r14
call fcn.2f8884c54
xor r8d, r8d
mov qword [rsp + 0x30], r8
push r10
shl r10w, 7
emms
rcr r10b, 4
push rax
psubusw mm4, mm1
rcpss xmm13, xmm15
movlhps xmm5, xmm2
push r13
emms
mov eax, r13d
push r12
sar r13b, 7
andnps xmm14, xmm7
pop r12
not rax
psubw mm7, mm0
inc r10d
pop r13
or r10w, ax
not r10w
pop rax
neg r10
xorps xmm12, xmm13
pop r10
lea rdx, [fcn.2f8886a64]
lea r8, [rsp + 0x30]
mov ecx, 6
call fcn.2f887fcd5
mov edi, eax
push rcx
emms
nop
nop
psrld mm3, 0xa
not ecx
push rax
nop
psrad mm2, 0x40
nop
nop
push r8
pcmpgtw mm4, mm7
nop
emms
push r12
nop
dec rax
push r11
nop
pop r11
addps xmm4, xmm9
shr rcx, 0xa
pop r12
packsswb mm4, mm7
and rcx, r8
emms
pop r8
emms
emms
xor cx, ax
psrlq mm0, 0x13
pop rax
psrlq mm6, 0x15
psrlq mm2, 0x44
emms
pslld mm6, 0x31
pmulhuw mm5, mm3
pop rcx
call fcn.2f8884261
test edi, edi
je 0x2f8887520
mov word [rsp + 0x50], 0x4642
mov byte [rsp + 0x52], 0
push r14
psrlw mm3, 0x51
push r15
test r14b, r15b
psraw mm1, 0x2b
push rdx
and r14d, r15d
paddd mm6, mm4
nop
push rbx
psllq mm0, 2
pcmpgtd mm1, mm2
dec rbx
nop
push rcx
adc r14, r15
nop
pmaxub mm5, mm1
nop
psrad mm3, 0x1b
pop rcx
ror ebx, 0xb
sbb rdx, r15
pslld mm6, 0x61
addss xmm8, xmm9
pop rbx
shl dl, 0x12
nop
sbb r15w, r14w
pop rdx
emms
shl r15, 0xc
pop r15
movlhps xmm4, xmm7
pop r14
mov word [rsp + 0x268], 0x5336
mov byte [rsp + 0x26a], 0
push r12
emms
push rbx
rcl bx, 0x10
emms
push rax
maxss xmm1, xmm11
or r12w, ax
cmp bx, ax
push r13
psrad mm7, 0x3a
emms
sub r12d, 0x13
sar r12, 0x12
push rdx
emms
dec r13d
nop
packuswb mm7, mm5
shl bx, 0xb
pop rdx
sar rbx, 0x12
dec ebx
maxps xmm1, xmm10
emms
pop r13
rcl r12, 0x10
and bx, ax
emms
pop rax
shl bx, 0x13
emms
pop rbx
neg r12d
pop r12
mov rdx, rbx
mov rcx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x2f8886f7b
push r11
emms
emms
pcmpeqd mm4, mm2
emms
nop
push rdx
emms
sub dl, 0x14
orps xmm2, xmm4
emms
rol r11, 0xc
pop rdx
psrad mm7, 0x51
pcmpgtb mm3, mm4
shr r11d, 0xa
pmaxub mm1, mm4
emms
neg r11d
pop r11
jmp 0x2f8886fa1
push r8
psrld mm5, 0xb
push r14
not r14w
xorps xmm3, xmm13
push r12
emms
add r12b, r8b
pmaddwd mm2, mm3
pop r12
nop
rcr r8d, 0x17
pop r14
nop
pop r8
push r9
nop
psubw mm5, mm0
pslld mm1, 0x24
push r8
paddusb mm1, mm6
psrlw mm7, 0x5a
push rax
inc rax
pop rax
dec r8d
addss xmm3, xmm5
pop r8
dec r9
nop
pslld mm7, 0x50
pop r9
mov dword [rsp + 0x268], 0x7d6372
push rdx
not dx
emms
emms
push rax
nop
pslld mm1, 0xd
emms
push r14
nop
emms
push rbx
emms
xadd dx, bx
pop rbx
sbb ax, dx
inc rdx
movss xmm14, xmm3
pop r14
addps xmm4, xmm8
maxps xmm12, xmm13
pop rax
andnps xmm11, xmm0
movaps xmm0, xmm2
pop rdx
mov rcx, rbx
call sub.msvcrt.dll_strlen
cmp rax, 2
jne 0x2f888704f
push r10
paddusw mm5, mm2
push r9
pmaxsw mm1, mm0
push r13
nop
push r11
emms
push rbx
pcmpgtd mm7, mm3
pop rbx
mov r13b, 0xa
pop r11
psrlq mm2, 0x54
pop r13
cmp r10w, r9w
pop r9
nop
pop r10
jmp 0x2f88870e2
mov rax, rbx
lea rdx, [rsp + 0x26b]
cmp r10, 0x55
jne 0x2f8887076
push r10
punpcklbw mm1, mm4
push r9
psubw mm1, mm5
psrlq mm7, 0x4a
pop r9
emms
pop r10
jmp 0x2f888708a
push rbx
pslld mm0, 7
push r15
paddsw mm0, mm7
dec r15d
pop r15
pslld mm2, 0xe
pop rbx
push r13
not r13w
push r14
pcmpeqd mm3, mm5
dec r14d
pop r14
ror r13b, 0x12
pop r13
xor byte [rax], 6
push rcx
subps xmm7, xmm10
inc rcx
push rax
psrld mm6, 0x46
shr rax, 4
push r13
nop
emms
push rdx
rcpss xmm2, xmm5
emms
pop rdx
shl eax, 4
inc eax
pop r13
cmp eax, ecx
xorps xmm4, xmm5
pop rax
psrlw mm3, 0x1e
psubusw mm6, mm4
pop rcx
inc rax
cmp rax, rdx
jne 0x2f888705a
push r15
maxps xmm4, xmm5
punpcklbw mm3, mm7
pmaxub mm0, mm5
nop
push rbx
mov bx, 0x11
sbb r15w, bx
inc r15
push r12
sar r12b, 0x15
adc r15d, ebx
push rcx
xchg rcx, rbx
pop rcx
movss xmm8, xmm11
nop
pop r12
emms
or r15b, bl
ucomiss xmm10, xmm15
pop rbx
neg r15d
mulss xmm7, xmm12
xorps xmm10, xmm11
neg r15w
pop r15
mov rcx, qword [rsp + 0x30]
mov r8d, 0x104
mov rdx, rbx
call fcn.2f887a2f9
mov edi, eax
push r14
ror r14b, 0x13
dec r14d
psrld mm0, 0x37
neg r14w
push rbx
ror r14d, 9
not r14d
nop
push rdx
nop
or bl, r14b
push rcx
pcmpeqb mm4, mm1
pop rcx
maxps xmm15, xmm3
psraw mm1, 0x37
pop rdx
andnps xmm6, xmm2
nop
xadd r14d, ebx
pop rbx
nop
emms
emms
punpcklbw mm0, mm2
pop r14
call fcn.2f8884e45
mov edx, edi
mov rcx, rbx
call fcn.2f8886780
movsxd rdi, eax
push rcx
rcpps xmm2, xmm13
nop
paddsb mm3, mm1
neg cx
pminsw mm2, mm7
push r15
psrad mm0, 0x67
psllq mm1, 0x5b
psrlq mm7, 0x11
psrlq mm0, 0x51
push r14
nop
shl rcx, 4
pslld mm0, 0x58
push r11
test r14b, cl
psrld mm3, 0x25
push rdx
emms
pop rdx
pmaxub mm7, mm1
nop
pop r11
pmullw mm2, mm6
rcr r15, 8
mov cx, r14w
pop r14
psrlw mm3, 0x1b
psrad mm6, 0x1d
not r15w
inc r15
pop r15
emms
nop
punpckldq mm0, mm2
psraw mm7, 7
inc rcx
pop rcx
lea r12, [rdi + rdi]
lea rcx, [rsp + 0x68]
mov r8, rbx
mov edx, 0x200
mov r9, r12
lea r13, [rsp + 0x60]
call fcn.2f88820fa
push rax
ror rax, 0x14
push r10
dec r10
push r12
sbb r12w, 1
push rcx
neg al
push r15
or r15d, r12d
push r13
rcpss xmm12, xmm3
push r14
rcr r10, 0x10
pop r14
not r15
pop r13
shl r12w, 0x13
pop r15
xchg r10d, r12d
pop rcx
xor rax, r10
pop r12
xadd eax, r10d
pop r10
nop
pop rax
mov edx, 0x100
lea rcx, [r13 + r12 + 8]
mov r9d, 0x10
mov r8, rbp
sub rdx, rdi
add rdx, rdx
call fcn.2f88820fa
push rdx
psraw mm0, 0x25
dec edx
emms
psrad mm4, 0x21
nop
rcr dx, 5
neg dx
pop rdx
cmp r10b, bl
je 0x2f8887445
push r10
psrlq mm0, 0x26
not r10b
dec r10
nop
emms
push rdx
psllq mm7, 0x2e
shr r10, 0x11
movss xmm10, xmm7
mulss xmm12, xmm1
push rcx
emms
orps xmm2, xmm11
xchg edx, r10d
push r9
dec r10d
emms
push r13
nop
pop r13
mov dx, 0xe
psrlw mm3, 6
pop r9
emms
nop
psrlw mm5, 0xe
pop rcx
sub rdx, 0xe
nop
psubsb mm5, mm3
movhlps xmm12, xmm9
pop rdx
addss xmm13, xmm10
pcmpeqw mm2, mm7
not r10b
not r10
nop
pop r10
cmp rcx, 0x65
je 0x2f8887477
push r14
packsswb mm4, mm3
push r8
or r14, r8
push r9
nop
push r15
emms
push rax
pcmpgtw mm0, mm6
pop rax
dec r9
pop r15
emms
pop r9
ror r14d, 0xf
pop r8
pminsw mm4, mm2
pop r14
cmp edx, 0x3e
je 0x2f888748b
push r15
emms
andps xmm6, xmm1
mulss xmm6, xmm7
shr r15b, 0x10
rol r15b, 7
push r12
dec r15
psraw mm1, 0x22
neg r12w
sar r12, 6
push r14
movss xmm0, xmm5
neg r15b
psrld mm6, 0x15
push rbx
ror bl, 0x13
dec r12d
push r9
neg r9d
pop r9
nop
psraw mm1, 0x13
pop rbx
pcmpgtd mm0, mm6
emms
addss xmm5, xmm10
pop r14
psllq mm7, 0x47
xadd r12w, r15w
emms
shr r12w, 0x13
pop r12
nop
psrlw mm0, 0x66
psrad mm7, 0x11
paddb mm4, mm0
mov r15b, 4
pop r15
cmp cl, dl
je 0x2f8887492
push r14
addps xmm5, xmm4
push rdx
packsswb mm4, mm1
rcr r14, 0xb
push rcx
nop
not r14d
shl r14d, 0x10
push r15
rol cl, 5
psraw mm1, 0xe
dec rdx
dec r15
push r9
sar dl, 0x13
pslld mm5, 0x50
paddb mm5, mm4
emms
emms
pop r9
psrlq mm5, 0x2c
nop
psraw mm1, 0x2e
neg dx
pop r15
and edx, ecx
psllq mm0, 0x29
shl dl, 0x15
pop rcx
add r14d, edx
neg edx
pop rdx
emms
pop r14
cmp edx, ecx
je 0x2f88874a7
push rdx
packsswb mm2, mm1
push r11
and r11w, dx
push rbx
paddd mm6, mm1
pop rbx
nop
pop r11
xorps xmm6, xmm2
pop rdx
cmp r10d, r11d
je 0x2f88874de
jne 0x2f88874f8
push rdx
psrlq mm0, 0x4a
addss xmm9, xmm10
psrld mm4, 0x49
neg dx
push r13
emms
psrlw mm1, 0x54
emms
packuswb mm6, mm1
pop r13
dec edx
andnps xmm7, xmm1
not rdx
ucomiss xmm8, xmm12
pop rdx
jmp 0x2f88874f8
push r10
punpcklwd mm3, mm4
push rbx
andnps xmm6, xmm13
pop rbx
movss xmm14, xmm4
pop r10
jmp 0x2f88874f8
push r9
nop
pop r9
jmp 0x2f88874f8
push rcx
pcmpeqd mm1, mm5
push r15
ror r15, 0xe
movlhps xmm11, xmm2
pop r15
emms
pop rcx
jmp 0x2f88874f8
push r9
rcr r9w, 0xe
pminsw mm6, mm0
psrlw mm4, 0xc
psllq mm1, 0x4d
push rbx
psraw mm7, 0x3b
paddusw mm5, mm3
rcr bl, 0x15
xadd r9b, bl
pop rbx
addss xmm12, xmm9
nop
mov r9, 2
sar r9, 9
pop r9
jmp 0x2f88874f8
cmp r10w, 0x16
jne 0x2f88874ed
push r12
emms
pop r12
jmp 0x2f88874f2
push r10
nop
pop r10
push rax
maxps xmm13, xmm12
pop rax
push r15
shl r15b, 0x17
push rax
nop
nop
pop rax
emms
pop r15
push r11
shr r11d, 0x10
psrlw mm6, 0x17
push r12
mov r12, r11
pop r12
nop
sar r11, 9
pop r11
jmp 0x2f8887527
xor ecx, ecx
call fcn.2f887b19c
push rcx
rcpps xmm2, xmm13
nop
paddsb mm3, mm1
neg cx
pminsw mm2, mm7
push r15
psrad mm0, 0x67
psllq mm1, 0x5b
psrlq mm7, 0x11
psrlq mm0, 0x51
push r14
nop
shl rcx, 4
pslld mm0, 0x58
push r11
test r14b, cl
psrld mm3, 0x25
push rdx
emms
pop rdx
pmaxub mm7, mm1
nop
pop r11
pmullw mm2, mm6
rcr r15, 8
mov cx, r14w
pop r14
psrlw mm3, 0x1b
psrad mm6, 0x1d
not r15w
inc r15
pop r15
emms
nop
punpckldq mm0, mm2
psraw mm7, 7
inc rcx
pop rcx
push rcx
emms
psubsb mm5, mm7
movhlps xmm4, xmm12
psllq mm5, 0x5d
nop
push r15
cmp r15b, cl
mov r15b, 2
sbb r15d, ecx
movups xmm14, xmm13
push r14
psrld mm2, 2
maxss xmm6, xmm5
pmaxsw mm7, mm3
push r8
emms
por mm5, mm2
push r10
ror r8w, 0x14
pop r10
psrld mm1, 0x47
sub r8, r15
pop r8
psubusw mm7, mm0
rcl cl, 1
psllq mm6, 0x35
pop r14
emms
psraw mm7, 0x23
addps xmm6, xmm12
psadbw mm3, mm0
pop r15
maxss xmm5, xmm7
addps xmm2, xmm11
psllq mm3, 0xa
psrlq mm7, 0x2c
psubsb mm0, mm7
pop rcx
xor ecx, ecx
mov qword [rsp + 0x38], rcx
push rcx
mov rcx, 3
push r9
emms
ror r9d, 2
push r13
nop
movlhps xmm13, xmm6
push r12
or r9b, r12b
psadbw mm3, mm2
push rax
emms
psrlw mm4, 0x31
pop rax
sub r12b, 0x16
shl r9b, 3
pop r12
mulss xmm2, xmm8
pcmpeqd mm6, mm5
pop r13
nop
pcmpgtd mm7, mm3
pop r9
dec rcx
jne 0x2f8887613
pop rcx
cmp r10, rax
jne 0x2f8887661
push r9
sar r9, 9
pop r9
jmp 0x2f8887669
push r13
psrlq mm5, 0x28
pop r13
push rbx
addps xmm13, xmm4
pop rbx
mov ecx, 0x20
call sub.msvcrt.dll_malloc
mov rcx, rax
xor eax, eax
push r10
emms
push rax
inc eax
push r9
nop
push rcx
nop
pop rcx
neg rax
pop r9
pmaxsw mm6, mm3
pop rax
rcpss xmm14, xmm13
pop r10
xor qword [rcx + rax*8], 0x94
cmp r10d, edx
jne 0x2f88876ec
push r12
emms
push rbx
emms
neg ebx
pop rbx
not r12w
pop r12
jmp 0x2f8887704
push r14
rcl r14, 0xc
push r13
rcr r13b, 0xa
xchg r13, r14
pop r13
sar r14w, 0x13
pop r14
push rbx
emms
pslld mm2, 0x1e
pmaxsw mm6, mm0
emms
push r12
movhlps xmm12, xmm8
movups xmm1, xmm2
punpckhbw mm4, mm3
mov ebx, 0x10
pop r12
emms
ror ebx, 0xb
psllq mm1, 0x40
neg bx
pop rbx
inc rax
cmp rax, 4
jne 0x2f888767e
call sub.msvcrt.dll_free
push r15
packsswb mm5, mm1
nop
nop
nop
push rdx
pmaxsw mm7, mm3
psrld mm2, 0x2e
psllq mm6, 0x38
push r11
nop
shl r15, 0xa
push r14
rol r14, 0xf
pop r14
sbb r11b, 1
paddsb mm6, mm5
pop r11
nop
xorps xmm13, xmm6
comiss xmm8, xmm12
pop rdx
not r15d
rcr r15d, 3
emms
sar r15, 0xe
pop r15
cmp r10b, r12b
jne 0x2f888779d
push r8
pxor mm4, mm1
pop r8
jmp 0x2f88877a5
push r11
psraw mm2, 0x68
pop r11
push rdx
psadbw mm0, mm2
pop rdx
lea rdi, [rsp + 0x40]
lea rdx, [rsp + 0x60]
mov rcx, rdi
call fcn.2f8886080
push r14
pcmpeqb mm7, mm6
sar r14d, 0xc
orps xmm4, xmm14
psraw mm7, 0x36
psubusw mm4, mm2
push rbx
pslld mm3, 0x52
inc r14
nop
emms
push r12
sar rbx, 0x17
movss xmm2, xmm12
pmaxsw mm6, mm3
push r8
rcpps xmm12, xmm2
psllq mm4, 0x20
push r9
psrlq mm6, 0x25
pop r9
emms
neg r12d
pop r8
shl r12b, 0x16
rcpps xmm3, xmm12
nop
pop r12
emms
dec r14
inc r14
neg r14
pop rbx
nop
sbb r14, 0x11
movlhps xmm0, xmm14
psrld mm1, 0x42
packssdw mm5, mm4
pop r14
xor edx, edx
xor eax, eax
mov dword [rsp + 0x268], 0x30
mov qword [rsp + 0x270], rax
mov dword [rsp + 0x280], 0x40
mov qword [rsp + 0x278], rdi
mov qword [rsp + 0x288], rdx
mov qword [rsp + 0x290], rdx
cmp r10, rax
jne 0x2f8887874
push r9
sar r9, 9
pop r9
jmp 0x2f888787c
push r13
psrlq mm5, 0x28
pop r13
push rbx
addps xmm13, xmm4
pop rbx
mov ecx, 0x20
call sub.msvcrt.dll_malloc
mov rcx, rax
xor eax, eax
push r10
emms
push rax
inc eax
push r9
nop
push rcx
nop
pop rcx
neg rax
pop r9
pmaxsw mm6, mm3
pop rax
rcpss xmm14, xmm13
pop r10
xor qword [rcx + rax*8], 0x94
cmp r10d, edx
jne 0x2f88878ff
push r12
emms
push rbx
emms
neg ebx
pop rbx
not r12w
pop r12
jmp 0x2f8887917
push r14
rcl r14, 0xc
push r13
rcr r13b, 0xa
xchg r13, r14
pop r13
sar r14w, 0x13
pop r14
push rbx
emms
pslld mm2, 0x1e
pmaxsw mm6, mm0
emms
push r12
movhlps xmm12, xmm8
movups xmm1, xmm2
punpckhbw mm4, mm3
mov ebx, 0x10
pop r12
emms
ror ebx, 0xb
psllq mm1, 0x40
neg bx
pop rbx
inc rax
cmp rax, 4
jne 0x2f8887891
call sub.msvcrt.dll_free
push r15
packsswb mm5, mm1
nop
nop
nop
push rdx
pmaxsw mm7, mm3
psrld mm2, 0x2e
psllq mm6, 0x38
push r11
nop
shl r15, 0xa
push r14
rol r14, 0xf
pop r14
sbb r11b, 1
paddsb mm6, mm5
pop r11
nop
xorps xmm13, xmm6
comiss xmm8, xmm12
pop rdx
not r15d
rcr r15d, 3
emms
sar r15, 0xe
pop r15
mov edx, 0x120089
lea rcx, [rsp + 0x38]
mov r9, rsi
mov r8, rbx
mov dword [rsp + 0x28], 0x20
mov dword [rsp + 0x20], 1
call fcn.2f887f57e
push rcx
movss xmm6, xmm0
push r14
emms
mov r14w, 9
pop r14
pslld mm7, 0x45
pop rcx
mov rax, qword [rsp + 0x38]
add rsp, 0x478
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret