Function at 0x399961b96
Capabilities:
Encode data using xor

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x50
cmp ebx, r15d
jne 0x399961bc8
push rcx
nop
push r14
adc rcx, r14
neg cl
pop r14
psrld mm7, 0x41
pop rcx
jmp 0x399961bdc
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
push r13
shl r13d, 7
pop r13
call sym.FillExecutable.dll_OutFullRun
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
xor eax, eax
mov qword [rsp + 0x40], 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 0x399961c39
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 0x399961ce8
push r8
nop
push r12
dec r12
pcmpeqd mm5, mm1
pop r12
xorps xmm6, xmm12
pop r8
jmp 0x399961cfa
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
mov qword [rsp + 0x48], 0x40
push r11
rcpss xmm8, xmm2
shl r11, 0xd
emms
nop
paddb mm7, mm1
push r14
and r11b, r14b
emms
nop
pmaxsw mm0, mm1
add r14d, r11d
pop r14
emms
paddb mm4, mm0
subss xmm9, xmm5
inc r11
nop
shl r11d, 0x13
pop r11
call fcn.3999783de
xor edx, edx
mov dword [rsp + 0x30], edx
push r13
shr r13w, 0xc
push r15
psrld mm3, 0xd
push rcx
psubusw mm3, mm2
push r8
emms
push r12
nop
pop r12
comiss xmm5, xmm4
pop r8
test r13, rcx
pop rcx
test r13d, r15d
pop r15
packuswb mm6, mm3
pop r13
mov dword [rsp + 0x28], 4
lea rdx, [rsp + 0x40]
xor r8d, r8d
or rcx, 0xffffffffffffffff
mov dword [rsp + 0x20], 0x3000
lea r9, [rsp + 0x48]
call fcn.3999729e0
push r13
shr r13w, 0xc
push r15
psrld mm3, 0xd
push rcx
psubusw mm3, mm2
push r8
emms
push r12
nop
pop r12
comiss xmm5, xmm4
pop r8
test r13, rcx
pop rcx
test r13d, r15d
pop r15
packuswb mm6, mm3
pop r13
mov rdx, qword [rsp + 0x40]
lea r9, [rsp + 0x30]
mov r8d, 0x40
xor ecx, ecx
call fcn.399970fa2
push rax
nop
push rbx
nop
push r14
nop
pop r14
addps xmm11, xmm15
pop rbx
psrlq mm5, 0x50
pop rax
mov eax, 4
push r8
psrad mm7, 0x3d
psrld mm0, 9
shl r8b, 7
psrlq mm5, 0x55
push rdx
psllq mm3, 0x3e
inc edx
psrld mm5, 0x26
push rbx
nop
mov r8d, edx
push r9
nop
pop r9
inc ebx
psrlq mm1, 0xf
pop rbx
rcr r8, 0xd
nop
ror rdx, 0x12
pop rdx
mulps xmm10, xmm13
nop
inc r8
punpckhbw mm1, mm2
pop r8
push rbx
pcmpgtw mm4, mm3
push r14
emms
psrad mm3, 0x5e
pop r14
neg bx
pop rbx
dec eax
jne 0x399961e3f
push r10
rcl r10w, 0xd
neg r10
inc r10d
andnps xmm14, xmm7
maxss xmm2, xmm0
movups xmm2, xmm7
neg r10w
pop r10
mov rax, qword [rsp + 0x40]
mov edi, dword [rax + 8]
mov eax, dword [rax + 0xc]
mov dword [rsp + 0x3a], 0x4b444e6d
mov byte [rsp + 0x3e], 0
shr edi, 0xa
shr eax, 0xa
imul edi, eax
push r14
pcmpeqw mm6, mm3
movups xmm15, xmm6
dec r14
push r12
nop
psrlq mm3, 0x25
sbb r12, 2
push r15
mov r14w, 0x15
pcmpeqd mm4, mm0
emms
pop r15
nop
nop
nop
pop r12
pmaxub mm4, mm3
nop
xorps xmm13, xmm2
pop r14
mov dword [rsp + 0x36], 0x565a66
push r15
neg r15b
push r13
nop
push rcx
emms
push rdx
nop
push r8
emms
push r9
nop
pop r9
maxps xmm5, xmm0
pop r8
dec r15d
pop rdx
emms
pop rcx
sar r13w, 0x14
pop r13
psrad mm0, 6
pop r15
lea rsi, [rsp + 0x36]
lea rbx, [rsp + 0x3a]
mov rdx, rsi
mov rcx, rbx
call sub.msvcrt.dll__mbscmp
test eax, eax
jne 0x399961f9c
push r12
emms
nop
emms
push rcx
paddb mm4, mm6
dec ecx
maxss xmm4, xmm13
push rax
punpckhwd mm3, mm4
comiss xmm6, xmm1
push r9
psrlw mm2, 0x35
shl r9w, 0xa
pop r9
nop
neg al
nop
pop rax
orps xmm12, xmm8
xor r12d, ecx
pop rcx
minps xmm15, xmm11
psllq mm3, 0x4a
pop r12
jmp 0x399961ffc
push r9
mov r9, 1
cmp ebx, edx
jne 0x399961fd4
push r12
shl r12d, 0xb
push r15
sbb r12w, 2
pmaxub mm7, mm3
pop r15
shr r12, 0x14
pop r12
jmp 0x399961fe2
push rax
pxor mm0, mm6
push r14
inc r14
nop
pop r14
nop
pop rax
push rbx
psrlw mm7, 0x61
push r13
emms
rol ebx, 0xe
pop r13
rcpss xmm4, xmm1
pop rbx
dec r9
jne 0x399961fa5
pop r9
push r12
shl r12d, 7
dec r12
push r15
nop
pcmpgtd mm4, mm3
push r10
not r12b
psraw mm3, 0x69
push rax
mov r10, rax
sbb r12d, 0xb
pop rax
not r10w
rol r12, 0xf
pop r10
psrlw mm7, 0x18
emms
pop r15
shr r12, 0x17
psrlw mm6, 0x1c
pop r12
cmp edi, 0x3ff
ja 0x39996222b
mov dword [rsp + 0x3a], 0x65433951
mov word [rsp + 0x3e], 0x63
cmp ebx, r15d
jne 0x39996205f
push rdx
emms
pop rdx
jmp 0x399962066
push r10
pcmpeqd mm1, mm3
pop r10
push r12
movaps xmm15, xmm12
pop r12
mov word [rsp + 0x36], 0x7874
mov byte [rsp + 0x38], 0
push rdx
psubsb mm4, mm2
emms
rcr edx, 0xd
shl rdx, 0x17
push r11
pxor mm4, mm5
punpckhwd mm3, mm7
minps xmm4, xmm1
push r8
andnps xmm0, xmm5
orps xmm3, xmm10
push r9
sar r8d, 0x16
pop r9
nop
emms
pop r8
psubsb mm2, mm6
psrlq mm7, 0x5c
paddsw mm3, mm6
pop r11
mov rdx, 0xa
not dx
movhlps xmm8, xmm0
not dx
pop rdx
mov rdx, rsi
mov rcx, rbx
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x39996214a
mov rax, rbx
lea rdx, [rsp + 0x3f]
push r10
mov r10, 2
push r9
mov r9, 1
push r12
pop r12
dec r9
jne 0x3999620ef
pop r9
dec r10
jne 0x3999620e6
pop r10
xor byte [rax], 0x85
push r9
neg r9w
shr r9d, 0x17
not r9w
push r14
por mm7, mm3
neg r9w
nop
push rcx
neg r14w
ror ecx, 9
xadd r9b, cl
pop rcx
punpckldq mm5, mm0
nop
emms
pop r14
nop
psrad mm5, 0x50
maxss xmm15, xmm1
pop r9
inc rax
cmp rax, rdx
jne 0x3999620dd
jmp 0x3999621ca
mov rax, rsi
lea rdx, [rsp + 0x38]
push rdx
pminsw mm7, mm5
emms
shl dl, 0x15
pcmpgtw mm6, mm1
push r8
minps xmm15, xmm13
paddusw mm0, mm1
nop
push r10
not edx
nop
push r14
nop
pop r14
movaps xmm10, xmm12
emms
pop r10
add r8w, dx
rcl r8b, 0x15
rol dx, 0x13
pop r8
nop
sub edx, 8
shl dx, 8
nop
pop rdx
xor byte [rax], 0x24
push rdx
emms
pmulhuw mm7, mm1
emms
not dx
emms
push r13
pmulhuw mm4, mm0
shl edx, 9
emms
nop
pcmpeqw mm3, mm0
pop r13
inc rdx
pmulhuw mm4, mm1
not dl
psllq mm3, 0x31
nop
emms
pop rdx
inc rax
cmp rax, rdx
jne 0x399962152
cmp bl, al
jne 0x3999621f9
push r10
inc r10
push rcx
movaps xmm12, xmm4
pcmpeqb mm2, mm1
pop rcx
psraw mm4, 0x2e
pop r10
jmp 0x39996220d
push r12
pslld mm4, 0x5a
push rax
dec r12d
rol eax, 3
pop rax
rcl r12, 0xb
pop r12
push r14
paddsb mm3, mm6
push r13
dec r13
packssdw mm5, mm0
pop r13
mulps xmm1, xmm6
pop r14
mov eax, 1
jmp 0x399962390
mov dword [rsp + 0x3a], 0x4b444e6d
mov byte [rsp + 0x3e], 0
push r14
pcmpeqw mm6, mm3
movups xmm15, xmm6
dec r14
push r12
nop
psrlq mm3, 0x25
sbb r12, 2
push r15
mov r14w, 0x15
pcmpeqd mm4, mm0
emms
pop r15
nop
nop
nop
pop r12
pmaxub mm4, mm3
nop
xorps xmm13, xmm2
pop r14
mov dword [rsp + 0x36], 0x565a66
push r15
neg r15b
push r13
nop
push rcx
emms
push rdx
nop
push r8
emms
push r9
nop
pop r9
maxps xmm5, xmm0
pop r8
dec r15d
pop rdx
emms
pop rcx
sar r13w, 0x14
pop r13
psrad mm0, 6
pop r15
mov rdx, rsi
mov rcx, rbx
call sub.msvcrt.dll__mbscmp
test eax, eax
jne 0x3999622f1
push r12
emms
nop
emms
push rcx
paddb mm4, mm6
dec ecx
maxss xmm4, xmm13
push rax
punpckhwd mm3, mm4
comiss xmm6, xmm1
push r9
psrlw mm2, 0x35
shl r9w, 0xa
pop r9
nop
neg al
nop
pop rax
orps xmm12, xmm8
xor r12d, ecx
pop rcx
minps xmm15, xmm11
psllq mm3, 0x4a
pop r12
jmp 0x399962351
push r9
mov r9, 1
cmp ebx, edx
jne 0x399962329
push r12
shl r12d, 0xb
push r15
sbb r12w, 2
pmaxub mm7, mm3
pop r15
shr r12, 0x14
pop r12
jmp 0x399962337
push rax
pxor mm0, mm6
push r14
inc r14
nop
pop r14
nop
pop rax
push rbx
psrlw mm7, 0x61
push r13
emms
rol ebx, 0xe
pop r13
rcpss xmm4, xmm1
pop rbx
dec r9
jne 0x3999622fa
pop r9
push r12
shl r12d, 7
dec r12
push r15
nop
pcmpgtd mm4, mm3
push r10
not r12b
psraw mm3, 0x69
push rax
mov r10, rax
sbb r12d, 0xb
pop rax
not r10w
rol r12, 0xf
pop r10
psrlw mm7, 0x18
emms
pop r15
shr r12, 0x17
psrlw mm6, 0x1c
pop r12
xor eax, eax
add rsp, 0x50
pop rbx
pop rsi
pop rdi
ret