Function at 0x140094530
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 7]
sub rsp, 0xc8
mov rax, qword [0x1403d4408]
xor rax, rsp
mov qword [rbp - 0x11], rax
mov rax, qword [rbp + 0x8f]
lea r14, [rcx + 0x150]
mov r13d, r9d
mov qword [rbp - 0x61], rax
mov r9, qword [rbp + 0x6f]
mov eax, r13d
and eax, 0xf
mov qword [rbp - 0x79], r8
mov r15d, r13d
mov dword [rbp - 0x71], eax
mov eax, dword [rbp + 0x77]
xor edi, edi
shr r15d, 4
mov r12, r8
mov qword [rbp - 0x69], rdx
mov rbx, rdx
mov qword [rsp + 0x40], rcx
mov rsi, rdx
cmp eax, 0xc
jne 0x1400945ba
movsd xmm0, qword [r9]
mov eax, dword [r9 + 8]
movsd qword [rbp - 0x51], xmm0
mov dword [rbp - 0x49], eax
mov dword [rbp - 0x45], 0x1000000
jmp 0x1400945ea
mov ebx, dword [r14]
lea rdx, [rbp - 0x51]
mov dword [rsp + 0x30], 0x10
xor r8d, r8d
mov qword [rsp + 0x28], rdx
xor edx, edx
mov dword [r14], edi
mov dword [rsp + 0x20], eax
call fcn.1400950d0
mov rcx, qword [rsp + 0x40]
mov dword [r14], ebx
mov rbx, rsi
mov rdx, qword [rbp - 0x61]
lea rax, [rbp - 0x31]
mov r9, r12
mov dword [rsp + 0x30], 0x10
mov r12d, dword [rbp + 0x97]
mov r8d, r12d
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r13d
call fcn.1400950d0
mov rcx, qword [rsp + 0x40]
lea r8, [rbp - 0x21]
lea rdx, [rbp - 0x51]
call fcn.1400969a0
test eax, eax
jne 0x140094a25
lea r8d, [rax + 0x10]
lea rdx, [rbp - 0x21]
lea rcx, [rbp - 0x31]
call fcn.140099240
test rbx, rbx
jne 0x140094649
mov dword [r14], r12d
mov r14, qword [rbp - 0x79]
mov r12d, 0xf
cmp r14, rbx
je 0x1400946cc
test r15d, r15d
je 0x1400946cc
cmp r13d, 0x10
jb 0x140094690
dec r15d
mov rax, r12
nop dword [rax]
add byte [rbp + rax - 0x51], 1
jne 0x140094680
dec rax
cmp rax, 0xc
jge 0x140094670
movaps xmm0, xmmword [rbp - 0x51]
movups xmmword [rsi], xmm0
add rsi, 0x10
test r15d, r15d
jne 0x140094663
mov r14, qword [rbp - 0x69]
and r13d, 0xfffffff0
mov r15, qword [rsp + 0x40]
mov r9d, r13d
mov r8, r14
mov ebx, r13d
mov rdx, r14
mov rcx, r15
call fcn.140096980
mov rdx, qword [rbp - 0x79]
mov r8d, r13d
mov rcx, r14
call fcn.140099240
mov r14, qword [rbp - 0x79]
add r14, rbx
jmp 0x1400948ee
cmp r13d, 0x10
jb 0x1400948e9
nop word [rax + rax]
dec r15d
mov rax, r12
add byte [rbp + rax - 0x51], 1
jne 0x1400946f6
dec rax
cmp rax, 0xc
jge 0x1400946e6
mov rcx, qword [rsp + 0x40]
lea r8, [rbp - 0x41]
lea rdx, [rbp - 0x51]
call fcn.1400969a0
test eax, eax
jne 0x140094a25
lea rdx, [rbp - 0x41]
mov rcx, rsi
and edx, 7
lea r10d, [rax + 0x10]
and ecx, 7
lea r8, [rbp - 0x41]
mov rax, rsi
mov r9, r14
cmp rcx, rdx
jne 0x140094843
mov rcx, r14
and ecx, 7
cmp rdx, rcx
jne 0x140094843
test rdx, rdx
je 0x140094768
test r10d, r10d
je 0x140094768
movzx ecx, byte [r9]
dec r10d
xor cl, byte [r8]
inc r9
mov byte [rax], cl
inc r8
inc rax
test r8b, 7
jne 0x140094748
mov r11d, r10d
mov ebx, edi
shr r11d, 3
test r11d, r11d
je 0x14009483b
cmp r11d, 8
jb 0x140094815
lea ecx, [r11 - 1]
mov edx, ecx
lea r14, [rax + rcx*8]
lea rcx, [r8 + rcx*8]
cmp rax, rcx
ja 0x14009479c
cmp r14, r8
jae 0x140094815
lea rcx, [r9 + rdx*8]
cmp rax, rcx
ja 0x1400947aa
cmp r14, r9
jae 0x140094815
mov ecx, r11d
and ecx, 0xfffffff8
movdqu xmm0, xmmword [r8]
add ebx, 8
movdqu xmm1, xmmword [r9]
xorps xmm1, xmm0
movdqu xmm0, xmmword [r8 + 0x10]
movdqu xmmword [rax], xmm1
movdqu xmm1, xmmword [r9 + 0x10]
xorps xmm1, xmm0
movdqu xmm0, xmmword [r8 + 0x20]
movdqu xmmword [rax + 0x10], xmm1
movdqu xmm1, xmmword [r9 + 0x20]
xorps xmm1, xmm0
movdqu xmm0, xmmword [r8 + 0x30]
add r8, 0x40
movdqu xmmword [rax + 0x20], xmm1
movdqu xmm1, xmmword [r9 + 0x30]
add r9, 0x40
xorps xmm1, xmm0
movdqu xmmword [rax + 0x30], xmm1
add rax, 0x40
cmp ebx, ecx
jb 0x1400947b0
cmp ebx, r11d
jae 0x14009483b
sub r11d, ebx
mov edx, r11d
nop dword [rax + rax]
mov rcx, qword [r9]
add r9, 8
xor rcx, qword [r8]
add r8, 8
mov qword [rax], rcx
add rax, 8
sub rdx, 1
jne 0x140094820
mov r14, qword [rbp - 0x79]
and r10d, 7
mov r11d, edi
test r10d, r10d
je 0x1400948d4
cmp r10d, 8
jb 0x1400948a3
lea ecx, [r10 - 1]
mov edx, ecx
lea rbx, [rcx + rax]
add rcx, r8
cmp rax, rcx
ja 0x14009486c
cmp rbx, r8
jae 0x1400948a3
lea rcx, [rdx + r9]
cmp rax, rcx
ja 0x14009487a
cmp rbx, r9
jae 0x1400948a3
mov edx, r10d
and edx, 0xfffffff8
movq xmm1, qword [r11 + r9]
movq xmm0, qword [r11 + r8]
xorps xmm1, xmm0
movq qword [r11 + rax], xmm1
add r11d, 8
cmp r11d, edx
jb 0x140094880
cmp r11d, r10d
jae 0x1400948d4
sub r9, r8
mov edx, r11d
add rdx, r8
sub rax, r8
sub r10d, r11d
mov r8d, r10d
nop word [rax + rax]
movzx ecx, byte [r9 + rdx]
xor cl, byte [rdx]
mov byte [rax + rdx], cl
lea rdx, [rdx + 1]
sub r8, 1
jne 0x1400948c0
add r14, 0x10
add rsi, 0x10
mov qword [rbp - 0x79], r14
test r15d, r15d
jne 0x1400946e0
mov r15, qword [rsp + 0x40]
mov ebx, dword [rbp - 0x71]
test ebx, ebx
je 0x14009493c
add byte [rbp + r12 - 0x51], 1
jne 0x140094906
dec r12
cmp r12, 0xc
jge 0x1400948f5
lea r8, [rbp - 0x41]
mov rcx, r15
lea rdx, [rbp - 0x51]
call fcn.1400969a0
test eax, eax
jne 0x140094a25
mov r8d, ebx
lea rcx, [rbp - 0x41]
mov rdx, r14
call fcn.140099240
mov r8, rbx
lea rdx, [rbp - 0x41]
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
movsxd r8, dword [rbp + 0x87]
mov ecx, edi
test r8d, r8d
jle 0x140094a16
mov r9, qword [rbp + 0x7f]
lea rax, [rbp - 0x31]
cmp r8d, 8
jb 0x1400949ee
mov rdx, r8
xorps xmm4, xmm4
and rdx, 0xfffffffffffffff8
xorps xmm3, xmm3
sub r9, rax
xorps xmm0, xmm0
lea rax, [rbp - 0x31]
add rax, rdi
add ecx, 8
add rdi, 8
movd xmm2, dword [r9 + rax]
movd xmm1, dword [rax]
punpcklbw xmm2, xmm0
punpcklwd xmm2, xmm0
punpcklbw xmm1, xmm0
punpcklwd xmm1, xmm0
xorps xmm2, xmm1
movd xmm1, dword [rax + 4]
punpcklbw xmm1, xmm0
orps xmm4, xmm2
movd xmm2, dword [rax + r9 + 4]
punpcklbw xmm2, xmm0
punpcklwd xmm2, xmm0
punpcklwd xmm1, xmm0
xorps xmm2, xmm1
orps xmm3, xmm2
cmp rdi, rdx
jl 0x140094970
orps xmm3, xmm4
movdqa xmm0, xmm3
psrldq xmm0, 8
orps xmm3, xmm0
movdqa xmm0, xmm3
psrldq xmm0, 4
orps xmm3, xmm0
movd edi, xmm3
cmp ecx, r8d
jge 0x140094a16
jmp 0x1400949f1
sub r9, rax
movsxd rax, ecx
lea rdx, [rbp - 0x31]
add rdx, rax
sub r8d, ecx
nop
movzx ecx, byte [r9 + rdx]
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
xor ecx, eax
or edi, ecx
sub r8, 1
jne 0x140094a00
neg edi
shr edi, 0x1f
neg edi
and edi, 0xffffff4c
mov eax, edi
mov rcx, qword [rbp - 0x11]
xor rcx, rsp
call fcn.1400b5880
add rsp, 0xc8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret