Function at 0x100ca890
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, 0x1b8
mov byte [rsp + 0x2c], r9b
mov ebx, r8d
mov r13, rdx
mov r15, rcx
mov qword [rsp + 0x108], rdx
mov qword [rsp + 0x100], rcx
mov qword [rsp + 0xf0], 0xa
mov qword [rsp + 0xf8], 0
lea rcx, [rsp + 0x100]
lea rdx, [rsp + 0xf0]
call dbg.__umodti3
cmp r15, 0xa
mov rax, r13
sbb rax, 0
mov byte [rsp + 0x2b], bl
jb 0x100caa89
movq rax, xmm0
pshufd xmm0, xmm0, 0xee
movq rcx, xmm0
xor ebp, ebp
or rcx, rax
jne 0x100ca9de
lea rbx, [rsp + 0xd0]
lea rdi, [rsp + 0x130]
lea r14, [rsp + 0xc0]
nop word cs:[rax + rax]
mov rsi, r13
mov r12, r15
mov qword [rsp + 0xe0], r15
mov qword [rsp + 0xe8], r13
mov qword [rsp + 0xd0], 0xa
mov qword [rsp + 0xd8], 0
lea rcx, [rsp + 0xe0]
mov rdx, rbx
call dbg.__udivti3
movq r15, xmm0
pshufd xmm1, xmm0, 0xee
movq r13, xmm1
inc rbp
movdqa xmmword [rsp + 0x130], xmm0
mov qword [rsp + 0xc0], 0xa
mov qword [rsp + 0xc8], 0
mov rcx, rdi
mov rdx, r14
call dbg.__umodti3
cmp r12, 0x64
sbb rsi, 0
jb 0x100ca9de
movq rax, xmm0
pshufd xmm0, xmm0, 0xee
movq rcx, xmm0
or rcx, rax
je 0x100ca940
mov r12, qword [rsp + 0x220]
cmp dword [r12 + 0x20], 1
jne 0x100caa9f
mov rax, qword [r12 + 0x28]
mov qword [rsp + 0x30], rax
cmp r15, 0xa
mov rax, r13
sbb rax, 0
jb 0x100caaaa
xor r14d, r14d
lea r12, [rsp + 0xa0]
mov ebx, 0x63
mov rsi, r15
mov rdi, r13
nop word cs:[rax + rax]
mov qword [rsp + 0xb0], rsi
mov qword [rsp + 0xb8], rdi
mov qword [rsp + 0xa0], 0xa
mov qword [rsp + 0xa8], 0
lea rcx, [rsp + 0xb0]
mov rdx, r12
call dbg.__udivti3
inc r14
cmp rbx, rsi
movq rsi, xmm0
mov eax, 0
sbb rax, rdi
pshufd xmm0, xmm0, 0xee
movq rdi, xmm0
jb 0x100caa30
jmp 0x100caaad
xor ebp, ebp
mov r12, qword [rsp + 0x220]
cmp dword [r12 + 0x20], 1
je 0x100ca9f2
xor r8d, r8d
mov rsi, rbp
jmp 0x100cabe5
xor r14d, r14d
xor eax, eax
mov rbx, qword [rsp + 0x30]
mov r8, rbx
sub r8, r14
cmovb r8, rax
mov rsi, r14
sub rsi, rbx
cmovb rsi, rax
cmp rsi, 2
jb 0x100cab5e
mov qword [rsp + 0x38], r8
mov r12, qword [rsp + 0x220]
add rsi, rbp
cmp r14, rbx
cmovb rbx, r14
not rbx
add rbx, r14
lea rbp, [rsp + 0x90]
lea rdi, [rsp + 0x80]
nop
mov qword [rsp + 0x90], r15
mov qword [rsp + 0x98], r13
mov qword [rsp + 0x80], 0xa
mov qword [rsp + 0x88], 0
mov rcx, rbp
mov rdx, rdi
call dbg.__udivti3
movq r15, xmm0
pshufd xmm0, xmm0, 0xee
movq r13, xmm0
dec rbx
jne 0x100cab00
dec rsi
mov r8, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
cmp r14, rbx
ja 0x100cab6e
jmp 0x100cabe5
mov rsi, rbp
mov r12, qword [rsp + 0x220]
cmp r14, rbx
jbe 0x100cabe5
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x78], r13
mov qword [rsp + 0x60], 0xa
mov qword [rsp + 0x68], 0
lea rcx, [rsp + 0x70]
lea rdx, [rsp + 0x60]
mov rdi, r8
call dbg.__udivti3
mov r8, rdi
pshufd xmm1, xmm0, 0xee
movq rcx, xmm0
mov edx, 0xa
mov rax, rcx
mul rdx
movq rbx, xmm1
lea rdi, [rbx + rbx*4]
lea rdx, [rdx + rdi*2]
sub r15, rax
sbb r13, rdx
inc rsi
xor eax, eax
mov edx, 4
cmp rdx, r15
sbb rax, r13
adc rcx, 0
adc rbx, 0
mov r15, rcx
mov r13, rbx
cmp r15, 0x64
mov rax, r13
sbb rax, 0
jb 0x100caca4
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x30], rsi
xor ebx, ebx
lea r12, [rsp + 0x50]
lea r14, [rsp + 0x40]
lea rsi, [0x1057701e]
mov edi, 0x270f
nop dword [rax + rax]
mov rbp, r15
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x40], 0x64
mov qword [rsp + 0x48], 0
mov rcx, r12
mov rdx, r14
call dbg.__udivti3
pshufd xmm1, xmm0, 0xee
movq r15, xmm0
imul rax, r15, 0x64
mov rcx, rbp
sub rcx, rax
movzx eax, word [rsi + rcx*2]
mov word [rsp + rbx + 0x1b6], ax
add rbx, 0xfffffffffffffffe
cmp rdi, rbp
mov eax, 0
sbb rax, r13
movq r13, xmm1
jb 0x100cac20
mov rsi, qword [rsp + 0x30]
mov rax, rsi
sub rax, rbx
add rbx, 0x28
mov r12, qword [rsp + 0x220]
mov r8, qword [rsp + 0x38]
cmp r15, 9
ja 0x100cacb2
jmp 0x100cacda
mov ebx, 0x28
mov rax, rsi
cmp r15, 9
jbe 0x100cacda
movzx ecx, r15b
imul r15d, ecx, 0xcd
shr r15d, 0xb
lea edx, [r15 + r15]
lea edx, [rdx + rdx*4]
sub cl, dl
or cl, 0x30
mov byte [rsp + rbx + 0x18f], cl
dec rbx
inc rax
cmp rax, rsi
jne 0x100cace4
test r8, r8
je 0x100cacef
mov byte [rsp + rbx + 0x18f], 0x2e
dec rbx
lea rdx, [rsp + 0x190]
lea rcx, [rbx + rdx]
dec rcx
add r15b, 0x30
mov byte [rbx + rdx - 1], r15b
mov edx, 0x29
sub rdx, rbx
movzx ebx, byte [rsp + 0x2c]
xor bl, 1
shl bl, 5
or bl, 0x45
mov byte [rsp + 0x2d], bl
cmp rax, 0xa
jae 0x100cad34
add al, 0x30
mov byte [rsp + 0x2e], al
mov eax, 2
jmp 0x100cad4d
mov rbx, r12
lea rbp, [0x1057701e]
movzx eax, word [rbp + rax*2]
mov word [rsp + 0x2e], ax
mov eax, 3
movzx ebx, byte [rsp + 0x2b]
mov word [rsp + 0x148], 2
mov qword [rsp + 0x150], rcx
mov qword [rsp + 0x158], rdx
mov word [rsp + 0x160], 0
mov qword [rsp + 0x168], r8
mov word [rsp + 0x178], 2
lea rcx, [rsp + 0x2d]
mov qword [rsp + 0x180], rcx
mov qword [rsp + 0x188], rax
test bl, bl
je 0x100cadbe
mov eax, dword [r12 + 0x30]
and rax, 1
lea rdx, str.librarycore_src_num_f32.rs
lea rcx, [0x10575ed9]
cmove rcx, rdx
jmp 0x100cadca
mov eax, 1
lea rcx, str._0infNaN0E00e0assertion_failed:_ndigits___0
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x118], rax
lea rax, [rsp + 0x148]
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], 3
lea rdx, [rsp + 0x110]
mov rcx, r12
call dbg.pad_formatted_parts
nop
add rsp, 0x1b8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret