Function at 0x10200ec0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
push ebx
push esi
mov eax, ecx
or esi, 0xffffffff
push edi
mov edx, eax
mov dword [esp + 0x18], eax
lea ecx, [esi + 5]
call fcn.10200c30
test eax, eax
je 0x10200f01
movzx esi, byte [eax + 3]
movzx ecx, byte [eax + 2]
shl esi, 8
or esi, ecx
movzx ecx, byte [eax + 1]
movzx eax, byte [eax]
shl esi, 8
or esi, ecx
shl esi, 8
or esi, eax
mov eax, dword [0x103fb118]
cmp dword [eax + 0x34], 0
jne 0x1020112b
test esi, esi
jne 0x10200f24
push esi
call sym.python310.dll__PyLong_New
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, 0x80000001
jl 0x102010e5
mov eax, esi
cdq
mov edi, eax
xor edi, edx
sub edi, edx
push edi
mov dword [esp + 0x20], edi
call sym.python310.dll__PyLong_New
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x1020112b
mov eax, edi
test esi, esi
jg 0x10200f58
neg eax
mov dword [ebx + 8], eax
lea eax, [edi - 1]
mov dword [esp + 0x10], 0
test eax, eax
jle 0x10201019
lea eax, [ebx + 0xc]
mov dword [esp + 0x14], eax
nop word [eax + eax]
mov dword [esp + 0xc], 0
xor edi, edi
mov ax, word [esp + 0xc]
mov word [esp + 0xc], ax
mov edx, dword [esp + 0x18]
or esi, 0xffffffff
lea ecx, [esi + 3]
call fcn.10200c30
test eax, eax
je 0x10200fc3
movzx ecx, byte [eax + 1]
movzx eax, byte [eax]
shl cx, 8
or cx, ax
movzx esi, cx
mov eax, esi
and eax, 0xffff8000
neg eax
or esi, eax
mov eax, dword [0x103fb118]
cmp dword [eax + 0x34], 0
jne 0x1020111a
test si, si
js 0x102010c8
mov ax, word [esp + 0xc]
mov ecx, edi
shl si, cl
add edi, 0xf
add ax, si
mov word [esp + 0xc], ax
cmp edi, 0xf
jl 0x10200f94
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
mov word [edx], ax
add edx, 2
mov eax, dword [esp + 0x1c]
dec eax
mov dword [esp + 0x14], edx
cmp ecx, eax
jl 0x10200f80
mov dword [esp + 0xc], 0
xor edi, edi
mov ax, word [esp + 0xc]
mov word [esp + 0xc], ax
nop dword [eax]
mov edx, dword [esp + 0x18]
or esi, 0xffffffff
lea ecx, [esi + 3]
call fcn.10200c30
test eax, eax
je 0x1020105f
movzx ecx, byte [eax + 1]
movzx eax, byte [eax]
shl cx, 8
or cx, ax
movzx esi, cx
mov eax, esi
and eax, 0xffff8000
neg eax
or esi, eax
mov eax, dword [0x103fb118]
cmp dword [eax + 0x34], 0
jne 0x1020111a
test si, si
js 0x102010c8
jne 0x10201079
test edi, edi
je 0x102010b0
mov ecx, edi
add edi, 0xf
shl si, cl
mov cx, word [esp + 0xc]
add cx, si
mov word [esp + 0xc], cx
cmp edi, 0xf
jl 0x10201030
mov eax, dword [0x103fb118]
cmp dword [eax + 0x34], 0
jne 0x1020111a
mov eax, dword [esp + 0x1c]
mov word [ebx + eax*2 + 0xa], cx
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
add dword [ebx], 0xffffffff
jne 0x102010c1
mov eax, dword [ebx + 4]
push ebx
mov eax, dword [eax + 0x18]
call eax
add esp, 4
mov ecx, str.bad_marshal_data__unnormalized_long_data_
jmp 0x102010ea
add dword [ebx], 0xffffffff
jne 0x102010d9
mov eax, dword [ebx + 4]
push ebx
mov eax, dword [eax + 0x18]
call eax
add esp, 4
mov edx, 0x2d
mov ecx, str.bad_marshal_data__digit_out_of_range_in_long_
jmp 0x102010ef
mov ecx, str.bad_marshal_data__long_size_out_of_range_
mov edx, 0x29
mov esi, dword [sym.python310.dll_PyExc_ValueError]
mov edi, dword [0x103fb118]
push 0
push 0
push 0
call fcn.101599e0
add esp, 0xc
mov ebx, eax
push ebx
push esi
push edi
call sym.python310.dll__PyErr_SetObject
add esp, 0xc
test ebx, ebx
je 0x1020112b
add dword [ebx], 0xffffffff
jne 0x1020112b
mov eax, dword [ebx + 4]
push ebx
mov eax, dword [eax + 0x18]
call eax
add esp, 4
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret