Function at 0x25df826a0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x58
mov dword [rsp + 0xa0], ecx
mov dword [rsp + 0xa8], edx
cmp r13, r14
jne 0x25df826d4
push r11
shr r11w, 8
pop r11
jmp 0x25df826da
push r10
emms
pop r10
push rdx
shr edx, 3
pop rdx
push r13
shr r13d, 0xe
psubw mm2, mm5
not r13w
pcmpgtw mm7, mm1
push r8
neg r13
emms
andps xmm3, xmm4
push rbx
subps xmm10, xmm11
emms
push r12
shr r12w, 0x13
pop r12
packuswb mm5, mm6
psllq mm6, 0x2c
pop rbx
subps xmm6, xmm9
adc r13d, r8d
nop
pop r8
sub r13b, 0x15
emms
nop
nop
pop r13
push r9
mov r9, 3
cmp r13w, 0x65
jne 0x25df82746
push rbx
paddd mm4, mm3
push r12
shr r12, 7
nop
pop r12
nop
pop rbx
jmp 0x25df8275c
push r15
sub r15b, 0xd
push r13
pslld mm7, 0xd
emms
pop r13
sbb r15b, 1
pop r15
push r8
rol r8, 6
push r10
emms
por mm6, mm0
pop r10
dec r8d
pop r8
dec r9
jne 0x25df8272e
pop r9
call fcn.25df9b32f
push rbx
paddw mm0, mm5
nop
nop
push r14
nop
packssdw mm5, mm3
push r13
dec rbx
pop r13
rcr bl, 0x12
inc r14
pop r14
emms
neg bx
psraw mm5, 0x40
pop rbx
mov rax, qword gs:[0x60]
push rdx
emms
push r12
emms
push r8
shl r12, 0xe
push r15
rcr r15d, 8
pop r15
sbb rdx, r8
pop r8
movups xmm5, xmm14
pop r12
nop
pop rdx
mov rbx, qword [rax + 0x18]
push r15
nop
rol r15, 4
psrad mm1, 0x3a
push rdx
nop
psrlw mm3, 0x20
push r12
emms
pop r12
sub edx, 3
dec r15d
pop rdx
orps xmm0, xmm4
shl r15b, 1
nop
pop r15
call fcn.25df9b118
push r15
nop
rol r15, 4
psrad mm1, 0x3a
push rdx
nop
psrlw mm3, 0x20
push r12
emms
pop r12
sub edx, 3
dec r15d
pop rdx
orps xmm0, xmm4
shl r15b, 1
nop
pop r15
call fcn.25df9b118
push rdx
emms
push r12
emms
push r8
shl r12, 0xe
push r15
rcr r15d, 8
pop r15
sbb rdx, r8
pop r8
movups xmm5, xmm14
pop r12
nop
pop rdx
cmp r13, rax
jne 0x25df8285c
push rcx
not ecx
pop rcx
jmp 0x25df82862
push r15
emms
pop r15
push rbx
nop
pop rbx
cmp r13d, r11d
jne 0x25df828a2
push r13
emms
push r15
movaps xmm7, xmm1
push r10
emms
push r12
pmaddwd mm3, mm4
pop r12
mov r13d, r15d
pop r10
emms
pop r15
mov r13w, 0x10
pop r13
jmp 0x25df82902
push r14
pslld mm6, 0x49
dec r14d
sar r14d, 4
movups xmm8, xmm6
psubsb mm7, mm3
push r10
andnps xmm1, xmm14
xor r10d, r14d
nop
nop
push rbx
emms
subps xmm5, xmm1
pcmpeqd mm3, mm7
push rcx
emms
emms
push r9
or r14d, ebx
pop r9
and rbx, r14
nop
pop rcx
nop
movups xmm11, xmm7
pcmpgtb mm2, mm5
pop rbx
emms
punpckhwd mm2, mm0
emms
shr r14w, 9
pop r10
psubsb mm3, mm0
not r14
punpckhwd mm2, mm3
nop
rcl r14, 0xd
pop r14
push r14
mov r14w, 0xb
push r12
not r14
push r13
add r13b, r12b
push rdx
shl r12w, 0x12
push rbx
psrld mm1, 0x4e
push r10
ror r13b, 3
push rcx
psllq mm0, 6
pop rcx
emms
pop r10
emms
pop rbx
pand mm0, mm2
pop rdx
inc r14d
pop r13
psrld mm4, 0x26
pop r12
pcmpgtw mm1, mm2
pop r14
push r14
psrlq mm2, 0x13
push rbx
pcmpgtw mm7, mm5
push rcx
inc r14
push rax
pand mm3, mm2
pop rax
paddd mm0, mm6
pop rcx
pslld mm1, 0x2b
pop rbx
nop
pop r14
movabs r13, 0x4200780044004f
mov r12, qword [rbx + 0x18]
xor ebp, ebp
xor ebx, ebx
movabs r14, 0x3f005e00490072
movabs r15, 0x260066005b
mov rax, qword [r12 + 0x30]
test rax, rax
je 0x25df8311f
push r13
shr r13d, 0xe
psubw mm2, mm5
not r13w
pcmpgtw mm7, mm1
push r8
neg r13
emms
andps xmm3, xmm4
push rbx
subps xmm10, xmm11
emms
push r12
shr r12w, 0x13
pop r12
packuswb mm5, mm6
psllq mm6, 0x2c
pop rbx
subps xmm6, xmm9
adc r13d, r8d
nop
pop r8
sub r13b, 0x15
emms
nop
nop
pop r13
mov rbx, qword [r12 + 0x30]
mov qword [rsp + 0x38], r13
mov dword [rsp + 0x40], 0x42
push r13
nop
push rdx
nop
push rcx
nop
push r9
or dl, r13b
push r8
emms
push r11
comiss xmm2, xmm9
pop r11
pcmpeqb mm6, mm3
pop r8
psrad mm5, 0x3b
pop r9
adc rdx, rcx
pop rcx
cmp edx, r13d
pop rdx
rol r13b, 0xf
pop r13
mov qword [rsp + 0x44], r14
mov dword [rsp + 0x4c], 0x27
push r8
psllq mm1, 0x66
pop r8
lea rdi, [rsp + 0x44]
lea rsi, [rsp + 0x38]
mov rdx, rdi
mov rcx, rsi
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x25df82a65
push r13
mov r13, 1
push r8
pop r8
dec r13
jne 0x25df82a58
pop r13
jmp 0x25df82a90
push r14
psllq mm1, 0x5f
push r8
emms
not r14d
push r13
neg r14w
andnps xmm3, xmm8
psrld mm3, 0x60
pop r13
psubsb mm0, mm7
rcl r14d, 0x15
pop r8
dec r14
pop r14
push r12
emms
psrlw mm2, 0x2d
inc r12d
nop
addss xmm12, xmm7
push r14
shl r12, 0xe
psubsb mm3, mm1
emms
test r14b, r12b
pslld mm1, 5
pop r14
not r12
nop
ucomiss xmm4, xmm1
rcl r12d, 0xa
shl r12w, 0xb
pandn mm2, mm6
pop r12
push r15
comiss xmm13, xmm5
push rax
emms
push r14
paddsw mm2, mm5
push r8
inc r14d
push r11
packuswb mm1, mm0
push r10
pmaddwd mm4, mm1
push rdx
psrld mm5, 0x41
pop rdx
neg r10b
pop r10
psrad mm4, 0x4a
pop r11
not r8
pop r8
psrlq mm7, 0x69
pop r14
emms
pop rax
nop
pop r15
movsxd rax, dword [rbx + 0x3c]
add rax, rbx
push r14
neg r14b
paddb mm0, mm2
punpckldq mm3, mm0
emms
not r14w
push r15
emms
psubusw mm4, mm2
emms
pslld mm1, 0x5f
push rdx
movups xmm7, xmm6
andnps xmm7, xmm2
ror edx, 0xa
push rax
psrlw mm3, 0xb
nop
push r11
add r14d, edx
pop r11
sar r15w, 0x17
pcmpgtb mm3, mm1
pop rax
nop
rcr r14b, 2
emms
pop rdx
maxps xmm13, xmm1
rcl r15w, 5
rol r15, 0x13
and r15d, r14d
pop r15
not r14w
nop
nop
psraw mm7, 0x34
rol r14b, 0x16
pop r14
push r15
psadbw mm7, mm5
emms
psrlq mm5, 0x22
psrlq mm3, 8
pmullw mm4, mm3
push rax
packsswb mm6, mm1
rol r15w, 1
pslld mm0, 0x3c
dec rax
psrad mm4, 0x69
pop rax
emms
ucomiss xmm6, xmm0
punpcklbw mm7, mm2
pcmpgtb mm7, mm1
shr r15, 0x16
emms
pop r15
mov eax, dword [rax + 0x88]
push r9
andps xmm11, xmm0
push rax
neg r9
sbb r9d, eax
push r8
psllq mm5, 0x45
not r8
emms
pop r8
nop
psrad mm1, 0x60
pop rax
packssdw mm6, mm2
pop r9
test eax, eax
jne 0x25df82c10
push rax
shr al, 0xf
pmaddwd mm5, mm1
psrad mm4, 0x18
subps xmm1, xmm8
push rbx
dec rbx
psraw mm7, 0x3a
punpckhbw mm7, mm6
pand mm3, mm1
pop rbx
psubsb mm7, mm0
emms
dec rax
maxps xmm10, xmm2
pop rax
jmp 0x25df83115
push rdx
emms
push r12
emms
push r8
shl r12, 0xe
push r15
rcr r15d, 8
pop r15
sbb rdx, r8
pop r8
movups xmm5, xmm14
pop r12
nop
pop rdx
mov qword [rsp + 0x38], r15
lea rbp, [rax + rbx]
push r13
rol r13b, 0xf
not r13w
pmulhuw mm0, mm7
nop
pcmpgtb mm7, mm3
push r10
subss xmm12, xmm6
xadd r10b, r13b
nop
emms
push r12
punpckldq mm1, mm2
nop
not r13w
push r11
dec r11
inc r13
push r15
emms
pop r15
nop
dec r13d
pop r11
cmp r12b, r13b
psrld mm6, 0xc
not r12b
pop r12
pandn mm6, mm1
psrad mm3, 0x28
rol r10d, 9
shr r13, 0x13
pop r10
psrlw mm6, 0x1d
emms
nop
nop
andps xmm14, xmm10
pop r13
movabs rax, 0x2b00660032004e
mov word [rsp + 0x4c], 0
mov qword [rsp + 0x44], rax
cmp r13d, 0x42
jne 0x25df82cd3
push r8
dec r8d
push r12
nop
emms
pop r12
movhlps xmm8, xmm12
pop r8
jmp 0x25df82ce1
push r14
nop
push rcx
psubw mm7, mm3
nop
pop rcx
pmaxsw mm0, mm7
pop r14
push r11
psrlw mm3, 0x5c
push r15
rcpss xmm5, xmm8
nop
pop r15
packuswb mm6, mm7
pop r11
mov rdx, rdi
mov rcx, rsi
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x25df82d68
mov rax, rsi
lea rdx, [rsp + 0x3e]
push r12
mov r12, 3
push rdx
push r14
pop r14
pop rdx
dec r12
jne 0x25df82d16
pop r12
xor word [rax], 0x49
push r8
psrlq mm1, 0x13
push r9
punpckhbw mm7, mm0
push r13
nop
push rcx
psrlw mm3, 3
push rdx
sbb r9d, 6
push r15
nop
pop r15
psllq mm5, 0xf
pop rdx
sbb r13b, r8b
pop rcx
psrlw mm6, 0x40
pop r13
punpckldq mm7, mm5
pop r9
pcmpeqw mm4, mm1
pop r8
add rax, 2
cmp rax, rdx
jne 0x25df82d0d
jmp 0x25df82dbc
mov rax, rdi
lea rdx, [rsp + 0x4c]
push r15
emms
pop r15
xor word [rax], 3
push rbx
packssdw mm6, mm5
psrlw mm2, 0x41
ror bl, 0x16
push rdx
nop
pslld mm5, 0x3b
dec rbx
push r9
or rbx, rdx
psrlq mm7, 8
psllq mm2, 0x3a
pop r9
test dx, bx
psrlq mm1, 6
psllq mm6, 0x3c
pop rdx
emms
rcr bl, 0x17
psrlw mm2, 0x2b
pop rbx
add rax, 2
cmp rax, rdx
jne 0x25df82d70
push rdx
nop
push rcx
dec rcx
push rbx
psrlw mm1, 0x60
push r14
addss xmm11, xmm0
push rax
packuswb mm3, mm6
push r8
nop
pop r8
psrlq mm5, 0x23
pop rax
emms
pop r14
psraw mm4, 0x3e
pop rbx
psrlw mm1, 0x53
pop rcx
pslld mm2, 0x34
pop rdx
mov eax, dword [rbp + 0xc]
mov dword [rsp + 0x44], 0x72265877
mov word [rsp + 0x48], 0x78
add rax, rbx
mov qword [rsp + 0x28], rax
cmp r13d, r14d
jne 0x25df82e19
push rcx
nop
pop rcx
jmp 0x25df82e20
push r15
psubsb mm2, mm3
pop r15
push r11
psrlw mm0, 0x23
pop r11
mov dword [rsp + 0x38], 0x75242d29
mov byte [rsp + 0x3c], 0
push r8
mov r8, 0x13
push r12
psllq mm0, 0x56
push rbx
addps xmm11, xmm0
push r9
pxor mm6, mm2
push rdx
psraw mm4, 0x2e
push rcx
nop
pop rcx
pcmpeqb mm3, mm4
pop rdx
inc ebx
pop r9
movhlps xmm5, xmm15
pop rbx
psrld mm0, 0x5d
pop r12
nop
pop r8
mov rdx, rsi
mov rcx, rdi
call sub.msvcrt.dll__mbscmp
test eax, eax
jne 0x25df82f25
lea rax, [rsp + 0x49]
push rdx
psllq mm6, 0x65
movlhps xmm4, xmm7
sub edx, 0xf
paddusw mm4, mm6
addps xmm10, xmm12
push rbx
psrlw mm5, 0x5d
mov ebx, edx
shl dl, 0x16
emms
push r11
sbb r11b, bl
pcmpgtw mm1, mm4
cmp r11d, ebx
push r13
pslld mm2, 0x5c
nop
push r9
punpcklwd mm5, mm4
pop r9
dec r13d
psllq mm3, 0x45
pop r13
nop
punpckhbw mm2, mm1
emms
pop r11
not bx
xchg bl, dl
not bx
adc rbx, rdx
pop rbx
paddsw mm0, mm2
nop
psllq mm3, 0x46
nop
rcpss xmm5, xmm6
pop rdx
xor byte [rdi], 0x86
push r12
emms
push r11
andnps xmm8, xmm1
push r13
emms
push r10
nop
push r14
pslld mm6, 5
pop r14
psllq mm3, 9
pop r10
rcl r13b, 6
pop r13
emms
pop r11
punpckldq mm1, mm3
pop r12
inc rdi
cmp rdi, rax
jne 0x25df82e84
jmp 0x25df82f9e
lea rax, [rsp + 0x3c]
push r10
inc r10
push r9
emms
push r8
cmp r8d, r9d
push rbx
xadd rbx, r8
push rdx
subps xmm7, xmm11
pop rdx
cmp r9b, bl
pop rbx
movaps xmm15, xmm4
pop r8
paddsb mm0, mm6
pop r9
nop
pop r10
xor byte [rsi], 0x12
push r11
neg r11b
nop
neg r11
push r12
pxor mm0, mm3
psraw mm7, 0x23
neg r12w
push r14
inc r11
xorps xmm0, xmm10
xor r11, r14
pop r14
shl r12b, 3
psrlw mm7, 0x39
pslld mm0, 0x2f
pop r12
addss xmm11, xmm5
movups xmm0, xmm14
nop
pop r11
inc rsi
cmp rsi, rax
jne 0x25df82f2a
push r9
paddsb mm1, mm7
push r8
nop
test r8, r9
push r10
emms
psrlw mm4, 0x6b
shl r8w, 0x10
pop r10
psrlq mm7, 0x60
packuswb mm1, mm4
pop r8
maxss xmm12, xmm11
pop r9
mov rcx, qword [rsp + 0x28]
call fcn.25df89e95
cmp eax, dword [rsp + 0xa8]
jne 0x25df83115
push rbx
mulps xmm9, xmm11
push r11
cmp bl, r11b
inc r11d
pop r11
psraw mm1, 0x56
pop rbx
push r11
psllq mm5, 0x16
push rcx
emms
sar r11, 4
push r12
nop
mulss xmm13, xmm5
cmp r11d, r12d
pop r12
emms
rcpps xmm3, xmm1
pop rcx
punpckhbw mm2, mm4
pop r11
push r10
shl r10d, 0xc
push rcx
rcl ecx, 3
push rbx
psrld mm6, 0x3f
push r12
cmp bx, cx
pop r12
neg ebx
pop rbx
paddusw mm3, mm1
pop rcx
ror r10b, 1
pop r10
cmp r13d, r12d
jne 0x25df830d1
cmp r13b, 0x40
jne 0x25df8306e
push r13
psrlq mm1, 0x5a
push r12
mov r12b, 0xa
movaps xmm15, xmm12
pop r12
inc r13d
pop r13
jmp 0x25df8307f
push rcx
pslld mm2, 0x6b
push r8
ror cl, 0xe
nop
pop r8
inc rcx
pop rcx
push r9
subss xmm2, xmm15
push r15
nop
inc r9
pop r15
nop
pop r9
jmp 0x25df830ee
push r9
maxss xmm7, xmm10
push r11
psrld mm0, 0x56
push rcx
psadbw mm2, mm1
pop rcx
andps xmm11, xmm13
pop r11
neg r9b
pop r9
push r15
shl r15d, 2
push rcx
rol cl, 7
push r11
nop
push rax
paddusw mm3, mm5
pop rax
addps xmm11, xmm1
pop r11
paddd mm6, mm0
pop rcx
rcl r15d, 0xb
pop r15
mov rax, rbx
jmp 0x25df8311f
mov r12, qword [r12 + 8]
jmp 0x25df8298a
push r15
psadbw mm7, mm5
emms
psrlq mm5, 0x22
psrlq mm3, 8
pmullw mm4, mm3
push rax
packsswb mm6, mm1
rol r15w, 1
pslld mm0, 0x3c
dec rax
psrad mm4, 0x69
pop rax
emms
ucomiss xmm6, xmm0
punpcklbw mm7, mm2
pcmpgtb mm7, mm1
shr r15, 0x16
emms
pop r15
test rax, rax
je 0x25df83434
push rax
not ax
andps xmm5, xmm4
punpcklbw mm4, mm7
push r10
cmp eax, r10d
emms
pmullw mm3, mm2
push r11
rcr r10d, 0xc
movss xmm0, xmm13
push r15
subps xmm1, xmm4
rol r15w, 5
pop r15
dec eax
emms
inc r11d
pop r11
nop
psrld mm5, 0x61
pop r10
sub eax, 0xc
nop
pop rax
mov esi, dword [rbp + 0x18]
push r8
sbb r8, 4
push r13
emms
push rax
subss xmm6, xmm8
push r10
nop
pop r10
nop
pop rax
inc r8d
pop r13
neg r8w
pop r8
test esi, esi
je 0x25df83434
push r8
sbb r8, 4
push r13
emms
push rax
subss xmm6, xmm8
push r10
nop
pop r10
nop
pop rax
inc r8d
pop r13
neg r8w
pop r8
mov edi, dword [rbp + 0x1c]
add rdi, rbx
cmp r13, r14
jne 0x25df8320c
push r11
shr r11w, 8
pop r11
jmp 0x25df83212
push r10
emms
pop r10
push rdx
shr edx, 3
pop rdx
test rdi, rdi
je 0x25df83434
cmp r13, r14
jne 0x25df83236
push r11
shr r11w, 8
pop r11
jmp 0x25df8323c
push r10
emms
pop r10
push rdx
shr edx, 3
pop rdx
mov r12d, dword [rbp + 0x20]
add r12, rbx
push r8
movlhps xmm4, xmm6
psllq mm5, 0x37
rcpss xmm6, xmm0
push r11
psraw mm2, 6
emms
emms
push r10
dec r8
ror r8, 0x12
push rdx
subss xmm15, xmm9
orps xmm6, xmm1
pop rdx
emms
psrlw mm1, 0x2c
paddw mm2, mm1
pop r10
sub r11, r8
or r8d, r11d
pop r11
mov r8b, 0x13
rcpss xmm3, xmm11
pop r8
call fcn.25df9ae68
test r12, r12
je 0x25df83434
push r10
sar r10w, 0xa
xorps xmm5, xmm9
psrld mm7, 0x2c
push r15
dec r15
por mm2, mm0
adc r15, r10
push r14
psrlq mm0, 0x13
nop
push r12
movups xmm5, xmm12
psrld mm3, 0x37
pop r12
psrlq mm6, 0x43
sbb r10b, r15b
pcmpgtb mm1, mm5
pop r14
movhlps xmm15, xmm11
maxss xmm8, xmm6
pop r15
emms
emms
pop r10
call fcn.25df9b018
mov ebp, dword [rbp + 0x24]
add rbp, rbx
push rdx
xorps xmm2, xmm9
inc rdx
push rax
shl rax, 0xf
sar al, 3
push r15
pslld mm6, 0x10
movups xmm13, xmm1
push rcx
emms
psllq mm4, 0x4a
push r10
rcr al, 4
rol rdx, 6
pop r10
sub cx, dx
psllq mm7, 0x1f
pop rcx
emms
psrlq mm3, 0xa
pop r15
nop
emms
pop rax
nop
paddusb mm0, mm5
pop rdx
test rbp, rbp
je 0x25df83434
push r15
nop
rol r15, 4
psrad mm1, 0x3a
push rdx
nop
psrlw mm3, 0x20
push r12
emms
pop r12
sub edx, 3
dec r15d
pop rdx
orps xmm0, xmm4
shl r15b, 1
nop
pop r15
call fcn.25df9b118
dec esi
cmp r13, r14
jne 0x25df83384
push r11
shr r11w, 8
pop r11
jmp 0x25df8338a
push r10
emms
pop r10
push rdx
shr edx, 3
pop rdx
mov r13d, dword [r12 + rsi*4]
add r13, rbx
push rdx
mov rdx, 2
push r10
pop r10
dec rdx
jne 0x25df8339e
pop rdx
call fcn.25df9ad19
mov rcx, r13
call fcn.25df89e95
cmp eax, dword [rsp + 0xa0]
jne 0x25df833ea
push r8
psrlq mm6, 0x50
emms
dec r8
emms
rcpps xmm3, xmm4
orps xmm13, xmm4
movhlps xmm9, xmm7
pop r8
call fcn.25df9b380
movzx eax, word [rbp + rsi*2]
mov eax, dword [rdi + rax*4]
add rax, rbx
jmp 0x25df83436
cmp r13, r14
jne 0x25df83400
push r11
shr r11w, 8
pop r11
jmp 0x25df83406
push r10
emms
pop r10
push rdx
shr edx, 3
pop rdx
sub rsi, 1
jae 0x25df8336e
push r13
subps xmm13, xmm6
mov r13b, 8
push r11
shl r11w, 1
pop r11
inc r13d
sub r13d, 0x14
pop r13
call fcn.25df9b14b
xor eax, eax
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret