Function at 0x3940411ee
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
push rsi
push rbx
sub rsp, 0x68
movabs rax, 0x78005d005a0050
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x48], 0x34
push r10
nop
dec r10d
push r13
emms
pop r13
nop
maxss xmm10, xmm1
pop r10
movabs rax, 0x6600270054006e
mov dword [rsp + 0x58], 0x4d
mov qword [rsp + 0x50], rax
push r13
nop
push r15
emms
emms
push r12
neg r15b
shl r12w, 0x12
neg r15w
pop r12
not r13
psubsb mm6, mm5
pop r15
pcmpeqw mm4, mm0
pop r13
lea rbx, [rsp + 0x50]
lea rsi, [rsp + 0x40]
mov rdx, rbx
mov rcx, rsi
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x394041308
mov rax, rsi
lea rdx, [rsp + 0x4a]
push r10
mov r10, 1
push rcx
mulss xmm4, xmm7
rcr rcx, 8
push r8
nop
maxss xmm14, xmm4
push r12
not r8w
nop
push r10
sub cl, r12b
andps xmm10, xmm5
push rax
sar r8, 0x16
pslld mm5, 0x4b
pop rax
neg r12b
rol rcx, 0x16
pop r10
psrld mm1, 0x60
psrad mm3, 0x6a
pop r12
subss xmm4, xmm0
psllq mm6, 0x25
pop r8
psrld mm5, 0x58
psubw mm2, mm7
pop rcx
dec r10
jne 0x39404128a
pop r10
xor word [rax], 0x40
push r10
mov r10, 1
push r15
pop r15
dec r10
jne 0x3940412ee
pop r10
add rax, 2
cmp rax, rdx
jne 0x394041281
jmp 0x39404133e
mov rax, rbx
lea rdx, [rsp + 0x5a]
push r10
mov r10, 1
push rdx
push rcx
pop rcx
pop rdx
dec r10
jne 0x394041319
pop r10
xor word [rax], 0x33
push rdx
not dl
push rbx
emms
add bx, dx
pop rbx
emms
pop rdx
add rax, 2
cmp rax, rdx
jne 0x394041310
push rbx
emms
psllq mm6, 0x10
emms
emms
psraw mm1, 0x18
psubw mm0, mm3
rol ebx, 0x13
pop rbx
cmp r11d, 1
je 0x39404148c
cmp r11w, 0x10
jne 0x39404137c
push r12
shr r12w, 0xa
push r10
pcmpeqb mm2, mm7
emms
pop r10
psubusw mm5, mm7
pop r12
jmp 0x39404138e
push r11
neg r11b
push rbx
mulss xmm2, xmm5
nop
pop rbx
sbb r11d, 0x17
pop r11
push rax
nop
push r13
psrlw mm7, 0x30
emms
pop r13
nop
pop rax
cmp rdx, 0x21
je 0x3940414d4
push rcx
pcmpgtw mm5, mm6
pop rcx
cmp r10, 0x22
je 0x3940414f3
push rax
pmaxub mm7, mm3
shl rax, 0x16
not rax
push r8
rcr r8w, 9
emms
push r11
psrlq mm5, 0x3e
pop r11
cmp ax, r8w
subss xmm6, xmm3
pop r8
pslld mm7, 0x44
emms
psrad mm0, 0x17
pop rax
cmp r14w, ax
je 0x39404155a
push r10
emms
push rdx
psraw mm4, 0x54
ror edx, 5
push rax
maxss xmm0, xmm11
inc rax
andps xmm7, xmm6
pop rax
pmaddwd mm2, mm1
nop
pop rdx
maxss xmm4, xmm11
pop r10
cmp r12d, eax
je 0x394041580
push r8
ror r8d, 0x15
push rdx
rcl r8, 0x15
test r8b, dl
push r11
packsswb mm2, mm5
nop
nop
push rcx
maxss xmm15, xmm8
psraw mm6, 0x1f
psraw mm2, 0x4c
psrlq mm2, 0x34
push rax
psraw mm1, 0x41
psrlq mm1, 0x30
neg al
rcl cl, 7
emms
pop rax
nop
nop
inc r8
adc ecx, r8d
pop rcx
mov r11, 9
adc r8d, r11d
emms
pop r11
psrlq mm0, 6
psrlq mm1, 0x13
pop rdx
psrad mm5, 0x2d
pop r8
cmp r10w, r15w
je 0x3940415d1
jne 0x394041633
push r14
psrad mm7, 0x6b
movaps xmm13, xmm8
neg r14w
push rcx
psubusw mm0, mm5
inc r14
test r14, rcx
push rbx
sub ecx, 1
test rcx, rbx
push r11
adc rbx, r14
psubusw mm7, mm5
pop r11
paddb mm0, mm6
pslld mm6, 0x1b
xadd cl, r14b
pop rbx
shl r14, 0xc
emms
pop rcx
psllq mm3, 0x21
nop
pop r14
jmp 0x394041633
push r11
dec r11d
movhlps xmm6, xmm12
push r9
add r9w, r11w
pop r9
pminsw mm1, mm6
movlhps xmm7, xmm11
pop r11
jmp 0x394041633
push rcx
ucomiss xmm12, xmm2
push r15
paddb mm2, mm3
inc ecx
push r12
sub cx, 5
pandn mm0, mm5
punpckldq mm5, mm0
push rdx
or r15d, r12d
psrad mm3, 0x29
sub r15w, 0xc
sbb r15, 1
push rbx
xchg r15w, cx
and r12w, dx
mov rdx, 0x15
nop
or r15w, r12w
pop rbx
and edx, r15d
psrad mm4, 0x40
dec edx
emms
pop rdx
emms
sbb r12d, r15d
sbb r12b, 6
pop r12
shl cx, 0x15
punpckldq mm6, mm1
pop r15
emms
pop rcx
jmp 0x394041633
push r13
orps xmm9, xmm0
push rcx
not cl
psrlw mm6, 0x21
push r10
inc r13
pmaxub mm7, mm5
emms
pop r10
nop
mov ecx, r13d
pop rcx
nop
pop r13
jmp 0x394041633
cmp r11w, 6
jne 0x3940415ab
push r9
pxor mm6, mm0
push rdx
neg edx
nop
pop rdx
shl r9w, 7
pop r9
jmp 0x3940415bb
push rcx
psubusw mm5, mm6
push rax
nop
psllq mm0, 0x5a
pop rax
rcr rcx, 0x10
pop rcx
push r10
nop
push r13
movaps xmm12, xmm9
not r10d
pop r13
psraw mm2, 0x3b
pop r10
jmp 0x394041633
push rcx
subps xmm5, xmm1
push r15
mulps xmm15, xmm11
nop
push rax
pmaddwd mm4, mm5
movaps xmm2, xmm14
sbb ax, 0x12
push r9
emms
rcl r15w, 0xf
andnps xmm7, xmm1
emms
push r8
mov r9b, r15b
rol r9b, 0xa
dec r8
addss xmm3, xmm12
pslld mm5, 0x5f
pop r8
pminsw mm3, mm4
sbb cx, 6
sbb cl, 0xc
rol r15, 0x17
pop r9
test al, cl
psrlw mm3, 2
psraw mm0, 0x10
pop rax
paddusw mm4, mm5
emms
pop r15
not cx
pop rcx
push rdx
mov rdx, 3
push r11
push r10
pop r10
pop r11
dec rdx
jne 0x39404163b
pop rdx
call fcn.394055dd9
mov dword [rsp + 0x50], 0x5124364a
mov word [rsp + 0x54], 0x31
push r8
neg r8
psrld mm1, 8
pand mm0, mm2
paddw mm2, mm4
push rbx
emms
packsswb mm1, mm5
psrlq mm2, 0xa
push r14
mov r8, r14
not r8
push r12
pcmpgtd mm6, mm7
pop r12
emms
psrlq mm2, 0x25
pop r14
nop
psrlq mm5, 0x50
dec r8
pop rbx
not r8w
psrld mm3, 0x25
punpckldq mm3, mm7
pslld mm7, 0x59
pop r8
mov rcx, rbx
call sub.msvcrt.dll_strlen
cmp rax, 3
jne 0x394041a0b
mov rax, rbx
lea rdx, [rsp + 0x55]
cmp r11, 0xf
je 0x3940417f2
cmp r11w, bx
jne 0x3940416e8
push r8
emms
push r9
adc r9, r8
psllq mm0, 0x4f
pop r9
rol r8d, 0xf
pop r8
jmp 0x3940416fc
push r12
maxps xmm11, xmm5
push r15
emms
packssdw mm4, mm7
pop r15
not r12d
pop r12
push rdx
rol edx, 0xb
push rax
paddsw mm7, mm4
nop
pop rax
rcl dx, 0xe
pop rdx
cmp r10w, 9
je 0x394041849
push r8
rol r8w, 1
push r10
not r8w
push r15
nop
push rcx
ucomiss xmm6, xmm13
push r11
nop
push rax
andnps xmm4, xmm3
push r13
psrld mm5, 0x3b
pop r13
test r10d, eax
pop rax
nop
pop r11
pcmpeqw mm5, mm1
pop rcx
pmaddwd mm3, mm0
pop r15
shl r8w, 0xa
pop r10
emms
pop r8
cmp r14w, 0x4c
je 0x39404187d
push r10
nop
pcmpeqb mm2, mm7
nop
subss xmm15, xmm12
push r13
nop
shr r13w, 0xc
pcmpeqb mm2, mm6
inc r13d
pop r13
nop
movhlps xmm12, xmm2
nop
pslld mm7, 0x5c
pop r10
cmp r8w, 0x24
je 0x3940418d3
push rcx
emms
rol cx, 0x15
emms
pand mm7, mm3
pmaxub mm6, mm4
emms
paddsw mm3, mm7
dec rcx
emms
shr rcx, 1
nop
psrld mm2, 0x6a
pop rcx
cmp ax, 0x54
je 0x394041909
push r9
nop
nop
shl r9b, 0x16
shl r9d, 5
punpckldq mm4, mm7
nop
psubw mm6, mm4
emms
pmulhuw mm3, mm2
psrld mm6, 0x1b
maxss xmm6, xmm1
inc r9
pop r9
cmp r11b, cl
je 0x39404192c
jne 0x394041969
cmp r11, r9
jne 0x394041823
push r12
rcl r12b, 3
push r13
ror r13, 0xb
psrad mm6, 0x1f
pop r13
dec r12
pop r12
jmp 0x394041832
push r8
emms
push rdx
sbb dx, r8w
ror edx, 1
pop rdx
nop
pop r8
push rax
rcl ax, 0xf
push r14
neg ax
orps xmm13, xmm2
pop r14
nop
pop rax
jmp 0x394041969
push r10
psadbw mm0, mm1
push r14
test r10d, r14d
push r9
psraw mm3, 0x64
push r13
pslld mm2, 0x19
push rax
or al, r13b
pop rax
emms
pop r13
shl r10d, 5
pop r9
xadd r14w, r10w
pop r14
nop
pop r10
jmp 0x394041969
cmp r11w, ax
jne 0x3940418a9
push r11
nop
push r15
subps xmm15, xmm2
xorps xmm7, xmm6
pop r15
emms
pop r11
jmp 0x3940418ba
push rdx
paddusb mm0, mm2
push r10
subps xmm8, xmm9
emms
pop r10
emms
pop rdx
push r8
dec r8
push rax
psraw mm3, 0x58
shl al, 0x16
pop rax
psrld mm4, 0x1a
pop r8
jmp 0x394041969
push r8
psrlq mm1, 0x37
shr r8d, 6
neg r8
psraw mm2, 0x4f
emms
push r14
emms
shr r8, 4
nop
paddsw mm3, mm1
not r8
pop r14
psrlw mm0, 0x14
andps xmm5, xmm14
nop
mulps xmm2, xmm5
nop
nop
pop r8
jmp 0x394041969
push rdx
dec rdx
nop
nop
andps xmm11, xmm1
emms
psrld mm4, 0x31
emms
emms
psllq mm6, 0x54
ror dx, 0xe
nop
rol edx, 0x14
pop rdx
jmp 0x394041969
cmp r11, 0x16
jne 0x394041947
push rcx
nop
push r13
psrld mm6, 0x34
movss xmm9, xmm10
pop r13
ucomiss xmm5, xmm1
pop rcx
jmp 0x394041958
push r14
paddsb mm3, mm7
push rbx
nop
dec r14
pop rbx
ror r14d, 0xd
pop r14
push r12
neg r12
push r15
sar r12d, 0x16
nop
pop r15
nop
pop r12
push r11
not r11d
paddsw mm6, mm2
push r15
paddw mm7, mm1
sub r15w, 5
push r14
addss xmm8, xmm11
sbb r15, 0xa
push r10
paddsb mm3, mm1
shr r11d, 0xf
push r9
pcmpeqd mm4, mm0
ucomiss xmm10, xmm7
pop r9
adc r15d, r10d
dec r15
pop r10
emms
emms
pop r14
ucomiss xmm2, xmm14
emms
pop r15
andps xmm8, xmm5
sar r11, 8
pop r11
xor byte [rax], 0x75
cmp r11, 0x53
jne 0x3940419d7
push rdx
minps xmm10, xmm2
push r8
nop
packuswb mm2, mm7
pop r8
psrlq mm6, 0x13
pop rdx
jmp 0x3940419e8
push rcx
emms
push r11
mov r11b, cl
packsswb mm5, mm4
pop r11
dec rcx
pop rcx
push r14
pmulhuw mm1, mm4
push rax
minps xmm9, xmm7
psllq mm4, 0x2f
pop rax
rcr r14, 0xd
pop r14
inc rax
cmp rax, rdx
jne 0x3940416c1
jmp 0x394041a63
cmp r11, 0x58
jne 0x394041a3c
push r15
emms
push r13
emms
psraw mm5, 0x30
pop r13
pcmpgtd mm7, mm2
pop r15
jmp 0x394041a51
push r11
dec r11d
push r8
psadbw mm2, mm6
psrlw mm2, 0x5c
pop r8
dec r11d
pop r11
push rax
orps xmm5, xmm6
push rcx
shl cx, 9
neg cl
pop rcx
mov eax, 0x13
pop rax
push r15
andps xmm14, xmm15
push r12
emms
punpcklbw mm6, mm2
push rcx
adc rcx, r12
dec r15
nop
push rdx
paddsb mm2, mm6
psraw mm5, 0x1c
emms
psraw mm7, 0x19
push r11
nop
pslld mm2, 0x20
psrad mm6, 0x68
sub r12d, r11d
emms
pop r11
nop
emms
adc r12, r15
por mm1, mm0
pop rdx
ucomiss xmm8, xmm5
psrlw mm2, 0x28
maxss xmm13, xmm1
pop rcx
sbb r12d, r15d
andps xmm7, xmm6
pop r12
mulss xmm13, xmm11
pop r15
xor edx, edx
mov qword [rsp + 0x40], rdx
push r14
mov r14, 1
push r10
push r8
pop r8
pop r10
dec r14
jne 0x394041acf
pop r14
mov ecx, 5
mov edx, 4
call sub.msvcrt.dll_calloc
mov rcx, rax
xor eax, eax
push r12
emms
neg r12
neg r12
push rcx
xorps xmm14, xmm2
punpckhbw mm6, mm1
push rdx
psrlq mm4, 0x53
pop rdx
emms
rol r12w, 2
pop rcx
sub r12d, 0x13
subss xmm13, xmm11
dec r12
pop r12
xor dword [rcx + rax*4], 0x75
push rax
subps xmm14, xmm9
push rcx
nop
packsswb mm2, mm0
pop rcx
emms
pop rax
inc rax
cmp rax, 5
jne 0x394041af2
call sub.msvcrt.dll_free
push r13
neg r13
push r12
cmp r12w, r13w
pop r12
nop
pop r13
mov qword [rsp + 0x50], 0x40
cmp r11b, r8b
je 0x394041c6a
push r9
nop
push r8
ror r8d, 0x10
push r14
punpckhwd mm3, mm6
pop r14
sub r8b, 0x17
pop r8
emms
pop r9
cmp r14, r12
je 0x394041cab
push r13
mov r13, 1
push r12
pop r12
dec r13
jne 0x394041b8e
pop r13
cmp bl, 6
je 0x394041cb4
push rax
andnps xmm9, xmm10
ror ax, 4
emms
push r11
cmp ax, r11w
emms
movaps xmm0, xmm3
push r15
nop
psrld mm4, 0x17
push r9
nop
sbb r15w, 7
pop r9
neg r15d
rcl r11d, 0xb
punpcklwd mm3, mm2
pop r15
nop
neg r11
pop r11
emms
shr rax, 0xb
pop rax
cmp rcx, r9
je 0x394041cc9
push r11
pcmpgtb mm4, mm1
push rdx
emms
psllq mm2, 0x50
push rbx
emms
mov r11w, 0x15
emms
push r12
packssdw mm6, mm5
psrld mm0, 0xe
nop
emms
pop r12
orps xmm10, xmm5
xchg edx, r11d
neg rdx
pop rbx
sar dx, 0x10
sbb r11d, 0xd
pop rdx
not r11
pop r11
cmp r14, 0x6a
je 0x394041d08
push r9
emms
pcmpgtd mm4, mm5
pandn mm2, mm3
push rax
pslld mm5, 0x1f
pmaddwd mm5, mm3
push rbx
sar r9d, 0x13
pop rbx
neg eax
psraw mm6, 0x6b
pop rax
psadbw mm1, mm3
emms
inc r9d
pop r9
cmp r11, r10
je 0x394041d62
jne 0x394041d90
cmp r11d, r8d
jne 0x394041c85
push r12
pmaxsw mm1, mm3
push r13
rcr r13d, 2
paddb mm3, mm7
pop r13
emms
pop r12
jmp 0x394041c99
push rax
pcmpeqd mm3, mm6
push r15
shr r15w, 0x14
sar rax, 8
pop r15
inc eax
pop rax
push rbx
psrld mm5, 5
push rdx
not bx
nop
pop rdx
nop
pop rbx
jmp 0x394041d90
push rcx
emms
pop rcx
jmp 0x394041d90
push rcx
emms
push r9
mov ecx, r9d
movss xmm0, xmm6
pop r9
nop
pop rcx
jmp 0x394041d90
push rcx
nop
push r9
emms
push r13
emms
push rbx
emms
push rax
punpckldq mm4, mm1
push rdx
mov rax, 0xc
push r15
nop
pop r15
movhlps xmm6, xmm8
pop rdx
movlhps xmm7, xmm8
pop rax
ror r9w, 3
pop rbx
nop
pop r13
sub r9w, cx
pop r9
ror ecx, 1
pop rcx
jmp 0x394041d90
cmp r11d, ecx
jne 0x394041d3a
push r10
shr r10, 0x11
push r13
psllq mm6, 0x28
dec r10d
pop r13
neg r10
pop r10
jmp 0x394041d50
push r14
psrlq mm5, 0x5c
push r12
andnps xmm2, xmm6
xorps xmm8, xmm3
pop r12
punpckldq mm0, mm1
pop r14
push r15
punpcklwd mm1, mm0
push rbx
psrad mm6, 0x56
emms
pop rbx
nop
pop r15
jmp 0x394041d90
push r13
mulss xmm6, xmm8
psrld mm4, 0xc
ror r13, 8
push rbx
test r13d, ebx
pcmpeqd mm0, mm5
push r9
psraw mm6, 0x4b
pop r9
xorps xmm10, xmm4
pandn mm6, mm5
pop rbx
nop
paddw mm1, mm4
emms
pop r13
cmp r11b, 0x16
jne 0x394041dbe
push r13
punpckhwd mm6, mm0
push r9
or r9b, r13b
por mm6, mm2
pop r9
shr r13d, 0x14
pop r13
jmp 0x394041dc9
push rbx
emms
push rax
nop
sbb eax, ebx
pop rax
emms
pop rbx
push rdx
emms
push r12
nop
add edx, r12d
pop r12
sub dx, 0x15
pop rdx
call fcn.394055108
xor eax, eax
mov dword [rsp + 0x38], eax
cmp r11d, 0x1d
jne 0x394041dfc
push r15
neg r15b
push rax
emms
nop
pop rax
sar r15b, 0x12
pop r15
jmp 0x394041e0c
push rcx
nop
push r9
pslld mm1, 0xb
psraw mm7, 0x51
pop r9
nop
pop rcx
push rbx
emms
push rdx
movss xmm10, xmm3
psrld mm7, 0x59
pop rdx
inc rbx
pop rbx
call fcn.3940547c2
mov r9, rbx
xor r8d, r8d
mov rdx, rsi
mov dword [rsp + 0x28], 4
or rcx, 0xffffffffffffffff
mov dword [rsp + 0x20], 0x3000
call fcn.394051b2d
push r13
pxor mm0, mm2
pxor mm4, mm6
pslld mm4, 0x1c
push r10
test r13w, r10w
psrlq mm1, 0x50
emms
push r14
pandn mm4, mm3
psrlw mm3, 0x28
addps xmm13, xmm6
pop r14
sbb r13, 0xf
punpckldq mm0, mm6
emms
pop r10
psllq mm3, 0x31
emms
addps xmm10, xmm6
pop r13
call fcn.394054f56
mov rdx, qword [rsp + 0x40]
lea r9, [rsp + 0x38]
xor ecx, ecx
mov r8d, 0x40
call fcn.39404959a
push r10
rcl r10w, 0x17
push rbx
movlhps xmm2, xmm10
push r12
shl r12w, 0x17
push rdx
add rdx, r12
push rax
test r10d, r12d
push r8
nop
push r15
shl r8, 0x12
pop r15
not r12b
pop r8
cmp r12, rbx
pop rax
nop
pop rdx
nop
pop r12
subps xmm3, xmm0
pop rbx
dec r10d
pop r10
mov rax, qword [rsp + 0x40]
mov ebx, dword [rax + 8]
mov eax, dword [rax + 0xc]
shr ebx, 0xa
shr eax, 0xa
imul ebx, eax
cmp r11d, 1
je 0x394042028
cmp r11w, 0x10
jne 0x394041f18
push r12
shr r12w, 0xa
push r10
pcmpeqb mm2, mm7
emms
pop r10
psubusw mm5, mm7
pop r12
jmp 0x394041f2a
push r11
neg r11b
push rbx
mulss xmm2, xmm5
nop
pop rbx
sbb r11d, 0x17
pop r11
push rax
nop
push r13
psrlw mm7, 0x30
emms
pop r13
nop
pop rax
cmp rdx, 0x21
je 0x394042070
push rcx
pcmpgtw mm5, mm6
pop rcx
cmp r10, 0x22
je 0x39404208f
push rax
pmaxub mm7, mm3
shl rax, 0x16
not rax
push r8
rcr r8w, 9
emms
push r11
psrlq mm5, 0x3e
pop r11
cmp ax, r8w
subss xmm6, xmm3
pop r8
pslld mm7, 0x44
emms
psrad mm0, 0x17
pop rax
cmp r14w, ax
je 0x3940420f6
push r10
emms
push rdx
psraw mm4, 0x54
ror edx, 5
push rax
maxss xmm0, xmm11
inc rax
andps xmm7, xmm6
pop rax
pmaddwd mm2, mm1
nop
pop rdx
maxss xmm4, xmm11
pop r10
cmp r12d, eax
je 0x39404211c
push r8
ror r8d, 0x15
push rdx
rcl r8, 0x15
test r8b, dl
push r11
packsswb mm2, mm5
nop
nop
push rcx
maxss xmm15, xmm8
psraw mm6, 0x1f
psraw mm2, 0x4c
psrlq mm2, 0x34
push rax
psraw mm1, 0x41
psrlq mm1, 0x30
neg al
rcl cl, 7
emms
pop rax
nop
nop
inc r8
adc ecx, r8d
pop rcx
mov r11, 9
adc r8d, r11d
emms
pop r11
psrlq mm0, 6
psrlq mm1, 0x13
pop rdx
psrad mm5, 0x2d
pop r8
cmp r10w, r15w
je 0x39404216d
jne 0x3940421cf
push r14
psrad mm7, 0x6b
movaps xmm13, xmm8
neg r14w
push rcx
psubusw mm0, mm5
inc r14
test r14, rcx
push rbx
sub ecx, 1
test rcx, rbx
push r11
adc rbx, r14
psubusw mm7, mm5
pop r11
paddb mm0, mm6
pslld mm6, 0x1b
xadd cl, r14b
pop rbx
shl r14, 0xc
emms
pop rcx
psllq mm3, 0x21
nop
pop r14
jmp 0x3940421cf
push r11
dec r11d
movhlps xmm6, xmm12
push r9
add r9w, r11w
pop r9
pminsw mm1, mm6
movlhps xmm7, xmm11
pop r11
jmp 0x3940421cf
push rcx
ucomiss xmm12, xmm2
push r15
paddb mm2, mm3
inc ecx
push r12
sub cx, 5
pandn mm0, mm5
punpckldq mm5, mm0
push rdx
or r15d, r12d
psrad mm3, 0x29
sub r15w, 0xc
sbb r15, 1
push rbx
xchg r15w, cx
and r12w, dx
mov rdx, 0x15
nop
or r15w, r12w
pop rbx
and edx, r15d
psrad mm4, 0x40
dec edx
emms
pop rdx
emms
sbb r12d, r15d
sbb r12b, 6
pop r12
shl cx, 0x15
punpckldq mm6, mm1
pop r15
emms
pop rcx
jmp 0x3940421cf
push r13
orps xmm9, xmm0
push rcx
not cl
psrlw mm6, 0x21
push r10
inc r13
pmaxub mm7, mm5
emms
pop r10
nop
mov ecx, r13d
pop rcx
nop
pop r13
jmp 0x3940421cf
cmp r11w, 6
jne 0x394042147
push r9
pxor mm6, mm0
push rdx
neg edx
nop
pop rdx
shl r9w, 7
pop r9
jmp 0x394042157
push rcx
psubusw mm5, mm6
push rax
nop
psllq mm0, 0x5a
pop rax
rcr rcx, 0x10
pop rcx
push r10
nop
push r13
movaps xmm12, xmm9
not r10d
pop r13
psraw mm2, 0x3b
pop r10
jmp 0x3940421cf
push rcx
subps xmm5, xmm1
push r15
mulps xmm15, xmm11
nop
push rax
pmaddwd mm4, mm5
movaps xmm2, xmm14
sbb ax, 0x12
push r9
emms
rcl r15w, 0xf
andnps xmm7, xmm1
emms
push r8
mov r9b, r15b
rol r9b, 0xa
dec r8
addss xmm3, xmm12
pslld mm5, 0x5f
pop r8
pminsw mm3, mm4
sbb cx, 6
sbb cl, 0xc
rol r15, 0x17
pop r9
test al, cl
psrlw mm3, 2
psraw mm0, 0x10
pop rax
paddusw mm4, mm5
emms
pop r15
not cx
pop rcx
push rdx
mov rdx, 3
push r11
push r10
pop r10
pop r11
dec rdx
jne 0x3940421d7
pop rdx
call fcn.394055dd9
cmp ebx, 0x3ff
ja 0x394042357
mov word [rsp + 0x35], 0x3964
mov byte [rsp + 0x37], 0
push r10
movups xmm3, xmm15
emms
subss xmm11, xmm7
emms
push r9
inc r10d
emms
mulss xmm1, xmm2
emms
pop r9
emms
psllq mm1, 0x39
pminsw mm2, mm5
sar r10d, 0x10
pop r10
mov dword [rsp + 0x3c], 0x696f2d
push r9
psrad mm7, 0xc
push rcx
not ecx
push r15
rcl r9w, 0xb
push r10
pcmpgtd mm0, mm1
push r11
not r9b
push rax
not rax
pop rax
shl rcx, 6
pop r11
packsswb mm4, mm1
pop r10
and r15b, r9b
pop r15
add r9w, cx
pop rcx
comiss xmm3, xmm2
pop r9
lea rbx, [rsp + 0x35]
lea rdx, [rsp + 0x3c]
mov rcx, rbx
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x3940422f6
mov rax, rbx
lea rdx, [rsp + 0x37]
push r10
psubusw mm5, mm1
nop
nop
push rax
xor r10b, al
nop
rcr r10d, 0xf
push r9
dec eax
psubsb mm5, mm4
push rdx
psrad mm1, 0x47
psraw mm1, 0x3a
pop rdx
inc r9
sbb r10b, 3
psrlw mm5, 0x62
pop r9
mov r10, 4
sub r10b, al
pop rax
psrlw mm5, 0x16
psrld mm6, 0x34
pop r10
xor byte [rax], 0x58
push r12
psraw mm0, 0x36
rol r12d, 0xc
push r8
sar r8, 8
pop r8
nop
dec r12
pop r12
inc rax
cmp rax, rdx
jne 0x39404228e
jmp 0x394042331
push r13
emms
subps xmm12, xmm5
push r15
movlhps xmm2, xmm12
shl r13b, 4
push rcx
emms
emms
push r9
pmulhuw mm6, mm5
adc r15d, r9d
pop r9
mov r15, 0x17
emms
pop rcx
inc r15
inc r15d
pop r15
emms
movlhps xmm2, xmm9
pop r13
cmp r11d, eax
jne 0x394042346
push r8
emms
pop r8
jmp 0x39404234b
push rax
dec rax
pop rax
push rcx
paddw mm7, mm6
pop rcx
mov eax, 1
jmp 0x394042376
push r8
ror r8, 0xc
push r12
neg r12w
push r14
rcl r8w, 0xd
pop r14
emms
pop r12
emms
pop r8
xor eax, eax
add rsp, 0x68
pop rbx
pop rsi
ret