Function at 0x63a0f0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
pop eax
cmp ecx, 3
ja 0x639e30
add eax, dword [ecx*4 + 0x63a0e0]
mov ecx, ebx
jmp eax
cmp ecx, 0xf
ja 0x639e52
movzx eax, bx
shr eax, cl
test eax, eax
je 0x639e52
lea eax, [ecx - 1]
test bx, bx
mov dword [ebp - 0x10], eax
je 0x639ea0
bsr ax, bx
xor eax, 0xf
jmp 0x639ea4
xor ecx, ecx
test bx, bx
setne cl
mov eax, ecx
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
ret
mov ax, 0x10
mov edx, ecx
mov dword [ebp - 0x1c], ecx
sub edx, eax
add dl, 0xe
movzx eax, dl
div cl
mov ecx, eax
mov eax, 1
mov byte [ebp - 0x17], cl
shl eax, cl
mov ecx, dword [ebp - 0x10]
mov esi, eax
mov dword [ebp - 0x14], eax
mov word [ebp - 0x16], bx
test cl, 1
jne 0x639f0d
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
mov esi, eax
nop dword [eax + eax]
mov eax, esi
mul si
jo 0x639f42
mov ebx, ecx
shr ecx, 1
mov esi, eax
test bl, 2
je 0x639ee0
cmp ebx, 4
movzx ebx, word [ebp - 0x16]
jae 0x639f0d
test si, si
je 0x63a0bb
mov eax, ebx
xor edx, edx
div si
jmp 0x639f44
mov edi, esi
jmp 0x639f2d
mov esi, eax
mov eax, ecx
shr eax, 1
cmp ecx, 3
mov ecx, eax
jbe 0x639efb
mov eax, edi
mul di
jo 0x639f42
mov edi, eax
test cl, 2
je 0x639f22
mov eax, esi
mul di
jno 0x639f20
xor eax, eax
mov esi, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x10]
test si, si
je 0x63a0bb
mov edx, ebx
movzx ecx, byte [ebp - 0x17]
shl edx, cl
add eax, edx
xor edx, edx
div si
mov ecx, dword [ebp - 0x14]
cmp ax, cx
ja 0x639f8f
jmp 0x63a036
mov ebx, dword [ebp - 0x10]
xor eax, eax
mov ecx, dword [ebp - 0x14]
xor edx, edx
imul ecx, ebx
add eax, ecx
mov ecx, dword [ebp - 0x14]
div word [ebp - 0x1c]
cmp cx, ax
jae 0x63a036
test bl, 1
mov esi, eax
mov dword [ebp - 0x14], eax
jne 0x639fc4
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
mov esi, eax
nop word cs:[eax + eax]
nop dword [eax + eax]
mov eax, esi
mul si
jo 0x639f70
mov ebx, ecx
mov esi, eax
shr ebx, 1
test cl, 2
mov ecx, ebx
je 0x639fb0
cmp ebx, 2
mov edi, esi
jae 0x639ffd
mov ebx, dword [ebp - 0x10]
test di, di
je 0x63a0bb
movzx eax, word [ebp - 0x16]
xor edx, edx
div di
jmp 0x639f75
mov edi, eax
mov eax, ebx
shr eax, 1
cmp ebx, 3
mov ebx, eax
jbe 0x639fcb
mov eax, esi
mul si
jo 0x639f70
mov esi, eax
test bl, 2
je 0x639ff2
mov eax, edi
mul si
jno 0x639ff0
jmp 0x639f70
mov ebx, dword [ebp - 0x10]
xor eax, eax
mov ecx, dword [ebp - 0x14]
xor edx, edx
imul ecx, ebx
add eax, ecx
mov ecx, dword [ebp - 0x14]
div word [ebp - 0x1c]
cmp cx, ax
jbe 0x639e5a
test bl, 1
mov esi, eax
mov dword [ebp - 0x14], eax
jne 0x63a074
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
mov esi, eax
nop word cs:[eax + eax]
nop dword [eax + eax]
mov eax, esi
mul si
jo 0x63a020
mov ebx, ecx
mov esi, eax
shr ebx, 1
test cl, 2
mov ecx, ebx
je 0x63a060
cmp ebx, 2
mov edi, esi
jae 0x63a09d
mov ebx, dword [ebp - 0x10]
test di, di
je 0x63a0bb
movzx eax, word [ebp - 0x16]
xor edx, edx
div di
jmp 0x63a025
mov edi, eax
mov eax, ebx
shr eax, 1
cmp ebx, 3
mov ebx, eax
jbe 0x63a07b
mov eax, esi
mul si
jo 0x63a020
mov esi, eax
test bl, 2
je 0x63a092
mov eax, edi
mul si
jno 0x63a090
jmp 0x63a020
push 0x6f318c
push 0x19
push 0x6f3170
call fcn.004faaf0
push 0x6f318c
push 0x1e
push str.cant_find_a_root_of_degree_0__home_runner_.cargo_registry_src_index.crates.io_6f17d22bba15001f_num_integer_0.1.46_src_roots.rs
call fcn.004faaf0
nop dword [eax]
test dword [edx], 0x850000
add byte [eax], al
adc dword [eax], eax
add byte [eax], al
pop dword [eax]
add byte [eax], al
push ebp
mov ebp, esp
push ebx
push esi
movzx esi, word [ebp + 8]
cmp si, 4
jae 0x63a109
xor ebx, ebx
test si, si
setne bl
jmp 0x63a16a
bsr cx, si
movzx eax, si
mov ebx, 1
xor ecx, 0xfffffff0
add ecx, 0x11
shr ecx, 1
shl ebx, cl
shr eax, cl
add eax, ebx
movzx ecx, ax
shr ecx, 1
cmp cx, bx
jbe 0x63a149
nop dword [eax]
mov eax, esi
xor edx, edx
mov ebx, ecx
div cx
add eax, ecx
movzx eax, ax
shr eax, 1
cmp cx, ax
mov ecx, eax
jb 0x63a130
jmp 0x63a165
mov eax, ecx
jmp 0x63a165
test ax, ax
je 0x63a170
mov ebx, eax
mov eax, esi
xor edx, edx
div bx
add eax, ebx
movzx eax, ax
shr eax, 1
cmp bx, ax
ja 0x63a150
mov eax, ebx
pop esi
pop ebx
pop ebp
ret
push 0x6f318c
push 0x19
push 0x6f3170
call fcn.004faaf0
nop word cs:[eax + eax]
nop dword [eax + eax]
push ebp
mov ebp, esp
push ebx
push edi
push esi
movzx esi, word [ebp + 8]
mov edi, 0x13
mov ecx, esi
mov eax, esi
shr ecx, 0xf
and eax, 0x7fff
lea edx, [ecx*4]
add ecx, ecx
test si, si
mov esi, 1
cmovs esi, edi
mov edi, eax
shr edi, 0xc
cmp di, si
jb 0x63a1e4
movzx edi, dx
movzx esi, si
movzx ecx, cx
movzx eax, ax
mov edx, edi
shl esi, 0xc
or ecx, 1
or edx, 1
sub eax, esi
add edx, edi
movzx esi, cx
movzx edx, dx
movzx ebx, ax
lea ecx, [esi + esi]
shr ebx, 9
lea edi, [ecx + edx*4]
shl edx, 2
lea edi, [edi + edi*2 + 1]
cmp bx, di
jb 0x63a217
movzx edi, di
movzx edx, dx
movzx ecx, cx
shl edi, 9
lea edx, [edx + esi*4 + 1]
or ecx, 1
sub eax, edi
movzx ecx, cx
movzx edx, dx
movzx ebx, ax
lea esi, [ecx + ecx]
shr ebx, 6
lea edi, [esi + edx*4]
shl edx, 2
lea edi, [edi + edi*2 + 1]
cmp bx, di
jb 0x63a24a
movzx edi, di
movzx edx, dx
movzx esi, si
shl edi, 6
lea edx, [edx + ecx*4 + 1]
or esi, 1
sub eax, edi
movzx esi, si
movzx ecx, dx
movzx ebx, ax
lea edx, [esi + esi]
shr ebx, 3
lea edi, [edx + ecx*4]
shl ecx, 2
lea edi, [edi + edi*2 + 1]
cmp bx, di
jb 0x63a27a
movzx ecx, cx
movzx edx, dx
shl edi, 3
sub eax, edi
lea ecx, [ecx + esi*4 + 1]
or edx, 1
movzx edx, dx
xor ebx, ebx
lea esi, [edx + edx]
lea ecx, [esi + ecx*4]
lea ecx, [ecx + ecx*2 + 1]
cmp ax, cx
setae bl
lea eax, [ebx + edx*2]
pop esi
pop edi
pop ebx
pop ebp
ret