Function at 0x445340
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x124
mov eax, dword [0x68cc00]
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 0x4455d6
test ecx, ecx
je 0x4455d6
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.0042ec70
test al, al
je 0x4455c3
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 0x4454cb
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 0x445488
push edi
lea eax, [ebp - 0x10c]
mov ecx, ebx
push eax
call fcn.0042ba70
test al, al
je 0x4455c3
xor edi, edi
mov eax, dword [ebp - 0x110]
inc eax
mov dword [ebp - 0x110], eax
cmp eax, dword [ebp - 0x11c]
jb 0x4453e0
test edi, edi
je 0x4454bc
push edi
lea eax, [ebp - 0x10c]
mov ecx, ebx
push eax
call fcn.0042ba70
test al, al
je 0x4455c3
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 0x445545
sub esi, 1
jne 0x4455b0
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.0042b170
test al, al
je 0x4455ae
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.0042b170
test al, al
je 0x4455ae
mov eax, dword [ebp - 0x110]
and eax, 0xf
movzx eax, byte [esi + eax*4]
push eax
jmp 0x445581
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.0042b170
test al, al
je 0x4455ae
and edi, 3
mov ecx, ebx
add edi, edi
movzx eax, byte [esi + edi*8]
push eax
call fcn.0042b170
test al, al
je 0x4455ae
push 0x3d
mov ecx, ebx
call fcn.0042b170
test al, al
je 0x4455ae
push 0x3d
mov ecx, ebx
call fcn.0042b170
test al, al
je 0x4455ae
pop edi
mov dl, 1
pop esi
mov al, dl
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005af618
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.005af618
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.005af618
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
mov al, 1
pop esi
xor ecx, ebp
pop ebx
call fcn.005af618
mov esp, ebp
pop ebp
ret