Function at 0x1400b4ef0
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 0x1400b5123
mov r12, rdi
sub rax, rdi
cmp rax, 9
jle 0x1400b515d
cmp edx, 0xf423f
ja 0x1400b524f
cmp edx, 0x270f
ja 0x1400b505e
cmp edx, 0x63
ja 0x1400b4fed
cmp edx, 9
ja 0x1400b4fd3
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 0x1400b51bc
cmp rbp, 0x16
ja 0x1400b5133
mov byte [rsi + 0x17], bpl
mov r14, rsi
cmp rbx, r12
je 0x1400b4fbb
sub rdi, rbx
add rdi, r13
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call fcn.14013efb0
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 0x1400b4f6d
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 0x1400b5033
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 0x1400b4f6d
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 0x1400b4f6d
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 0x1400b50ce
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 0x1400b4f6d
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 0x1400b4f6d
lea rdi, [rsp + 0x29]
mov byte [rdi - 1], 0x2d
neg edx
jmp 0x1400b4f2a
mov r15, rbp
or r15, 0xf
inc r15
mov rcx, r15
call fcn.14013a6b4
mov r14, rax
mov qword [rsi], rax
bts r15, 0x3f
mov qword [rsi + 0x10], r15
mov qword [rsi + 8], rbp
jmp 0x1400b4f9f
mov ecx, edx
or ecx, 1
bsr ecx, ecx
xor ecx, 0xffffffe0
imul ecx, ecx, 0x4d1
add ecx, 0x9ef1
shr ecx, 0xc
lea r8, [0x1402ec820]
cmp edx, dword [r8 + rcx*4]
sbb ecx, 0
inc ecx
cmp rax, rcx
jge 0x1400b4f3a
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.140181600
mov rcx, rsi
call fcn.140181600
imul rcx, rax, 0x431bde83
shr rcx, 0x32
imul r8d, ecx, 0xf4240
mov eax, edx
sub eax, r8d
cmp edx, 0x98967f
jbe 0x1400b537e
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 0x1400b4f6d
mov eax, edx
cmp edx, 0x5f5e0ff
jbe 0x1400b51c4
imul rcx, rax, 0x55e63b89
shr rcx, 0x39
imul r8d, ecx, 0x5f5e100
mov eax, edx
sub eax, r8d
cmp edx, 0x3b9ac9ff
ja 0x1400b52fa
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 0x1400b4f6d
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 0x1400b4f6d
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 0x1400b4f6d