Function at 0x1401ed7a0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x98
lea rbp, [rsp + 0x80]
movaps xmmword [rbp], xmm6
mov rsi, rcx
mov eax, dword [0x1415cfaf0]
mov ecx, dword [0x1415cfaf4]
add eax, ecx
add eax, 0x2c53e3a4
mov ecx, eax
not ecx
and ecx, 0x22dbf366
and eax, 0xdd240c99
sub eax, ecx
mov ecx, eax
xor ecx, 0xc391b2ee
and ecx, eax
cmp ecx, 0x65a86323
ja 0x1401ed83f
mov eax, dword [0x1415cfaf8]
xor eax, dword [0x1415cfafc]
add eax, 0xc846c5c7
mov ecx, eax
xor ecx, 0x5c7783a6
and eax, 0x23887c59
add eax, eax
sub eax, ecx
mov ecx, 0x8d9df705
imul rcx, rax
shr rcx, 0x3e
mov eax, 0x10
call fcn.14021cf50
sub rsp, rax
mov rbx, rsp
cmp ecx, 0xa5993af
jbe 0x1401ed84e
mov eax, 0x10
call fcn.14021cf50
sub rsp, rax
jmp 0x1401ed7f8
mov eax, 0x10
call fcn.14021cf50
sub rsp, rax
mov r14, rsp
mov eax, 0xd0
call fcn.14021cf50
sub rsp, rax
mov rdi, rsp
mov eax, dword [0x1415d3954]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0x70], 0
je 0x1401ed93d
nop
mov eax, dword [0x1415cfb10]
add eax, dword [0x1415cfb14]
mov ecx, eax
xor ecx, 0xf48cc36a
and ecx, eax
imul rax, rcx, 0x789ccb0b
shr rax, 0x3e
imul eax, eax, 0x11c2491d
cmp eax, 0xe677a16d
je 0x1401ed890
mov eax, dword [0x1415d3954]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov r15, qword [rax + 0x78]
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x1401ed8e0
mov eax, dword [0x1415d3954]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov r12, qword [rax + 0x80]
nop
mov eax, dword [0x1415cfb18]
or eax, dword [0x1415cfb1c]
imul eax, eax, 0x9cd88d80
mov ecx, eax
not ecx
or ecx, 0x5065320f
add eax, ecx
inc eax
mov ecx, eax
and ecx, 0x3bd2980
add ecx, ecx
sub eax, ecx
add eax, 0x83bd29df
cmp eax, 0x1456bc0f
jb 0x1401ed900
jmp 0x1401eda48
mov eax, dword [0x1415cfb00]
mov ecx, dword [0x1415cfb04]
mov edx, eax
xor edx, ecx
not edx
or eax, ecx
and eax, edx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x162532d2
and ecx, 0xe9dacd2d
imul ecx, edx
mov edx, eax
and edx, 0xe9dacd2d
or eax, 0xe9dacd2d
imul eax, edx
add eax, ecx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x7cc21ffa
and ecx, 0x833de005
imul ecx, edx
mov edx, eax
and edx, 0x833de005
or eax, 0x833de005
imul eax, edx
add eax, ecx
xor eax, 0x320f9c26
cmp eax, 0xf5fdc82b
jbe 0x1401ed9ca
xorps xmm0, xmm0
movups xmmword [r14], xmm0
sub rsp, 0x20
mov edx, 0x10
mov rcx, r14
call qword [sym.imp.bcryptprimitives.dll_ProcessPrng]
add rsp, 0x20
xorps xmm6, xmm6
nop dword [rax]
mov eax, dword [0x1415cfb08]
xor edx, edx
div dword [0x1415cfb0c]
imul r15d, eax, 0xef9a364
add r15d, 0xf1ca13e0
mov eax, r15d
xor eax, 0x1fa243db
or r15d, 0xe05dbc24
and r15d, eax
movups xmmword [r14], xmm6
sub rsp, 0x20
mov edx, 0x10
mov rcx, r14
call fcn.140219f00
add rsp, 0x20
cmp r15d, 0xcd6cd887
je 0x1401ed9d0
mov r15, qword [r14]
mov r12, qword [r14 + 8]
mov eax, dword [0x1415d3954]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov byte [rax + 0x70], 1
mov qword [rax + 0x80], r12
movabs rax, 0x8c76ae3c98211a12
mov rcx, r15
sub rcx, rax
add rax, rcx
inc rax
mov ecx, dword [0x1415d3954]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov qword [rcx + 0x78], rax
movzx eax, byte [0x1415d3950]
sub rsp, 0x20
mov edx, 0x58410
xor ecx, ecx
call fcn.1401b5e70
add rsp, 0x20
test rax, rax
je 0x1401ede0d
mov r14, rax
mov eax, dword [0x1415cfb20]
mov ecx, dword [0x1415cfb24]
mov edx, eax
and edx, ecx
or eax, ecx
add eax, edx
or eax, 0x405bb860
mov ecx, eax
xor ecx, 0xa447dee5
xor eax, 0xf8984687
and eax, ecx
cmp eax, 0xf4af19f0
jbe 0x1401edb0f
lea rcx, [r14 + 0x58000]
sub rsp, 0x20
mov r8d, 0x410
mov dl, 0xff
call fcn.14022b190
add rsp, 0x20
xorps xmm0, xmm0
movups xmmword [rdi + 0x70], xmm0
movups xmmword [rdi + 0x80], xmm0
mov qword [rdi], 0
mov qword [rdi + 8], 8
mov qword [rdi + 0x10], 0
add r14, 0x58000
mov rax, rdi
add rax, 0x70
mov qword [rbp - 0x78], rax
xorps xmm6, xmm6
nop word cs:[rax + rax]
mov eax, dword [0x1415cfb28]
xor edx, edx
div dword [0x1415cfb2c]
add eax, 0xe4e02bcf
imul r13, rax, 0x6ffc3203
shr r13, 0x3e
or r13d, 0xd5c301ac
sub rsp, 0x20
mov r8d, 0x410
mov rcx, r14
mov dl, 0xff
call fcn.14022b190
add rsp, 0x20
movups xmmword [rdi + 0x70], xmm6
movups xmmword [rdi + 0x80], xmm6
mov qword [rdi], 0
mov qword [rdi + 8], 8
mov qword [rdi + 0x10], 0
cmp r13d, 0x992a2d15
jb 0x1401edb30
movabs rax, 0x8000000000000000
xor ecx, ecx
test cl, cl
je 0x1401edc00
mov qword [rdi + 0x18], rax
mov dword [rdi + 0x30], 0
mov byte [rdi + 0x38], 0
mov qword [rdi + 0x40], r14
mov qword [rdi + 0x48], 0x3ff
mov qword [rdi + 0x50], 0x380
mov qword [rdi + 0x58], 0
mov qword [rdi + 0x60], r15
mov qword [rdi + 0x68], r12
mov qword [rdi + 0x90], 0
xorps xmm0, xmm0
movaps xmmword [rbp - 0x70], xmm0
movaps xmmword [rbp - 0x40], xmm0
movaps xmmword [rbp - 0x50], xmm0
movaps xmmword [rbp - 0x60], xmm0
mov dword [rbp - 0x70], 0x40
xorps xmm0, xmm0
nop word cs:[rax + rax]
mov ecx, dword [0x1415cfb30]
mov edx, dword [0x1415cfb34]
mov r8d, ecx
and r8d, edx
or ecx, edx
add ecx, r8d
add ecx, 0xcaa3de29
mov edx, ecx
not edx
mov r8d, ecx
and r8d, 0x2a079e1c
and edx, 0xd5f861e3
imul edx, r8d
mov r8d, ecx
and r8d, 0xd5f861e3
or ecx, 0xd5f861e3
imul ecx, r8d
add ecx, edx
mov qword [rdi + 0x18], rax
mov dword [rdi + 0x30], 0
mov byte [rdi + 0x38], 0
mov qword [rdi + 0x40], r14
mov qword [rdi + 0x48], 0x3ff
mov qword [rdi + 0x50], 0x380
mov qword [rdi + 0x58], 0
mov qword [rdi + 0x60], r15
mov qword [rdi + 0x68], r12
mov qword [rdi + 0x90], 0
movaps xmmword [rbp - 0x70], xmm0
movaps xmmword [rbp - 0x40], xmm0
movaps xmmword [rbp - 0x50], xmm0
movaps xmmword [rbp - 0x60], xmm0
mov dword [rbp - 0x70], 0x40
cmp ecx, 0xb6614bca
je 0x1401edc10
sub rsp, 0x20
lea rcx, [rbp - 0x70]
call fcn.14021ca30
add rsp, 0x20
test eax, eax
jne 0x1401eddae
mov eax, dword [0x1415cfb40]
add eax, dword [0x1415cfb44]
and eax, 0xc1204b
lea ecx, [rax + 0x472a9fb0]
mov edx, eax
not edx
and edx, 0x2894004a
mov r8d, ecx
and r8d, 0x4569a981
imul r8d, edx
and ecx, 0x282167a
or eax, 0x6fbe9ffa
imul eax, ecx
add eax, r8d
cmp eax, 0x32201f64
jne 0x1401edd30
sub rsp, 0x20
call sub.KERNEL32.dll_GetLastError
add rsp, 0x20
nop dword [rax]
mov r14d, dword [0x1415cfb48]
mov eax, dword [0x1415cfb4c]
mov ecx, r14d
and ecx, eax
or r14d, eax
add r14d, ecx
and r14d, 0x6660c80f
add r14d, 0x706f586
or r14d, 0x587cd2ea
sub rsp, 0x20
call sub.KERNEL32.dll_GetLastError
add rsp, 0x20
cmp r14d, 0xab3d8956
je 0x1401edd30
nop word cs:[rax + rax]
mov eax, dword [0x1415cfb50]
sub eax, dword [0x1415cfb54]
add eax, 0xc4faafc7
mov ecx, eax
not ecx
and ecx, 0xd248aaaf
and eax, 0x2db75550
sub eax, ecx
or eax, 0x500a8404
cmp eax, 0x776cc5e7
jb 0x1401edd80
movups xmm0, xmmword [rbp - 0x68]
mov rax, qword [rbp - 0x78]
movups xmmword [rax], xmm0
mov ecx, dword [str._aMdN]
mov eax, dword [0x1415cfb5c]
mov edx, ecx
and edx, eax
not ecx
not eax
and eax, ecx
not edx
not eax
and eax, edx
mov ecx, eax
not ecx
and ecx, 0x6464397
mov edx, eax
and edx, 0x1b9bc68
imul edx, ecx
mov ecx, eax
and ecx, 0x6464397
or eax, 0x6464397
imul eax, ecx
add eax, edx
and eax, 0x40811c6
cmp eax, 0x11fb00bd
jne 0x1401ede3b
jmp 0x1401edea8
ud2
mov eax, dword [0x1415cfb64]
add eax, dword [0x1415cfb60]
mov ecx, eax
and ecx, 0x74d5b633
add ecx, ecx
sub eax, ecx
add eax, 0x190f3be3
shr eax, 2
imul r14, rax, 0x293bb1d9
shr r14, 0x3a
xorps xmm0, xmm0
movaps xmmword [rbp - 0x70], xmm0
movaps xmmword [rbp - 0x60], xmm0
movaps xmmword [rbp - 0x50], xmm0
movaps xmmword [rbp - 0x40], xmm0
movaps xmmword [rbp - 0x30], xmm0
movaps xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], 0
sub rsp, 0x20
lea rcx, [rbp - 0x70]
mov edx, 0x68
call fcn.14021ca50
add rsp, 0x20
cmp r14d, 0xf9ef0357
jbe 0x1401edee7
xorps xmm0, xmm0
movaps xmmword [rbp - 0x20], xmm0
movaps xmmword [rbp - 0x30], xmm0
movaps xmmword [rbp - 0x40], xmm0
movaps xmmword [rbp - 0x50], xmm0
movaps xmmword [rbp - 0x60], xmm0
movaps xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x10], 0
sub rsp, 0x20
lea rcx, [rbp - 0x70]
mov edx, 0x68
call qword [sym.imp.KERNEL32.dll_K32GetPerformanceInfo]
add rsp, 0x20
jmp 0x1401ede3b
test eax, eax
je 0x1401edf4e
mov eax, dword [0x1415cfb68]
xor edx, edx
div dword [0x1415cfb6c]
xor eax, eax
nop dword [rax + rax]
test al, al
jne 0x1401edf00
mov r8, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x60]
xor r9d, r9d
sub rdx, r8
cmovb rdx, r9
mov rcx, qword [rbp - 0x20]
mov rax, rcx
mul rdx
mov r10, 0xffffffffffffffff
cmovo rax, r10
mov rdx, qword [rbp - 0x68]
sub rdx, r8
cmovb rdx, r9
mov qword [rdi + 0x80], rax
mov rax, rcx
mul rdx
cmovo rax, r10
mov qword [rdi + 0x88], rax
movabs r14, 0x202020202020101
mov eax, dword [0x1415cfb70]
or eax, dword [0x1415cfb74]
add eax, 0x6a4f20aa
mov ecx, eax
not ecx
or ecx, 0x15b4c6f3
or eax, 0xea4b390c
and eax, ecx
mov ecx, eax
not ecx
and ecx, 0x53296407
mov edx, eax
and edx, 0xacd69bf8
imul edx, ecx
mov ecx, eax
and ecx, 0x53296407
or eax, 0x53296407
imul eax, ecx
add eax, edx
cmp eax, 0x18ef28ac
jb 0x1401edff6
mov eax, dword [0x1415cfb78]
sub eax, dword [0x1415cfb7c]
add eax, 0x30b3709f
mov r15d, eax
or r15d, 0x100411a0
not eax
and eax, 0x280b2404
and r15d, 0x96e493eb
or r15d, eax
sub rsp, 0x20
mov rcx, rdi
mov dl, 1
call fcn.1401be500
add rsp, 0x20
mov byte [rbx], 1
mov qword [rbx + 1], r14
cmp r15d, 0xc24badc1
jne 0x1401ee011
sub rsp, 0x20
mov rcx, rdi
mov dl, 1
call fcn.1401be500
add rsp, 0x20
mov byte [rbx], 1
mov qword [rbx + 1], r14
jmp 0x1401edfa8
sub rsp, 0x20
mov rcx, rdi
mov rdx, rbx
call fcn.1401bfca0
add rsp, 0x20
mov eax, dword [0x1415cfb80]
add eax, dword [0x1415cfb84]
and eax, 0x821ce59
cmp eax, 0xf3918056
jne 0x1401ee055
sub rsp, 0x20
mov r8d, 0xd0
mov rcx, rsi
mov rdx, rdi
call fcn.14022aa10
add rsp, 0x20
xor ebx, ebx
nop word [rax + rax]
sub rsp, 0x20
mov r8d, 0xd0
mov rcx, rsi
mov rdx, rdi
call fcn.14022aa10
add rsp, 0x20
test bl, bl
jne 0x1401ee060
movaps xmm6, xmmword [rbp]
lea rsp, [rbp + 0x18]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret