Function at 0x4603c0
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov dword [ebp - 0x10], ecx
cmp esi, dword [ebp + 0xc]
je 0x4604ff
mov eax, dword [ebp + 0x14]
mov dword [ebp + 8], eax
mov edi, edi
mov edx, dword [0x502fb4]
mov edi, dword [0x502f88]
mov eax, dword [0x502f20]
mov ecx, dword [str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
jmp 0x460400
movsx ebx, byte [esi]
cmp dword [0x502fb0], ebx
je 0x460485
cmp edx, ebx
je 0x46047e
cmp ecx, ebx
jg 0x46041f
cmp dword [0x502f1c], ebx
jl 0x46041f
sub ebx, ecx
jmp 0x460443
cmp eax, ebx
jg 0x460432
cmp dword [0x502f84], ebx
jl 0x460432
sub ebx, eax
add ebx, 0x1a
jmp 0x460443
cmp edi, ebx
jg 0x460462
cmp dword [0x502fac], ebx
jl 0x460462
sub ebx, edi
add ebx, 0x34
test ebx, ebx
jns 0x46044c
cmp ebx, 0xfffffffe
je 0x460467
cmp ebx, 0xffffffff
jne 0x46048a
mov eax, dword [ebp + 0x18]
pop edi
or dword [eax], 2
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
cmp ebx, 0x3d
je 0x460451
inc esi
cmp esi, dword [ebp + 0xc]
jne 0x460400
mov ecx, dword [ebp + 0x18]
pop edi
or dword [ecx], 3
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov ebx, 0x3f
jmp 0x46048a
mov ebx, 0x3e
inc esi
shl bl, 2
cmp esi, dword [ebp + 0xc]
je 0x4604f9
movsx edx, byte [esi]
cmp dword [0x502fb0], edx
je 0x460511
cmp dword [0x502fb4], edx
je 0x46050a
cmp ecx, edx
jg 0x4604b6
cmp dword [0x502f1c], edx
jl 0x4604b6
sub edx, ecx
jmp 0x4604da
cmp eax, edx
jg 0x4604c9
cmp dword [0x502f84], edx
jl 0x4604c9
sub edx, eax
add edx, 0x1a
jmp 0x4604da
cmp edi, edx
jg 0x4604ea
cmp dword [0x502fac], edx
jl 0x4604ea
sub edx, edi
add edx, 0x34
cmp edx, 0xfffffffe
je 0x4604f3
cmp edx, 0xffffffff
je 0x460451
jmp 0x460516
cmp edx, 0x3d
je 0x460451
inc esi
cmp esi, dword [ebp + 0xc]
jne 0x460493
mov eax, dword [ebp + 0x18]
or dword [eax], 3
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov edx, 0x3f
jmp 0x460516
mov edx, 0x3e
mov eax, edx
sar eax, 4
xor al, bl
and al, 3
inc esi
xor bl, al
shl dl, 4
cmp esi, dword [ebp + 0xc]
je 0x4604f9
lea ebx, [ebx]
movsx ecx, byte [esi]
cmp dword [0x502fb0], ecx
je 0x4605e4
cmp dword [0x502fb4], ecx
je 0x4605dd
mov eax, dword [str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
cmp eax, ecx
jg 0x460560
cmp dword [0x502f1c], ecx
jl 0x460560
sub ecx, eax
jmp 0x460589
mov eax, dword [0x502f20]
cmp eax, ecx
jg 0x460578
cmp dword [0x502f84], ecx
jl 0x460578
sub ecx, eax
add ecx, 0x1a
jmp 0x460589
cmp edi, ecx
jg 0x4605bd
cmp dword [0x502fac], ecx
jl 0x4605bd
sub ecx, edi
add ecx, 0x34
cmp ecx, 0xfffffffe
je 0x4605c2
cmp ecx, 0xffffffff
jne 0x4605e9
inc esi
cmp esi, dword [ebp + 0xc]
jne 0x46088c
mov eax, dword [ebp + 0x18]
lea ecx, [ebp + 0x10]
or dword [eax], 1
lea eax, [ebp + 0xf]
push eax
mov byte [ebp + 0xf], bl
call fcn.00462960
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
cmp ecx, 0x3d
je 0x460593
inc esi
cmp esi, dword [ebp + 0xc]
jne 0x460530
mov eax, dword [ebp + 0x18]
pop edi
or dword [eax], 3
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov ecx, 0x3f
jmp 0x4605e9
mov ecx, 0x3e
mov eax, ecx
sar eax, 2
xor al, dl
and al, 0xf
xor dl, al
inc esi
shl cl, 6
mov dword [ebp - 8], edx
cmp esi, dword [ebp + 0xc]
je 0x4606ad
mov edx, dword [0x502f20]
lea ebx, [ebx]
movsx eax, byte [esi]
cmp dword [0x502fb0], eax
je 0x4606c5
cmp dword [0x502fb4], eax
je 0x4606be
cmp dword [str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_], eax
jg 0x460643
cmp dword [0x502f1c], eax
jl 0x460643
sub eax, dword [str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
jmp 0x460667
cmp edx, eax
jg 0x460656
cmp dword [0x502f84], eax
jl 0x460656
sub eax, edx
add eax, 0x1a
jmp 0x460667
cmp edi, eax
jg 0x46069e
cmp dword [0x502fac], eax
jl 0x46069e
sub eax, edi
add eax, 0x34
cmp eax, 0xfffffffe
je 0x4606a3
cmp eax, 0xffffffff
jne 0x4606ca
lea eax, [ebp + 0xf]
push eax
lea ecx, [ebp + 0x10]
mov byte [ebp + 0xf], bl
call fcn.00462960
mov eax, dword [ebp - 8]
mov byte [ebp + 0xf], al
lea eax, [ebp + 0xf]
push eax
lea ecx, [ebp + 0x10]
call fcn.00462960
pop edi
lea eax, [esi + 1]
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
cmp eax, 0x3d
je 0x460671
inc esi
cmp esi, dword [ebp + 0xc]
jne 0x460610
mov eax, dword [ebp + 0x18]
pop edi
or dword [eax], 1
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov eax, 0x3f
jmp 0x4606ca
mov eax, 0x3e
mov edi, dword [ebp + 0x10]
xor al, cl
mov edx, dword [edi + 4]
and al, 0x3f
xor cl, al
mov eax, dword [ebp + 8]
sub eax, dword [edi]
mov dword [ebp + 8], eax
mov dword [ebp - 0xc], ecx
mov ecx, dword [edi + 8]
cmp edx, ecx
jne 0x460729
mov eax, ecx
sub eax, edx
cmp eax, 1
jae 0x460729
mov eax, dword [edi]
sub eax, edx
dec eax
cmp eax, 1
jb 0x4608b8
sub ecx, dword [edi]
sub edx, dword [edi]
mov eax, ecx
shr eax, 1
mov dword [ebp - 4], eax
or eax, 0xffffffff
sub eax, dword [ebp - 4]
inc edx
cmp eax, ecx
jae 0x460719
xor ecx, ecx
jmp 0x46071c
add ecx, dword [ebp - 4]
cmp ecx, edx
cmovb ecx, edx
push ecx
mov ecx, edi
call fcn.00463a60
mov eax, dword [edi + 4]
test eax, eax
je 0x460732
mov byte [eax], bl
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
add eax, dword [ebp + 8]
lea edx, [ecx - 1]
cmp eax, edx
je 0x460757
cmp edx, ecx
je 0x460757
push 0
push 0
push ecx
push edx
push eax
call fcn.0045f7f0
add esp, 0x14
mov ebx, dword [edi]
mov edi, dword [ebp + 0x10]
inc ebx
add ebx, dword [ebp + 8]
mov dword [ebp + 0x14], ebx
sub ebx, dword [edi]
mov edx, dword [edi + 4]
mov ecx, dword [edi + 8]
mov dword [ebp - 4], ebx
cmp edx, ecx
jne 0x4607b3
mov eax, ecx
sub eax, edx
cmp eax, 1
jae 0x4607b3
mov eax, dword [edi]
sub eax, edx
dec eax
cmp eax, 1
jb 0x4608b8
sub ecx, dword [edi]
sub edx, dword [edi]
mov eax, ecx
shr eax, 1
mov dword [ebp + 8], eax
or eax, 0xffffffff
sub eax, dword [ebp + 8]
inc edx
cmp eax, ecx
jae 0x4607a3
xor ecx, ecx
jmp 0x4607a6
add ecx, dword [ebp + 8]
cmp ecx, edx
cmovb ecx, edx
push ecx
mov ecx, edi
call fcn.00463a60
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x4607bf
mov eax, dword [ebp - 8]
mov byte [ecx], al
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
lea edx, [ecx - 1]
add eax, ebx
cmp eax, edx
je 0x4607e3
cmp edx, ecx
je 0x4607e3
push 0
push 0
push ecx
push edx
push eax
call fcn.0045f7f0
add esp, 0x14
mov ebx, dword [edi]
mov edi, dword [ebp + 0x10]
inc ebx
add ebx, dword [ebp - 4]
mov dword [ebp + 0x14], ebx
mov edx, dword [edi + 4]
mov ecx, dword [edi + 8]
sub ebx, dword [edi]
cmp edx, ecx
jne 0x46083c
mov eax, ecx
sub eax, edx
cmp eax, 1
jae 0x46083c
mov eax, dword [edi]
sub eax, edx
dec eax
cmp eax, 1
jb 0x4608b8
sub ecx, dword [edi]
sub edx, dword [edi]
mov eax, ecx
shr eax, 1
mov dword [ebp + 8], eax
or eax, 0xffffffff
sub eax, dword [ebp + 8]
inc edx
cmp eax, ecx
jae 0x46082c
xor ecx, ecx
jmp 0x46082f
add ecx, dword [ebp + 8]
cmp ecx, edx
cmovb ecx, edx
push ecx
mov ecx, edi
call fcn.00463a60
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x460848
mov eax, dword [ebp - 0xc]
mov byte [ecx], al
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
lea edx, [ecx - 1]
add eax, ebx
cmp eax, edx
je 0x46086c
cmp edx, ecx
je 0x46086c
push 0
push 0
push ecx
push edx
push eax
call fcn.0045f7f0
add esp, 0x14
mov eax, dword [edi]
inc eax
add eax, ebx
inc esi
mov dword [ebp + 8], eax
mov dword [ebp + 0x14], eax
cmp esi, dword [ebp + 0xc]
jne 0x4603e0
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
movsx eax, byte [esi]
mov ecx, dword [ebp - 0x10]
push eax
call fcn.00463d00
cmp eax, 0xffffffff
jne 0x46089e
inc esi
lea eax, [ebp + 0xf]
push eax
lea ecx, [ebp + 0x10]
mov byte [ebp + 0xf], bl
call fcn.00462960
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
push str.vector_T__too_long
call fcn.00495782
int3