Function at 0x463590
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 0x4636cf
mov eax, dword [ebp + 0x14]
mov dword [ebp + 8], eax
mov edi, edi
mov edx, dword [0x503ff4]
mov edi, dword [0x503fc8]
mov eax, dword [0x503f60]
mov ecx, dword [str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
jmp 0x4635d0
movsx ebx, byte [esi]
cmp dword [0x503ff0], ebx
je 0x463655
cmp edx, ebx
je 0x46364e
cmp ecx, ebx
jg 0x4635ef
cmp dword [0x503f5c], ebx
jl 0x4635ef
sub ebx, ecx
jmp 0x463613
cmp eax, ebx
jg 0x463602
cmp dword [0x503fc4], ebx
jl 0x463602
sub ebx, eax
add ebx, 0x1a
jmp 0x463613
cmp edi, ebx
jg 0x463632
cmp dword [0x503fec], ebx
jl 0x463632
sub ebx, edi
add ebx, 0x34
test ebx, ebx
jns 0x46361c
cmp ebx, 0xfffffffe
je 0x463637
cmp ebx, 0xffffffff
jne 0x46365a
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 0x463621
inc esi
cmp esi, dword [ebp + 0xc]
jne 0x4635d0
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 0x46365a
mov ebx, 0x3e
inc esi
shl bl, 2
cmp esi, dword [ebp + 0xc]
je 0x4636c9
movsx edx, byte [esi]
cmp dword [0x503ff0], edx
je 0x4636e1
cmp dword [0x503ff4], edx
je 0x4636da
cmp ecx, edx
jg 0x463686
cmp dword [0x503f5c], edx
jl 0x463686
sub edx, ecx
jmp 0x4636aa
cmp eax, edx
jg 0x463699
cmp dword [0x503fc4], edx
jl 0x463699
sub edx, eax
add edx, 0x1a
jmp 0x4636aa
cmp edi, edx
jg 0x4636ba
cmp dword [0x503fec], edx
jl 0x4636ba
sub edx, edi
add edx, 0x34
cmp edx, 0xfffffffe
je 0x4636c3
cmp edx, 0xffffffff
je 0x463621
jmp 0x4636e6
cmp edx, 0x3d
je 0x463621
inc esi
cmp esi, dword [ebp + 0xc]
jne 0x463663
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 0x4636e6
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 0x4636c9
lea ebx, [ebx]
movsx ecx, byte [esi]
cmp dword [0x503ff0], ecx
je 0x4637b4
cmp dword [0x503ff4], ecx
je 0x4637ad
mov eax, dword [str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
cmp eax, ecx
jg 0x463730
cmp dword [0x503f5c], ecx
jl 0x463730
sub ecx, eax
jmp 0x463759
mov eax, dword [0x503f60]
cmp eax, ecx
jg 0x463748
cmp dword [0x503fc4], ecx
jl 0x463748
sub ecx, eax
add ecx, 0x1a
jmp 0x463759
cmp edi, ecx
jg 0x46378d
cmp dword [0x503fec], ecx
jl 0x46378d
sub ecx, edi
add ecx, 0x34
cmp ecx, 0xfffffffe
je 0x463792
cmp ecx, 0xffffffff
jne 0x4637b9
inc esi
cmp esi, dword [ebp + 0xc]
jne 0x463a5c
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.00465b40
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
cmp ecx, 0x3d
je 0x463763
inc esi
cmp esi, dword [ebp + 0xc]
jne 0x463700
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 0x4637b9
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 0x46387d
mov edx, dword [0x503f60]
lea ebx, [ebx]
movsx eax, byte [esi]
cmp dword [0x503ff0], eax
je 0x463895
cmp dword [0x503ff4], eax
je 0x46388e
cmp dword [str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_], eax
jg 0x463813
cmp dword [0x503f5c], eax
jl 0x463813
sub eax, dword [str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
jmp 0x463837
cmp edx, eax
jg 0x463826
cmp dword [0x503fc4], eax
jl 0x463826
sub eax, edx
add eax, 0x1a
jmp 0x463837
cmp edi, eax
jg 0x46386e
cmp dword [0x503fec], eax
jl 0x46386e
sub eax, edi
add eax, 0x34
cmp eax, 0xfffffffe
je 0x463873
cmp eax, 0xffffffff
jne 0x46389a
lea eax, [ebp + 0xf]
push eax
lea ecx, [ebp + 0x10]
mov byte [ebp + 0xf], bl
call fcn.00465b40
mov eax, dword [ebp - 8]
mov byte [ebp + 0xf], al
lea eax, [ebp + 0xf]
push eax
lea ecx, [ebp + 0x10]
call fcn.00465b40
pop edi
lea eax, [esi + 1]
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
cmp eax, 0x3d
je 0x463841
inc esi
cmp esi, dword [ebp + 0xc]
jne 0x4637e0
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 0x46389a
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 0x4638f9
mov eax, ecx
sub eax, edx
cmp eax, 1
jae 0x4638f9
mov eax, dword [edi]
sub eax, edx
dec eax
cmp eax, 1
jb 0x463a88
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 0x4638e9
xor ecx, ecx
jmp 0x4638ec
add ecx, dword [ebp - 4]
cmp ecx, edx
cmovb ecx, edx
push ecx
mov ecx, edi
call fcn.00466c60
mov eax, dword [edi + 4]
test eax, eax
je 0x463902
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 0x463927
cmp edx, ecx
je 0x463927
push 0
push 0
push ecx
push edx
push eax
call fcn.004629c0
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 0x463983
mov eax, ecx
sub eax, edx
cmp eax, 1
jae 0x463983
mov eax, dword [edi]
sub eax, edx
dec eax
cmp eax, 1
jb 0x463a88
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 0x463973
xor ecx, ecx
jmp 0x463976
add ecx, dword [ebp + 8]
cmp ecx, edx
cmovb ecx, edx
push ecx
mov ecx, edi
call fcn.00466c60
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x46398f
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 0x4639b3
cmp edx, ecx
je 0x4639b3
push 0
push 0
push ecx
push edx
push eax
call fcn.004629c0
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 0x463a0c
mov eax, ecx
sub eax, edx
cmp eax, 1
jae 0x463a0c
mov eax, dword [edi]
sub eax, edx
dec eax
cmp eax, 1
jb 0x463a88
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 0x4639fc
xor ecx, ecx
jmp 0x4639ff
add ecx, dword [ebp + 8]
cmp ecx, edx
cmovb ecx, edx
push ecx
mov ecx, edi
call fcn.00466c60
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x463a18
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 0x463a3c
cmp edx, ecx
je 0x463a3c
push 0
push 0
push ecx
push edx
push eax
call fcn.004629c0
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 0x4635b0
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.00466f00
cmp eax, 0xffffffff
jne 0x463a6e
inc esi
lea eax, [ebp + 0xf]
push eax
lea ecx, [ebp + 0x10]
mov byte [ebp + 0xf], bl
call fcn.00465b40
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
push str.vector_T__too_long
call fcn.004963a2
int3