Function at 0x140067c93
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 0x140067eb6
mov r12, rdi
sub rax, rdi
cmp rax, 9
jle 0x140067ece
cmp edx, 0xf423f
ja 0x140067f2d
cmp edx, 0x270f
ja 0x140067dda
cmp edx, 0x63
ja 0x140067d90
cmp edx, 9
ja 0x140067d76
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 0x140067ec6
cmp rbp, 0x16
ja 0x140067fe4
mov byte [rsi + 0x17], bpl
mov r14, rsi
cmp rbx, r12
je 0x140067d5e
sub rdi, rbx
add rdi, r13
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call fcn.1401730b0
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 0x140067d10
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 0x140067e41
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 0x140067d10
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 0x140067e6c
add cl, 0x30
mov byte [r12], cl
movzx ecx, ax
shr ecx, 2
imul ecx, ecx, 0x147b
shr ecx, 0x11
imul edx, ecx, 0x64
sub eax, edx
lea rdx, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899GetSystemTimePreciseAsFileTime
movzx ecx, word [rdx + rcx*2]
mov word [r12 + 1], cx
movzx eax, ax
movzx eax, word [rdx + rax*2]
mov word [r12 + 3], ax
mov r13d, 5
jmp 0x140067d10
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 0x140067d10
mov ecx, ecx
lea rdx, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899GetSystemTimePreciseAsFileTime
movzx ecx, word [rdx + rcx*2]
mov word [r12], cx
movzx ecx, ax
shr ecx, 2
imul ecx, ecx, 0x147b
shr ecx, 0x11
imul r8d, ecx, 0x64
sub eax, r8d
movzx ecx, word [rdx + rcx*2]
mov word [r12 + 2], cx
movzx eax, ax
movzx eax, word [rdx + rax*2]
mov word [r12 + 4], ax
mov r13d, 6
jmp 0x140067d10
lea rdi, [rsp + 0x29]
mov byte [rdi - 1], 0x2d
neg edx
jmp 0x140067ccd
mov rcx, rsi
call fcn.1401edfba
mov ecx, edx
or ecx, 1
bsr ecx, ecx
xor ecx, 0xffffffe0
imul ecx, ecx, 0x4d1
add ecx, 0x9ef1
shr ecx, 0xc
lea r8, [0x140306540]
cmp edx, dword [r8 + rcx*4]
sbb ecx, 0
inc ecx
cmp rax, rcx
jge 0x140067cdd
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
lea rdx, str....._buildtools_third_partylibc_trunk_src_string.cpp
lea r9, str.res.ec__errc__
mov r8d, 0x168
call fcn.1401c469a
mov eax, edx
cmp edx, 0x5f5e0ff
jbe 0x14006800e
imul rcx, rax, 0x55e63b89
shr rcx, 0x39
imul r8d, ecx, 0x5f5e100
mov eax, edx
sub eax, r8d
cmp edx, 0x3b9ac9ff
ja 0x14006809f
add cl, 0x30
mov byte [r12], cl
mov ecx, eax
imul rdx, rcx, 0x431bde83
shr rdx, 0x32
imul ecx, edx, 0xf4240
sub eax, ecx
lea rcx, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899GetSystemTimePreciseAsFileTime
movzx edx, word [rcx + rdx*2]
mov word [r12 + 1], dx
mov edx, 0xd1b71759
imul rdx, rax
shr rdx, 0x2d
imul r8d, edx, 0x2710
sub eax, r8d
movzx edx, word [rcx + rdx*2]
mov word [r12 + 3], dx
movzx edx, ax
shr edx, 2
imul edx, edx, 0x147b
shr edx, 0x11
imul r8d, edx, 0x64
sub eax, r8d
movzx edx, word [rcx + rdx*2]
mov word [r12 + 5], dx
movzx eax, ax
movzx eax, word [rcx + rax*2]
mov word [r12 + 7], ax
mov r13d, 9
jmp 0x140067d10
mov r15, rbp
or r15, 0xf
inc r15
mov rcx, r15
call fcn.14016ecd4
mov r14, rax
mov qword [rsi], rax
bts r15, 0x3f
mov qword [rsi + 0x10], r15
mov qword [rsi + 8], rbp
jmp 0x140067d42
imul rcx, rax, 0x431bde83
shr rcx, 0x32
imul r8d, ecx, 0xf4240
mov eax, edx
sub eax, r8d
cmp edx, 0x98967f
jbe 0x14006812b
mov edx, ecx
lea rcx, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899GetSystemTimePreciseAsFileTime
movzx edx, word [rcx + rdx*2]
mov word [r12], dx
mov edx, eax
mov r8d, 0xd1b71759
imul r8, rdx
shr r8, 0x2d
imul edx, r8d, 0x2710
sub eax, edx
movzx edx, word [rcx + r8*2]
mov word [r12 + 2], dx
movzx edx, ax
shr edx, 2
imul edx, edx, 0x147b
shr edx, 0x11
imul r8d, edx, 0x64
sub eax, r8d
movzx edx, word [rcx + rdx*2]
mov word [r12 + 4], dx
movzx eax, ax
movzx eax, word [rcx + rax*2]
mov word [r12 + 6], ax
mov r13d, 8
jmp 0x140067d10
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
mov edx, 0xd1b71759
imul rdx, rax
shr rdx, 0x2d
imul r8d, edx, 0x2710
sub eax, r8d
movzx edx, word [rcx + rdx*2]
mov word [r12 + 4], dx
movzx edx, ax
shr edx, 2
imul edx, edx, 0x147b
shr edx, 0x11
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 0x140067d10
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
movzx edx, ax
shr edx, 2
imul edx, edx, 0x147b
shr edx, 0x11
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 0x140067d10