Function at 0x45ca10
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [0x5b0514]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, ecx
mov dword [ebp - 0x20], 3
push ebx
mov dword [ebp - 0x14], eax
xor ebx, ebx
push esi
mov ecx, dword [eax + 4]
mov esi, edx
push edi
mov edi, dword [eax]
xor edx, edx
mov eax, ecx
mov dword [ebp - 0x1c], esi
sub eax, edi
add eax, 2
div dword [ebp - 0x20]
mov eax, 0xaaaaaaab
sub ecx, edx
sub ecx, edi
add ecx, 2
mul ecx
mov eax, dword [esi + 0x10]
shr edx, 1
shl edx, 2
cmp edx, eax
ja 0x45ca73
mov dword [esi + 0x10], edx
mov eax, esi
cmp dword [esi + 0x14], 0x10
jb 0x45ca6e
mov eax, dword [esi]
mov byte [eax + edx], bl
jmp 0x45ca7f
push 0
sub edx, eax
mov ecx, esi
push edx
call fcn.0040ad80
mov edi, dword [ebp - 0x14]
mov ecx, dword [edi]
mov edi, dword [edi + 4]
sub edi, ecx
je 0x45cc24
xor edx, edx
mov eax, ecx
dec edi
inc ecx
mov al, byte [eax]
mov byte [ebp + edx - 8], al
inc edx
mov al, byte [ebp - 6]
mov ah, byte [ebp - 7]
mov byte [ebp - 0xd], al
mov al, byte [ebp - 8]
mov byte [ebp - 0x17], ah
mov byte [ebp - 0x18], al
cmp edx, 3
jne 0x45cb69
mov dl, al
mov dword [ebp - 0x14], esi
shr dl, 2
mov dh, ah
mov byte [ebp - 0x15], dl
and dh, 0xf
mov byte [ebp - 0xc], dl
mov dl, al
and dl, 3
shl dh, 2
mov al, ah
shl dl, 4
shr al, 4
add dl, al
mov al, byte [ebp - 0xd]
shr al, 6
add dh, al
mov byte [ebp - 0xb], dl
mov al, byte [ebp - 0xd]
and al, 0x3f
cmp dword [esi + 0x14], 0x10
mov byte [ebp - 0x16], al
jb 0x45cafa
mov eax, dword [esi]
mov dword [ebp - 0x14], eax
movzx eax, byte [ebp - 0x15]
mov esi, dword [ebp - 0x14]
mov al, byte [eax + 0x58b140]
mov byte [esi + ebx], al
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0x14], esi
cmp dword [esi + 0x14], 0x10
jb 0x45cb1b
mov eax, dword [esi]
mov dword [ebp - 0x14], eax
mov esi, dword [ebp - 0x14]
movzx eax, dl
mov al, byte [eax + 0x58b140]
mov byte [ebx + esi + 1], al
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0x14], esi
cmp dword [esi + 0x14], 0x10
jb 0x45cb3c
mov eax, dword [esi]
mov dword [ebp - 0x14], eax
movzx eax, dh
mov edx, dword [ebp - 0x14]
mov al, byte [eax + 0x58b140]
mov byte [ebx + edx + 2], al
mov edx, esi
cmp dword [esi + 0x14], 0x10
jb 0x45cb56
mov edx, dword [esi]
movzx eax, byte [ebp - 0x16]
mov al, byte [eax + 0x58b140]
mov byte [ebx + edx + 3], al
add ebx, 4
xor edx, edx
test edi, edi
jne 0x45ca91
test edx, edx
je 0x45cc24
mov eax, edx
cmp edx, 3
jge 0x45cb9f
cmp eax, 3
jae 0x45cc3b
mov byte [ebp + eax - 8], 0
inc eax
cmp eax, 3
jl 0x45cb83
mov ch, byte [ebp - 6]
mov cl, byte [ebp - 7]
mov ah, byte [ebp - 8]
jmp 0x45cba8
mov cl, byte [ebp - 0x17]
mov ah, byte [ebp - 0x18]
mov ch, byte [ebp - 0xd]
mov al, ah
lea edi, [edx + 1]
shr al, 2
and ah, 3
mov byte [ebp - 0xc], al
mov al, cl
shr al, 4
and cl, 0xf
shl ah, 4
add ah, al
shl cl, 2
mov al, ch
mov byte [ebp - 0xb], ah
shr al, 6
and ch, 0x3f
add cl, al
mov byte [ebp - 9], ch
mov byte [ebp - 0xa], cl
test edi, edi
jle 0x45cc05
lea eax, [ebp - 0xc]
sub eax, ebx
mov dword [ebp - 0x1c], eax
cmp dword [esi + 0x14], 0x10
mov ecx, esi
jb 0x45cbef
mov ecx, dword [esi]
movzx eax, byte [eax + ebx]
mov al, byte [eax + 0x58b140]
mov byte [ecx + ebx], al
inc ebx
mov eax, dword [ebp - 0x1c]
sub edi, 1
jne 0x45cbe5
cmp edx, 3
jge 0x45cc24
mov ecx, dword [ebp - 0x20]
sub ecx, edx
nop
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x45cc1a
mov eax, dword [esi]
mov byte [eax + ebx], 0x3d
inc ebx
sub ecx, 1
jne 0x45cc10
cmp ebx, dword [esi + 0x10]
mov ecx, dword [ebp - 4]
pop edi
sete al
xor ecx, ebp
pop esi
pop ebx
call fcn.00497cb0
mov esp, ebp
pop ebp
ret
call fcn.0049843f
int3