Function at 0x684a5c
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
mov ecx, 5
push 0
push 0
dec ecx
jne 0x684a64
push ecx
push ebx
push esi
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x684e27
push dword fs:[eax]
mov dword fs:[eax], esp
mov ebx, dword [ebp - 4]
mov eax, ebx
test eax, eax
je 0x684a90
sub eax, 4
mov eax, dword [eax]
and eax, 0x80000003
jns 0x684a9c
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
je 0x684ab6
mov ecx, 0x684e40
mov dl, 1
mov eax, dword [0x41d6a8]
call fcn.0042a960
call fcn.0040883c
mov eax, ebx
test eax, eax
je 0x684ac1
sub eax, 4
mov eax, dword [eax]
test eax, eax
jns 0x684ac8
add eax, 3
sar eax, 2
dec eax
lea edx, [eax + eax*2]
mov eax, dword [ebp - 8]
xor ecx, ecx
call fcn.00409d10
mov eax, ebx
test eax, eax
je 0x684ae4
sub eax, 4
mov eax, dword [eax]
test eax, eax
jns 0x684aeb
add eax, 3
sar eax, 2
dec eax
test eax, eax
jle 0x684bc3
mov dword [ebp - 0x14], eax
mov esi, 1
mov eax, esi
dec eax
add eax, eax
add eax, eax
mov edx, dword [ebp - 4]
lea eax, [edx + eax]
lea edx, [ebp - 0xf]
mov ecx, 4
call fcn.00404b78
mov edx, 4
lea eax, [ebp - 0xf]
movzx ecx, byte [eax]
sub cl, 0x2b
je 0x684b43
add cl, 0xfb
sub cl, 0xa
jb 0x684b48
add cl, 0xf9
sub cl, 0x1a
jb 0x684b4d
add cl, 0xfa
sub cl, 0x1a
jb 0x684b52
jmp 0x684b57
mov byte [eax], 0x3e
jmp 0x684b5a
add byte [eax], 4
jmp 0x684b5a
sub byte [eax], 0x41
jmp 0x684b5a
sub byte [eax], 0x47
jmp 0x684b5a
mov byte [eax], 0x3f
inc eax
dec edx
jne 0x684b21
movzx edx, byte [ebp - 0xf]
add edx, edx
add edx, edx
movzx eax, byte [ebp - 0xe]
movzx ecx, al
shr ecx, 4
and cl, 3
or dl, cl
mov byte [ebp - 0xb], dl
shl eax, 4
movzx edx, byte [ebp - 0xd]
movzx ecx, dl
shr ecx, 2
and cl, 0xf
or al, cl
mov byte [ebp - 0xa], al
shl edx, 6
movzx eax, byte [ebp - 0xc]
and al, 0x3f
or dl, al
mov byte [ebp - 9], dl
mov eax, dword [ebp - 8]
call fcn.004096f8
mov edx, esi
dec edx
lea edx, [edx + edx*2]
lea edx, [eax + edx]
lea eax, [ebp - 0xb]
mov ecx, 3
call fcn.00404b78
inc esi
dec dword [ebp - 0x14]
jne 0x684aff
mov edx, dword [ebp - 4]
mov eax, edx
test eax, eax
je 0x684bd1
sub eax, 4
mov eax, dword [eax]
test eax, eax
je 0x684e0c
mov eax, edx
test eax, eax
je 0x684be4
sub eax, 4
mov eax, dword [eax]
mov edx, dword [ebp - 4]
lea eax, [edx + eax - 4]
lea edx, [ebp - 0xf]
mov ecx, 4
call fcn.00404b78
cmp byte [ebp - 0xd], 0x3d
jne 0x684c82
mov edx, 2
lea eax, [ebp - 0xf]
movzx ecx, byte [eax]
sub cl, 0x2b
je 0x684c2c
add cl, 0xfb
sub cl, 0xa
jb 0x684c31
add cl, 0xf9
sub cl, 0x1a
jb 0x684c36
add cl, 0xfa
sub cl, 0x1a
jb 0x684c3b
jmp 0x684c40
mov byte [eax], 0x3e
jmp 0x684c43
add byte [eax], 4
jmp 0x684c43
sub byte [eax], 0x41
jmp 0x684c43
sub byte [eax], 0x47
jmp 0x684c43
mov byte [eax], 0x3f
inc eax
dec edx
jne 0x684c0a
movzx eax, byte [ebp - 0xf]
add eax, eax
add eax, eax
movzx edx, byte [ebp - 0xe]
shr edx, 4
and dl, 3
or al, dl
mov byte [ebp - 0xb], al
lea eax, [ebp - 0x18]
movzx edx, byte [ebp - 0xb]
mov ecx, 0
call fcn.004098a8
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
call fcn.004099ac
mov eax, dword [ebp - 8]
jmp 0x684e0c
cmp byte [ebp - 0xc], 0x3d
jne 0x684d3c
mov edx, 3
lea eax, [ebp - 0xf]
movzx ecx, byte [eax]
sub cl, 0x2b
je 0x684cb6
add cl, 0xfb
sub cl, 0xa
jb 0x684cbb
add cl, 0xf9
sub cl, 0x1a
jb 0x684cc0
add cl, 0xfa
sub cl, 0x1a
jb 0x684cc5
jmp 0x684cca
mov byte [eax], 0x3e
jmp 0x684ccd
add byte [eax], 4
jmp 0x684ccd
sub byte [eax], 0x41
jmp 0x684ccd
sub byte [eax], 0x47
jmp 0x684ccd
mov byte [eax], 0x3f
inc eax
dec edx
jne 0x684c94
movzx edx, byte [ebp - 0xf]
add edx, edx
add edx, edx
movzx eax, byte [ebp - 0xe]
movzx ecx, al
shr ecx, 4
and cl, 3
or dl, cl
mov byte [ebp - 0xb], dl
shl eax, 4
movzx edx, byte [ebp - 0xd]
shr edx, 2
and dl, 0xf
or al, dl
mov byte [ebp - 0xa], al
mov eax, dword [ebp - 8]
push dword [eax]
lea eax, [ebp - 0x1c]
movzx edx, byte [ebp - 0xb]
mov ecx, 0
call fcn.004098a8
push dword [ebp - 0x1c]
lea eax, [ebp - 0x20]
movzx edx, byte [ebp - 0xa]
mov ecx, 0
call fcn.004098a8
push dword [ebp - 0x20]
mov eax, dword [ebp - 8]
mov edx, 3
call fcn.00409a88
jmp 0x684e0c
mov edx, 4
lea eax, [ebp - 0xf]
movzx ecx, byte [eax]
sub cl, 0x2b
je 0x684d66
add cl, 0xfb
sub cl, 0xa
jb 0x684d6b
add cl, 0xf9
sub cl, 0x1a
jb 0x684d70
add cl, 0xfa
sub cl, 0x1a
jb 0x684d75
jmp 0x684d7a
mov byte [eax], 0x3e
jmp 0x684d7d
add byte [eax], 4
jmp 0x684d7d
sub byte [eax], 0x41
jmp 0x684d7d
sub byte [eax], 0x47
jmp 0x684d7d
mov byte [eax], 0x3f
inc eax
dec edx
jne 0x684d44
movzx edx, byte [ebp - 0xf]
add edx, edx
add edx, edx
movzx eax, byte [ebp - 0xe]
movzx ecx, al
shr ecx, 4
and cl, 3
or dl, cl
mov byte [ebp - 0xb], dl
shl eax, 4
movzx edx, byte [ebp - 0xd]
movzx ecx, dl
shr ecx, 2
and cl, 0xf
or al, cl
mov byte [ebp - 0xa], al
shl edx, 6
movzx eax, byte [ebp - 0xc]
and al, 0x3f
or dl, al
mov byte [ebp - 9], dl
mov eax, dword [ebp - 8]
push dword [eax]
lea eax, [ebp - 0x24]
movzx edx, byte [ebp - 0xb]
mov ecx, 0
call fcn.004098a8
push dword [ebp - 0x24]
lea eax, [ebp - 0x28]
movzx edx, byte [ebp - 0xa]
mov ecx, 0
call fcn.004098a8
push dword [ebp - 0x28]
lea eax, [ebp - 0x2c]
movzx edx, byte [ebp - 9]
mov ecx, 0
call fcn.004098a8
push dword [ebp - 0x2c]
mov eax, dword [ebp - 8]
mov edx, 4
call fcn.00409a88
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x684e2e
lea eax, [ebp - 0x2c]
mov edx, 6
call fcn.004091b4
ret