Function at 0x1dc4f4f40
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov rdi, rcx
mov rbp, rdx
cmp dx, 0x28
jne 0x1dc4f4f7b
push rbx
neg rbx
push rdx
neg dl
psrad mm2, 0x43
pop rdx
ror rbx, 0x13
pop rbx
jmp 0x1dc4f4f8f
push r13
neg r13
push rcx
mov ecx, 0xf
cmp r13d, ecx
pop rcx
pcmpeqb mm0, mm3
pop r13
push r8
inc r8d
push r10
nop
paddusw mm6, mm7
pop r10
neg r8b
pop r8
mov qword [rcx + 8], rdx
test rdx, rdx
je 0x1dc4f5518
movabs rax, 0x6e007d00320036
mov word [rsp + 0x3e], 0
mov qword [rsp + 0x36], rax
push r9
paddusw mm0, mm1
psrld mm7, 0x5f
pslld mm4, 0x1d
nop
sar r9d, 0x13
push r15
emms
pcmpeqb mm1, mm6
rol r15w, 0x12
cmp r15w, r9w
push r8
emms
rcl r15, 7
nop
push rcx
pcmpgtw mm7, mm1
nop
push r11
neg r8d
pop r11
sub r9, rcx
emms
pop rcx
ror r8w, 8
movhlps xmm8, xmm3
neg r15
pop r8
punpckldq mm7, mm3
paddw mm2, mm6
xadd r9b, r15b
dec r9d
pop r15
nop
sub r9, 0xa
inc r9d
neg r9d
rcl r9, 0xe
pop r9
movabs rax, 0x5d00540063
mov qword [rsp + 0x2e], rax
push r14
mov r14, 1
push rbx
pop rbx
dec r14
jne 0x1dc4f5047
pop r14
lea rbx, [rsp + 0x2e]
lea rsi, [rsp + 0x36]
mov rdx, rbx
mov rcx, rsi
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x1dc4f5109
mov rax, rsi
lea rdx, [rsp + 0x3e]
cmp edx, 0x39
jne 0x1dc4f50a0
push r12
emms
push r15
sar r15d, 2
nop
pop r15
nop
pop r12
jmp 0x1dc4f50b6
push r11
psrld mm0, 1
push r13
psrad mm0, 0x48
dec r13d
pop r13
inc r11
pop r11
push rax
nop
push r14
psraw mm6, 0x48
pslld mm5, 0x30
pop r14
emms
pop rax
xor word [rax], 0x13
push r8
rcpss xmm3, xmm7
dec r8
mulss xmm10, xmm0
push r13
emms
nop
push r10
emms
pop r10
psrld mm4, 0x4a
andnps xmm8, xmm10
pop r13
nop
rcl r8d, 0xe
emms
pop r8
add rax, 2
cmp rax, rdx
jne 0x1dc4f5075
jmp 0x1dc4f51ab
mov rax, rbx
lea rdx, [rsp + 0x34]
push r12
addps xmm8, xmm12
emms
nop
emms
push r13
mov r13w, r12w
emms
psrlq mm3, 0x4e
push r9
dec r9
movups xmm15, xmm4
push r8
addss xmm6, xmm3
pop r8
emms
paddsb mm0, mm4
pop r9
sbb r12d, 7
dec r13d
maxps xmm1, xmm7
pop r13
packsswb mm3, mm7
maxps xmm14, xmm11
psrlw mm5, 0x10
emms
pop r12
xor word [rax], 0x16
push r14
maxss xmm11, xmm9
inc r14
psllq mm6, 0x5c
inc r14
comiss xmm5, xmm7
push r15
mulss xmm10, xmm15
psrlw mm6, 0x52
minps xmm0, xmm6
add r15d, r14d
sbb r14d, 0x12
pop r15
nop
pcmpeqd mm0, mm4
shr r14w, 0xe
addss xmm5, xmm0
ucomiss xmm13, xmm9
nop
pop r14
add rax, 2
cmp rax, rdx
jne 0x1dc4f5111
push r10
rcr r10d, 2
not r10d
not r10
pand mm6, mm3
psraw mm7, 0x44
addps xmm6, xmm7
nop
psraw mm2, 0x67
dec r10
pandn mm5, mm4
mov r10b, 2
dec r10
pop r10
mov rcx, rbp
call fcn.1dc4eefe2
lea ebx, [rax + rax]
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
mov rcx, rax
xor eax, eax
cmp dx, r10w
jne 0x1dc4f52bc
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 0x1dc4f531c
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 0x1dc4f5325
pop r11
xor dword [rcx + rax*4], 0x78
cmp dl, 9
jne 0x1dc4f5346
push r13
neg r13d
pop r13
jmp 0x1dc4f534d
push r9
pcmpeqd mm7, mm4
pop r9
push r8
psrad mm5, 0x22
pop r8
inc rax
cmp rax, 4
jne 0x1dc4f5205
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
cmp rdx, 0x4f
jne 0x1dc4f53bc
push r11
psadbw mm3, mm0
pop r11
jmp 0x1dc4f53c3
push r15
movlhps xmm1, xmm6
pop r15
push rax
neg rax
pop rax
mov eax, 0xfffc
cmp ebx, eax
cmova ebx, eax
mov word [rdi], bx
push r12
emms
psrad mm5, 0x3d
minps xmm14, xmm7
push r13
emms
packsswb mm5, mm2
push r15
punpcklwd mm1, mm5
pop r15
andnps xmm10, xmm11
psrlq mm7, 0x35
pop r13
sbb r12b, 0xa
sar r12w, 3
sar r12w, 2
pop r12
call fcn.1dc4f3ce8
mov eax, dword [rdi]
add eax, 2
mov word [rdi + 2], ax
push r12
addps xmm10, xmm13
push r8
nop
push rbx
inc ebx
push r11
nop
push rdx
neg r12b
push r15
adc r11, r8
push rcx
dec r15
pop rcx
sar r12d, 0xd
pop r15
xor r8b, r11b
pop rdx
inc rbx
pop r11
not r12w
pop rbx
emms
pop r8
nop
pop r12
mov edx, 4
mov ecx, 5
call sub.msvcrt.dll_calloc
mov rcx, rax
push r14
nop
push r8
movaps xmm3, xmm7
push rcx
psrld mm6, 0x41
push r13
inc rcx
push r9
sbb r13d, r8d
pop r9
neg r13
pop r13
movaps xmm2, xmm7
pop rcx
emms
pop r8
minps xmm9, xmm12
pop r14
mov edx, 0x8c
call sub.msvcrt.dll_realloc
mov rcx, rax
push r13
mov r13, 1
push r11
push rax
pop rax
pop r11
dec r13
jne 0x1dc4f54a3
pop r13
call sub.msvcrt.dll_free
push rbx
psrlq mm1, 0x10
not bx
addss xmm0, xmm3
psrad mm1, 1
shr bl, 8
push rax
pand mm4, mm6
psrlq mm0, 0x69
pminsw mm2, mm3
emms
push r13
minps xmm12, xmm1
sbb r13, rax
rol eax, 0xb
push rdx
packsswb mm1, mm5
shl bl, 6
push rcx
pxor mm5, mm3
pop rcx
nop
ror r13b, 0xd
pop rdx
emms
sar rax, 0xa
or ax, bx
pop r13
emms
nop
paddsw mm6, mm5
nop
pop rax
neg ebx
inc rbx
psllq mm7, 0x53
dec rbx
pcmpgtd mm6, mm5
pop rbx
jmp 0x1dc4f551c
xor eax, eax
mov dword [rcx], eax
cmp rdx, 0x4f
jne 0x1dc4f552b
push r11
psadbw mm3, mm0
pop r11
jmp 0x1dc4f5532
push r15
movlhps xmm1, xmm6
pop r15
push rax
neg rax
pop rax
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
ret