Function at 0x4545d0
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x128
mov eax, dword [0x68683c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ecx + 4]
mov dword [ebp - 0x120], ecx
lea ecx, [eax*4 + 8]
mov eax, 0xaaaaaaab
mul ecx
mov ecx, edx
push edi
mov edi, dword [ebp + 0x10]
shr ecx, 1
mov dword [ebp - 0x114], ebx
mov dword [ebp - 0x128], edi
test esi, esi
je 0x454627
lea eax, [ecx + ecx]
xor edx, edx
div esi
lea ecx, [ecx + eax + 3]
jmp 0x45462a
add ecx, 3
push ecx
mov ecx, edi
call fcn.0044f270
test al, al
jne 0x45464b
pop edi
pop esi
xor al, al
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005a6cf8
mov esp, ebp
pop ebp
ret 0xc
xor ecx, ecx
cmp dword [ebp + 0xc], ecx
je 0x45491b
cmp ebx, ecx
je 0x45491b
mov eax, 0xaaaaaaab
mul dword [ebp + 0xc]
xor esi, esi
shr edx, 1
mov dword [ebp - 0x11c], ecx
mov dword [ebp - 0x124], ecx
mov dword [ebp - 0x118], edx
je 0x4547c0
jmp 0x454696
mov ebx, dword [ebp - 0x114]
movzx eax, byte [ebx + esi]
movzx edi, byte [ebx + esi + 1]
mov edx, dword [ebp - 0x114]
movzx edx, byte [edx + esi + 2]
mov ebx, eax
sar ebx, 2
and ebx, 0x3f
mov bl, byte [ebx + 0x5ccee0]
mov byte [ebp + ecx - 0x110], bl
and eax, 3
shl eax, 4
mov ebx, edi
sar ebx, 4
and ebx, 0xf
or ebx, eax
movzx eax, byte [ebx + 0x5ccee0]
mov byte [ebp + ecx - 0x10f], al
mov eax, edx
sar eax, 6
and edi, 0xf
and eax, 3
add edi, edi
add edi, edi
or eax, edi
movzx eax, byte [eax + 0x5ccee0]
and edx, 0x3f
mov dl, byte [edx + 0x5ccee0]
mov byte [ebp + ecx - 0x10e], al
mov eax, dword [ebp - 0x11c]
mov byte [ebp + ecx - 0x10d], dl
mov edx, dword [ebp - 0x120]
add eax, 4
add esi, 3
add ecx, 4
mov dword [ebp - 0x11c], eax
cmp eax, dword [edx + 4]
jb 0x45475f
mov word [ebp + ecx - 0x110], 0x2326
mov word [ebp + ecx - 0x10e], 0x4478
mov word [ebp + ecx - 0x10c], 0xd3b
mov byte [ebp + ecx - 0x10a], 0xa
add ecx, 7
mov dword [ebp - 0x11c], 0
mov edi, dword [ebp - 0x128]
cmp ecx, 0x100
jl 0x454786
push ecx
lea eax, [ebp - 0x110]
push eax
mov ecx, edi
call fcn.0044f710
test al, al
je 0x454636
xor ecx, ecx
mov eax, dword [ebp - 0x124]
inc eax
mov dword [ebp - 0x124], eax
cmp eax, dword [ebp - 0x118]
jb 0x454690
test ecx, ecx
je 0x4547ba
push ecx
lea ecx, [ebp - 0x110]
push ecx
mov ecx, edi
call fcn.0044f710
test al, al
je 0x454636
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp + 0xc]
lea edx, [edx + edx*2]
sub eax, edx
sub eax, 0
mov bl, 1
je 0x4548ae
dec eax
je 0x45484e
dec eax
jne 0x4548c8
mov ecx, dword [ebp - 0x114]
movzx eax, byte [ecx + esi]
movzx esi, byte [ecx + esi + 1]
mov dword [ebp - 0x120], eax
sar eax, 2
and eax, 0x3f
movzx eax, byte [eax + 0x5ccee0]
push eax
mov ecx, edi
call fcn.004523c0
mov bl, al
test bl, bl
je 0x4548c8
mov eax, dword [ebp - 0x120]
mov ecx, esi
sar ecx, 4
and eax, 3
and ecx, 0xf
shl eax, 4
or ecx, eax
movzx edx, byte [ecx + 0x5ccee0]
push edx
mov ecx, edi
call fcn.004523c0
mov bl, al
test bl, bl
je 0x4548c8
and esi, 0xf
movzx eax, byte [esi*4 + 0x5ccee0]
push eax
jmp 0x454892
mov ecx, dword [ebp - 0x114]
movzx esi, byte [ecx + esi]
mov edx, esi
sar edx, 2
and edx, 0x3f
movzx eax, byte [edx + 0x5ccee0]
push eax
mov ecx, edi
call fcn.004523c0
mov bl, al
test bl, bl
je 0x4548c8
and esi, 3
shl esi, 4
movzx ecx, byte [esi + 0x5ccee0]
push ecx
mov ecx, edi
call fcn.004523c0
mov bl, al
test bl, bl
je 0x4548c8
push 0x3d
mov ecx, edi
call fcn.004523c0
mov bl, al
test bl, bl
je 0x4548c8
push 0x3d
mov ecx, edi
call fcn.004523c0
mov bl, al
test bl, bl
je 0x4548c8
push 0xd
mov ecx, edi
call fcn.004523c0
mov bl, al
test bl, bl
je 0x4548c8
push 0xa
mov ecx, edi
call fcn.004523c0
mov bl, al
push str._r_n_r_n
mov ecx, edi
call fcn.0044f530
test al, al
je 0x4548e1
push 2
mov ecx, edi
call fcn.00451820
push str.xD__r_n
mov ecx, edi
call fcn.0044f530
test al, al
je 0x454906
push 7
mov ecx, edi
call fcn.00451820
push 0x5c7d94
mov ecx, edi
call fcn.0044f4b0
pop edi
pop esi
mov al, bl
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005a6cf8
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
mov al, 1
pop ebx
call fcn.005a6cf8
mov esp, ebp
pop ebp
ret 0xc