Function at 0x20257fc0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rsi
push rdi
sub rsp, 0x138
mov rsi, rcx
mov rdi, qword [rcx + 0x18]
mov eax, dword [0x205b4aa0]
mov ecx, dword [0x205b73d8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 0x26838]
jg 0x20258218
cmp rdi, qword [0x205b4a90]
jae 0x20258005
xor eax, eax
jmp 0x202581e0
mov eax, dword [0x205b4aa0]
mov ecx, dword [0x205b73d8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 0x26838]
jg 0x202582c6
mov r8, qword [0x205b4a90]
cmp qword [rsi + 0x20], 0x10
jb 0x2025803e
mov rax, qword [rsi + 8]
jmp 0x20258042
lea rax, [rsi + 8]
mov rdi, 0xffffffffffffffff
test r8, r8
je 0x202581ad
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x202581ad
cmp qword [0x205b4a98], 0x10
jb 0x20258072
mov rdx, qword [0x205b4a80]
jmp 0x20258079
lea rdx, [0x205b4a80]
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, r8
mov r9, rdx
and r10, 7
je 0x20258116
lea r9, [rdx + 1]
dec r10
movzx r11d, byte [r9 - 1]
mov byte [rsp + r11 + 0x30], 1
sub r10, 1
jb 0x20258116
inc r9
jmp 0x20258100
cmp r8, 8
jb 0x20258180
add rdx, r8
nop
movzx r8d, byte [r9]
mov byte [rsp + r8 + 0x30], 1
movzx r8d, byte [r9 + 1]
mov byte [rsp + r8 + 0x30], 1
movzx r8d, byte [r9 + 2]
mov byte [rsp + r8 + 0x30], 1
movzx r8d, byte [r9 + 3]
mov byte [rsp + r8 + 0x30], 1
movzx r8d, byte [r9 + 4]
mov byte [rsp + r8 + 0x30], 1
movzx r8d, byte [r9 + 5]
mov byte [rsp + r8 + 0x30], 1
movzx r8d, byte [r9 + 6]
mov byte [rsp + r8 + 0x30], 1
movzx r8d, byte [r9 + 7]
mov byte [rsp + r8 + 0x30], 1
add r9, 8
cmp r9, rdx
jne 0x20258120
add rcx, qword [0x20567e28]
movabs rdx, 0xf587a609cf2a9833
add rdx, rcx
movzx r8d, byte [rax + rdx]
cmp byte [rsp + r8 + 0x30], 0
je 0x202581ea
add rdx, rax
mov r8, rdx
sub r8, rax
mov rdi, r8
mov eax, dword [0x205b4aa0]
mov ecx, dword [0x205b73d8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 0x26838]
jg 0x20258390
add rdi, qword [0x205b4a90]
cmp rdi, qword [rsi + 0x18]
sete al
add rsp, 0x138
pop rdi
pop rsi
ret
add rcx, rax
movabs r8, 0xf587a609cf2a9832
add r8, rcx
test rdx, rdx
je 0x202581ad
nop
movzx ecx, byte [r8]
cmp byte [rsp + rcx + 0x30], 0
jne 0x202581a7
dec r8
dec rdx
test rdx, rdx
jne 0x20258200
jmp 0x202581ad
mov dword [rsp + 0x28], 0x30444f19
mov dword [rsp + 0x20], 0x790a6c13
lea rdx, [0x205b4aa0]
mov ecx, 1
xor r8d, r8d
xor r9d, r9d
call fcn.202592e0
cmp dword [0x205b4aa0], 0xffffffff
jne 0x20257ff5
mov qword [0x205b4a98], 0xf
mov qword [0x205b4a90], 1
movzx eax, byte [0x20567e34]
add al, 0xcd
mov byte [0x205b4a80], al
mov byte [0x205b4a81], 0
lea rax, [0x2046c448]
mov qword [0x205b4a78], rax
lea rcx, [0x202588c0]
mov edx, 0x243c7059
mov r8d, 0xf35f354a
call fcn.20100d90
mov dword [rsp + 0x28], 0x30444f19
mov dword [rsp + 0x20], 0x790a6c13
lea rdx, [0x205b4aa0]
xor ecx, ecx
xor r8d, r8d
xor r9d, r9d
call fcn.202592e0
jmp 0x20257ff5
mov dword [rsp + 0x28], 0x30444f19
mov dword [rsp + 0x20], 0x790a6c13
lea rdx, [0x205b4aa0]
mov ecx, 1
xor r8d, r8d
xor r9d, r9d
call fcn.202592e0
cmp dword [0x205b4aa0], 0xffffffff
jne 0x2025802a
mov qword [0x205b4a98], 0xf
mov qword [0x205b4a90], 1
mov word [0x205b4a80], 0x5c
lea rax, [0x2046c448]
mov qword [0x205b4a78], rax
lea rcx, [0x202588c0]
mov edx, 0x243c7059
mov r8d, 0xf35f354a
call fcn.20100d90
mov eax, dword [0x20567e30]
lea ecx, [rax - 0x29d3419b]
movabs r9, 0xf587a609cf2a9834
add r9, qword [0x20567e28]
lea edx, [rax + 0x4f372a78]
mov r8d, eax
xor r8d, 0x6710d7e
and eax, 0x6710d7e
lea eax, [r8 + rax*2]
mov dword [rsp + 0x20], edx
mov dword [rsp + 0x28], eax
lea rdx, [0x205b4aa0]
mov r8d, ecx
call fcn.202592e0
jmp 0x2025802a
mov dword [rsp + 0x28], 0x30444f19
mov dword [rsp + 0x20], 0x790a6c13
lea rdx, [0x205b4aa0]
mov ecx, 1
xor r8d, r8d
xor r9d, r9d
call fcn.202592e0
mov eax, 0xd62cbe64
add eax, dword [0x20567e30]
cmp dword [0x205b4aa0], eax
jne 0x202581d2
movabs rax, 0xf587a609cf2a9843
add rax, qword [0x20567e28]
mov qword [0x205b4a98], rax
mov qword [0x205b4a90], 1
mov word [0x205b4a80], 0x5c
lea rax, [0x2046c448]
mov qword [0x205b4a78], rax
lea rcx, [0x202588c0]
mov edx, 0x243c7059
mov r8d, 0xf35f354a
call fcn.20100d90
mov dword [rsp + 0x28], 0x30444f19
mov dword [rsp + 0x20], 0x790a6c13
lea rdx, [0x205b4aa0]
xor ecx, ecx
xor r8d, r8d
xor r9d, r9d
call fcn.202592e0
jmp 0x202581d2