Function at 0x1dc4fbc21
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
movabs rax, 0x5b0045007c003d
mov qword [rsp + 0x28], rax
mov rbp, rcx
movsxd rdi, edx
mov dword [rsp + 0x30], 0x77
push r12
pcmpgtb mm2, mm3
push r11
emms
push rax
addps xmm2, xmm9
push r15
punpckhbw mm3, mm0
push r8
nop
push r9
emms
push rdx
psubusw mm0, mm3
pop rdx
sbb r8, 0xa
pop r9
ror r15, 0xf
pop r8
not r15
pop r15
xorps xmm1, xmm13
pop rax
sbb r11w, 2
pop r11
not r12
pop r12
movabs rax, 0x4300210058007b
mov dword [rsp + 0x3c], 0x26
mov qword [rsp + 0x34], rax
push r10
psraw mm0, 0x3f
push rdx
sbb r10b, 0xc
psrld mm5, 5
push r13
mov dl, 0x12
addps xmm12, xmm2
comiss xmm13, xmm4
push r9
rcr r10d, 0xf
rcr r10b, 0xb
nop
emms
pop r9
xchg r10, rdx
psraw mm1, 7
psrlq mm0, 0x39
pop r13
psrad mm0, 0x58
not dx
pop rdx
addps xmm10, xmm1
pop r10
lea rbx, [rsp + 0x34]
lea rsi, [rsp + 0x28]
mov rdx, rbx
mov rcx, rsi
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x1dc4fbd2e
push r13
subss xmm9, xmm8
psrlw mm1, 0x2d
addps xmm1, xmm15
nop
push r10
psrld mm6, 0x20
nop
inc r13d
comiss xmm5, xmm13
pop r10
subps xmm5, xmm14
nop
pcmpgtd mm2, mm4
pmullw mm6, mm7
pop r13
jmp 0x1dc4fbdcb
mov rax, rbx
lea rdx, [rsp + 0x3e]
push rdx
nop
nop
nop
pmaddwd mm0, mm7
maxps xmm6, xmm5
push r15
nop
ror dl, 7
ror edx, 0x15
emms
mulss xmm14, xmm1
pop r15
psllq mm0, 0x69
minps xmm1, xmm3
xorps xmm4, xmm8
sbb rdx, 0xa
pcmpgtb mm1, mm4
psrld mm4, 0x45
pop rdx
xor word [rax], 0x60
cmp dl, r10b
jne 0x1dc4fbd99
push r10
psraw mm1, 2
push rdx
pcmpeqd mm3, mm5
shr r10w, 0x10
pop rdx
rcpps xmm2, xmm5
pop r10
jmp 0x1dc4fbdad
push r9
emms
push r12
sbb r9, r12
dec r9
pop r12
psrlq mm2, 0x2d
pop r9
push rcx
comiss xmm10, xmm2
push rax
dec ecx
punpckldq mm0, mm6
pop rax
rol rcx, 5
pop rcx
add rax, 2
cmp rax, rdx
jne 0x1dc4fbd36
push r8
emms
pcmpgtb mm5, mm7
nop
psubw mm6, mm7
movaps xmm9, xmm4
push r10
pcmpgtb mm5, mm3
psrld mm1, 0x1c
psrld mm1, 8
nop
push r11
ror r10d, 0x13
emms
psrad mm2, 0x4e
push rcx
psrlq mm6, 0x37
dec ecx
push r14
and r10b, r14b
pop r14
rcr r10d, 0x12
emms
pop rcx
not r8w
ror r11d, 8
test r11b, r10b
pop r11
nop
emms
movaps xmm7, xmm4
maxss xmm12, xmm0
pop r10
packuswb mm2, mm3
emms
emms
nop
nop
pop r8
test edi, edi
jle 0x1dc4fbf4e
mov dword [rsp + 0x28], 0x372b302d
mov byte [rsp + 0x2c], 0
push r10
rcr r10b, 0x10
nop
emms
inc r10
push r15
psrlw mm4, 0x54
xor r15d, r10d
inc r15d
add r10d, r15d
pop r15
maxps xmm3, xmm1
mulps xmm15, xmm2
packsswb mm0, mm5
andps xmm9, xmm6
pop r10
mov dword [rsp + 0x34], 0x2f305655
mov byte [rsp + 0x38], 0
push rbx
psrld mm1, 0x43
pop rbx
mov rdx, rbx
mov rcx, rsi
call sub.msvcrt.dll__mbscmp
test eax, eax
jne 0x1dc4fbed3
push rax
rcpps xmm10, xmm7
emms
push r9
not r9b
nop
push rcx
movups xmm12, xmm9
psrld mm0, 0x43
push rbx
pandn mm2, mm7
pcmpeqd mm0, mm7
push r13
nop
movlhps xmm5, xmm12
pop r13
pmaxsw mm4, mm3
sar bx, 0x15
pop rbx
dec eax
emms
pop rcx
sbb r9b, al
xchg r9d, eax
pop r9
nop
neg ax
pop rax
jmp 0x1dc4fbef7
push r14
nop
push r8
pmaddwd mm5, mm7
push r15
rcl r15b, 0x13
push r11
sub r14b, r15b
pop r11
punpckhbw mm6, mm3
pop r15
xor r14d, r8d
pop r8
paddb mm6, mm4
pop r14
push r14
mov r14, 1
push r10
not r10w
pop r10
dec r14
jne 0x1dc4fbf00
pop r14
cmp word [rbp + rdi*2], 0x5c
lea rax, [rdi - 1]
jne 0x1dc4fbf3e
push rbx
psllq mm6, 0x3b
push r13
emms
push r11
not r11b
pop r11
and r13, rbx
pop r13
sbb bl, 0x14
pop rbx
lea rax, [rbp + rdi*2 + 2]
jmp 0x1dc4fc0e3
push r10
shl r10b, 8
pop r10
mov rdi, rax
jmp 0x1dc4fbe2e
mov dword [rsp + 0x34], 0x2e5e2357
mov word [rsp + 0x38], 0x52
push r15
movlhps xmm0, xmm6
push rbx
and r15d, ebx
push r9
inc rbx
push rcx
emms
pop rcx
shr r9b, 0x15
pop r9
xchg ebx, r15d
pop rbx
psrlq mm7, 0x30
pop r15
mov dword [rsp + 0x28], 0x756666
push r11
dec r11d
push r8
emms
push r13
psrad mm7, 8
push r9
psadbw mm5, mm2
push rcx
comiss xmm13, xmm10
push r12
ucomiss xmm9, xmm3
pop r12
sbb r8, r11
pop rcx
nop
pop r9
emms
pop r13
emms
pop r8
mulps xmm8, xmm3
pop r11
mov rdx, rsi
mov rcx, rbx
call sub.msvcrt.dll__mbscmp
test eax, eax
jne 0x1dc4fc025
lea rax, [rsp + 0x39]
push r15
pcmpeqb mm7, mm3
push r9
dec r9
nop
push rdx
comiss xmm5, xmm15
emms
pmullw mm2, mm4
pop rdx
nop
emms
pop r9
movups xmm9, xmm1
pop r15
xor byte [rbx], 0x54
cmp dl, 0x60
jne 0x1dc4fc008
push r12
nop
pop r12
jmp 0x1dc4fc00d
push r8
nop
pop r8
push r11
mov r11, 0x17
pop r11
inc rbx
cmp rbx, rax
jne 0x1dc4fbfd1
jmp 0x1dc4fc0b5
mov rax, rsi
lea rdx, [rsp + 0x2b]
push r15
not r15d
push r12
emms
emms
pop r12
nop
pop r15
xor byte [rax], 0x30
push r14
pcmpgtb mm3, mm2
psrlq mm3, 0x4f
dec r14
dec r14
pcmpeqb mm4, mm6
push rcx
psrld mm4, 0x1f
sub cl, r14b
emms
maxps xmm3, xmm8
push r13
rcpps xmm9, xmm12
and r13w, r14w
pslld mm4, 2
push r10
psraw mm1, 2
dec r14d
push rbx
emms
pop rbx
nop
and r13, r10
pop r10
psrlw mm3, 0x3c
ror r14, 0x15
add r13d, r14d
pop r13
movss xmm12, xmm8
rcl r14, 7
nop
emms
pop rcx
inc r14
nop
sbb r14, 4
nop
por mm1, mm5
pop r14
inc rax
cmp rax, rdx
jne 0x1dc4fc02d
push r12
psllq mm7, 0x52
pmullw mm5, mm0
andnps xmm2, xmm15
punpckhwd mm3, mm5
subss xmm6, xmm10
emms
nop
emms
subss xmm0, xmm1
maxss xmm11, xmm10
psllq mm5, 0x66
paddsw mm7, mm3
pop r12
xor eax, eax
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
ret