Function at 0x43e0c0
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x124
mov eax, dword [0x58be1c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 0x10]
mov eax, 0xaaaaaaab
push esi
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x118], ecx
push edi
mov edi, dword [ebp + 8]
lea edx, [esi*4 + 8]
mov dword [ebp - 0x114], edi
mul edx
mov eax, dword [ebp - 0x118]
mov ecx, edx
shr ecx, 1
cmp dword [eax + 4], 0
je 0x43e121
mov edi, dword [ebp - 0x118]
lea eax, [ecx + ecx]
xor edx, edx
div dword [edi + 4]
mov edi, dword [ebp - 0x114]
add eax, ecx
jmp 0x43e123
mov eax, ecx
add eax, 3
mov ecx, ebx
push eax
call fcn.00409280
test al, al
je 0x43e3af
test esi, esi
je 0x43e39a
test edi, edi
je 0x43e39a
xor edx, edx
mov eax, 0xaaaaaaab
mov dword [ebp - 0x11c], edx
xor edi, edi
mul esi
xor ecx, ecx
mov dword [ebp - 0x110], edi
mov eax, edx
mov dword [ebp - 0x124], ecx
shr eax, 1
mov dword [ebp - 0x120], eax
je 0x43e28f
nop word [eax + eax]
mov eax, dword [ebp - 0x110]
mov edi, dword [ebp - 0x114]
movzx esi, byte [edi + eax]
movzx edx, byte [edi + eax + 1]
movzx edi, byte [edi + eax + 2]
add eax, 3
mov dword [ebp - 0x110], eax
mov eax, esi
shr eax, 2
and esi, 3
shl esi, 4
mov al, byte [eax + 0x50a2f0]
mov byte [ebp + ecx - 0x10c], al
mov eax, edx
shr eax, 4
and edx, 0xf
or esi, eax
shl edx, 2
mov al, byte [esi + 0x50a2f0]
mov byte [ebp + ecx - 0x10b], al
mov eax, edi
shr eax, 6
and edi, 0x3f
or eax, edx
mov edx, dword [ebp - 0x118]
mov al, byte [eax + 0x50a2f0]
mov byte [ebp + ecx - 0x10a], al
mov al, byte [edi + 0x50a2f0]
mov byte [ebp + ecx - 0x109], al
add ecx, 4
mov eax, dword [ebp - 0x11c]
add eax, 4
mov dword [ebp - 0x11c], eax
cmp eax, dword [edx + 4]
jb 0x43e22b
xor edx, edx
mov word [ebp + ecx - 0x10c], 0xa0d
mov dword [ebp - 0x11c], edx
add ecx, 2
cmp ecx, 0x100
jl 0x43e24c
push ecx
lea eax, [ebp - 0x10c]
mov ecx, ebx
push eax
call fcn.00408340
test al, al
je 0x43e3af
xor ecx, ecx
mov eax, dword [ebp - 0x124]
inc eax
mov dword [ebp - 0x124], eax
cmp eax, dword [ebp - 0x120]
jb 0x43e180
test ecx, ecx
je 0x43e280
push ecx
lea eax, [ebp - 0x10c]
mov ecx, ebx
push eax
call fcn.00408340
test al, al
je 0x43e3af
mov eax, dword [ebp - 0x120]
mov edi, dword [ebp - 0x110]
mov esi, dword [ebp + 0xc]
lea eax, [eax + eax*2]
mov cl, 1
sub esi, eax
sub esi, 0
je 0x43e36b
sub esi, 1
je 0x43e30e
sub esi, 1
jne 0x43e385
mov eax, dword [ebp - 0x114]
mov ecx, ebx
movzx esi, byte [eax + edi]
movzx edi, byte [eax + edi + 1]
mov eax, esi
shr eax, 2
movzx eax, byte [eax + 0x50a2f0]
push eax
call fcn.00407eb0
mov cl, al
test cl, cl
je 0x43e385
mov eax, edi
and esi, 3
shr eax, 4
mov ecx, ebx
shl esi, 4
or eax, esi
movzx eax, byte [eax + 0x50a2f0]
push eax
call fcn.00407eb0
mov cl, al
test cl, cl
je 0x43e385
and edi, 0xf
movzx eax, byte [edi*4 + 0x50a2f0]
push eax
jmp 0x43e34f
mov eax, dword [ebp - 0x114]
mov ecx, ebx
movzx esi, byte [eax + edi]
mov eax, esi
shr eax, 2
movzx eax, byte [eax + 0x50a2f0]
push eax
call fcn.00407eb0
mov cl, al
test cl, cl
je 0x43e385
and esi, 3
mov ecx, ebx
shl esi, 4
movzx eax, byte [esi + 0x50a2f0]
push eax
call fcn.00407eb0
mov cl, al
test cl, cl
je 0x43e385
push 0x3d
mov ecx, ebx
call fcn.00407eb0
mov cl, al
test cl, cl
je 0x43e385
push 0x3d
mov ecx, ebx
call fcn.00407eb0
mov cl, al
test cl, cl
je 0x43e385
push 0xd
mov ecx, ebx
call fcn.00407eb0
mov cl, al
test cl, cl
je 0x43e385
push 0xa
mov ecx, ebx
call fcn.00407eb0
mov cl, al
pop edi
pop esi
mov al, cl
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a4dea
mov esp, ebp
pop ebp
ret 0xc
pop edi
pop esi
mov al, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a4dea
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [ebp - 4]
xor al, al
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004a4dea
mov esp, ebp
pop ebp
ret 0xc