Function at 0x43e3f0
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
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 0x10]
push ebx
mov ebx, dword [ebp + 0x14]
push esi
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x120], ecx
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x124], ebx
test esi, esi
je 0x43e686
test ecx, ecx
je 0x43e686
lea ecx, [esi*4 + 8]
mov eax, 0xaaaaaaab
mul ecx
push edi
mov ecx, edx
xor edx, edx
shr ecx, 1
lea eax, [ecx + ecx]
add ecx, 3
div esi
add eax, ecx
mov ecx, ebx
push eax
call fcn.00409280
test al, al
je 0x43e673
mov eax, 0xaaaaaaab
xor ecx, ecx
mul esi
xor edi, edi
mov dword [ebp - 0x114], ecx
mov eax, edx
mov dword [ebp - 0x110], ecx
shr eax, 1
mov dword [ebp - 0x11c], eax
je 0x43e57b
nop dword [eax]
mov eax, dword [ebp - 0x114]
mov ebx, dword [ebp - 0x120]
movsx ecx, byte [ebx + eax]
movsx edx, byte [ebx + eax + 1]
movsx esi, byte [ebx + eax + 2]
add eax, 3
mov ebx, dword [ebp - 0x118]
mov dword [ebp - 0x114], eax
mov eax, ecx
shr eax, 2
and ecx, 3
and eax, 0x3f
shl ecx, 4
mov al, byte [eax + ebx]
mov byte [ebp + edi - 0x10c], al
mov eax, edx
shr eax, 4
and edx, 0xf
and eax, 0xf
shl edx, 2
or eax, ecx
mov ecx, ebx
mov ebx, dword [ebp - 0x124]
mov al, byte [eax + ecx]
mov byte [ebp + edi - 0x10b], al
mov eax, esi
shr eax, 6
and esi, 0x3f
and eax, 3
or eax, edx
mov al, byte [eax + ecx]
mov byte [ebp + edi - 0x10a], al
mov al, byte [esi + ecx]
mov byte [ebp + edi - 0x109], al
add edi, 4
cmp edi, 0x100
jl 0x43e538
push edi
lea eax, [ebp - 0x10c]
mov ecx, ebx
push eax
call fcn.00408340
test al, al
je 0x43e673
xor edi, edi
mov eax, dword [ebp - 0x110]
inc eax
mov dword [ebp - 0x110], eax
cmp eax, dword [ebp - 0x11c]
jb 0x43e490
test edi, edi
je 0x43e56c
push edi
lea eax, [ebp - 0x10c]
mov ecx, ebx
push eax
call fcn.00408340
test al, al
je 0x43e673
mov eax, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x114]
mov esi, dword [ebp + 0xc]
lea eax, [eax + eax*2]
mov dl, 1
sub esi, eax
sub esi, 1
je 0x43e5f5
sub esi, 1
jne 0x43e660
mov eax, dword [ebp - 0x120]
mov esi, dword [ebp - 0x118]
movzx edi, byte [eax + ecx]
movzx eax, byte [eax + ecx + 1]
mov ecx, ebx
mov dword [ebp - 0x110], eax
mov eax, edi
shr eax, 2
movzx eax, byte [eax + esi]
push eax
call fcn.00407eb0
test al, al
je 0x43e65e
mov eax, dword [ebp - 0x110]
and edi, 3
shr eax, 4
mov ecx, ebx
shl edi, 4
or eax, edi
movzx eax, byte [eax + esi]
push eax
call fcn.00407eb0
test al, al
je 0x43e65e
mov eax, dword [ebp - 0x110]
and eax, 0xf
movzx eax, byte [esi + eax*4]
push eax
jmp 0x43e631
mov eax, dword [ebp - 0x120]
mov esi, dword [ebp - 0x118]
movzx edi, byte [eax + ecx]
mov ecx, ebx
mov eax, edi
shr eax, 2
movzx eax, byte [eax + esi]
push eax
call fcn.00407eb0
test al, al
je 0x43e65e
and edi, 3
mov ecx, ebx
add edi, edi
movzx eax, byte [esi + edi*8]
push eax
call fcn.00407eb0
test al, al
je 0x43e65e
push 0x3d
mov ecx, ebx
call fcn.00407eb0
test al, al
je 0x43e65e
push 0x3d
mov ecx, ebx
call fcn.00407eb0
test al, al
je 0x43e65e
pop edi
mov dl, 1
pop esi
mov al, dl
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a4dea
mov esp, ebp
pop ebp
ret
xor dl, dl
pop edi
pop esi
mov al, dl
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a4dea
mov esp, ebp
pop ebp
ret
pop edi
pop esi
xor al, al
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a4dea
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
mov al, 1
pop esi
xor ecx, ebp
pop ebx
call fcn.004a4dea
mov esp, ebp
pop ebp
ret