Function at 0x140242290
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x130
mov rsi, rcx
mov rbx, qword [rcx + 0x18]
mov eax, dword [0x140565140]
mov ecx, dword [0x140567a90]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 0x26838]
jg 0x140242548
cmp rbx, qword [0x140565130]
jae 0x1402422d6
xor eax, eax
jmp 0x140242504
mov eax, dword [0x140565140]
mov ecx, dword [0x140567a90]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 0x26838]
jg 0x14024261d
mov rdx, qword [0x140565130]
mov rcx, qword [rsi + 0x18]
cmp qword [rsi + 0x20], 0x10
jb 0x140242313
mov rax, qword [rsi + 8]
jmp 0x140242317
lea rax, [rsi + 8]
movabs r8, 0xda76e847ae2b0bb2
add r8, qword [0x140524848]
cmp rdx, r8
setne r8b
sete r9b
test rcx, rcx
sete r10b
setne r11b
and r11b, r9b
and r8b, r10b
or r8b, r11b
and r9b, r10b
mov rdi, 0xffffffffffffffff
cmp r8b, r9b
jne 0x1402424d1
cmp qword [0x140565138], 0x10
jb 0x14024236d
mov r8, qword [0x140565120]
jmp 0x140242374
lea r8, [0x140565120]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x120], xmm0
movaps xmmword [rsp + 0x110], xmm0
movaps xmmword [rsp + 0x100], xmm0
movaps xmmword [rsp + 0xf0], xmm0
movaps xmmword [rsp + 0xe0], xmm0
movaps xmmword [rsp + 0xd0], xmm0
movaps xmmword [rsp + 0xc0], xmm0
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x30], xmm0
mov r10, rdx
not r10
mov r9d, r10d
and r9d, 7
mov r11, rdx
and r11, 0xfffffffffffffff8
or r11, r9
and r10, 0xfffffffffffffff8
xor r10, r11
mov r9, r8
cmp r10, 0xffffffffffffffff
je 0x140242436
lea r9, [r8 + 1]
mov r11, 0xfffffffffffffffe
sub r11, r10
nop dword [rax]
movzx r10d, byte [r9 - 1]
mov byte [rsp + r10 + 0x30], 1
sub r11, 1
jb 0x140242436
inc r9
jmp 0x140242420
cmp rdx, 8
jb 0x1402424a4
add r8, rdx
nop
movzx edx, byte [r9]
mov byte [rsp + rdx + 0x30], 1
movzx edx, byte [r9 + 1]
mov byte [rsp + rdx + 0x30], 1
movzx edx, byte [r9 + 2]
mov byte [rsp + rdx + 0x30], 1
movzx edx, byte [r9 + 3]
movzx r10d, byte [0x140524850]
add r10b, 0x4b
mov byte [rsp + rdx + 0x30], r10b
movzx edx, byte [r9 + 4]
mov byte [rsp + rdx + 0x30], 1
movzx edx, byte [r9 + 5]
mov byte [rsp + rdx + 0x30], 1
movzx edx, byte [r9 + 6]
mov byte [rsp + rdx + 0x30], 1
movzx edx, byte [r9 + 7]
mov byte [rsp + rdx + 0x30], 1
add r9, 8
cmp r9, r8
jne 0x140242440
add rcx, qword [0x140524848]
movabs rdx, 0xda76e847ae2b0bb1
add rdx, rcx
movzx r8d, byte [rax + rdx]
cmp byte [rsp + r8 + 0x30], 0
je 0x14024250f
add rdx, rax
mov r8, rdx
sub r8, rax
mov rdi, r8
mov eax, dword [0x140565140]
mov ecx, dword [0x140567a90]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 0x26838]
jg 0x1402426cc
add rdi, qword [0x140565130]
cmp rdi, qword [rsi + 0x18]
sete al
add rsp, 0x130
pop rbx
pop rdi
pop rsi
ret
add rcx, rax
movabs r8, 0xda76e847ae2b0bb0
add r8, rcx
test rdx, rdx
je 0x1402424d1
nop word cs:[rax + rax]
movzx ecx, byte [r8]
cmp byte [rsp + rcx + 0x30], 0
jne 0x1402424cb
dec r8
dec rdx
test rdx, rdx
jne 0x140242530
jmp 0x1402424d1
lea rdi, [0x140565140]
mov dword [rsp + 0x28], 0x4ec226c8
mov dword [rsp + 0x20], 0x24a31183
xor ecx, ecx
mov edx, 1
mov r8, rdi
xor r9d, r9d
call fcn.1402446f0
cmp dword [0x140524840], 0x980c9031
je 0x1402425a1
mov dword [rsp + 0x28], 0x4ec226c8
mov dword [rsp + 0x20], 0x24a31183
xor ecx, ecx
mov edx, 1
mov r8, rdi
xor r9d, r9d
call fcn.1402446f0
jmp 0x14024254f
cmp dword [0x140565140], 0xffffffff
jne 0x1402422c6
mov qword [0x140565138], 0xf
mov qword [0x140565130], 1
mov word [0x140565120], 0x5c
lea rax, [0x140426b18]
mov qword [0x140565118], rax
lea rcx, [0x140242c00]
mov edx, 0x1414002d
mov r8d, 0xb74fb92a
call fcn.1400aa8f0
mov dword [rsp + 0x28], 0x4ec226c8
mov dword [rsp + 0x20], 0x24a31183
lea r8, [0x140565140]
mov ecx, 1
xor edx, edx
xor r9d, r9d
call fcn.1402446f0
jmp 0x1402422c6
mov dword [rsp + 0x28], 0x4ec226c8
mov dword [rsp + 0x20], 0x24a31183
lea r8, [0x140565140]
xor ecx, ecx
mov edx, 1
xor r9d, r9d
call fcn.1402446f0
cmp dword [0x140565140], 0xffffffff
jne 0x1402422fb
mov qword [0x140565138], 0xf
movabs rax, 0xda76e847ae2b0bb3
add rax, qword [0x140524848]
mov qword [0x140565130], rax
mov word [0x140565120], 0x5c
lea rax, [0x140426b18]
mov qword [0x140565118], rax
lea rcx, [0x140242c00]
mov edx, 0x1414002d
mov r8d, 0xb74fb92a
call fcn.1400aa8f0
mov dword [rsp + 0x28], 0x4ec226c8
mov dword [rsp + 0x20], 0x24a31183
lea r8, [0x140565140]
mov ecx, 1
xor edx, edx
xor r9d, r9d
call fcn.1402446f0
jmp 0x1402422fb
mov dword [rsp + 0x28], 0x4ec226c8
mov dword [rsp + 0x20], 0x24a31183
lea r8, [0x140565140]
xor ecx, ecx
mov edx, 1
xor r9d, r9d
call fcn.1402446f0
mov eax, 0x67f36fce
add eax, dword [0x140524840]
cmp dword [0x140565140], eax
jne 0x1402424f6
movabs rax, 0xda76e847ae2b0bc1
add rax, qword [0x140524848]
mov qword [0x140565138], rax
mov qword [0x140565130], 1
mov byte [0x140565120], 0x5c
movzx eax, byte [0x140524850]
add al, 0x4a
mov byte [0x140565121], al
lea rax, [0x140426b18]
mov qword [0x140565118], rax
lea rcx, [0x140242c00]
mov edx, 0x1414002d
mov r8d, 0xb74fb92a
call fcn.1400aa8f0
mov dword [rsp + 0x28], 0x4ec226c8
mov dword [rsp + 0x20], 0x24a31183
lea r8, [0x140565140]
mov ecx, 1
xor edx, edx
xor r9d, r9d
call fcn.1402446f0
jmp 0x1402424f6