Function at 0x2904e1a5d
Capabilities:
Authenticate hmac
Encode data using xor
Encrypt data using chaskey
Parse pe header

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
mov dword [rsp + 0x40], 0x4d7a677e
mov byte [rsp + 0x44], 0
push r11
psrld mm5, 0x58
nop
push rax
inc eax
sub r11d, eax
push rcx
nop
pslld mm0, 5
push r9
paddusb mm5, mm0
ror r11w, 9
pop r9
psrlw mm0, 0x11
nop
pop rcx
movaps xmm2, xmm7
emms
pop rax
por mm6, mm3
psrlw mm1, 0x22
pop r11
mov dword [rsp + 0x50], 0x68327268
mov byte [rsp + 0x54], 0
push rax
pand mm7, mm1
push r11
psrlq mm7, 0x11
push r12
nop
push rdx
shl r11w, 0x12
pop rdx
pslld mm3, 0x27
pop r12
nop
pop r11
emms
pop rax
lea rdi, [rsp + 0x50]
lea rsi, [rsp + 0x40]
mov rdx, rdi
mov rcx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x2904e1bd0
cmp r12d, r9d
jne 0x2904e1b4a
push rdx
psrad mm5, 0x16
nop
emms
por mm5, mm1
mulss xmm0, xmm13
paddusw mm4, mm2
pmaxsw mm4, mm5
pxor mm5, mm6
psrlq mm1, 0x10
nop
psubsb mm3, mm0
neg dx
pop rdx
jmp 0x2904e1b89
push r14
pslld mm1, 7
push rbx
mov r14, 6
push r15
punpcklbw mm4, mm0
push r13
ucomiss xmm12, xmm13
push rax
pxor mm3, mm2
push r9
pslld mm2, 0x30
pop r9
minps xmm11, xmm5
pop rax
rcl rbx, 9
pop r13
paddsb mm2, mm0
pop r15
minps xmm14, xmm12
pop rbx
pminsw mm2, mm3
pop r14
cmp r12, 0x5a
jne 0x2904e1ba9
push r11
psraw mm5, 0xa
push r13
emms
maxss xmm6, xmm14
pop r13
movss xmm1, xmm10
pop r11
jmp 0x2904e1bb8
push rdx
sar edx, 0x10
push rax
psraw mm1, 0x21
pminsw mm4, mm5
pop rax
nop
pop rdx
push r10
por mm5, mm7
push r12
rcl r12, 0x12
cmp r12d, r10d
pop r12
psrlw mm7, 0x53
pop r10
jmp 0x2904e1c0a
push rdx
mov rdx, 2
push r15
psadbw mm1, mm5
emms
psllq mm2, 0x45
push r8
shr r15d, 0xa
adc r8d, r15d
push r14
adc r14, r15
pop r14
nop
maxps xmm6, xmm10
pop r8
pmulhuw mm6, mm1
dec r15d
emms
pop r15
dec rdx
jne 0x2904e1bd8
pop rdx
push r13
emms
push rcx
maxss xmm5, xmm6
emms
pop rcx
mulps xmm15, xmm6
pop r13
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 0x2904e1e47
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 0x2904e1e66
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 0x2904e1e6f
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 0x2904e1e8d
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 0x2904e1ea3
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 0x2904e1ecd
jne 0x2904e1f18
push r14
paddsw mm4, mm2
mulss xmm0, xmm13
nop
nop
pslld mm5, 0xc
psrad mm7, 0x52
ror r14b, 0x11
pop r14
jmp 0x2904e1f18
push rdx
emms
pop rdx
jmp 0x2904e1f18
push r8
mulps xmm7, xmm2
push r10
psraw mm5, 0x1a
push r14
nop
pop r14
psubsb mm6, mm3
pop r10
emms
pop r8
jmp 0x2904e1f18
push r8
mov r8, 1
push r10
pop r10
dec r8
jne 0x2904e1e96
pop r8
jmp 0x2904e1f18
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 0x2904e1f18
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 0x2904e1f30
push rcx
mov rcx, 0x14
pop rcx
jmp 0x2904e1f37
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
cmp r12b, 0x22
je 0x2904e20d1
push r10
shl r10w, 0xe
push rdx
rcpps xmm12, xmm15
push r11
shr r10w, 0xf
push rbx
dec rdx
push rax
rol r10d, 8
push r8
emms
push r13
paddb mm1, mm5
pop r13
psrlq mm7, 0x1d
pop r8
psadbw mm6, mm0
pop rax
not r11w
pop rbx
xor dl, r10b
pop r11
nop
pop rdx
not r10w
pop r10
cmp eax, 0x5f
je 0x2904e2118
push r15
emms
push rax
emms
push r9
nop
push rdx
paddusb mm1, mm5
push r13
not rax
pop r13
sub r15b, 0x15
pop rdx
sbb r15b, 7
pop r9
neg r15w
pop rax
shr r15w, 0x12
pop r15
cmp cl, r9b
je 0x2904e2142
push rdx
dec edx
push r9
neg dl
emms
push r11
packsswb mm0, mm6
punpckhwd mm1, mm0
addps xmm13, xmm7
push r10
inc r10d
rcl r10b, 7
rol edx, 0x17
emms
push r12
nop
paddsb mm1, mm2
nop
shl r11b, 5
psllq mm2, 0x4f
pop r12
neg r11
minps xmm0, xmm15
paddsb mm5, mm0
psrlw mm5, 0x68
pop r10
rcl dl, 0xc
emms
neg r11d
pop r11
pslld mm2, 0x1d
emms
pop r9
nop
pop rdx
cmp r8, r10
je 0x2904e2157
push rbx
emms
nop
subps xmm9, xmm13
emms
emms
push rcx
addps xmm10, xmm13
minps xmm6, xmm7
rcr cx, 0x14
cmp rcx, rbx
sbb cl, bl
pop rcx
nop
nop
movaps xmm8, xmm12
shr ebx, 0xd
por mm4, mm0
dec rbx
pop rbx
cmp r10d, eax
je 0x2904e2184
push r14
inc r14
push rdx
pmullw mm0, mm3
emms
pop rdx
punpckldq mm3, mm1
pop r14
cmp r11b, al
je 0x2904e21b2
jne 0x2904e21e9
push rdx
psllq mm3, 3
push r8
not rdx
push rcx
andps xmm12, xmm6
push r13
or rdx, r13
push r12
dec r8d
push rax
test dx, r12w
push r11
neg al
pop r11
subss xmm4, xmm6
pop rax
emms
pop r12
sbb r13d, 9
pop r13
mov dx, 0x12
pop rcx
rol edx, 2
pop r8
psrlq mm4, 0x58
pop rdx
jmp 0x2904e21e9
push r9
paddusb mm2, mm3
push r12
nop
xadd r12d, r9d
push rax
mulps xmm2, xmm13
packuswb mm3, mm5
xchg r9w, r12w
pop rax
xor r12d, r9d
nop
pop r12
pslld mm5, 0x36
pop r9
jmp 0x2904e21e9
push rbx
punpckhbw mm2, mm5
push r12
not r12d
pop r12
movlhps xmm2, xmm14
pop rbx
jmp 0x2904e21e9
push r15
dec r15d
emms
ucomiss xmm13, xmm0
nop
mulss xmm10, xmm11
psrlw mm0, 0x50
nop
movss xmm3, xmm15
psrld mm1, 0x3a
maxps xmm10, xmm12
not r15
pcmpgtd mm3, mm6
pop r15
jmp 0x2904e21e9
push r8
pxor mm1, mm5
nop
movaps xmm7, xmm0
push rbx
psllq mm1, 0x59
shr r8b, 7
push r12
nop
pop r12
sub bx, r8w
sub ebx, 6
pop rbx
maxss xmm1, xmm14
inc r8d
inc r8d
pop r8
jmp 0x2904e21e9
push rcx
not cl
push rbx
packssdw mm3, mm4
emms
push r14
neg bx
inc ebx
xorps xmm0, xmm4
push rdx
rcr r14w, 2
minps xmm14, xmm6
emms
rcpss xmm2, xmm4
pop rdx
xadd rbx, r14
pcmpgtb mm4, mm6
emms
pop r14
nop
add ebx, ecx
pop rbx
packuswb mm3, mm7
pop rcx
push r8
emms
nop
inc r8d
emms
pslld mm2, 0x36
nop
nop
emms
nop
neg r8
nop
inc r8d
pop r8
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
movabs rax, 0x7800680057006e
mov dword [rsp + 0x48], 0x46
mov qword [rsp + 0x40], rax
push r9
emms
push r10
orps xmm3, xmm9
xchg r10d, r9d
push r8
or r8, r10
inc r10d
paddusw mm6, mm7
pop r8
mulps xmm9, xmm5
rcr r10, 0x13
pop r10
pcmpgtw mm1, mm3
pop r9
movabs rax, 0x4f0038004f0029
mov dword [rsp + 0x58], 0x44
mov qword [rsp + 0x50], rax
cmp r12w, ax
jne 0x2904e229e
push r13
pandn mm4, mm6
pop r13
jmp 0x2904e22a4
push r8
emms
pop r8
push r14
movlhps xmm15, xmm6
pop r14
mov rdx, rdi
mov rcx, rsi
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x2904e22f1
push r8
mov r8, 1
push rbx
psrlw mm7, 0x52
push rcx
sub cx, bx
andps xmm3, xmm1
push r9
pcmpeqd mm0, mm1
inc r9
not rcx
pop r9
nop
or ebx, ecx
pop rcx
psubsb mm3, mm2
pop rbx
dec r8
jne 0x2904e22c4
pop r8
jmp 0x2904e2382
mov rax, rdi
lea rdx, [rsp + 0x5a]
push rcx
dec ecx
psraw mm7, 4
not cl
sbb cx, 0x15
psrlw mm6, 0x21
push rbx
nop
psraw mm2, 0x62
nop
inc ebx
pcmpgtw mm5, mm7
pop rbx
pslld mm5, 0x51
pcmpeqb mm0, mm3
pcmpgtd mm6, mm5
psrld mm4, 0x6b
neg cl
paddd mm1, mm7
pop rcx
xor word [rax], 0x38
push rax
psllq mm7, 0x36
push r9
sbb rax, r9
psrld mm7, 0x47
push r10
psrlw mm6, 0x2f
add r10w, r9w
rcr eax, 0xc
push r11
psrad mm0, 0x5c
psraw mm4, 0x2e
orps xmm15, xmm8
sub ax, 2
pop r11
minps xmm2, xmm10
inc rax
emms
pop r10
cmp r9d, eax
add ax, r9w
pop r9
emms
pop rax
add rax, 2
cmp rax, rdx
jne 0x2904e22f9
push r14
not r14
pslld mm5, 0x5f
push r12
pcmpgtw mm1, mm2
emms
push r11
paddsb mm7, mm6
emms
push r15
sar r14w, 0xb
sbb r14b, 0x10
push r10
nop
xadd r14d, r15d
pop r10
pslld mm6, 0xe
not r11w
pop r15
nop
emms
pop r11
emms
minps xmm5, xmm13
pop r12
shl r14, 6
nop
pop r14
push r13
dec r13d
psraw mm5, 0x6b
mulps xmm9, xmm3
push r8
cmp r8b, r13b
nop
push r9
neg r8
pop r9
emms
emms
pop r8
emms
emms
shl r13d, 0x13
pop r13
call sym.VerifyPenSourceCaps.dll_TickOfflineSubtractCount
push rdx
psrlq mm3, 0x2d
rcpps xmm0, xmm13
push rax
test rax, rdx
emms
push r15
rcpps xmm5, xmm8
inc eax
push r11
xadd rax, rdx
movss xmm6, xmm10
push r10
emms
nop
pop r10
xadd rdx, r15
dec r15d
pop r11
addss xmm15, xmm4
emms
pop r15
nop
nop
pop rax
emms
psrlq mm4, 0x1c
pop rdx
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
rdtsc
mov ebx, edx
mov ebp, eax
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
shl rbx, 0x20
or rbx, rbp
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 0x2904e25de
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 0x2904e2633
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 0x2904e267f
call sub.msvcrt.dll_free
push r8
mov r8, 1
push r10
pop r10
dec r8
jne 0x2904e26fe
pop r8
cmp r12, rax
jne 0x2904e271e
push r9
mulps xmm9, xmm3
pop r9
jmp 0x2904e2723
push r10
nop
pop r10
push r15
psrlw mm6, 0x17
pop r15
cmp r12w, 0x25
jne 0x2904e2748
push r9
psrlq mm2, 0x58
push r14
emms
psubw mm5, mm7
pop r14
pmaddwd mm5, mm3
pop r9
jmp 0x2904e275b
push r15
psllq mm2, 0x23
push rbx
rcl rbx, 5
andnps xmm6, xmm14
pop rbx
nop
pop r15
push r12
pcmpeqb mm4, mm6
push r8
sbb r12b, r8b
emms
pop r8
psrlw mm2, 0x5f
pop r12
push rbx
rcr rbx, 0xa
psrad mm7, 0x4f
rcr ebx, 5
emms
emms
sar ebx, 0xa
psraw mm5, 0x5a
pop rbx
mov qword [rsp + 0x50], 0xffffffffffffd8f0
mov dword [rsp + 0x40], 0x6d533d7e
mov word [rsp + 0x44], 0x5d
push rax
packsswb mm4, mm5
push r9
psrlq mm5, 0x17
push r11
psrld mm3, 0x66
pop r11
emms
pop r9
psrlw mm0, 0x24
pop rax
mov rcx, rsi
call sub.msvcrt.dll_strlen
mov rdx, rax
mov rax, rsi
cmp rdx, 3
lea rdx, [rsp + 0x45]
jne 0x2904e2843
cmp r12w, 0x69
jne 0x2904e27ea
push r9
inc r9d
push rax
neg ax
nop
pop rax
nop
pop r9
jmp 0x2904e27ff
push r11
sar r11, 4
push r14
emms
psrlw mm0, 8
pop r14
paddusb mm6, mm0
pop r11
push r15
addss xmm15, xmm8
push r10
nop
psraw mm2, 0x1e
pop r10
minps xmm13, xmm6
pop r15
xor byte [rax], 0x63
push r11
emms
push rdx
nop
punpcklwd mm1, mm5
push rcx
not r11
emms
psrlq mm3, 0x4d
pop rcx
add r11, rdx
shl dl, 3
pop rdx
psraw mm0, 9
pop r11
inc rax
cmp rax, rdx
jne 0x2904e27d3
jmp 0x2904e288a
push rdx
neg rdx
push rax
psllq mm0, 0x38
sbb rax, rdx
push r11
shl rdx, 0xa
paddw mm1, mm6
nop
pop r11
rcl edx, 0x16
emms
pop rax
sbb rdx, 0x13
pop rdx
xor byte [rax], 0x27
push r13
emms
push r15
psubw mm4, mm2
push r9
pmulhuw mm6, mm4
pop r9
pmullw mm4, mm5
pop r15
emms
pop r13
inc rax
cmp rax, rdx
jne 0x2904e2843
push r9
not r9
sub r9, 3
push r12
psadbw mm7, mm5
pop r12
nop
shr r9, 0x12
pop r9
mov ecx, 0x14
mov rax, rbx
xor edx, edx
div rcx
imul ebx, edx, 0x3e8
push r9
rol r9b, 0x12
push rcx
test cl, r9b
inc ecx
push r15
mulss xmm5, xmm13
adc ecx, r9d
pcmpeqb mm2, mm7
push rbx
psrlq mm2, 0x49
addps xmm7, xmm14
rcpss xmm3, xmm2
packssdw mm4, mm0
pop rbx
nop
and r15b, cl
psllq mm5, 0x63
pop r15
pmaddwd mm5, mm3
psrad mm1, 0x57
pop rcx
addps xmm2, xmm0
pop r9
call fcn.2904f49f2
lea eax, [rbx + 0x2710]
imul rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], rax
cmp r12w, 0x63
jne 0x2904e2927
push r12
nop
push rcx
pslld mm5, 4
psrld mm7, 0x67
pop rcx
psrlw mm0, 0x4a
pop r12
jmp 0x2904e2936
push r15
paddb mm1, mm5
push rax
emms
xor r15b, al
pop rax
nop
pop r15
push r8
shr r8w, 1
push r11
pmaxsw mm5, mm6
shl r11w, 0x16
pop r11
ror r8d, 0x14
pop r8
push r9
emms
push rdx
nop
push rcx
emms
push rax
emms
push r14
xadd r14, rax
pop r14
not dl
pop rax
rcl r9d, 0x13
pop rcx
dec r9
pop rdx
emms
pop r9
push r14
mov r14, 3
push r10
nop
psllq mm3, 0x66
inc r10d
nop
nop
emms
punpckldq mm4, mm2
pop r10
dec r14
jne 0x2904e297b
pop r14
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x28]
call fcn.2904ea888
mov rdx, rdi
xor ecx, ecx
call fcn.2904e9def
lea rcx, [rsp + 0x38]
mov rdx, rsi
call fcn.2904ea888
cmp r12d, 0x14
je 0x2904e2a7b
push r13
psraw mm2, 0x56
push r10
neg r13d
rcpps xmm5, xmm9
pop r10
psllq mm1, 0x1c
pop r13
cmp r12w, 0x2d
je 0x2904e2a9a
push r8
inc r8
push rcx
emms
push rax
xchg cx, ax
push r13
neg r13b
push r14
emms
pop r14
nop
pop r13
ror r8b, 2
pop rax
psrld mm5, 0x15
pop rcx
minps xmm11, xmm5
pop r8
cmp r12, 0x59
je 0x2904e2ac3
push r9
psrld mm3, 0x4c
pop r9
cmp r13, 0x61
je 0x2904e2aec
push rcx
neg rcx
push rdx
pxor mm3, mm6
maxps xmm7, xmm3
pop rdx
inc rcx
pop rcx
cmp r12b, 0x4c
je 0x2904e2b5b
push r15
nop
push rcx
rcr r15, 0xd
neg cx
push r12
nop
psllq mm4, 0x66
movss xmm15, xmm8
pop r12
psrad mm3, 0x1e
pcmpgtw mm3, mm6
pop rcx
emms
pop r15
cmp rax, 0x2d
je 0x2904e2b6d
jne 0x2904e2ba7
push rax
emms
not eax
addss xmm5, xmm14
pslld mm5, 0x53
psrad mm4, 0x20
psrlq mm6, 0x4f
psadbw mm7, mm5
pop rax
jmp 0x2904e2ba7
push r8
emms
push rax
psrld mm6, 0x67
push r15
rol r15b, 0xa
push r10
emms
pop r10
rcl r15w, 3
pop r15
psrld mm0, 0x4a
pop rax
nop
pop r8
jmp 0x2904e2ba7
push r8
mov r8d, 0x10
push rcx
mulps xmm10, xmm3
or r8d, ecx
push rdx
paddw mm0, mm7
nop
xadd dl, cl
pop rdx
nop
neg r8w
pop rcx
pmaxsw mm6, mm4
pop r8
jmp 0x2904e2ba7
push r14
ucomiss xmm10, xmm6
andps xmm14, xmm13
shl r14w, 0xf
pcmpeqb mm2, mm3
nop
push r11
addps xmm14, xmm5
mov r11, r14
emms
mulss xmm8, xmm9
push rax
pcmpgtb mm2, mm3
paddsw mm0, mm2
adc r11, rax
push r15
and rax, r11
shl r11, 0xe
push r12
shr r15w, 0x14
pop r12
emms
psrad mm0, 0x38
pop r15
packssdw mm1, mm5
pandn mm1, mm0
emms
pop rax
emms
shl r11, 6
mov r14b, r11b
psrld mm0, 0x1e
pop r11
emms
emms
emms
emms
psraw mm1, 0x34
pop r14
jmp 0x2904e2ba7
push r14
ror r14b, 6
push rcx
xor r14, rcx
pop rcx
comiss xmm6, xmm1
pop r14
jmp 0x2904e2ba7
push rcx
maxps xmm6, xmm14
push r9
paddusb mm3, mm4
pcmpgtw mm6, mm7
push rbx
emms
paddsw mm3, mm2
nop
push rax
emms
nop
emms
not r9
pop rax
psraw mm7, 0x39
sar r9, 7
not r9w
pop rbx
pminsw mm4, mm5
maxss xmm14, xmm3
pop r9
sar cx, 0xf
pop rcx
push rcx
sbb cx, 0xc
addss xmm7, xmm14
sbb rcx, 8
push r11
sub cl, 0x13
psrlq mm3, 0x4c
nop
push rax
or ecx, eax
psllq mm1, 0xc
psraw mm6, 0x66
pop rax
mulps xmm4, xmm9
inc ecx
emms
pop r11
nop
shl ecx, 0xe
inc ecx
pop rcx
imul rax, qword [rsp + 0x38], 0x3e8
cqo
idiv qword [rsp + 0x30]
mov rcx, rax
imul rax, qword [rsp + 0x28], 0x3e8
cqo
idiv qword [rsp + 0x40]
sub ecx, eax
push r15
andnps xmm6, xmm8
push rax
emms
shl r15w, 9
push r12
emms
nop
nop
push rbx
psraw mm4, 0x14
packuswb mm5, mm6
shl r12w, 8
shr r12b, 8
pop rbx
emms
cmp ax, r12w
nop
pop r12
mov r15, 0xd
emms
pop rax
not r15d
pop r15
add ebx, 0x2328
cmp ebx, ecx
jae 0x2904e2c8b
push r15
andnps xmm6, xmm8
push rax
emms
shl r15w, 9
push r12
emms
nop
nop
push rbx
psraw mm4, 0x14
packuswb mm5, mm6
shl r12w, 8
shr r12b, 8
pop rbx
emms
cmp ax, r12w
nop
pop r12
mov r15, 0xd
emms
pop rax
not r15d
pop r15
xor eax, eax
jmp 0x2904e2cf2
push rdx
psrad mm5, 0x20
nop
not dl
andps xmm5, xmm15
emms
push r11
shr edx, 1
pmaddwd mm1, mm7
nop
nop
push r13
sub r13w, 0x14
nop
paddd mm5, mm2
push r14
emms
inc rdx
push r12
cmp edx, r14d
pop r12
pcmpgtw mm3, mm7
nop
pop r14
pcmpgtw mm0, mm5
pmaddwd mm5, mm3
mulps xmm4, xmm2
pop r13
nop
shl rdx, 0x10
rol r11w, 8
pmullw mm1, mm2
pop r11
pand mm4, mm1
inc edx
emms
psrlq mm7, 0x54
nop
pop rdx
call fcn.2904f4201
mov eax, 1
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
ret