Function at 0x4b9230
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov rax, qword [sym.imp.libssp_0.dll___stack_chk_guard]
mov r13d, dword [rdx + 0x20]
mov rsi, rcx
mov rdi, rdx
mov r12d, r8d
mov rcx, qword [rax]
mov qword [rsp + 0x38], rcx
xor ecx, ecx
cmp dword [rdx + 0x30], r13d
jle 0x4b9350
mov r14, qword [rdx + 8]
movzx ebp, byte [rsi + 0xa]
movsxd r15, r13d
movzx ebx, byte [r14 + r15]
and ebp, 0xffffffef
mov byte [rsi + 0xa], bpl
mov byte [rsi], bl
cmp bl, 0x5c
je 0x4b9318
movzx ecx, bl
mov byte [rsi + 8], 1
call qword [sym.imp.msvcrt.dll_isalnum]
test eax, eax
setne al
cmp bl, 0x5f
sete cl
or eax, ecx
shl eax, 4
or eax, ebp
mov byte [rsi + 0xa], al
cmp bl, 0x3f
ja 0x4b9330
cmp bl, 9
jbe case.0x4b9349.1
sub ebx, 0xa
cmp bl, 0x35
ja case.0x4b9349.1
lea rdx, [0x00591980]
movzx ebx, bl
movsxd rax, dword [rdx + rbx*4]
add rax, rdx
jmp rax
cmp byte [r14 + r15 - 1], 0xa
jne case.0x4b9349.1
and r12d, 0x800
jne 0x4b94fc
mov eax, 1
mov rdi, qword [sym.imp.libssp_0.dll___stack_chk_guard]
mov rsi, qword [rsp + 0x38]
xor rsi, qword [rdi]
jne 0x4b979a
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
add r13d, 1
cmp r13d, dword [rdx + 0x28]
jl 0x4b9360
mov byte [rsi + 8], 0x24
mov eax, 1
jmp 0x4b92eb
sub ebx, 0x5b
cmp bl, 0x22
ja case.0x4b9349.1
lea rdx, [0x00591a58]
movzx ebx, bl
movsxd rax, dword [rdx + rbx*4]
add rax, rdx
jmp rax
mov byte [rsi + 8], 2
xor eax, eax
jmp 0x4b92eb
cmp byte [rdx + 0x4b], 0
jne 0x4b9787
movsxd r13, r13d
movzx ebx, byte [r14 + r13]
movzx edi, bl
mov byte [rsi], bl
mov byte [rsi + 8], 1
mov ecx, edi
call qword [sym.imp.msvcrt.dll_isalnum]
test eax, eax
jne 0x4b9550
cmp bl, 0x5f
je 0x4b9560
shl eax, 4
sub ebx, 0x27
or eax, ebp
mov byte [rsi + 0xa], al
cmp bl, 0x56
ja case.0x4b93b9.3
lea rdx, [0x00591ae4]
movzx ebx, bl
movsxd rax, dword [rdx + rbx*4]
add rax, rdx
jmp rax
and r12d, 0x1200
mov eax, 1
cmp r12d, 0x1200
jne 0x4b92eb
mov byte [rsi + 8], 0x18
jmp 0x4b92eb
and r12d, 0x800
mov eax, 1
je 0x4b92eb
mov byte [rsi + 8], 0xa
mov eax, 1
jmp 0x4b92eb
test r12b, 8
jne 0x4b9440
add r13d, 1
cmp r13d, dword [rdi + 0x28]
je 0x4b9440
mov dword [rdi + 0x20], r13d
mov rdx, rdi
lea rcx, [rsp + 0x20]
mov r8d, r12d
call fcn.004b9230
movzx eax, byte [rsp + 0x28]
sub dword [rdi + 0x20], 1
lea edx, [rax - 9]
mov eax, 1
cmp dl, 1
ja 0x4b92eb
nop dword [rax + rax]
mov byte [rsi + 8], 0xc
mov eax, 1
mov dword [rsi], 0x20
jmp 0x4b92eb
and r12d, 0x2000
mov eax, 1
je 0x4b92eb
mov byte [rsi + 8], 8
jmp 0x4b92eb
and r12d, 0x2000
mov eax, 1
je 0x4b92eb
mov byte [rsi + 8], 9
jmp 0x4b92eb
mov byte [rsi + 8], 0xb
mov eax, 1
jmp 0x4b92eb
and r12d, 0x402
mov eax, 1
jne 0x4b92eb
mov byte [rsi + 8], 0x12
jmp 0x4b92eb
mov byte [rsi + 8], 5
mov eax, 1
jmp 0x4b92eb
and r12d, 0x402
mov eax, 1
jne 0x4b92eb
mov byte [rsi + 8], 0x13
jmp 0x4b92eb
mov byte [rsi + 8], 0x14
mov eax, 1
jmp 0x4b92eb
test r12d, 0x400008
jne 0x4b94fc
test r13d, r13d
jne 0x4b92d1
mov byte [rsi + 8], 0xc
mov eax, 1
mov dword [rsi], 0x10
jmp 0x4b92eb
and r12d, 0x1200
mov eax, 1
cmp r12d, 0x1200
jne 0x4b92eb
mov byte [rsi + 8], 0x17
jmp 0x4b92eb
and r12d, 0x8400
cmp r12d, 0x8000
jne case.0x4b9349.1
jmp 0x4b93ef
mov eax, 1
jmp 0x4b9394
mov eax, ebp
or eax, 0x10
mov byte [rsi + 0xa], al
nop dword [rax + rax]
mov eax, 2
jmp 0x4b92eb
and r12d, 0x4000
mov eax, 2
jne 0x4b92eb
sub edi, 0x31
mov byte [rsi + 8], 4
mov dword [rsi], edi
jmp 0x4b92eb
and r12d, 0x80000
mov eax, 2
jne 0x4b92eb
mov byte [rsi + 8], 0xc
mov dword [rsi], 6
jmp 0x4b92eb
and r12d, 0x1200
mov eax, 2
cmp r12d, 0x200
jne 0x4b92eb
jmp 0x4b93d4
and r12d, 0x8400
mov eax, 2
jne 0x4b92eb
mov byte [rsi + 8], 0xa
jmp 0x4b92eb
and r12d, 0x1200
mov eax, 2
cmp r12d, 0x200
jne 0x4b92eb
jmp 0x4b9529
and r12d, 0x80000
mov eax, 2
jne 0x4b92eb
mov byte [rsi + 8], 0x20
jmp 0x4b92eb
and r12d, 0x402
mov eax, 2
cmp r12d, 2
jne 0x4b92eb
jmp 0x4b94aa
and r12d, 0x2000
mov eax, 2
jne 0x4b92eb
jmp 0x4b9481
and r12d, 0x2000
mov eax, 2
jne 0x4b92eb
jmp 0x4b9466
and r12d, 0x80000
mov eax, 2
jne 0x4b92eb
mov byte [rsi + 8], 0xc
mov dword [rsi], pe_nt_image_headers64
jmp 0x4b92eb
and r12d, 0x80000
mov eax, 2
jne 0x4b92eb
mov byte [rsi + 8], 0x22
jmp 0x4b92eb
and r12d, 0x80000
mov eax, 2
jne 0x4b92eb
mov byte [rsi + 8], 0xc
mov dword [rsi], 0x100
jmp 0x4b92eb
and r12d, 0x80000
mov eax, 2
jne 0x4b92eb
mov byte [rsi + 8], 0xc
mov dword [rsi], 0x40
jmp 0x4b92eb
and r12d, 0x80000
mov eax, 2
jne 0x4b92eb
mov byte [rsi + 8], 0x21
jmp 0x4b92eb
and r12d, 0x80000
mov eax, 2
jne 0x4b92eb
mov byte [rsi + 8], 0x23
jmp 0x4b92eb
and r12d, 0x80000
mov eax, 2
jne 0x4b92eb
mov byte [rsi + 8], 0xc
mov dword [rsi], 0x200
jmp 0x4b92eb
and r12d, 0x402
mov eax, 2
cmp r12d, 2
jne 0x4b92eb
jmp 0x4b94d3
and r12d, 0x80000
mov eax, 2
jne 0x4b92eb
mov byte [rsi + 8], 0xc
mov dword [rsi], 9
jmp 0x4b92eb
mov rcx, qword [rdx]
add r13d, dword [rdx + 0x10]
movsxd rax, r13d
movzx ebx, byte [rcx + rax]
jmp 0x4b9372
call sub.libssp_0.dll___stack_chk_fail
nop