Function at 0x6a4c24
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push ebx
sub esp, 0x54
mov eax, dword [ebp + 8]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x38], eax
mov eax, dword [sym.imp.libssp_0.dll___stack_chk_guard]
mov dword [ebp - 0xc], eax
xor eax, eax
mov edx, dword [ebp - 0x38]
mov eax, edx
shl eax, 2
add eax, edx
and eax, 0xfffffff8
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x38], 0x19999995
setbe al
movzx eax, al
test eax, eax
jne 0x6a48f8
mov dword [esp], str.src_lib_encoding_binascii.c
call fcn.006c14d2
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], str.srclen_____size_t__0x7fffffff_16_____5
mov dword [esp + 8], 0x79081c
mov dword [esp + 4], 0x63
mov dword [esp], eax
call fcn.006c1140
call fcn.006c14b8
mov eax, dword [ebp - 0x18]
shr eax, 3
cmp dword [ebp - 0x30], eax
setae al
movzx eax, al
test eax, eax
jne 0x6a4944
mov dword [esp], str.src_lib_encoding_binascii.c
call fcn.006c14d2
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], str._nbits_8____destlen
mov dword [esp + 8], 0x79081c
mov dword [esp + 4], 0x64
mov dword [esp], eax
call fcn.006c1140
call fcn.006c14b8
cmp dword [ebp - 0x30], 0x7fffffee
setbe al
movzx eax, al
test eax, eax
jne 0x6a498e
mov dword [esp], str.src_lib_encoding_binascii.c
call fcn.006c14d2
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], str.destlen_____size_t__0x7fffffff_16__
mov dword [esp + 8], 0x79081c
mov dword [esp + 4], 0x65
mov dword [esp], eax
call fcn.006c1140
call fcn.006c14b8
mov eax, dword [ebp - 0x30]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call sub.msvcrt.dll_memset
mov eax, dword [ebp - 0x38]
mov dword [esp], eax
call fcn.006c514f
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x20], 0
jmp 0x6a4ac6
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x60
jle 0x6a49fd
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x7a
jg 0x6a49fd
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
add eax, edx
movzx edx, byte [eax]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add eax, ecx
sub edx, 0x61
mov byte [eax], dl
jmp 0x6a4ac2
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x31
jle 0x6a4a38
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x37
jg 0x6a4a38
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
add eax, edx
movzx edx, byte [eax]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add eax, ecx
sub edx, 0x18
mov byte [eax], dl
jmp 0x6a4ac2
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x40
jle 0x6a4a70
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x5a
jg 0x6a4a70
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
add eax, edx
movzx edx, byte [eax]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add eax, ecx
sub edx, 0x41
mov byte [eax], dl
jmp 0x6a4ac2
mov dword [esp + 0x10], str.illegal_character_in_base32_encoded_string
mov dword [esp + 0xc], str.base32_decode
mov dword [esp + 4], 1
mov dword [esp + 8], 0
mov dword [esp], 4
call fcn.006bf072
lea eax, [ebp - 0x28]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0x10]
mov dword [eax], 0
mov eax, 0xffffffff
jmp 0x6a4d2d
add dword [ebp - 0x20], 1
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x38]
jb 0x6a49c2
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x1c], 0
jmp 0x6a4ce1
mov ecx, dword [ebp - 0x1c]
mov edx, 0xcccccccd
mov eax, ecx
mul edx
shr edx, 5
mov eax, edx
shl eax, 2
add eax, edx
shl eax, 3
sub ecx, eax
mov edx, ecx
cmp edx, 0x20
ja case.0x6a4b12.1
mov eax, dword [edx*4 + 0x7904a0]
jmp eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov edx, 0xcccccccd
mul edx
mov eax, edx
shr eax, 2
add eax, ecx
movzx eax, byte [eax]
movzx eax, al
shl eax, 3
mov ebx, eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov edx, 0xcccccccd
mul edx
mov eax, edx
shr eax, 2
add eax, 1
add eax, ecx
movzx eax, byte [eax]
shr al, 2
mov ecx, eax
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
add eax, edx
lea edx, [ebx + ecx]
mov byte [eax], dl
jmp case.0x6a4b12.1
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov edx, 0xcccccccd
mul edx
mov eax, edx
shr eax, 2
add eax, ecx
movzx eax, byte [eax]
movzx eax, al
shl eax, 6
mov ebx, eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov edx, 0xcccccccd
mul edx
mov eax, edx
shr eax, 2
add eax, 1
add eax, ecx
movzx eax, byte [eax]
movzx eax, al
add eax, eax
add ebx, eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov edx, 0xcccccccd
mul edx
mov eax, edx
shr eax, 2
add eax, 2
add eax, ecx
movzx eax, byte [eax]
shr al, 4
mov ecx, eax
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
add eax, edx
lea edx, [ebx + ecx]
mov byte [eax], dl
jmp case.0x6a4b12.1
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov edx, 0xcccccccd
mul edx
mov eax, edx
shr eax, 2
add eax, ecx
movzx eax, byte [eax]
movzx eax, al
shl eax, 4
mov ebx, eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov edx, 0xcccccccd
mul edx
mov eax, edx
shr eax, 2
add eax, 1
add eax, ecx
movzx eax, byte [eax]
shr al, 1
mov ecx, eax
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
add eax, edx
lea edx, [ebx + ecx]
mov byte [eax], dl
jmp case.0x6a4b12.1
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov edx, 0xcccccccd
mul edx
mov eax, edx
shr eax, 2
add eax, ecx
movzx eax, byte [eax]
movzx eax, al
shl eax, 7
mov ebx, eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov edx, 0xcccccccd
mul edx
mov eax, edx
shr eax, 2
add eax, 1
add eax, ecx
movzx eax, byte [eax]
movzx eax, al
shl eax, 2
add ebx, eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov edx, 0xcccccccd
mul edx
mov eax, edx
shr eax, 2
add eax, 2
add eax, ecx
movzx eax, byte [eax]
shr al, 3
mov ecx, eax
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
add eax, edx
lea edx, [ebx + ecx]
mov byte [eax], dl
jmp case.0x6a4b12.1
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov edx, 0xcccccccd
mul edx
mov eax, edx
shr eax, 2
add eax, ecx
movzx eax, byte [eax]
movzx eax, al
shl eax, 5
mov ebx, eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov edx, 0xcccccccd
mul edx
mov eax, edx
shr eax, 2
add eax, 1
add eax, ecx
movzx edx, byte [eax]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
add eax, ecx
add edx, ebx
mov byte [eax], dl
nop
add dword [ebp - 0x24], 1
add dword [ebp - 0x1c], 8
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x18]
jb 0x6a4ae5
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x38]
mov dword [esp + 8], edx
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msvcrt.dll_memset
lea eax, [ebp - 0x28]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0x14]
mov dword [eax], 0
mov dword [ebp - 0x28], 0
mov eax, dword [ebp - 0x24]
mov ebx, dword [ebp - 0xc]
xor ebx, dword [sym.imp.libssp_0.dll___stack_chk_guard]
je 0x6a4d3d
call sub.libssp_0.dll___stack_chk_fail
add esp, 0x54
pop ebx
pop ebp
ret