Function at 0x18032c3c0
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
mov rdi, r9
mov r9, qword [rsp + 0xe0]
test r9, r9
je 0x18032c42c
mov r14, rdx
mov rbx, rcx
mov r10, qword [rsp + 0xf0]
mov r11, qword [rsp + 0xe8]
cmp rdi, r10
jle 0x18032c7ef
cmp r9, r10
jle 0x18032c7ef
test rdi, rdi
je 0x18032c42c
mov eax, dword [r14 + 4]
neg rdi
xor r13d, r13d
mov r12, rdi
mov ecx, dword [rbx + r13 + 4]
cmp eax, ecx
jb 0x18032c451
add r13, 8
inc r12
jne 0x18032c41a
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [rbx + r13]
mov rdx, qword [r14]
mov qword [rbx + r13], rdx
mov dword [r14], eax
mov dword [r14 + 4], ecx
jmp 0x18032c42c
mov rax, r12
neg rax
lea rbp, [rbx + r13]
cmp rax, r9
mov qword [rsp + 0x58], r8
mov qword [rsp + 0x70], rbp
jl 0x18032c4e2
cmp r12, 0xffffffffffffffff
je 0x18032c43d
mov rcx, rax
shr rcx, 0x3f
add rcx, rax
sar rcx, 1
mov qword [rsp + 0x50], rcx
lea rsi, [rbx + rcx*8]
mov rcx, r8
mov r15, r8
sub rcx, r14
je 0x18032c4c7
sar rcx, 3
mov eax, dword [r13 + rsi + 4]
mov r15, r14
mov rdx, rcx
shr rdx, 1
mov r8, rdx
not r8
add r8, rcx
lea rcx, [r15 + rdx*8]
add rcx, 8
cmp dword [rcx - 4], eax
cmovae r8, rdx
cmovb r15, rcx
mov rcx, r8
test r8, r8
jne 0x18032c49d
lea rbp, [rsi + r13]
mov rdx, r15
sub rdx, r14
sar rdx, 3
add rsi, r13
jmp 0x18032c558
mov rsi, r14
mov rbp, r14
jmp 0x18032c542
mov rdx, r9
shr rdx, 0x3f
add rdx, r9
sar rdx, 1
cmp rbp, r14
je 0x18032c4da
mov rsi, r9
mov rcx, r14
sub rcx, rbx
sub rcx, r13
sar rcx, 3
mov rdi, rdx
mov eax, dword [r14 + rdx*8 + 4]
mov rdx, rbp
mov r8, rcx
shr r8, 1
mov r9, r8
not r9
add r9, rcx
lea rbp, [rbp + r8*8 + 8]
cmp eax, dword [rbp - 4]
cmovb rbp, rdx
cmovb r9, r8
mov rcx, r9
test r9, r9
jne 0x18032c50c
mov rax, rbp
mov r9, rsi
mov rsi, rbp
mov rdx, rdi
lea r15, [r14 + rdx*8]
mov rax, rsi
sub rax, rbx
sub rax, r13
sar rax, 3
mov qword [rsp + 0x50], rax
mov r8, r15
cmp rbp, r14
mov qword [rsp + 0x68], rsi
je 0x18032c679
mov r8, rsi
cmp r14, r15
je 0x18032c679
lea rax, [rbp + 8]
cmp rax, r14
mov qword [rsp + 0x48], r9
mov qword [rsp + 0x40], rdx
je 0x18032c5f3
lea rax, [r14 + 8]
cmp rax, r15
je 0x18032c636
mov rcx, r15
sub rcx, r14
mov r8, r14
sub r8, rsi
sar r8, 3
sar rcx, 3
mov rax, r8
mov rdx, rcx
cmp r8, rcx
jne 0x18032c72e
xor eax, eax
mov r9, qword [rsp + 0x48]
lea rcx, [rax + rbp]
add rcx, 8
mov rdx, qword [rcx - 8]
mov r8, qword [r14 + rax]
mov qword [rcx - 8], r8
mov qword [r14 + rax], rdx
cmp rcx, r14
je 0x18032c671
lea rcx, [r14 + rax]
add rcx, 8
add rax, 8
cmp rcx, r15
jne 0x18032c5bf
jmp 0x18032c671
mov rax, qword [rbp]
mov qword [rsp + 0x38], rax
mov rsi, r15
sub rsi, r14
mov rcx, rbp
mov rdx, r14
mov r8, rsi
mov r14, r11
mov rdi, r10
call fcn.1803665d0
mov rdx, qword [rsp + 0x40]
mov r9, qword [rsp + 0x48]
mov r10, rdi
mov r11, r14
lea r14, [rsi + rbp]
mov rax, qword [rsp + 0x38]
mov qword [rbp + rsi], rax
jmp 0x18032c676
lea r8, [r15 - 8]
mov rax, qword [r15 - 8]
mov qword [rsp + 0x38], rax
sub r8, rsi
mov r14, r15
sub r14, r8
mov rcx, r14
mov rdx, rbp
mov rdi, r11
mov rsi, r10
call fcn.1803665d0
mov r9, qword [rsp + 0x48]
mov r10, rsi
mov r11, rdi
mov rax, qword [rsp + 0x38]
mov qword [rbp], rax
mov rdx, qword [rsp + 0x40]
mov r8, r14
mov r14, qword [rsp + 0x50]
lea rdi, [r14 + r12]
neg rdi
mov rsi, r9
sub rsi, rdx
lea rax, [r14 + rdx]
sub r9, rax
sub r9, r12
cmp rax, r9
jl 0x18032c6e1
mov qword [rsp + 0x30], r10
mov qword [rsp + 0x28], r11
mov qword [rsp + 0x20], rsi
mov rcx, r8
mov rbx, rdx
mov rdx, r15
mov r12, r8
mov r8, qword [rsp + 0x58]
mov r9, rdi
mov rsi, r11
mov rdi, r10
call fcn.18032c3c0
mov r10, rdi
mov r11, rsi
mov r15, rbp
mov rdi, r14
mov rsi, rbx
mov r8, r12
mov rbx, qword [rsp + 0x70]
jmp 0x18032c71a
add rbx, r13
mov qword [rsp + 0x30], r10
mov qword [rsp + 0x28], r11
mov qword [rsp + 0x20], rdx
mov rcx, rbx
mov rdx, qword [rsp + 0x68]
mov r12, r8
mov r9, r14
mov rbx, r11
mov r14, r10
call fcn.18032c3c0
mov r10, r14
mov r11, rbx
mov rbx, r12
mov r8, qword [rsp + 0x58]
mov r9, rsi
mov r14, r15
test rsi, rsi
jne 0x18032c3f6
jmp 0x18032c42c
mov r9, rdx
cqo
idiv r9
mov rax, r9
test rdx, rdx
jne 0x18032c72e
mov qword [rsp + 0x60], r10
mov qword [rsp + 0x38], r11
test r9, r9
je 0x18032c7a8
lea rax, [r9*8]
add rax, rbp
mov edx, dword [rax - 8]
mov r9d, dword [rax - 4]
lea r11, [rax + r8*8]
add r11, 0xfffffffffffffff8
add rax, 0xfffffffffffffff8
mov rsi, rax
mov r10, r11
mov r11, qword [r11]
mov qword [rsi], r11
mov r11, r15
sub r11, r10
sar r11, 3
mov rsi, r8
sub rsi, r11
lea rdi, [r10 + r8*8]
lea r11, [rbp + rsi*8]
cmovl r11, rdi
mov rsi, r10
cmp r11, rax
jne 0x18032c76e
mov dword [r10], edx
mov dword [r10 + 4], r9d
cmp rax, rbp
jne 0x18032c758
lea r14, [rcx*8]
add r14, rbp
mov r11, qword [rsp + 0x38]
mov r10, qword [rsp + 0x60]
mov r9, qword [rsp + 0x48]
jmp 0x18032c671
cmp rax, r11
je 0x18032c42c
xor ecx, ecx
lea rdx, [rax + rcx]
add rdx, 0xfffffffffffffff8
mov r9, qword [rdx]
mov qword [r8 + rcx], r9
add rcx, 0xfffffffffffffff8
cmp rdx, r11
jne 0x18032c7d2
jmp 0x18032c42c
cmp rdi, r9
jle 0x18032c860
cmp r14, r8
je 0x18032c42c
xor eax, eax
lea rcx, [r14 + rax]
add rcx, 8
mov rdx, qword [rcx - 8]
mov qword [r11 + rax], rdx
add rax, 8
cmp rcx, r8
jne 0x18032c7ff
test rax, rax
je 0x18032c42c
add rax, r11
add r8, 0xfffffffffffffff8
cmp r14, rbx
je 0x18032c7c7
lea rcx, [rax - 8]
mov edx, dword [rax - 4]
cmp edx, dword [r14 - 4]
lea rdx, [r14 - 8]
mov r9, rax
cmovb r9, r14
cmovb r14, rdx
cmovae rax, rcx
mov rcx, qword [r9 - 8]
mov qword [r8], rcx
add r8, 0xfffffffffffffff8
cmp rax, r11
jne 0x18032c828
jmp 0x18032c42c
cmp rbx, r14
je 0x18032c42c
xor ecx, ecx
xor eax, eax
lea rdx, [rbx + rcx]
add rdx, 8
mov r9, qword [rdx - 8]
mov qword [r11 + rcx], r9
add rax, 0xfffffffffffffff8
add rcx, 8
cmp rdx, r14
jne 0x18032c86d
test rax, rax
je 0x18032c42c
mov rcx, r11
sub rcx, rax
mov rdx, r11
cmp r14, r8
je 0x18032c8d9
mov esi, dword [r14 + 4]
xor r9d, r9d
xor r10d, r10d
cmp esi, dword [rdx + 4]
setb r9b
setae r10b
mov rsi, r14
cmovae rsi, rdx
lea rdx, [rdx + r10*8]
lea r14, [r14 + r9*8]
mov r9, qword [rsi]
mov qword [rbx], r9
add rbx, 8
cmp rcx, rdx
jne 0x18032c89c
jmp 0x18032c42c
sub r11, rdx
sub r11, rax
mov rcx, rbx
mov r8, r11
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.1803665d0