Function at 0x4e8230
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
mov ecx, 5
push 0
push 0
dec ecx
jne 0x4e8238
push ebx
push esi
push edi
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
lea ebx, [ebp - 0xc]
xor eax, eax
push ebp
push 0x4e8839
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 8]
call fcn.00406950
mov esi, dword [ebp - 4]
mov eax, esi
test eax, eax
je 0x4e826f
sub eax, 4
mov eax, dword [eax]
and eax, 0x80000003
jns 0x4e827b
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
jne 0x4e881e
mov eax, esi
test eax, eax
je 0x4e828e
sub eax, 4
mov eax, dword [eax]
test eax, eax
jns 0x4e8295
add eax, 3
sar eax, 2
dec eax
lea edx, [eax + eax*2]
mov eax, dword [ebp - 8]
xor ecx, ecx
call fcn.00407168
mov eax, esi
test eax, eax
je 0x4e82b1
sub eax, 4
mov eax, dword [eax]
mov edi, eax
test edi, edi
jns 0x4e82ba
add edi, 3
sar edi, 2
dec edi
test edi, edi
jle 0x4e8450
mov esi, 1
mov eax, esi
dec eax
add eax, eax
add eax, eax
mov edx, dword [ebp - 4]
lea eax, [edx + eax]
mov edx, ebx
mov ecx, 4
call fcn.00404534
movzx eax, byte [ebx]
cmp al, 0x40
jbe 0x4e82f4
cmp al, 0x5b
jae 0x4e82f4
sub byte [ebx], 0x41
jmp 0x4e8320
movzx eax, byte [ebx]
cmp al, 0x60
jbe 0x4e8304
cmp al, 0x7b
jae 0x4e8304
sub byte [ebx], 0x47
jmp 0x4e8320
movzx eax, byte [ebx]
cmp al, 0x2f
jbe 0x4e8314
cmp al, 0x3a
jae 0x4e8314
add byte [ebx], 4
jmp 0x4e8320
cmp al, 0x2b
jne 0x4e831d
mov byte [ebx], 0x3e
jmp 0x4e8320
mov byte [ebx], 0x3f
movzx eax, byte [ebx + 1]
cmp al, 0x40
jbe 0x4e8332
cmp al, 0x5b
jae 0x4e8332
sub byte [ebx + 1], 0x41
jmp 0x4e8364
movzx eax, byte [ebx + 1]
cmp al, 0x60
jbe 0x4e8344
cmp al, 0x7b
jae 0x4e8344
sub byte [ebx + 1], 0x47
jmp 0x4e8364
movzx eax, byte [ebx + 1]
cmp al, 0x2f
jbe 0x4e8356
cmp al, 0x3a
jae 0x4e8356
add byte [ebx + 1], 4
jmp 0x4e8364
cmp al, 0x2b
jne 0x4e8360
mov byte [ebx + 1], 0x3e
jmp 0x4e8364
mov byte [ebx + 1], 0x3f
movzx eax, byte [ebx + 2]
cmp al, 0x40
jbe 0x4e8376
cmp al, 0x5b
jae 0x4e8376
sub byte [ebx + 2], 0x41
jmp 0x4e83a8
movzx eax, byte [ebx + 2]
cmp al, 0x60
jbe 0x4e8388
cmp al, 0x7b
jae 0x4e8388
sub byte [ebx + 2], 0x47
jmp 0x4e83a8
movzx eax, byte [ebx + 2]
cmp al, 0x2f
jbe 0x4e839a
cmp al, 0x3a
jae 0x4e839a
add byte [ebx + 2], 4
jmp 0x4e83a8
cmp al, 0x2b
jne 0x4e83a4
mov byte [ebx + 2], 0x3e
jmp 0x4e83a8
mov byte [ebx + 2], 0x3f
movzx eax, byte [ebx + 3]
cmp al, 0x40
jbe 0x4e83ba
cmp al, 0x5b
jae 0x4e83ba
sub byte [ebx + 3], 0x41
jmp 0x4e83ec
movzx eax, byte [ebx + 3]
cmp al, 0x60
jbe 0x4e83cc
cmp al, 0x7b
jae 0x4e83cc
sub byte [ebx + 3], 0x47
jmp 0x4e83ec
movzx eax, byte [ebx + 3]
cmp al, 0x2f
jbe 0x4e83de
cmp al, 0x3a
jae 0x4e83de
add byte [ebx + 3], 4
jmp 0x4e83ec
cmp al, 0x2b
jne 0x4e83e8
mov byte [ebx + 3], 0x3e
jmp 0x4e83ec
mov byte [ebx + 3], 0x3f
movzx edx, byte [ebx]
add edx, edx
add edx, edx
movzx eax, byte [ebx + 1]
movzx ecx, al
shr ecx, 4
and cl, 3
or dl, cl
mov byte [ebp - 0xf], dl
shl eax, 4
movzx edx, byte [ebx + 2]
shr edx, 2
and dl, 0xf
or al, dl
mov byte [ebp - 0xe], al
movzx eax, byte [ebx + 2]
shl eax, 6
movzx edx, byte [ebx + 3]
and dl, 0x3f
or al, dl
mov byte [ebp - 0xd], al
mov eax, dword [ebp - 8]
call fcn.00406ec8
mov edx, esi
dec edx
lea edx, [edx + edx*2]
lea edx, [eax + edx]
lea eax, [ebp - 0xf]
mov ecx, 3
call fcn.00404534
inc esi
dec edi
jne 0x4e82cb
mov edx, dword [ebp - 4]
mov eax, edx
test eax, eax
je 0x4e845e
sub eax, 4
mov eax, dword [eax]
test eax, eax
je 0x4e881e
mov eax, edx
test eax, eax
je 0x4e8471
sub eax, 4
mov eax, dword [eax]
mov edx, dword [ebp - 4]
lea eax, [edx + eax - 4]
mov edx, ebx
mov ecx, 4
call fcn.00404534
cmp byte [ebx + 2], 0x3d
jne 0x4e854a
movzx eax, byte [ebx]
cmp al, 0x40
jbe 0x4e849e
cmp al, 0x5b
jae 0x4e849e
sub byte [ebx], 0x41
jmp 0x4e84ca
movzx eax, byte [ebx]
cmp al, 0x60
jbe 0x4e84ae
cmp al, 0x7b
jae 0x4e84ae
sub byte [ebx], 0x47
jmp 0x4e84ca
cmp byte [ebx], 0x2f
jbe 0x4e84bd
cmp byte [ebx], 0x3a
jae 0x4e84bd
add byte [ebx], 4
jmp 0x4e84ca
cmp byte [ebx], 0x2b
jne 0x4e84c7
mov byte [ebx], 0x3e
jmp 0x4e84ca
mov byte [ebx], 0x3f
movzx eax, byte [ebx + 1]
cmp al, 0x40
jbe 0x4e84dc
cmp al, 0x5b
jae 0x4e84dc
sub byte [ebx + 1], 0x41
jmp 0x4e8510
movzx eax, byte [ebx + 1]
cmp al, 0x60
jbe 0x4e84ee
cmp al, 0x7b
jae 0x4e84ee
sub byte [ebx + 1], 0x47
jmp 0x4e8510
cmp byte [ebx + 1], 0x2f
jbe 0x4e8500
cmp byte [ebx + 1], 0x3a
jae 0x4e8500
add byte [ebx + 1], 4
jmp 0x4e8510
cmp byte [ebx + 1], 0x2b
jne 0x4e850c
mov byte [ebx + 1], 0x3e
jmp 0x4e8510
mov byte [ebx + 1], 0x3f
movzx eax, byte [ebx]
add eax, eax
add eax, eax
movzx edx, byte [ebx + 1]
shr edx, 4
and dl, 3
or al, dl
mov byte [ebp - 0xf], al
lea eax, [ebp - 0x14]
movzx edx, byte [ebp - 0xf]
mov ecx, 0
call fcn.00406f64
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
call fcn.00407038
mov eax, dword [ebp - 8]
jmp 0x4e881e
cmp byte [ebx + 3], 0x3d
jne 0x4e8685
cmp byte [ebx], 0x40
jbe 0x4e8563
cmp byte [ebx], 0x5b
jae 0x4e8563
sub byte [ebx], 0x41
jmp 0x4e858e
cmp byte [ebx], 0x60
jbe 0x4e8572
cmp byte [ebx], 0x7b
jae 0x4e8572
sub byte [ebx], 0x47
jmp 0x4e858e
cmp byte [ebx], 0x2f
jbe 0x4e8581
cmp byte [ebx], 0x3a
jae 0x4e8581
add byte [ebx], 4
jmp 0x4e858e
cmp byte [ebx], 0x2b
jne 0x4e858b
mov byte [ebx], 0x3e
jmp 0x4e858e
mov byte [ebx], 0x3f
cmp byte [ebx + 1], 0x40
jbe 0x4e85a0
cmp byte [ebx + 1], 0x5b
jae 0x4e85a0
sub byte [ebx + 1], 0x41
jmp 0x4e85d4
cmp byte [ebx + 1], 0x60
jbe 0x4e85b2
cmp byte [ebx + 1], 0x7b
jae 0x4e85b2
sub byte [ebx + 1], 0x47
jmp 0x4e85d4
cmp byte [ebx + 1], 0x2f
jbe 0x4e85c4
cmp byte [ebx + 1], 0x3a
jae 0x4e85c4
add byte [ebx + 1], 4
jmp 0x4e85d4
cmp byte [ebx + 1], 0x2b
jne 0x4e85d0
mov byte [ebx + 1], 0x3e
jmp 0x4e85d4
mov byte [ebx + 1], 0x3f
cmp byte [ebx + 2], 0x40
jbe 0x4e85e6
cmp byte [ebx + 2], 0x5b
jae 0x4e85e6
sub byte [ebx + 2], 0x41
jmp 0x4e861a
cmp byte [ebx + 2], 0x60
jbe 0x4e85f8
cmp byte [ebx + 2], 0x7b
jae 0x4e85f8
sub byte [ebx + 2], 0x47
jmp 0x4e861a
cmp byte [ebx + 2], 0x2f
jbe 0x4e860a
cmp byte [ebx + 2], 0x3a
jae 0x4e860a
add byte [ebx + 2], 4
jmp 0x4e861a
cmp byte [ebx + 2], 0x2b
jne 0x4e8616
mov byte [ebx + 2], 0x3e
jmp 0x4e861a
mov byte [ebx + 2], 0x3f
movzx eax, byte [ebx]
add eax, eax
add eax, eax
movzx edx, byte [ebx + 1]
shr edx, 4
and dl, 3
or al, dl
mov byte [ebp - 0xf], al
movzx eax, byte [ebx + 1]
shl eax, 4
movzx edx, byte [ebx + 2]
shr edx, 2
and dl, 0xf
or al, dl
mov byte [ebp - 0xe], al
mov eax, dword [ebp - 8]
push dword [eax]
lea eax, [ebp - 0x18]
movzx edx, byte [ebp - 0xf]
mov ecx, 0
call fcn.00406f64
push dword [ebp - 0x18]
lea eax, [ebp - 0x1c]
movzx edx, byte [ebp - 0xe]
mov ecx, 0
call fcn.00406f64
push dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
mov edx, 3
call fcn.00407090
jmp 0x4e881e
cmp byte [ebx], 0x40
jbe 0x4e8694
cmp byte [ebx], 0x5b
jae 0x4e8694
sub byte [ebx], 0x41
jmp 0x4e86bf
cmp byte [ebx], 0x60
jbe 0x4e86a3
cmp byte [ebx], 0x7b
jae 0x4e86a3
sub byte [ebx], 0x47
jmp 0x4e86bf
cmp byte [ebx], 0x2f
jbe 0x4e86b2
cmp byte [ebx], 0x3a
jae 0x4e86b2
add byte [ebx], 4
jmp 0x4e86bf
cmp byte [ebx], 0x2b
jne 0x4e86bc
mov byte [ebx], 0x3e
jmp 0x4e86bf
mov byte [ebx], 0x3f
cmp byte [ebx + 1], 0x40
jbe 0x4e86d1
cmp byte [ebx + 1], 0x5b
jae 0x4e86d1
sub byte [ebx + 1], 0x41
jmp 0x4e8705
cmp byte [ebx + 1], 0x60
jbe 0x4e86e3
cmp byte [ebx + 1], 0x7b
jae 0x4e86e3
sub byte [ebx + 1], 0x47
jmp 0x4e8705
cmp byte [ebx + 1], 0x2f
jbe 0x4e86f5
cmp byte [ebx + 1], 0x3a
jae 0x4e86f5
add byte [ebx + 1], 4
jmp 0x4e8705
cmp byte [ebx + 1], 0x2b
jne 0x4e8701
mov byte [ebx + 1], 0x3e
jmp 0x4e8705
mov byte [ebx + 1], 0x3f
cmp byte [ebx + 2], 0x40
jbe 0x4e8717
cmp byte [ebx + 2], 0x5b
jae 0x4e8717
sub byte [ebx + 2], 0x41
jmp 0x4e874b
cmp byte [ebx + 2], 0x60
jbe 0x4e8729
cmp byte [ebx + 2], 0x7b
jae 0x4e8729
sub byte [ebx + 2], 0x47
jmp 0x4e874b
cmp byte [ebx + 2], 0x2f
jbe 0x4e873b
cmp byte [ebx + 2], 0x3a
jae 0x4e873b
add byte [ebx + 2], 4
jmp 0x4e874b
cmp byte [ebx + 2], 0x2b
jne 0x4e8747
mov byte [ebx + 2], 0x3e
jmp 0x4e874b
mov byte [ebx + 2], 0x3f
cmp byte [ebx + 3], 0x40
jbe 0x4e875d
cmp byte [ebx + 3], 0x5b
jae 0x4e875d
sub byte [ebx + 3], 0x41
jmp 0x4e8791
cmp byte [ebx + 3], 0x60
jbe 0x4e876f
cmp byte [ebx + 3], 0x7b
jae 0x4e876f
sub byte [ebx + 3], 0x47
jmp 0x4e8791
cmp byte [ebx + 3], 0x2f
jbe 0x4e8781
cmp byte [ebx + 3], 0x3a
jae 0x4e8781
add byte [ebx + 3], 4
jmp 0x4e8791
cmp byte [ebx + 3], 0x2b
jne 0x4e878d
mov byte [ebx + 3], 0x3e
jmp 0x4e8791
mov byte [ebx + 3], 0x3f
movzx eax, byte [ebx]
add eax, eax
add eax, eax
movzx edx, byte [ebx + 1]
shr edx, 4
and dl, 3
or al, dl
mov byte [ebp - 0xf], al
movzx eax, byte [ebx + 1]
shl eax, 4
movzx edx, byte [ebx + 2]
shr edx, 2
and dl, 0xf
or al, dl
mov byte [ebp - 0xe], al
movzx eax, byte [ebx + 2]
shl eax, 6
movzx edx, byte [ebx + 3]
and dl, 0x3f
or al, dl
mov byte [ebp - 0xd], al
mov eax, dword [ebp - 8]
push dword [eax]
lea eax, [ebp - 0x20]
movzx edx, byte [ebp - 0xf]
mov ecx, 0
call fcn.00406f64
push dword [ebp - 0x20]
lea eax, [ebp - 0x24]
movzx edx, byte [ebp - 0xe]
mov ecx, 0
call fcn.00406f64
push dword [ebp - 0x24]
lea eax, [ebp - 0x28]
movzx edx, byte [ebp - 0xd]
mov ecx, 0
call fcn.00406f64
push dword [ebp - 0x28]
mov eax, dword [ebp - 8]
mov edx, 4
call fcn.00407090
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4e8840
lea eax, [ebp - 0x28]
mov edx, 6
call fcn.004069bc
ret