Function at 0x4641e0
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov eax, dword [ebp + 0xc]
push esi
push edi
xor esi, esi
xor edi, edi
mov dword [ebp - 8], esi
test eax, eax
je 0x46444e
mov esi, dword [ebp + 8]
push ebx
nop
mov bl, byte [esi]
dec eax
mov dword [ebp + 0xc], eax
cmp bl, 0x3d
je 0x464310
movzx eax, bl
push eax
call fcn.0048fafb
add esp, 4
test eax, eax
jne 0x464237
cmp bl, 0x2d
je 0x464237
cmp bl, 0x5f
je 0x464237
cmp bl, 0x2b
je 0x464237
cmp bl, 0x2f
jne 0x464310
mov al, byte [esi]
inc esi
mov byte [ebp + edi - 4], al
inc edi
mov dword [ebp + 8], esi
cmp edi, 4
jne 0x464305
xor esi, esi
nop dword [eax]
mov al, byte [ebp + esi - 4]
mov byte [ebp - 0xc], al
cmp al, 0x2d
je 0x4642ac
cmp al, 0x2b
je 0x4642ac
cmp al, 0x5f
je 0x4642a5
cmp al, 0x2f
je 0x4642a5
lea ecx, [eax - 0x30]
cmp cl, 9
ja 0x464286
push 0xa
push 0x4d26cc
push dword [ebp - 0xc]
call fcn.00464d20
add esp, 0xc
add eax, 0x34
jmp 0x4642b1
sub al, 0x41
cmp al, 0x39
ja 0x4642a0
push 0x34
push 0x4d2698
push dword [ebp - 0xc]
call fcn.00464d20
add esp, 0xc
jmp 0x4642b1
or eax, 0xffffffff
jmp 0x4642b1
mov eax, 0x3f
jmp 0x4642b1
mov eax, 0x3e
mov byte [ebp + esi - 4], al
inc esi
cmp esi, 4
jb 0x464250
mov eax, dword [ebp - 4]
mov dl, ah
mov bl, byte [ebp - 2]
mov cl, al
mov esi, dword [ebp + 0x10]
mov al, ah
shl cl, 2
shr dl, 4
and dl, 3
shl al, 4
add dl, cl
mov cl, bl
shr cl, 2
and cl, 0xf
shl bl, 6
add bl, byte [ebp - 1]
add cl, al
mov eax, dword [ebp - 8]
test esi, esi
je 0x4642fa
mov byte [eax + esi], dl
mov byte [eax + esi + 1], cl
mov byte [eax + esi + 2], bl
mov esi, dword [ebp + 8]
add eax, 3
mov dword [ebp - 8], eax
xor edi, edi
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x464200
test edi, edi
je 0x46444a
mov eax, edi
cmp edi, 4
jae 0x464333
cmp eax, 4
jae 0x464456
mov byte [ebp + eax - 4], 0
inc eax
cmp eax, 4
jb 0x464328
xor eax, eax
mov dword [ebp + 0xc], eax
nop dword [eax + eax]
mov bl, byte [ebp + eax - 4]
lea eax, [ebp + eax - 4]
mov dword [ebp - 0xc], eax
cmp bl, 0x2d
je 0x4643d1
cmp bl, 0x2b
je 0x4643d1
cmp bl, 0x5f
je 0x4643ca
cmp bl, 0x2f
je 0x4643ca
lea eax, [ebx - 0x30]
cmp al, 9
ja 0x464398
xor edx, edx
mov esi, 9
lea eax, [esi + edx]
mov cl, bl
shr eax, 1
sub cl, byte [eax + 0x4d26cc]
je 0x464393
test cl, cl
jns 0x464389
lea esi, [eax - 1]
jmp 0x46438c
lea edx, [eax + 1]
cmp esi, edx
jae 0x464371
or eax, 0xffffffff
add eax, 0x34
jmp 0x4643d6
lea eax, [ebx - 0x41]
cmp al, 0x39
ja 0x4643c5
xor edx, edx
mov esi, 0x33
lea eax, [esi + edx]
mov cl, bl
shr eax, 1
sub cl, byte [eax + 0x4d2698]
je 0x4643d6
test cl, cl
jns 0x4643be
lea esi, [eax - 1]
jmp 0x4643c1
lea edx, [eax + 1]
cmp esi, edx
jae 0x4643a6
or eax, 0xffffffff
jmp 0x4643d6
mov eax, 0x3f
jmp 0x4643d6
mov eax, 0x3e
mov ecx, dword [ebp - 0xc]
mov byte [ecx], al
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
cmp eax, 4
jb 0x464340
mov eax, dword [ebp - 4]
mov dl, ah
mov esi, dword [ebp - 8]
mov cl, al
shr dl, 4
mov al, ah
shl cl, 2
and dl, 3
add dl, cl
shl al, 4
mov byte [ebp + 0xc], 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 + 0xe], dl
add cl, al
lea edx, [edi - 1]
mov byte [ebp + 0xd], cl
xor ecx, ecx
test edx, edx
je 0x46444d
mov edi, dword [ebp + 0x10]
nop dword [eax]
test edi, edi
je 0x46443b
mov al, byte [ebp + ecx + 0xc]
add byte [esi + edi], al
inc ecx
inc esi
cmp ecx, edx
jb 0x464430
pop ebx
pop edi
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp - 8]
pop ebx
pop edi
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret
call fcn.004788ef
int3