Function at 0x140055d5c
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x70
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], r8
mov dword [rbp + 0x28], r9d
mov rax, qword [rbp + 0x20]
mov qword [rbp - 0x10], rax
mov rax, qword [rbp + 0x30]
mov qword [rbp - 0x18], rax
mov rax, qword [rbp - 0x10]
add rax, 1
movzx eax, byte [rax]
movzx eax, al
mov dword [rbp - 0x1c], eax
mov rax, qword [rbp - 0x18]
add rax, 1
movzx eax, byte [rax]
movzx eax, al
mov dword [rbp - 0x20], eax
mov rax, qword [rbp - 0x10]
movzx eax, byte [rax]
movzx edx, al
mov rax, qword [rbp - 0x10]
add rax, rdx
mov qword [rbp - 0x28], rax
mov rax, qword [rbp - 0x18]
movzx eax, byte [rax]
movzx edx, al
mov rax, qword [rbp - 0x18]
add rax, rdx
mov qword [rbp - 0x30], rax
mov eax, dword [rbp - 0x1c]
cmp eax, dword [rbp - 0x20]
jne 0x140055e73
mov eax, dword [rbp - 0x1c]
cdqe
lea rdx, [0x1401b7af8]
movzx eax, byte [rax + rdx]
mov byte [rbp - 0x31], al
mov dword [rbp - 4], 0
mov dword [rbp - 8], 0
jmp 0x140055e68
mov eax, dword [rbp - 8]
movsxd rdx, eax
mov rax, qword [rbp - 0x28]
add rax, rdx
movzx eax, byte [rax]
movzx edx, al
mov eax, dword [rbp - 8]
movsxd rcx, eax
mov rax, qword [rbp - 0x30]
add rax, rcx
movzx eax, byte [rax]
movzx eax, al
sub edx, eax
mov dword [rbp - 4], edx
cmp dword [rbp - 4], 0
je 0x140055e64
mov rax, qword [rbp - 0x28]
movzx edx, byte [rax]
mov rax, qword [rbp - 0x30]
movzx eax, byte [rax]
xor eax, edx
test al, al
jns 0x140055edf
mov rax, qword [rbp - 0x28]
movzx eax, byte [rax]
test al, al
jns 0x140055e5a
mov eax, 0xffffffff
jmp 0x140055e5f
mov eax, 1
mov dword [rbp - 4], eax
jmp 0x140055edf
add dword [rbp - 8], 1
movzx eax, byte [rbp - 0x31]
cmp dword [rbp - 8], eax
jl 0x140055dff
jmp 0x140055ee0
cmp dword [rbp - 0x1c], 7
jle 0x140055e8a
cmp dword [rbp - 0x20], 7
jle 0x140055e8a
mov eax, dword [rbp - 0x1c]
sub eax, dword [rbp - 0x20]
mov dword [rbp - 4], eax
jmp 0x140055ee0
cmp dword [rbp - 0x20], 7
jle 0x140055e99
mov dword [rbp - 4], 1
jmp 0x140055eb1
cmp dword [rbp - 0x1c], 7
jle 0x140055ea8
mov dword [rbp - 4], 0xffffffff
jmp 0x140055eb1
mov eax, dword [rbp - 0x1c]
sub eax, dword [rbp - 0x20]
mov dword [rbp - 4], eax
cmp dword [rbp - 4], 0
jle 0x140055ecb
mov rax, qword [rbp - 0x28]
movzx eax, byte [rax]
test al, al
jns 0x140055ee0
mov dword [rbp - 4], 0xffffffff
jmp 0x140055ee0
mov rax, qword [rbp - 0x30]
movzx eax, byte [rax]
test al, al
jns 0x140055ee0
mov dword [rbp - 4], 1
jmp 0x140055ee0
nop
cmp dword [rbp - 4], 0
jne 0x140055f29
mov rax, qword [rbp + 0x10]
mov rax, qword [rax + 0x10]
mov rax, qword [rax + 0x28]
movzx eax, word [rax + 6]
cmp ax, 1
jbe 0x140055f43
mov r9d, dword [rbp + 0x28]
mov r8, qword [rbp + 0x20]
mov rdx, qword [rbp + 0x18]
mov rax, qword [rbp + 0x10]
mov ecx, dword [rbp + 0x38]
mov dword [rsp + 0x28], ecx
mov rcx, qword [rbp + 0x30]
mov qword [rsp + 0x20], rcx
mov rcx, rax
call dbg.vdbeSorterCompareTail
mov dword [rbp - 4], eax
jmp 0x140055f43
mov rax, qword [rbp + 0x10]
mov rax, qword [rax + 0x10]
mov rax, qword [rax + 0x28]
mov rax, qword [rax + 0x18]
movzx eax, byte [rax]
test al, al
je 0x140055f43
neg dword [rbp - 4]
mov eax, dword [rbp - 4]
add rsp, 0x70
pop rbp
ret