Function at 0x464770
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
mov ebx, dword [ebp + 0x10]
push esi
mov esi, dword [ebp + 8]
push edi
xor edi, edi
mov dword [ebp - 8], edi
mov dword [esi], edi
mov dword [esi + 4], edi
mov dword [esi + 8], edi
test ebx, ebx
je 0x464b78
push ebx
mov ecx, esi
call fcn.00464c40
test ebx, ebx
je 0x464b78
mov ecx, dword [ebp + 0xc]
dec ebx
mov dword [ebp + 0x10], ebx
mov bl, byte [ecx]
cmp bl, 0x3d
je 0x464987
movzx eax, bl
push eax
call fcn.0048fafb
add esp, 4
test eax, eax
jne 0x4647de
cmp bl, 0x2d
je 0x4647de
cmp bl, 0x5f
je 0x4647de
cmp bl, 0x2b
je 0x4647de
cmp bl, 0x2f
jne 0x464987
mov ecx, dword [ebp + 0xc]
mov al, byte [ecx]
inc ecx
mov byte [ebp + edi - 4], al
inc edi
mov dword [ebp - 8], edi
mov dword [ebp + 0xc], ecx
cmp edi, 4
jne 0x46497c
xor edi, edi
nop word [eax + eax]
mov cl, byte [ebp + edi - 4]
mov byte [ebp - 0xc], cl
cmp cl, 0x2d
je 0x464861
cmp cl, 0x2b
je 0x464861
cmp cl, 0x5f
je 0x46485a
cmp cl, 0x2f
je 0x46485a
lea eax, [ecx - 0x30]
cmp al, 9
ja 0x464839
push 0xa
push 0x4d26cc
push dword [ebp - 0xc]
call fcn.00464d20
add esp, 0xc
add eax, 0x34
jmp 0x464866
sub cl, 0x41
cmp cl, 0x39
ja 0x464855
push 0x34
push 0x4d2698
push dword [ebp - 0xc]
call fcn.00464d20
add esp, 0xc
jmp 0x464866
or eax, 0xffffffff
jmp 0x464866
mov eax, 0x3f
jmp 0x464866
mov eax, 0x3e
mov byte [ebp + edi - 4], al
inc edi
cmp edi, 4
jb 0x464800
mov eax, dword [ebp - 4]
mov dl, ah
shr dl, 4
mov cl, al
shl cl, 2
and dl, 3
add dl, cl
mov al, ah
mov byte [ebp + 8], dl
mov dl, byte [ebp - 2]
mov cl, dl
shl al, 4
shr cl, 2
and cl, 0xf
shl dl, 6
add dl, byte [ebp - 1]
add cl, al
xor eax, eax
mov byte [ebp + 9], cl
mov byte [ebp + 0xa], dl
mov dword [ebp - 8], eax
mov edi, dword [esi + 4]
lea ebx, [ebp + 8]
add ebx, eax
cmp ebx, edi
jae 0x46490f
mov ecx, dword [esi]
cmp ecx, ebx
ja 0x46490f
mov edx, dword [esi + 8]
sub ebx, ecx
cmp edi, edx
jne 0x464901
mov eax, edx
sub eax, edi
cmp eax, 1
jae 0x464901
mov eax, ecx
sub eax, edi
dec eax
cmp eax, 1
jb 0x464b81
sub edx, ecx
sub edi, ecx
mov eax, edx
mov dword [ebp - 0x10], edx
shr eax, 1
inc edi
mov ecx, eax
add eax, edx
not ecx
xor edx, edx
cmp ecx, dword [ebp - 0x10]
mov ecx, esi
cmovae edx, eax
cmp edx, edi
cmovae edi, edx
push edi
call fcn.00464c40
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x464961
mov eax, dword [esi]
mov al, byte [ebx + eax]
jmp 0x46495f
mov edx, dword [esi + 8]
cmp edi, edx
jne 0x464956
mov eax, edx
sub eax, edi
cmp eax, 1
jae 0x464956
mov ecx, dword [esi]
mov eax, ecx
sub eax, edi
dec eax
cmp eax, 1
jb 0x464b81
sub edx, ecx
sub edi, ecx
mov eax, edx
mov dword [ebp - 0x10], edx
shr eax, 1
inc edi
mov ecx, eax
add eax, edx
not ecx
xor edx, edx
cmp ecx, dword [ebp - 0x10]
mov ecx, esi
cmovae edx, eax
cmp edx, edi
cmovae edi, edx
push edi
call fcn.00464c40
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x464961
mov al, byte [ebx]
mov byte [ecx], al
mov eax, dword [ebp - 8]
inc dword [esi + 4]
inc eax
mov dword [ebp - 8], eax
cmp eax, 3
jb 0x4648a8
mov ecx, dword [ebp + 0xc]
xor edi, edi
mov dword [ebp - 8], edi
mov ebx, dword [ebp + 0x10]
test ebx, ebx
jne 0x4647a7
test edi, edi
je 0x464b78
mov eax, edi
cmp edi, 4
jae 0x4649aa
cmp eax, 4
jae 0x464b8b
mov byte [ebp + eax - 4], 0
inc eax
cmp eax, 4
jb 0x46499f
xor eax, eax
mov dword [ebp + 0x10], eax
nop
mov dl, byte [ebp + eax - 4]
lea eax, [ebp + eax - 4]
mov dword [ebp - 0x10], eax
cmp dl, 0x2d
je 0x464a4b
cmp dl, 0x2b
je 0x464a4b
cmp dl, 0x5f
je 0x464a44
cmp dl, 0x2f
je 0x464a44
lea eax, [edx - 0x30]
cmp al, 9
ja 0x464a0c
xor edi, edi
mov ebx, 9
lea eax, [edi + ebx]
mov cl, dl
shr eax, 1
sub cl, byte [eax + 0x4d26cc]
je 0x464a07
test cl, cl
jns 0x4649fd
lea ebx, [eax - 1]
jmp 0x464a00
lea edi, [eax + 1]
cmp ebx, edi
jae 0x4649e5
or eax, 0xffffffff
add eax, 0x34
jmp 0x464a50
lea eax, [edx - 0x41]
cmp al, 0x39
ja 0x464a3f
xor edi, edi
mov ebx, 0x33
nop word [eax + eax]
lea eax, [ebx + edi]
mov cl, dl
shr eax, 1
sub cl, byte [eax + 0x4d2698]
je 0x464a50
test cl, cl
jns 0x464a38
lea ebx, [eax - 1]
jmp 0x464a3b
lea edi, [eax + 1]
cmp ebx, edi
jae 0x464a20
or eax, 0xffffffff
jmp 0x464a50
mov eax, 0x3f
jmp 0x464a50
mov eax, 0x3e
mov ecx, dword [ebp - 0x10]
mov byte [ecx], al
mov eax, dword [ebp + 0x10]
inc eax
mov dword [ebp + 0x10], eax
cmp eax, 4
jb 0x4649b0
mov eax, dword [ebp - 4]
mov cl, al
shl cl, 2
mov dl, ah
shr dl, 4
mov al, ah
and dl, 3
shl al, 4
add dl, cl
mov byte [ebp + 8], dl
mov dl, byte [ebp - 2]
mov cl, dl
shl dl, 6
add dl, byte [ebp - 1]
shr cl, 2
and cl, 0xf
mov byte [ebp + 0xa], dl
add cl, al
xor eax, eax
mov byte [ebp + 9], cl
mov ecx, dword [ebp - 8]
add ecx, 0xffffffff
mov dword [ebp + 0x10], eax
mov dword [ebp - 0xc], ecx
je 0x464b78
nop dword [eax]
mov edi, dword [esi + 4]
lea ebx, [ebp + 8]
add ebx, eax
cmp ebx, edi
jae 0x464b17
mov ecx, dword [esi]
cmp ecx, ebx
ja 0x464b17
mov edx, dword [esi + 8]
sub ebx, ecx
cmp edi, edx
jne 0x464b09
mov eax, edx
sub eax, edi
cmp eax, 1
jae 0x464b09
mov eax, ecx
sub eax, edi
dec eax
cmp eax, 1
jb 0x464b81
sub edx, ecx
sub edi, ecx
mov eax, edx
mov dword [ebp - 0x10], edx
shr eax, 1
inc edi
mov ecx, eax
add eax, edx
not ecx
xor edx, edx
cmp ecx, dword [ebp - 0x10]
mov ecx, esi
cmovae edx, eax
cmp edx, edi
cmovae edi, edx
push edi
call fcn.00464c40
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x464b65
mov eax, dword [esi]
mov al, byte [ebx + eax]
jmp 0x464b63
mov edx, dword [esi + 8]
cmp edi, edx
jne 0x464b5a
mov eax, edx
sub eax, edi
cmp eax, 1
jae 0x464b5a
mov ecx, dword [esi]
mov eax, ecx
sub eax, edi
dec eax
cmp eax, 1
jb 0x464b81
sub edx, ecx
sub edi, ecx
mov eax, edx
mov dword [ebp - 0x10], edx
shr eax, 1
inc edi
mov ecx, eax
add eax, edx
not ecx
xor edx, edx
cmp ecx, dword [ebp - 0x10]
mov ecx, esi
cmovae edx, eax
cmp edx, edi
cmovae edi, edx
push edi
call fcn.00464c40
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x464b65
mov al, byte [ebx]
mov byte [ecx], al
mov eax, dword [ebp + 0x10]
inc dword [esi + 4]
inc eax
mov dword [ebp + 0x10], eax
cmp eax, dword [ebp - 0xc]
jb 0x464ab0
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x4aac1c
call fcn.00476f7e
call fcn.004788ef
int3