Function at 0x4d17a0
Capabilities:
Encode data using base64

Disassembly:
sub esp, 0x2c
mov eax, dword [0x620368]
xor eax, esp
push ebx
push ebp
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x38]
push esi
xor esi, esi
mov dword [esp + 0x10], esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4d17c2
sub eax, edx
cmp eax, esi
mov dword [esp + 0x24], eax
mov dword [esp + 0x2d], esi
mov byte [ebp], cl
jle 0x4d1ad7
mov bl, byte [esp + 0x2e]
push edi
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x14]
xor dl, dl
xor ecx, ecx
cmp esi, eax
mov byte [esp + 0x30], dl
jge 0x4d1ad6
mov edi, dword [esp + 0x40]
nop
cmp ecx, 4
jge 0x4d187e
movsx eax, byte [esi + edi]
inc esi
cmp eax, 0x41
jl 0x4d1827
cmp eax, 0x5a
jg 0x4d1827
add eax, 0xffffffbf
cmp eax, 0xfffffffe
je 0x4d1878
cmp eax, 0xffffffff
je 0x4d186a
mov byte [esp + ecx + 0x30], al
jmp 0x4d186f
cmp eax, 0x61
jl 0x4d1836
cmp eax, 0x7a
jg 0x4d1836
add eax, 0xffffffb9
jmp 0x4d1817
cmp eax, 0x30
jl 0x4d1845
cmp eax, 0x39
jg 0x4d1845
add eax, 4
jmp 0x4d1817
cmp eax, 0x2b
jne 0x4d1855
mov eax, 0x3e
mov byte [esp + ecx + 0x30], al
jmp 0x4d186f
cmp eax, 0x2f
jne 0x4d1865
mov eax, 0x3f
mov byte [esp + ecx + 0x30], al
jmp 0x4d186f
cmp eax, 0x3d
jne 0x4d1878
mov byte [esp + ecx + 0x30], 0x40
mov bl, byte [esp + 0x32]
mov dl, byte [esp + 0x30]
inc ecx
cmp esi, dword [esp + 0x28]
jl 0x4d1800
cmp ecx, 4
mov dword [esp + 0x14], esi
jne 0x4d1a36
mov eax, dword [esp + 0x28]
mov ecx, esi
add ecx, 3
cmp ecx, eax
mov al, byte [esp + 0x31]
jl 0x4d1973
shl dl, 2
cmp al, 0x40
je 0x4d1a49
sar al, 4
or al, dl
mov byte [esp + 0x24], al
lea eax, [esp + 0x24]
mov byte [esp + 0x25], 0
mov ecx, eax
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4d18c0
mov edi, ebp
sub eax, ecx
mov esi, ecx
dec edi
mov edi, edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4d18d0
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov al, byte [esp + 0x31]
and ecx, 3
shl al, 4
cmp bl, 0x40
rep movsb byte es:[edi], byte [esi]
je 0x4d1a70
mov dl, bl
sar dl, 2
or dl, al
lea eax, [esp + 0x1c]
mov byte [esp + 0x1c], dl
mov byte [esp + 0x1d], 0
mov ecx, eax
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4d1910
mov edi, ebp
sub eax, ecx
mov esi, ecx
dec edi
mov edi, edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4d1920
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov al, byte [esp + 0x33]
and ecx, 3
cmp al, 0x40
rep movsb byte es:[edi], byte [esi]
je 0x4d1a9a
mov cl, bl
shl cl, 6
or cl, al
lea eax, [esp + 0x20]
mov byte [esp + 0x20], cl
mov byte [esp + 0x21], 0
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4d1958
mov edi, ebp
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4d1966
jmp 0x4d1a28
sar al, 4
shl dl, 2
or al, dl
mov byte [esp + 0x2c], al
lea eax, [esp + 0x2c]
mov byte [esp + 0x2d], 0
mov ecx, eax
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4d1990
mov edi, ebp
sub eax, ecx
mov esi, ecx
dec edi
mov edi, edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4d19a0
mov dl, byte [esp + 0x31]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov cl, bl
sar cl, 2
shl dl, 4
or cl, dl
lea eax, [esp + 0x18]
mov byte [esp + 0x18], cl
mov byte [esp + 0x19], 0
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4d19d3
mov edi, ebp
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4d19e1
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
mov al, bl
rep movsb byte es:[edi], byte [esi]
mov cl, byte [esp + 0x33]
shl al, 6
or al, cl
mov byte [esp + 0x10], al
lea eax, [esp + 0x10]
mov byte [esp + 0x11], 0
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4d1a11
mov edi, ebp
sub eax, ecx
mov esi, ecx
dec edi
nop
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4d1a20
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x28]
cmp dword [esp + 0x14], ecx
jl 0x4d17e3
jmp 0x4d1ad6
lea eax, [esp + 0x10]
mov byte [esp + 0x10], dl
mov byte [esp + 0x11], 0
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4d1a58
mov edi, ebp
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4d1a66
jmp 0x4d1ac8
mov byte [esp + 0x10], al
lea eax, [esp + 0x10]
mov byte [esp + 0x11], 0
mov ecx, eax
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4d1a80
mov edi, ebp
sub eax, ecx
mov esi, ecx
dec edi
mov edi, edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4d1a90
jmp 0x4d1ac8
shl bl, 6
lea eax, [esp + 0x10]
mov byte [esp + 0x10], bl
mov byte [esp + 0x11], 0
mov ecx, eax
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4d1ab0
mov edi, ebp
sub eax, ecx
mov esi, ecx
dec edi
mov edi, edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4d1ac0
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
mov eax, ebp
xor ecx, ecx
lea esi, [eax + 1]
mov edi, edi
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4d1ae0
sub eax, esi
mov dword [esp + 0x24], eax
je 0x4d1b10
nop
mov bl, byte [ecx + ebp]
mov dl, cl
add dl, 5
xor bl, dl
mov eax, ebp
mov byte [ecx + ebp], bl
inc ecx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4d1b03
sub eax, esi
cmp ecx, eax
jb 0x4d1af0
mov ecx, dword [esp + 0x34]
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0057b3d4
add esp, 0x2c
ret