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

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov r12, rcx
cmp ebx, 0x5e
jne 0x399965b52
push r10
inc r10d
pop r10
jmp 0x399965b56
push rdx
emms
pop rdx
push r14
pcmpgtb mm6, mm7
pop r14
call fcn.39997801b
call fcn.399965720
mov r13d, eax
push r13
psllq mm0, 0x32
push rbx
nop
neg r13b
push r12
emms
psrld mm3, 0x35
emms
push r8
psllq mm3, 0x6a
pcmpgtb mm4, mm3
neg r8
nop
pop r8
sar r12w, 2
rcr r12, 4
not r13
pop r12
not r13w
packuswb mm2, mm6
pop rbx
mov r13, 4
pop r13
call section..text
mov rbp, rax
push r11
pcmpgtb mm6, mm5
nop
push r15
emms
psrld mm0, 0x16
push r12
paddsb mm4, mm1
not r12
push r9
nop
emms
pop r9
psrlq mm0, 0x14
movlhps xmm7, xmm5
pop r12
pcmpgtd mm0, mm1
emms
pop r15
pslld mm6, 0x2a
psraw mm2, 0x32
pop r11
push r13
psllq mm0, 0x32
push rbx
nop
neg r13b
push r12
emms
psrld mm3, 0x35
emms
push r8
psllq mm3, 0x6a
pcmpgtb mm4, mm3
neg r8
nop
pop r8
sar r12w, 2
rcr r12, 4
not r13
pop r12
not r13w
packuswb mm2, mm6
pop rbx
mov r13, 4
pop r13
push r13
emms
nop
addps xmm4, xmm12
push r15
nop
sar r15d, 4
push r14
mov r13w, r15w
pop r14
test r13b, r15b
xchg r15, r13
pop r15
nop
movups xmm11, xmm7
inc r13
pop r13
mov ecx, 0xc
call sub.msvcrt.dll_malloc
mov rcx, rax
cmp rbx, r11
je 0x399965d80
push r11
mulps xmm4, xmm9
push rdx
psraw mm7, 0x45
push r9
nop
push rbx
psrld mm6, 0x34
push r8
psrlw mm3, 0x64
pop r8
test r11b, dl
pop rbx
emms
pop r9
orps xmm1, xmm4
pop rdx
ror r11, 7
pop r11
cmp r12d, 0x2f
je 0x399965d8b
push rax
nop
push r11
movlhps xmm2, xmm11
inc eax
push r9
xorps xmm2, xmm5
psrlq mm6, 0x2d
andnps xmm14, xmm3
pop r9
paddsw mm3, mm4
nop
pop r11
nop
pop rax
cmp r14, rcx
je 0x399965db7
push r15
emms
mulss xmm6, xmm10
push rdx
inc edx
pop rdx
nop
inc r15
pop r15
cmp bl, r10b
je 0x399965dfe
push r12
pand mm5, mm1
push rax
psrad mm1, 0x6b
pslld mm2, 0x12
push r11
neg r12
emms
shr r11d, 2
push r10
cmp r10, rax
nop
xor eax, r10d
rcpss xmm9, xmm15
pop r10
nop
neg al
ror r12b, 0x12
pop r11
nop
sbb rax, 5
pop rax
emms
pop r12
cmp r12w, 0x4f
je 0x399965e47
cmp bl, r8b
jne 0x399965d4a
push r13
nop
push r14
nop
dec r14d
pop r14
maxps xmm1, xmm6
pop r13
jmp 0x399965d5b
push r8
emms
push r12
sar r8, 0x14
nop
pop r12
emms
pop r8
push r15
psrad mm6, 0x16
push r11
punpckhwd mm2, mm4
emms
pop r11
psrlw mm4, 0x52
pop r15
cmp bx, r8w
je 0x399965e5f
jne 0x399965e77
push r15
emms
pop r15
jmp 0x399965e77
push r13
pmaxub mm5, mm3
nop
psllq mm1, 0x34
push rcx
nop
punpckhbw mm7, mm0
push rax
nop
pop rax
nop
maxss xmm14, xmm11
pop rcx
sbb r13w, 0x15
inc r13
sar r13d, 0xd
pop r13
jmp 0x399965e77
push r14
emms
push r10
psubusw mm1, mm6
psubusw mm2, mm4
push r9
pcmpeqb mm2, mm3
xchg r10d, r9d
mov r10w, r14w
push r11
xadd r9d, r11d
psrlq mm7, 0x3e
emms
por mm1, mm7
pop r11
psrad mm5, 0x5c
psubsb mm4, mm6
orps xmm2, xmm15
pop r9
mulps xmm0, xmm8
adc r14d, r10d
pop r10
sbb r14, 4
pop r14
jmp 0x399965e77
push r13
psllq mm7, 0x50
sub r13b, 8
nop
subps xmm14, xmm3
push r15
sbb r13d, 0x17
test r13, r15
movaps xmm1, xmm0
push rax
emms
emms
push r9
punpckhbw mm5, mm6
pop r9
psrld mm2, 0x47
emms
pop rax
emms
nop
movlhps xmm8, xmm1
pop r15
psrlq mm6, 0x51
emms
shl r13, 0xb
movhlps xmm7, xmm13
pop r13
jmp 0x399965e77
cmp bl, dl
jne 0x399965e52
push rcx
pand mm2, mm7
pop rcx
jmp 0x399965e57
push rbx
rol bl, 0xa
pop rbx
push r8
emms
pop r8
jmp 0x399965e77
push r14
mov r14, 3
push r15
push r9
pop r9
pop r15
dec r14
jne 0x399965e68
pop r14
push r15
inc r15
push r10
nop
add r15, r10
push r14
rol r10b, 0x12
emms
sub r10b, r14b
push r12
shl r15, 0x11
movlhps xmm8, xmm13
nop
ror r14d, 0xb
push rax
test ax, r12w
punpckhwd mm1, mm4
adc eax, r12d
test r10, r14
not r12d
pop rax
ror r10b, 0x12
psrad mm5, 0x2f
nop
addps xmm4, xmm9
pop r12
comiss xmm1, xmm8
adc r15d, r14d
inc r10d
pop r14
psrlw mm4, 1
emms
pop r10
not r15
pop r15
mov edx, 0x48
call sub.msvcrt.dll_realloc
mov rcx, rax
cmp bl, dl
jne 0x399965eee
push rax
pmullw mm3, mm6
pop rax
jmp 0x399965ef6
push r14
shl r14d, 0xa
pop r14
push rcx
paddb mm1, mm6
pop rcx
call sub.msvcrt.dll_free
cmp bl, 0x21
jne 0x399965f91
push r9
mov r9, 3
push rcx
push r8
pop r8
pop rcx
dec r9
jne 0x399965f12
pop r9
jmp 0x399965fb8
push r15
nop
emms
nop
psraw mm7, 0x25
push r8
rol r8, 0x11
psrlw mm5, 0x68
nop
psrld mm1, 8
pop r8
mov r15b, 5
paddusb mm6, mm0
punpckhbw mm2, mm6
nop
pop r15
push r13
packsswb mm1, mm3
push r8
shl r13, 0xf
psraw mm7, 0x40
push rax
emms
emms
punpckhwd mm4, mm6
push rdx
emms
not r13b
emms
nop
push r10
test dx, r13w
shl dl, 0x11
pcmpgtw mm3, mm0
maxps xmm12, xmm10
emms
pop r10
test ax, dx
test r13d, edx
neg r13d
xor r8w, ax
pop rdx
packsswb mm3, mm1
emms
xor al, r13b
pop rax
shl r8, 0x14
psllq mm3, 0x17
pop r8
shr r13d, 3
pop r13
push rbx
nop
nop
pslld mm4, 0x32
push r15
emms
emms
neg rbx
push r8
inc r15d
psrad mm5, 0x69
push r12
pcmpgtb mm5, mm3
mov r15b, 0xf
pop r12
nop
emms
psrlq mm1, 0x61
pop r8
nop
nop
pop r15
sub bl, 0xf
nop
pop rbx
push r10
emms
pop r10
push rdx
comiss xmm13, xmm8
push r12
emms
shl r12, 8
push rbx
nop
rcl r12b, 0xd
punpcklbw mm5, mm3
pop rbx
add r12w, dx
movss xmm7, xmm3
pop r12
emms
pop rdx
xor edi, edi
xor esi, esi
push rdx
comiss xmm13, xmm8
push r12
emms
shl r12, 8
push rbx
nop
rcl r12b, 0xd
punpcklbw mm5, mm3
pop rbx
add r12w, dx
movss xmm7, xmm3
pop r12
emms
pop rdx
push r9
psrld mm5, 0x6b
psraw mm0, 0x1b
not r9
emms
push rcx
sbb ecx, r9d
nop
not cx
inc ecx
pop rcx
punpcklbw mm4, mm1
rol r9, 0x11
emms
nop
pop r9
mov edx, 1
mov ecx, 3
call sub.msvcrt.dll_calloc
mov rcx, rax
push r10
pmullw mm4, mm1
pop r10
mov edx, 0x12
call sub.msvcrt.dll_realloc
mov rcx, rax
xor eax, eax
push rdx
nop
push r10
inc r10d
push r11
psrad mm0, 0x12
pop r11
emms
pop r10
pmullw mm5, mm4
pop rdx
xor byte [rcx + rax], 0x98
push r11
sub r11, 0x13
nop
push rax
emms
subss xmm3, xmm0
push r14
sar r14, 0xd
nop
push rcx
pand mm3, mm2
xchg r11d, r14d
pop rcx
psllq mm4, 0x28
pcmpeqw mm2, mm6
pop r14
nop
inc r11d
pop rax
not r11w
xorps xmm7, xmm5
pop r11
inc rax
cmp rax, 3
jne 0x3999660e8
call sub.msvcrt.dll_free
cmp rbx, r11
jne 0x399966158
push r14
mov r14b, 0xb
pop r14
jmp 0x399966160
push r8
psraw mm6, 0x66
pop r8
push r12
rol r12d, 0xf
pop r12
mov rbx, rbp
cmp bl, 0x4c
jne 0x399966185
push rdx
sbb dl, 0xe
push r15
sar rdx, 0xb
emms
pop r15
psrad mm3, 0x32
pop rdx
jmp 0x399966197
push r9
emms
push r10
emms
pmaxub mm4, mm5
pop r10
dec r9
pop r9
push r12
psraw mm5, 0x1e
push r14
rol r12b, 0xa
mulss xmm8, xmm13
pop r14
pmaxsw mm7, mm6
pop r12
call sym.FillExecutable.dll_MenuCompareAcePoint32
cmp word [rbx + 0x38], 0
je 0x399966685
cmp ebx, r15d
jne 0x3999661ea
push rcx
nop
push r14
adc rcx, r14
neg cl
pop r14
psrld mm7, 0x41
pop rcx
jmp 0x3999661fe
push r13
paddd mm7, mm2
push r11
orps xmm8, xmm2
psrld mm4, 0x2d
pop r11
nop
pop r13
push r8
pslld mm2, 0x30
push rdx
pslld mm1, 0x29
inc r8d
pop rdx
nop
pop r8
call fcn.399977bb6
cmp edi, 1
jne 0x3999662a2
cmp esi, 1
jne 0x3999662a2
cmp bl, 0x44
jne 0x399966252
push rdx
rcl edx, 0xa
push r15
xadd r15w, dx
rcpss xmm14, xmm9
pop r15
addps xmm14, xmm8
pop rdx
jmp 0x399966267
push rax
addps xmm4, xmm10
push r14
pminsw mm0, mm5
movaps xmm6, xmm11
pop r14
shr ax, 0xe
pop rax
push r11
rcr r11b, 7
push r12
emms
pslld mm5, 1
pop r12
emms
pop r11
push rax
nop
push r9
dec r9d
nop
pop r9
addps xmm1, xmm11
pop rax
push r11
shl r11, 0x11
push r13
neg r13d
pop r13
psrld mm3, 0x30
pop r11
jmp 0x399966ad3
cmp bl, dl
jne 0x3999662bf
push r12
movaps xmm4, xmm5
push r15
movhlps xmm15, xmm10
psraw mm5, 0x59
pop r15
sub r12, 0x13
pop r12
jmp 0x3999662d3
push r8
shr r8d, 0xd
push r13
inc r8d
emms
pop r13
inc r8
pop r8
push r14
addss xmm11, xmm7
push rcx
emms
dec r14
pop rcx
paddb mm6, mm5
pop r14
cmp dword [rbx + 0x50], r13d
jne 0x3999662ff
push rax
mov ax, 0x13
push r15
emms
pop r15
rol al, 1
pop rax
jmp 0x399966685
push rcx
paddsw mm2, mm5
push rax
maxps xmm9, xmm14
push r14
psrad mm5, 0x5c
push r11
psrad mm6, 0x4a
push r15
nop
pop r15
movss xmm12, xmm8
pop r11
emms
pop r14
mulps xmm7, xmm15
pop rax
emms
pop rcx
mov rcx, qword [rbx + 0x40]
call fcn.399968742
push r13
psllq mm0, 0x32
push rbx
nop
neg r13b
push r12
emms
psrld mm3, 0x35
emms
push r8
psllq mm3, 0x6a
pcmpgtb mm4, mm3
neg r8
nop
pop r8
sar r12w, 2
rcr r12, 4
not r13
pop r12
not r13w
packuswb mm2, mm6
pop rbx
mov r13, 4
pop r13
push r12
psllq mm4, 0x22
push rdx
psrlw mm3, 0x65
push r14
nop
push r15
mulss xmm11, xmm9
push rbx
psubw mm4, mm7
pop rbx
dec r14d
pop r15
dec r14d
pop r14
emms
pop rdx
nop
pop r12
push rdx
pcmpgtw mm5, mm3
dec edx
pandn mm3, mm7
emms
inc rdx
inc edx
shl dx, 0x10
inc rdx
sbb dl, 1
nop
emms
emms
pop rdx
mov ecx, 2
mov edx, 8
call sub.msvcrt.dll_calloc
mov rcx, rax
xor eax, eax
push r14
dec r14
inc r14d
nop
psadbw mm3, mm5
push r9
shr r9d, 0xd
movaps xmm8, xmm1
por mm1, mm6
emms
pop r9
nop
paddsb mm6, mm4
neg r14d
mov r14, 5
pop r14
xor qword [rcx + rax*8], 0x36
push r15
mov r15, 1
push r8
push r11
pop r11
pop r8
dec r15
jne 0x399966411
pop r15
test rax, rax
jne 0x39996642c
mov eax, 1
jmp 0x3999663d6
call sub.msvcrt.dll_free
push rcx
emms
push r13
rcpss xmm4, xmm2
pop r13
punpcklbw mm6, mm2
pop rcx
test esi, esi
jne 0x3999664d5
push r14
nop
psrlq mm2, 3
push r11
nop
psrad mm7, 0x58
push r13
emms
comiss xmm9, xmm10
push r9
inc r14
psrad mm2, 0x18
push rdx
maxss xmm4, xmm13
emms
pop rdx
rcr r11b, 9
emms
pop r9
not r13d
emms
pop r13
movlhps xmm0, xmm3
shr r14, 9
pop r11
emms
neg r14d
pop r14
mov rdx, qword [rbx + 0x50]
mov r8d, 1
mov rcx, r12
call fcn.3999637c3
mov esi, eax
push rcx
paddsw mm2, mm5
push rax
maxps xmm9, xmm14
push r14
psrad mm5, 0x5c
push r11
psrad mm6, 0x4a
push r15
nop
pop r15
movss xmm12, xmm8
pop r11
emms
pop r14
mulps xmm7, xmm15
pop rax
emms
pop rcx
jmp 0x399966685
push rax
sub rax, 7
push r12
inc r12
pop r12
maxps xmm9, xmm0
pop rax
test edi, edi
jne 0x3999665d8
cmp rbx, 0x68
jne 0x399966532
push rbx
psllq mm7, 0x53
push rcx
inc ecx
push r8
emms
push r15
not r15
push rax
nop
push r11
nop
push r12
emms
pop r12
psraw mm0, 0x2a
pop r11
inc ebx
pop rax
nop
pop r15
emms
pop r8
movlhps xmm1, xmm13
pop rcx
sar bx, 8
pop rbx
jmp 0x399966573
push r8
nop
push r9
rcpss xmm9, xmm10
sar r9w, 0x17
push rax
mulss xmm11, xmm15
emms
psrlw mm2, 0x34
push r14
shl r8w, 0x15
not r8w
nop
pcmpeqb mm7, mm2
pop r14
emms
pslld mm3, 0x63
nop
pop rax
movss xmm2, xmm3
xorps xmm15, xmm2
pop r9
nop
pop r8
push rax
inc rax
psrad mm4, 0x3b
pcmpeqd mm1, mm6
not rax
xorps xmm0, xmm15
movlhps xmm10, xmm4
andnps xmm4, xmm15
shr ax, 0x12
psubsb mm6, mm5
movss xmm2, xmm3
nop
nop
pop rax
mov rdx, qword [rbx + 0x50]
mov r8d, 1
mov rcx, r12
call fcn.3999637c3
mov edi, eax
push rdx
comiss xmm13, xmm8
push r12
emms
shl r12, 8
push rbx
nop
rcl r12b, 0xd
punpcklbw mm5, mm3
pop rbx
add r12w, dx
movss xmm7, xmm3
pop r12
emms
pop rdx
jmp 0x399966685
cmp rbx, 0x68
jne 0x39996661c
push rbx
psllq mm7, 0x53
push rcx
inc ecx
push r8
emms
push r15
not r15
push rax
nop
push r11
nop
push r12
emms
pop r12
psraw mm0, 0x2a
pop r11
inc ebx
pop rax
nop
pop r15
emms
pop r8
movlhps xmm1, xmm13
pop rcx
sar bx, 8
pop rbx
jmp 0x39996665d
push r8
nop
push r9
rcpss xmm9, xmm10
sar r9w, 0x17
push rax
mulss xmm11, xmm15
emms
psrlw mm2, 0x34
push r14
shl r8w, 0x15
not r8w
nop
pcmpeqb mm7, mm2
pop r14
emms
pslld mm3, 0x63
nop
pop rax
movss xmm2, xmm3
xorps xmm15, xmm2
pop r9
nop
pop r8
push rax
inc rax
psrad mm4, 0x3b
pcmpeqd mm1, mm6
not rax
xorps xmm0, xmm15
movlhps xmm10, xmm4
andnps xmm4, xmm15
shr ax, 0x12
psubsb mm6, mm5
movss xmm2, xmm3
nop
nop
pop rax
cmp bl, r14b
jne 0x399966694
push r13
subps xmm15, xmm4
pop r13
jmp 0x39996669c
push r8
pslld mm3, 0x23
pop r8
push r10
ror r10, 0xe
pop r10
call sym.FillExecutable.dll_DrawPrivilegeService
mov eax, dword [rbx]
add rbx, rax
push rbx
mov rbx, 3
push r15
pcmpgtw mm5, mm2
push rcx
rcpps xmm8, xmm12
push r11
emms
push rax
psrlq mm3, 0x18
push rbx
paddsw mm1, mm2
pop rbx
pcmpgtw mm6, mm7
pop rax
psrlq mm3, 0x17
pop r11
subss xmm13, xmm4
pop rcx
inc r15
pop r15
dec rbx
jne 0x3999666b6
pop rbx
mov edx, 4
mov ecx, 3
call sub.msvcrt.dll_calloc
mov rcx, rax
push r8
paddw mm0, mm3
nop
mov r8w, 0x17
push rdx
xor edx, r8d
psrlw mm4, 0x13
movss xmm15, xmm11
push r13
rcr r13w, 6
pminsw mm7, mm2
push rax
pmulhuw mm2, mm7
emms
pop rax
psrld mm2, 0x4c
psrld mm2, 0x19
neg r8
pop r13
nop
test r8w, dx
pop rdx
emms
ror r8d, 9
pop r8
mov edx, 0x60
call sub.msvcrt.dll_realloc
mov rcx, rax
cmp ebx, edx
jne 0x399966765
push r8
nop
push r12
dec r12
pcmpeqd mm5, mm1
pop r12
xorps xmm6, xmm12
pop r8
jmp 0x399966777
push r15
nop
push r13
nop
shl r13d, 0x10
pop r13
shr r15b, 0x13
pop r15
push rdx
psrad mm7, 0xa
push rax
psrld mm5, 0x66
punpcklwd mm3, mm5
pop rax
inc rdx
pop rdx
call sub.msvcrt.dll_free
push rcx
pand mm1, mm5
push rax
nop
push r12
nop
push r9
minps xmm15, xmm0
push r15
psrlq mm3, 0x13
push r8
rcpss xmm10, xmm2
pop r8
maxss xmm9, xmm2
pop r15
rcl ax, 0x12
pop r9
neg ecx
pop r12
psrlq mm3, 0x21
pop rax
nop
pop rcx
cmp dword [rbx], 0
jne 0x39996616b
mov dword [rsp + 0x2a], 0x6f6b6f74
mov word [rsp + 0x2e], 0x74
cmp bl, 0x15
jne 0x39996681f
push rcx
mov rcx, 3
push r12
push r15
pop r15
pop r12
dec rcx
jne 0x3999667e9
pop rcx
jmp 0x399966865
push r12
maxss xmm9, xmm1
push r15
neg r15w
push rdx
not r12b
push r9
inc r9
push rbx
not r9w
push r13
pslld mm0, 0x1d
push r11
mov r11b, r15b
pop r11
psrld mm2, 0x5e
pop r13
psrad mm4, 0x6a
pop rbx
shl rdx, 0x17
pop r9
nop
pop rdx
neg r15
pop r15
not r12w
pop r12
push rcx
paddusb mm2, mm6
not rcx
emms
pcmpeqb mm2, mm0
push rax
psrlq mm2, 0x52
emms
psubw mm3, mm2
test rax, rcx
pop rax
emms
movaps xmm14, xmm9
shr rcx, 0x13
nop
pop rcx
lea rbx, [rsp + 0x2a]
mov rcx, rbx
call sub.msvcrt.dll_strlen
cmp rax, 4
jne 0x3999668dc
push r12
orps xmm5, xmm13
mulps xmm8, xmm11
push r8
inc r12d
movss xmm5, xmm10
push r11
nop
emms
push r14
sub r12w, r14w
nop
pop r14
psubusw mm5, mm7
punpcklwd mm5, mm0
pop r11
emms
psraw mm7, 0x3a
pop r8
movhlps xmm0, xmm15
nop
pop r12
jmp 0x399966a48
mov rax, rbx
lea rdx, [rsp + 0x2f]
push rbx
mulss xmm8, xmm2
nop
rcl bx, 0xd
shl rbx, 5
push rax
nop
inc rbx
movhlps xmm5, xmm6
push rcx
inc rax
psllq mm2, 0x52
push r14
emms
pop r14
pxor mm2, mm3
sar cx, 0xc
pop rcx
psrad mm4, 9
ror bl, 0xf
or rbx, rax
pop rax
emms
orps xmm13, xmm2
rcpss xmm9, xmm1
andnps xmm6, xmm9
pop rbx
xor byte [rax], 0x64
cmp bx, 0x38
jne 0x3999669a9
cmp ebx, 0x5c
jne 0x39996694c
push r9
andnps xmm6, xmm10
push rbx
shl r9d, 0xf
nop
pop rbx
nop
pop r9
jmp 0x399966960
push r15
nop
push r8
sub r8b, r15b
sbb r8b, 1
pop r8
psraw mm4, 0x31
pop r15
push rax
nop
push r10
nop
nop
pop r10
sar eax, 0x12
pop rax
jmp 0x3999669e0
push rcx
nop
not cx
pcmpeqd mm4, mm2
push r11
pslld mm3, 0x2b
psrld mm6, 0x3e
ror r11d, 0x16
push rdx
psraw mm0, 0x54
psubsb mm6, mm2
sar cl, 0xb
pop rdx
xorps xmm1, xmm6
inc r11d
ror r11b, 0xc
pop r11
psllq mm1, 0x35
pcmpgtd mm3, mm2
nop
pop rcx
push rax
not eax
emms
punpckldq mm4, mm3
packuswb mm2, mm7
addss xmm0, xmm8
push r12
paddsw mm3, mm6
not ax
shl rax, 1
nop
push rbx
sbb ebx, r12d
nop
nop
push r8
inc r8d
pcmpeqd mm0, mm3
push rdx
cmp bl, al
pop rdx
emms
xor ebx, r8d
pop r8
neg ebx
orps xmm14, xmm2
subps xmm6, xmm14
pop rbx
inc rax
mulss xmm0, xmm6
nop
psrlw mm4, 0x66
pop r12
packuswb mm2, mm4
emms
dec eax
pmaxsw mm2, mm5
punpckldq mm6, mm7
pop rax
inc rax
cmp rax, rdx
jne 0x3999668e4
push r9
emms
rcpss xmm2, xmm15
emms
emms
push r13
psllq mm0, 0x46
emms
nop
punpckldq mm6, mm1
pop r13
rcpss xmm14, xmm5
emms
psrlw mm4, 0x19
shl r9d, 0xc
pop r9
cmp esi, 1
jne 0x399966abd
cmp edi, 1
jne 0x399966abd
push r11
movlhps xmm2, xmm9
emms
rcr r11d, 4
pmulhuw mm0, mm2
rol r11, 9
push rax
rcpps xmm9, xmm10
not ax
pslld mm7, 0x20
neg eax
sar ax, 1
pop rax
emms
psrld mm0, 0x47
emms
not r11b
emms
shl r11b, 0xf
pop r11
call fcn.399978042
jmp 0x399966ad3
push rax
sub rax, 7
push r12
inc r12
pop r12
maxps xmm9, xmm0
pop rax
jmp 0x399966076
mov r8d, 0x8000
xor edx, edx
mov rcx, rbp
call fcn.399967659
push r8
not r8
push r13
cmp r13w, r8w
push r9
nop
pop r9
cmp r13w, r8w
pop r13
andps xmm15, xmm9
pop r8
mov edx, 4
mov ecx, 3
call sub.msvcrt.dll_calloc
mov rcx, rax
cmp bl, r14b
jne 0x399966b2b
push r8
neg r8
push r13
emms
dec r8d
pop r13
movaps xmm2, xmm4
pop r8
jmp 0x399966b3f
push r15
emms
push r14
and r14b, r15b
xchg r14w, r15w
pop r14
movaps xmm2, xmm6
pop r15
push rbx
emms
push rax
psubw mm3, mm4
inc rax
pop rax
rol bx, 1
pop rbx
mov edx, 0x60
call sub.msvcrt.dll_realloc
mov rcx, rax
push r12
paddb mm7, mm6
push r11
or r12w, r11w
push rdx
paddsb mm6, mm5
pop rdx
movaps xmm3, xmm2
pop r11
maxps xmm12, xmm7
pop r12
call sub.msvcrt.dll_free
cmp rbx, r11
jne 0x399966ba5
push r8
neg r8d
push r9
emms
psrlw mm2, 0xe
pop r9
emms
pop r8
jmp 0x399966bba
push r13
psraw mm7, 0x17
push r10
inc r10
emms
pop r10
comiss xmm14, xmm6
pop r13
push rdx
psrlq mm7, 0x5c
push rbx
psrlq mm1, 0x64
movlhps xmm15, xmm12
pop rbx
emms
pop rdx
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret