Function at 0x1d8c3da5c
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rbx
sub rsp, 0x58
mov qword [rsp + 0x70], rcx
mov rsi, rdx
mov word [rsp + 0x38], 0x7d4b
mov byte [rsp + 0x3a], 0
cmp r15, 0x34
jne 0x1d8c3da8d
push r13
ror r13, 1
pop r13
jmp 0x1d8c3da95
push r11
pslld mm1, 0x31
pop r11
push r10
sbb r10w, 6
pop r10
mov word [rsp + 0x44], 0x566d
mov byte [rsp + 0x46], 0
push rax
nop
push r15
xadd ax, r15w
push r9
minps xmm10, xmm5
push r14
nop
push rbx
sbb r14d, 0x14
pop rbx
pmaxsw mm5, mm2
pop r14
emms
pop r9
not r15w
pop r15
addss xmm10, xmm5
pop rax
lea r8, [rsp + 0x38]
lea rbx, [rsp + 0x44]
mov rcx, r8
mov rdx, rbx
mov qword [rsp + 0x28], r8
call sub.msvcrt.dll__mbscmp
mov r8, qword [rsp + 0x28]
test eax, eax
jne 0x1d8c3db45
mov rax, r8
lea rdx, [rsp + 0x3a]
push r10
mulss xmm14, xmm8
push rdx
sub r10, rdx
mov rdx, r10
push r15
psrlq mm0, 0x50
pcmpgtb mm7, mm3
emms
pop r15
nop
emms
pop rdx
punpcklwd mm0, mm1
pop r10
xor byte [rax], 8
push r11
mov r11, 1
push rcx
pop rcx
dec r11
jne 0x1d8c3db32
pop r11
inc rax
cmp rax, rdx
jne 0x1d8c3db02
jmp 0x1d8c3dbae
mov rax, rbx
lea rdx, [rsp + 0x46]
push rax
nop
not al
shr ax, 4
nop
movups xmm9, xmm14
ror ax, 7
psrad mm1, 0x38
pop rax
xor byte [rax], 0x77
push r10
addss xmm12, xmm9
pcmpgtd mm5, mm1
punpckldq mm0, mm1
push rbx
not r10w
emms
emms
push rcx
ucomiss xmm7, xmm8
psrlw mm5, 0x52
push r13
emms
movups xmm4, xmm7
pop r13
shl bl, 8
mulss xmm7, xmm5
addss xmm12, xmm15
pop rcx
xchg r10b, bl
nop
pop rbx
pand mm5, mm7
nop
pop r10
inc rax
cmp rax, rdx
jne 0x1d8c3db4d
push r14
movss xmm13, xmm9
push r8
nop
emms
push r9
mov r14d, 0x16
paddsw mm0, mm3
emms
push r12
emms
emms
movss xmm11, xmm7
mov r14, r8
push r13
pmulhuw mm5, mm0
sub r9w, r14w
orps xmm10, xmm5
subss xmm15, xmm9
paddusb mm0, mm3
pop r13
subps xmm9, xmm4
nop
emms
dec r12
pop r12
emms
dec r8
sbb r8d, 5
pop r9
sub r8, r14
rcl r8w, 7
pop r8
emms
pop r14
mov qword [rsp + 0x38], rsi
push rdx
nop
push r15
psubsb mm6, mm3
push r10
nop
push rbx
emms
pop rbx
sar r15w, 0xe
pop r10
nop
pop r15
nop
pop rdx
mov r9d, 0x8000
lea rdx, [rsp + 0x70]
or rcx, 0xffffffffffffffff
call fcn.1d8c4b380
push rax
nop
movhlps xmm9, xmm12
movlhps xmm14, xmm0
psrad mm7, 0x5c
push r8
psrad mm5, 0x66
nop
pand mm7, mm5
subss xmm2, xmm6
pop r8
emms
emms
ror ax, 0x16
dec eax
pop rax
test eax, eax
jne 0x1d8c3dcb2
push r11
mov r11, 1
push r12
inc r12
push rdx
nop
nop
push r14
maxss xmm0, xmm5
pminsw mm2, mm7
emms
pop r14
xadd r12b, dl
emms
pop rdx
sar r12b, 0x17
pop r12
dec r11
jne 0x1d8c3dc7a
pop r11
call fcn.1d8c528c3
mov eax, 1
jmp 0x1d8c3ddfb
movabs rax, 0x7c00360076002a
mov dword [rsp + 0x4c], 0x60
mov qword [rsp + 0x44], rax
push rcx
paddd mm3, mm5
push r15
psrlq mm3, 0x49
push r12
sub r15, rcx
push r10
nop
push r9
xorps xmm0, xmm11
pop r9
mov r12, 8
pop r10
pcmpeqw mm1, mm3
pop r12
psrad mm1, 0x56
pop r15
not rcx
pop rcx
mov rcx, rbx
call sub.msvcrt.dll_wcslen
cmp rax, 2
jne 0x1d8c3dd28
push rbx
nop
push r10
subps xmm0, xmm14
push r15
emms
push rax
emms
pop rax
dec r10d
pop r15
neg r10b
pop r10
mov bl, 0xf
pop rbx
jmp 0x1d8c3dd8f
mov rax, rbx
lea rdx, [rsp + 0x4e]
push r8
psrld mm6, 0x46
push r12
and r8w, r12w
pop r12
nop
pop r8
xor word [rax], 0x77
cmp r15w, bx
jne 0x1d8c3dd62
push r9
psubsb mm0, mm6
push r14
pminsw mm3, mm1
rcl r9w, 0xd
pop r14
emms
pop r9
jmp 0x1d8c3dd75
push rbx
nop
push r15
rcl r15w, 0xf
inc r15d
pop r15
movhlps xmm9, xmm2
pop rbx
push r12
nop
push r11
emms
pmullw mm1, mm5
pop r11
dec r12
pop r12
add rax, 2
cmp rax, rdx
jne 0x1d8c3dd30
push r10
psrlq mm7, 0xb
push r11
sbb r11d, 0x16
subps xmm10, xmm8
push r15
inc r10
shl r11, 0x15
packssdw mm6, mm4
push rax
psrlw mm4, 0x50
psraw mm0, 0x53
psraw mm3, 0x3a
xadd r10w, r15w
push r14
psrld mm7, 0x69
test r10b, r15b
shl r10b, 8
comiss xmm13, xmm12
sbb r11, r14
pop r14
shr r10b, 0xb
not r15b
inc r11d
por mm3, mm1
pop rax
pmaddwd mm5, mm6
neg r10d
xchg r15b, r10b
pop r15
orps xmm14, xmm10
psrlw mm3, 0x1f
pop r11
nop
pop r10
xor eax, eax
add rsp, 0x58
pop rbx
pop rsi
ret