Function at 0x1400c8a47
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov rsi, rcx
lea rdi, [rsp + 0x28]
lea rax, [rsp + 0x33]
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [rax - 0xb], rcx
mov dword [rax - 4], 0xaaaaaaaa
test edx, edx
js 0x1400c8c7a
mov r12, rdi
sub rax, rdi
cmp rax, 9
jle 0x1400c8cb4
cmp edx, 0xf423f
ja 0x1400c8d1b
cmp edx, 0x270f
ja 0x1400c8bb5
cmp edx, 0x63
ja 0x1400c8b44
cmp edx, 9
ja 0x1400c8b2a
add dl, 0x30
mov byte [r12], dl
mov r13d, 1
add r12, r13
lea rbx, [rsp + 0x28]
mov rbp, r12
sub rbp, rbx
movabs rax, 0x7ffffffffffffff0
cmp rbp, rax
jae 0x1400c8d13
cmp rbp, 0x16
ja 0x1400c8c8a
mov byte [rsi + 0x17], bpl
mov r14, rsi
cmp rbx, r12
je 0x1400c8b12
sub rdi, rbx
add rdi, r13
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call fcn.140158a70
add r14, rdi
mov byte [r14], 0
mov rax, rsi
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, edx
lea rcx, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899GetSystemTimePreciseAsFileTime
movzx eax, word [rcx + rax*2]
mov word [r12], ax
mov r13d, 2
jmp 0x1400c8ac4
movzx eax, dx
shr eax, 2
imul ecx, eax, 0x147b
shr ecx, 0x11
imul r8d, ecx, 0x64
mov eax, edx
sub eax, r8d
cmp edx, 0x3e7
ja 0x1400c8b8a
add cl, 0x30
mov byte [r12], cl
movzx eax, ax
lea rcx, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899GetSystemTimePreciseAsFileTime
movzx eax, word [rcx + rax*2]
mov word [r12 + 1], ax
mov r13d, 3
jmp 0x1400c8ac4
movzx ecx, cx
lea rdx, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899GetSystemTimePreciseAsFileTime
movzx ecx, word [rdx + rcx*2]
mov word [r12], cx
movzx eax, ax
movzx eax, word [rdx + rax*2]
mov word [r12 + 2], ax
mov r13d, 4
jmp 0x1400c8ac4
mov eax, edx
mov ecx, 0xd1b71759
imul rcx, rax
shr rcx, 0x2d
imul r8d, ecx, 0x2710
mov eax, edx
sub eax, r8d
cmp edx, 0x1869f
ja 0x1400c8c25
add cl, 0x30
mov byte [r12], cl
mov ecx, 0xffff
mov edx, eax
and edx, ecx
shr edx, 2
imul edx, edx, 0x147b
shr edx, 0x11
imul r8d, edx, 0x64
sub eax, r8d
lea r8, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899GetSystemTimePreciseAsFileTime
movzx edx, word [r8 + rdx*2]
mov word [r12 + 1], dx
and eax, ecx
movzx eax, word [r8 + rax*2]
mov word [r12 + 3], ax
mov r13d, 5
jmp 0x1400c8ac4
mov ecx, ecx
lea rdx, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899GetSystemTimePreciseAsFileTime
movzx ecx, word [rdx + rcx*2]
mov word [r12], cx
mov ecx, 0xffff
mov r8d, eax
and r8d, ecx
shr r8d, 2
imul r8d, r8d, 0x147b
shr r8d, 0x11
imul r9d, r8d, 0x64
sub eax, r9d
movzx r8d, word [rdx + r8*2]
mov word [r12 + 2], r8w
and eax, ecx
movzx eax, word [rdx + rax*2]
mov word [r12 + 4], ax
mov r13d, 6
jmp 0x1400c8ac4
lea rdi, [rsp + 0x29]
mov byte [rdi - 1], 0x2d
neg edx
jmp 0x1400c8a81
mov r15, rbp
or r15, 0xf
inc r15
mov rcx, r15
call fcn.140153bd4
mov r14, rax
mov qword [rsi], rax
bts r15, 0x3f
mov qword [rsi + 0x10], r15
mov qword [rsi + 8], rbp
jmp 0x1400c8af6
mov ecx, edx
or ecx, 1
bsr ecx, ecx
xor ecx, 0xffffffe0
imul ecx, ecx, 0x4d1
add ecx, 0x9ef1
shr ecx, 0xc
lea r8, [0x14030baa0]
cmp edx, dword [r8 + rcx*4]
sbb ecx, 0
inc ecx
cmp rax, rcx
jge 0x1400c8a91
lea rax, str.bufsize_must_be_large_enough_to_accomodate_the_value
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_src_src_string.cpp
lea r9, str.res.ec__errc__
mov r8d, 0x168
call fcn.1401bf470
mov rcx, rsi
call fcn.1401bf470
mov eax, edx
cmp edx, 0x5f5e0ff
jbe 0x1400c8e4a
imul rcx, rax, 0x55e63b89
shr rcx, 0x39
imul r8d, ecx, 0x5f5e100
mov eax, edx
sub eax, r8d
cmp edx, 0x3b9ac9ff
ja 0x1400c8dc6
add cl, 0x30
mov byte [r12], cl
mov ecx, eax
imul rcx, rcx, 0x431bde83
shr rcx, 0x32
imul edx, ecx, 0xf4240
sub eax, edx
lea rdx, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899GetSystemTimePreciseAsFileTime
movzx ecx, word [rdx + rcx*2]
mov word [r12 + 1], cx
imul rcx, rax, 0x68db9
shr rcx, 0x20
imul r8d, ecx, 0x2710
sub eax, r8d
movzx ecx, word [rdx + rcx*2]
mov word [r12 + 3], cx
imul ecx, eax, 0x147b
shr ecx, 0x13
imul r8d, ecx, 0x64
sub eax, r8d
movzx ecx, word [rdx + rcx*2]
mov word [r12 + 5], cx
movzx eax, ax
movzx eax, word [rdx + rax*2]
mov word [r12 + 7], ax
mov r13d, 9
jmp 0x1400c8ac4
mov edx, ecx
lea rcx, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899GetSystemTimePreciseAsFileTime
movzx edx, word [rcx + rdx*2]
mov word [r12], dx
mov edx, eax
imul rdx, rdx, 0x431bde83
shr rdx, 0x32
imul r8d, edx, 0xf4240
sub eax, r8d
movzx edx, word [rcx + rdx*2]
mov word [r12 + 2], dx
imul rdx, rax, 0x68db9
shr rdx, 0x20
imul r8d, edx, 0x2710
sub eax, r8d
movzx edx, word [rcx + rdx*2]
mov word [r12 + 4], dx
imul edx, eax, 0x147b
shr edx, 0x13
imul r8d, edx, 0x64
sub eax, r8d
movzx edx, word [rcx + rdx*2]
mov word [r12 + 6], dx
movzx eax, ax
movzx eax, word [rcx + rax*2]
mov word [r12 + 8], ax
mov r13d, 0xa
jmp 0x1400c8ac4
imul rcx, rax, 0x431bde83
shr rcx, 0x32
imul r8d, ecx, 0xf4240
mov eax, edx
sub eax, r8d
cmp edx, 0x98967f
ja 0x1400c8eca
add cl, 0x30
mov byte [r12], cl
mov ecx, eax
mov edx, 0xd1b71759
imul rdx, rcx
shr rdx, 0x2d
imul ecx, edx, 0x2710
sub eax, ecx
lea rcx, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899GetSystemTimePreciseAsFileTime
movzx edx, word [rcx + rdx*2]
mov word [r12 + 1], dx
imul edx, eax, 0x147b
shr edx, 0x13
imul r8d, edx, 0x64
sub eax, r8d
movzx edx, word [rcx + rdx*2]
mov word [r12 + 3], dx
movzx eax, ax
movzx eax, word [rcx + rax*2]
mov word [r12 + 5], ax
mov r13d, 7
jmp 0x1400c8ac4
mov ecx, ecx
lea rdx, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899GetSystemTimePreciseAsFileTime
movzx ecx, word [rdx + rcx*2]
mov word [r12], cx
mov ecx, eax
mov r8d, 0xd1b71759
imul r8, rcx
shr r8, 0x2d
imul ecx, r8d, 0x2710
sub eax, ecx
movzx ecx, word [rdx + r8*2]
mov word [r12 + 2], cx
imul ecx, eax, 0x147b
shr ecx, 0x13
imul r8d, ecx, 0x64
sub eax, r8d
movzx ecx, word [rdx + rcx*2]
mov word [r12 + 4], cx
movzx eax, ax
movzx eax, word [rdx + rax*2]
mov word [r12 + 6], ax
mov r13d, 8
jmp 0x1400c8ac4