Function at 0x1dc4e3172
Capabilities:
Encode data using xor

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x30
mov qword [rsp + 0x50], rcx
mov rdi, rdx
mov dword [rsp + 0x28], 0x2e5e2357
mov word [rsp + 0x2c], 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 + 0x24], 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
lea rbx, [rsp + 0x24]
lea rsi, [rsp + 0x28]
mov rdx, rbx
mov rcx, rsi
call sub.msvcrt.dll__mbscmp
test eax, eax
jne 0x1dc4e3265
mov rax, rsi
lea rdx, [rsp + 0x2d]
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 [rax], 0x54
cmp dl, 0x60
jne 0x1dc4e3248
push r12
nop
pop r12
jmp 0x1dc4e324d
push r8
nop
pop r8
push r11
mov r11, 0x17
pop r11
inc rax
cmp rax, rdx
jne 0x1dc4e3211
jmp 0x1dc4e32f5
mov rax, rbx
lea rdx, [rsp + 0x27]
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 0x1dc4e326d
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
mov qword [rsp + 0x28], rdi
push r13
not r13
ror r13w, 9
sar r13d, 1
not r13b
push rdx
neg r13b
emms
neg r13b
xchg r13, rdx
pop rdx
nop
nop
pcmpeqb mm0, mm5
shr r13, 0xf
pop r13
mov edx, 4
mov ecx, 5
call sub.msvcrt.dll_calloc
mov rcx, rax
push r9
psllq mm7, 0x14
psllq mm1, 0x44
push r11
maxss xmm8, xmm3
shl r11b, 0xa
push r12
nop
pcmpgtb mm3, mm1
push r14
addss xmm3, xmm11
pmaddwd mm0, mm2
pop r14
psrlw mm0, 0xe
xchg r11w, r9w
pop r12
inc r11
subss xmm3, xmm13
pop r11
rol r9d, 0x16
punpcklbw mm0, mm6
pop r9
mov edx, 0xb4
call sub.msvcrt.dll_realloc
mov rcx, rax
xor eax, eax
push r9
pand mm5, mm3
push r11
nop
push rax
punpcklwd mm1, mm4
push r14
psrlw mm1, 0x39
pop r14
shr r9, 0x16
pop rax
pminsw mm0, mm6
pop r11
emms
pop r9
xor dword [rcx + rax*4], 0x43
cmp edx, r15d
jne 0x1dc4e33ed
push r10
paddd mm4, mm1
pop r10
jmp 0x1dc4e33f5
push r14
movlhps xmm4, xmm14
pop r14
push rbx
subss xmm15, xmm9
pop rbx
inc rax
cmp rax, 5
jne 0x1dc4e33b3
call sub.msvcrt.dll_free
push rax
mov rax, 2
push rcx
push rdx
pop rdx
pop rcx
dec rax
jne 0x1dc4e3412
pop rax
mov r9d, 0x8000
mov r8, rsi
lea rdx, [rsp + 0x50]
or rcx, 0xffffffffffffffff
call fcn.1dc4e9b9e
mov ebx, eax
push r10
psrad mm5, 0x52
emms
nop
nop
punpcklbw mm5, mm7
neg r10
shl r10w, 0xd
pop r10
mov ecx, 0x10
call sub.msvcrt.dll_malloc
xor edx, edx
mov rcx, rax
cmp dx, r10w
jne 0x1dc4e3512
push rbx
nop
pslld mm1, 0x55
sar bx, 2
emms
paddsw mm1, mm6
push r10
orps xmm10, xmm11
pslld mm7, 0x4c
emms
nop
push r14
psrld mm2, 0x63
pcmpeqw mm1, mm5
mov r10w, bx
push r11
maxps xmm3, xmm15
pmulhuw mm3, mm2
push r15
psraw mm5, 8
pop r15
pmulhuw mm2, mm1
pslld mm6, 0x35
pop r11
rcr r14w, 9
xor bx, r10w
subps xmm0, xmm14
pop r14
sub rbx, 0xd
xor rbx, r10
xor r10d, ebx
xchg r10d, ebx
pop r10
psraw mm6, 0x34
inc ebx
emms
psrlq mm4, 0x23
nop
pop rbx
jmp 0x1dc4e3572
push r10
not r10d
push rdx
mov r10w, 0xc
ror r10, 0xd
push rax
pslld mm7, 0x63
rcl r10w, 0x16
comiss xmm4, xmm12
push r11
psllq mm2, 0x1a
subps xmm5, xmm1
test edx, r10d
sub r11d, r10d
push rcx
cmp cl, r10b
emms
psrlq mm7, 0x2e
punpcklwd mm0, mm1
paddsw mm1, mm7
pop rcx
comiss xmm12, xmm14
emms
nop
punpcklbw mm5, mm2
pop r11
psllq mm7, 0x66
shl rax, 0xd
mulps xmm12, xmm0
pop rax
pmaxub mm6, mm3
nop
pop rdx
pcmpeqb mm5, mm1
pop r10
push r11
mov r11, 3
push r14
pop r14
dec r11
jne 0x1dc4e357b
pop r11
xor dword [rcx + rdx*4], 0x78
cmp dl, 9
jne 0x1dc4e359c
push r13
neg r13d
pop r13
jmp 0x1dc4e35a3
push r9
pcmpeqd mm7, mm4
pop r9
push r8
psrad mm5, 0x22
pop r8
inc rdx
cmp rdx, 4
jne 0x1dc4e345b
call sub.msvcrt.dll_free
push r12
sub r12b, 1
nop
dec r12
nop
push r11
inc r11
mov r11, r12
sub r11, r12
push r15
dec r12
not r11b
push r8
psrlw mm3, 0x59
pop r8
minps xmm3, xmm7
shl r12, 7
pop r15
nop
neg r11d
comiss xmm2, xmm14
pop r11
psrad mm5, 0x61
nop
inc r12d
maxps xmm6, xmm1
pop r12
test ebx, ebx
jne 0x1dc4e3626
push r13
not r13w
push r8
psrlq mm2, 0x28
nop
pop r8
sbb r13, 8
pop r13
mov eax, 1
jmp 0x1dc4e36b3
cmp dl, 0x2e
jne 0x1dc4e3659
push r9
pandn mm0, mm2
push r12
nop
push rbx
dec r9d
pop rbx
add r12w, r9w
pop r12
paddd mm6, mm5
pop r9
jmp 0x1dc4e367f
push r13
nop
push r11
nop
push rdx
neg r11w
push r12
nop
push rax
xor r13b, al
pop rax
emms
pop r12
psrlw mm2, 0xb
pop rdx
psrlw mm0, 0x5c
pop r11
emms
pop r13
push r15
movups xmm1, xmm9
sub r15, 3
movhlps xmm10, xmm5
paddusb mm4, mm3
inc r15d
pslld mm3, 0x53
rol r15d, 2
mov r15d, 9
psrad mm0, 0x2a
sar r15d, 5
pslld mm7, 0x3f
emms
pop r15
xor eax, eax
add rsp, 0x30
pop rbx
pop rsi
pop rdi
ret