Function at 0x1400c5e10
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x50]
sub rsp, 0x150
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
mov rax, qword [0x1401e56c8]
xor rax, rsp
mov qword [rbp + 0x18], rax
mov r15, r8
mov r13, rdx
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x48], r8
xor r14d, r14d
mov dword [rsp + 0x40], r14d
movsd xmm6, qword [0x1401c4950]
movaps xmm1, xmm6
movsd xmm7, qword [0x1401c4900]
movaps xmm0, xmm7
call fcn.1400ce120
cvttsd2si edi, xmm0
movaps xmm1, xmm6
movaps xmm0, xmm7
call fcn.1400ce120
cvttsd2si ebx, xmm0
cmp dil, bl
jne 0x1400c5eab
movaps xmm1, xmm6
movaps xmm0, xmm7
call fcn.1400ce120
cvttsd2si eax, xmm0
movzx ebx, al
cmp dil, al
je 0x1400c5e94
mov rax, r14
mov rcx, qword [r15 + 0x10]
test rcx, rcx
je 0x1400c5ef2
nop word [rax + rax]
mov rdx, qword [r15 + 0x18]
mov rcx, r15
test al, 1
jne 0x1400c5eda
cmp rdx, 0x10
jb 0x1400c5ed4
mov rcx, qword [r15]
xor byte [rcx + rax], dil
jmp 0x1400c5ee6
cmp rdx, 0x10
jb 0x1400c5ee3
mov rcx, qword [r15]
xor byte [rcx + rax], bl
inc rax
mov rcx, qword [r15 + 0x10]
cmp rax, rcx
jb 0x1400c5ec0
mov byte [rsp + 0x50], dil
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
je 0x1400c689e
mov r9, r15
cmp qword [r15 + 0x18], 0x10
jb 0x1400c5f17
mov r9, qword [r15]
mov qword [rsp + 0x30], 1
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x68]
call fcn.140040a50
nop
mov rcx, qword [rbp - 0x58]
mov rdx, qword [rbp - 0x50]
cmp rcx, rdx
jae 0x1400c5f65
lea rax, [rcx + 1]
mov qword [rbp - 0x58], rax
lea rax, [rbp - 0x68]
cmp rdx, 0x10
cmovae rax, qword [rbp - 0x68]
mov byte [rax + rcx], bl
mov byte [rax + rcx + 1], 0
jmp 0x1400c5f72
movzx r9d, bl
lea rcx, [rbp - 0x68]
call fcn.1400270e0
movups xmm0, xmmword [rbp - 0x68]
movups xmmword [rsp + 0x78], xmm0
movups xmm1, xmmword [rbp - 0x58]
movups xmmword [rbp - 0x78], xmm1
movdqa xmm0, xmmword [0x1401c4af0]
movdqu xmmword [rbp - 0x58], xmm0
mov byte [rbp - 0x68], 0
lea rdx, [rsp + 0x78]
mov rcx, r15
call fcn.14001dad0
lea rcx, [rsp + 0x78]
call fcn.140010730
nop
lea rcx, [rbp - 0x68]
call fcn.140010730
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], rax
mov r8, r15
lea rdx, [rbp - 0x68]
call fcn.1400c4000
nop
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.1400c3b90
nop
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x1400c6028
mov rdx, qword [rbp - 0x58]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c6017
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400c6017
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14015c094
mov qword [rbp - 0x68], r14
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x60], xmm0
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], rax
lea r8, [0x1401ec9b8]
lea rdx, [rbp - 0x30]
call fcn.1400c4000
nop
lea r8, [rbp - 0x30]
lea rdx, [rbp - 0x18]
call fcn.1400c58b0
nop
mov rbx, qword [rsp + 0x68]
mov rcx, rbx
mov rsi, qword [rsp + 0x60]
sub rcx, rsi
xorps xmm6, xmm6
js 0x1400c6070
cvtsi2sd xmm6, rcx
jmp 0x1400c6085
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2sd xmm6, rax
addsd xmm6, xmm6
mulsd xmm6, qword [0x1401c47a8]
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
subsd xmm6, xmm0
movsd xmm1, qword [0x1401c4888]
mulsd xmm6, xmm1
xorps xmm8, xmm8
ucomisd xmm6, xmm8
jp 0x1400c60b6
jne 0x1400c60b6
addsd xmm6, xmm1
mov rdi, r14
movaps xmm7, xmm6
subsd xmm7, qword [0x1401c4810]
comisd xmm7, xmm8
jbe 0x1400c6178
nop
sub rbx, rsi
sub rbx, 1
xorps xmm1, xmm1
js 0x1400c60e3
cvtsi2sd xmm1, rbx
jmp 0x1400c60f8
mov rax, rbx
shr rax, 1
and ebx, 1
or rax, rbx
cvtsi2sd xmm1, rax
addsd xmm1, xmm1
movaps xmm0, xmm8
call fcn.1400ce120
cvttsd2si eax, xmm0
movsxd rcx, eax
mov r8, qword [rsp + 0x60]
add r8, rcx
mov rdx, qword [rsp + 0x68]
cmp rdx, qword [rsp + 0x70]
je 0x1400c6131
movzx eax, byte [r8]
mov byte [rdx], al
mov rbx, qword [rsp + 0x68]
inc rbx
mov qword [rsp + 0x68], rbx
jmp 0x1400c6140
lea rcx, [rsp + 0x60]
call fcn.140089d90
mov rbx, qword [rsp + 0x68]
add rdi, 1
xorps xmm0, xmm0
js 0x1400c6150
cvtsi2sd xmm0, rdi
jmp 0x1400c6168
mov rcx, rdi
shr rcx, 1
mov rax, rdi
and eax, 1
or rcx, rax
cvtsi2sd xmm0, rcx
addsd xmm0, xmm0
comisd xmm7, xmm0
jbe 0x1400c6178
mov rsi, qword [rsp + 0x60]
jmp 0x1400c60d0
cvttsd2si eax, xmm6
mov byte [rsp + 0x50], al
cmp rbx, qword [rsp + 0x70]
je 0x1400c6198
mov byte [rbx], al
mov rax, qword [rsp + 0x68]
inc rax
mov qword [rsp + 0x68], rax
jmp 0x1400c61af
lea r8, [rsp + 0x50]
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.140089d90
mov rax, qword [rsp + 0x68]
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x48], xmm1
xor esi, esi
mov qword [rbp - 0x38], rsi
mov ebx, esi
cmp rax, qword [rsp + 0x60]
je 0x1400c64d0
nop word [rax + rax]
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x68], xmm1
mov qword [rbp - 0x58], rsi
lea rdi, [rbx + 8]
cmp rbx, rdi
jae 0x1400c6483
nop dword [rax]
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x78], xmm1
mov qword [rbp - 0x78], rsi
mov edx, 4
call fcn.1400105e0
mov qword [rsp + 0x78], rax
lea rcx, [rax + 0x10]
mov qword [rbp - 0x78], rcx
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rbp - 0x80], rcx
mov rax, qword [rsp + 0x60]
movzx ecx, byte [rax + rbx + 1]
shl ecx, 8
movzx eax, byte [rax + rbx]
or ecx, eax
mov dword [rsp + 0x58], ecx
mov r10, rsi
mov r11d, 8
nop
lea rcx, [r11 - 8]
mov r9, qword [rsp + 0x78]
mov r8d, dword [r9 + r10]
movzx eax, cl
and al, 0x1f
movzx edx, al
shr rcx, 5
mov eax, dword [rsp + rcx*4 + 0x58]
mov ecx, r8d
and ecx, 0xfffffff7
or r8d, 8
bt eax, edx
cmovae r8d, ecx
mov dword [r9 + r10], r8d
lea rcx, [r11 - 4]
mov r9, qword [rsp + 0x78]
mov r8d, dword [r9 + r10]
movzx eax, cl
and al, 0x1f
movzx edx, al
shr rcx, 5
mov eax, dword [rsp + rcx*4 + 0x58]
mov ecx, r8d
and ecx, 0xfffffffb
or r8d, 4
bt eax, edx
cmovae r8d, ecx
mov dword [r9 + r10], r8d
mov r9, qword [rsp + 0x78]
mov r8d, dword [r9 + r10]
movzx eax, r11b
and al, 0x1f
movzx edx, al
mov rax, r11
shr rax, 5
mov ecx, dword [rsp + rax*4 + 0x58]
mov eax, r8d
and eax, 0xfffffffd
or r8d, 2
bt ecx, edx
cmovae r8d, eax
mov dword [r9 + r10], r8d
lea rcx, [r11 + 4]
mov r9, qword [rsp + 0x78]
mov r8d, dword [r9 + r10]
movzx eax, cl
and al, 0x1f
movzx edx, al
shr rcx, 5
mov eax, dword [rsp + rcx*4 + 0x58]
mov ecx, r8d
and ecx, 0xfffffffe
or r8d, 1
bt eax, edx
cmovae r8d, ecx
mov dword [r9 + r10], r8d
lea rcx, [r11 - 7]
mov r9, qword [rsp + 0x78]
mov r8d, dword [r9 + r10 + 4]
movzx eax, cl
and al, 0x1f
movzx edx, al
shr rcx, 5
mov eax, dword [rsp + rcx*4 + 0x58]
mov ecx, r8d
and ecx, 0xfffffff7
or r8d, 8
bt eax, edx
cmovae r8d, ecx
mov dword [r9 + r10 + 4], r8d
lea rcx, [r11 - 3]
mov r9, qword [rsp + 0x78]
mov r8d, dword [r9 + r10 + 4]
movzx eax, cl
and al, 0x1f
movzx edx, al
shr rcx, 5
mov eax, dword [rsp + rcx*4 + 0x58]
mov ecx, r8d
and ecx, 0xfffffffb
or r8d, 4
bt eax, edx
cmovae r8d, ecx
mov dword [r9 + r10 + 4], r8d
lea rcx, [r11 + 1]
mov r9, qword [rsp + 0x78]
mov r8d, dword [r9 + r10 + 4]
movzx eax, cl
and al, 0x1f
movzx edx, al
shr rcx, 5
mov eax, dword [rsp + rcx*4 + 0x58]
mov ecx, r8d
and ecx, 0xfffffffd
or r8d, 2
bt eax, edx
cmovae r8d, ecx
mov dword [r9 + r10 + 4], r8d
lea rcx, [r11 + 5]
mov r9, qword [rsp + 0x78]
mov r8d, dword [r9 + r10 + 4]
movzx eax, cl
and al, 0x1f
movzx edx, al
shr rcx, 5
mov eax, dword [rsp + rcx*4 + 0x58]
mov ecx, r8d
and ecx, 0xfffffffe
or r8d, 1
bt eax, edx
cmovae r8d, ecx
mov dword [r9 + r10 + 4], r8d
add r11, 2
lea r10, [r10 + 8]
lea rax, [r11 - 8]
cmp rax, 4
jb 0x1400c6240
mov r9b, 1
lea r8, [rbp - 0x18]
lea rdx, [rsp + 0x78]
call fcn.1400c4f40
mov rax, qword [rbp - 0x60]
cmp rax, qword [rbp - 0x58]
je 0x1400c641d
lea rdx, [rsp + 0x78]
mov rcx, rax
call fcn.1400c7960
add qword [rbp - 0x60], 0x18
jmp 0x1400c642f
lea r8, [rsp + 0x78]
mov rdx, rax
lea rcx, [rbp - 0x68]
call fcn.1400c7bc0
nop
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x1400c6476
mov rax, qword [rbp - 0x78]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c6471
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c65bb
call fcn.14015c094
add rbx, 2
cmp rbx, rdi
jb 0x1400c61f0
mov rax, qword [rbp - 0x40]
cmp rax, qword [rbp - 0x38]
je 0x1400c64a0
lea rdx, [rbp - 0x68]
mov rcx, rax
call fcn.1400c7780
add qword [rbp - 0x40], 0x18
jmp 0x1400c64b1
lea r8, [rbp - 0x68]
mov rdx, rax
lea rcx, [rbp - 0x48]
call fcn.1400c7e70
nop
lea rcx, [rbp - 0x68]
call fcn.1400c7a00
mov rbx, rdi
mov rax, qword [rsp + 0x68]
sub rax, qword [rsp + 0x60]
cmp rdi, rax
jb 0x1400c61d0
mov r9b, 1
lea r8, [rbp]
lea rdx, [rbp - 0x48]
call fcn.1400c55b0
nop
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x78], xmm1
mov qword [rbp - 0x78], rsi
mov dword [rsp + 0x40], select
mov r12, qword [rbp - 0x40]
mov r14, qword [rbp - 0x48]
mov r9, qword [rbp - 0x80]
cmp r14, r12
je 0x1400c6602
nop dword [rax + rax]
mov rsi, qword [r14 + 8]
mov rdi, qword [r14]
cmp rdi, rsi
je 0x1400c65f3
xor ebx, ebx
nop dword [rax]
nop word [rax + rax]
mov r8, qword [rdi]
mov edx, dword [rbx + r8]
and edx, 1
mov eax, edx
and eax, 0xffffffef
or edx, 0x10
test byte [rbx + r8 + 4], 1
cmove edx, eax
mov eax, edx
or eax, 2
test byte [rbx + r8], 2
cmovne edx, eax
mov ecx, edx
or ecx, 0x20
test byte [rbx + r8 + 4], 2
cmove ecx, edx
mov eax, ecx
or eax, 4
test byte [rbx + r8], 4
cmovne ecx, eax
mov edx, ecx
or edx, 0x40
test byte [rbx + r8 + 4], 4
cmove edx, ecx
mov eax, edx
or eax, 8
test byte [rbx + r8], 8
cmovne edx, eax
mov ecx, edx
bts ecx, 7
test byte [rbx + r8 + 4], 8
cmove ecx, edx
mov dword [rsp + 0x58], ecx
mov byte [rsp + 0x50], cl
cmp r9, qword [rbp - 0x78]
je 0x1400c65c2
mov byte [r9], cl
mov r9, qword [rbp - 0x80]
inc r9
mov qword [rbp - 0x80], r9
jmp 0x1400c65d8
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
lea r8, [rsp + 0x50]
mov rdx, r9
lea rcx, [rsp + 0x78]
call fcn.140089d90
mov r9, qword [rbp - 0x80]
add rbx, 8
cmp rbx, 0x10
jb 0x1400c6530
add rdi, 0x18
cmp rdi, rsi
jne 0x1400c6520
add r14, 0x18
cmp r14, r12
jne 0x1400c6510
xor esi, esi
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x1400c6645
mov rdx, qword [rsp + 0x70]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c663c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400c663c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14015c094
mov r9, qword [rbp - 0x80]
mov r8, qword [rsp + 0x78]
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x68], r9
mov rax, qword [rbp - 0x78]
mov qword [rsp + 0x70], rax
mov r10, rsi
cmp r8, r9
je 0x1400c669b
nop word [rax + rax]
mov rax, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x30]
sub rax, rdx
dec rax
mov rcx, rsi
cmp r10, rax
cmovne rcx, r10
movzx eax, byte [rdx + rcx]
xor byte [r8], al
lea r10, [rcx + 1]
inc r8
cmp r8, r9
jne 0x1400c6670
lea r8, [rsp + 0x60]
mov rdx, r13
call fcn.1400c4710
nop
mov rbx, qword [rbp - 0x48]
test rbx, rbx
je 0x1400c673b
mov rdi, qword [rbp - 0x40]
cmp rbx, rdi
je 0x1400c66d5
nop
mov rcx, rbx
call fcn.1400c7a00
add rbx, 0x18
cmp rbx, rdi
jne 0x1400c66c0
mov rbx, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x38]
sub rcx, rbx
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 3
mov rax, rbx
cmp rdx, 0x1000
jb 0x1400c6727
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400c6727
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rbx
call fcn.14015c094
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x48], xmm0
mov qword [rbp - 0x38], rsi
mov rcx, qword [rbp]
test rcx, rcx
je 0x1400c677d
mov rdx, qword [rbp + 0x10]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c676c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c67ae
call fcn.14015c094
mov qword [rbp], rsi
xorps xmm0, xmm0
movdqu xmmword [rbp + 8], xmm0
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x1400c67c6
mov rdx, qword [rbp - 8]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c67b5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400c67b5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14015c094
mov qword [rbp - 0x18], rsi
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x10], xmm0
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x1400c680f
mov rdx, qword [rbp - 0x20]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c67fe
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400c67fe
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14015c094
mov qword [rbp - 0x30], rsi
mov qword [rbp - 0x28], rsi
mov qword [rbp - 0x20], rsi
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x1400c685d
mov rdx, qword [rsp + 0x70]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c6849
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400c6849
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14015c094
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x70], rsi
mov rcx, r15
call fcn.140010730
mov rax, r13
mov rcx, qword [rbp + 0x18]
xor rcx, rsp
call fcn.14015bde0
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14000ea30
nop
int3