Function at 0x445250
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x128
mov eax, dword [0x692c00]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
mov eax, 0xaaaaaaab
push esi
mov esi, dword [ebp + 0x10]
push edi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x120], ecx
mov dword [ebp - 0x11c], ebx
mov dword [ebp - 0x128], esi
lea ecx, [edi*4 + 8]
mul ecx
mov eax, dword [ebp - 0x120]
mov ecx, edx
shr ecx, 1
cmp dword [eax + 4], 0
je 0x4452b7
mov ebx, dword [ebp - 0x120]
lea eax, [ecx + ecx]
xor edx, edx
div dword [ebx + 4]
mov ebx, dword [ebp - 0x11c]
add eax, ecx
jmp 0x4452b9
mov eax, ecx
add eax, 3
mov ecx, esi
push eax
call fcn.0042ee50
test al, al
je 0x4455a6
test edi, edi
je 0x445591
test ebx, ebx
je 0x445591
xor edx, edx
mov dword [ebp - 0x118], 0
mov eax, 0xaaaaaaab
mov dword [ebp - 0x124], edx
mul edi
xor ecx, ecx
xor ebx, ebx
mov eax, edx
shr eax, 1
mov dword [ebp - 0x114], eax
je 0x445428
nop dword [eax]
mov eax, dword [ebp - 0x118]
mov edi, dword [ebp - 0x11c]
movzx esi, byte [edi + eax]
movzx edx, byte [edi + eax + 1]
movzx edi, byte [edi + eax + 2]
add eax, 3
mov dword [ebp - 0x118], eax
mov eax, esi
shr eax, 2
and esi, 3
shl esi, 4
mov al, byte [eax + 0x5d6e28]
mov byte [ebp + ecx - 0x110], al
mov eax, edx
shr eax, 4
and edx, 0xf
or esi, eax
shl edx, 2
mov al, byte [esi + 0x5d6e28]
mov byte [ebp + ecx - 0x10f], al
mov eax, edi
shr eax, 6
and edi, 0x3f
or eax, edx
mov edx, dword [ebp - 0x120]
mov al, byte [eax + 0x5d6e28]
mov byte [ebp + ecx - 0x10e], al
mov al, byte [edi + 0x5d6e28]
mov byte [ebp + ecx - 0x10d], al
add ecx, 4
mov eax, dword [ebp - 0x124]
add eax, 4
mov dword [ebp - 0x124], eax
cmp eax, dword [edx + 4]
jb 0x4453ce
mov dword [ebp + ecx - 0x110], 0x44782326
xor edx, edx
mov word [ebp + ecx - 0x10c], 0xd3b
mov byte [ebp + ecx - 0x10a], 0xa
add ecx, 7
mov dword [ebp - 0x124], edx
mov esi, dword [ebp - 0x128]
cmp ecx, 0x100
jl 0x4453f5
push ecx
lea eax, [ebp - 0x110]
mov ecx, esi
push eax
call fcn.0042bc50
test al, al
je 0x4455a6
xor ecx, ecx
mov eax, dword [ebp - 0x114]
inc ebx
cmp ebx, eax
jb 0x445310
test ecx, ecx
je 0x445425
push ecx
lea eax, [ebp - 0x110]
mov ecx, esi
push eax
call fcn.0042bc50
test al, al
je 0x4455a6
mov eax, dword [ebp - 0x114]
mov edi, dword [ebp + 0xc]
lea eax, [eax + eax*2]
mov bl, 1
sub edi, eax
sub edi, 0
je 0x445524
sub edi, 1
je 0x4454c1
sub edi, 1
jne 0x44553e
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
movzx edi, byte [ecx + eax]
movzx eax, byte [ecx + eax + 1]
mov ecx, esi
mov dword [ebp - 0x114], eax
mov eax, edi
shr eax, 2
movzx eax, byte [eax + 0x5d6e28]
push eax
call fcn.0042b350
mov bl, al
test bl, bl
je 0x44553e
mov eax, dword [ebp - 0x114]
and edi, 3
shr eax, 4
mov ecx, esi
shl edi, 4
or eax, edi
movzx eax, byte [eax + 0x5d6e28]
push eax
call fcn.0042b350
mov bl, al
test bl, bl
je 0x44553e
mov eax, dword [ebp - 0x114]
and eax, 0xf
movzx eax, byte [eax*4 + 0x5d6e28]
push eax
jmp 0x445508
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x11c]
movzx edi, byte [ecx + eax]
mov ecx, esi
mov eax, edi
shr eax, 2
movzx eax, byte [eax + 0x5d6e28]
push eax
call fcn.0042b350
mov bl, al
test bl, bl
je 0x44553e
and edi, 3
mov ecx, esi
shl edi, 4
movzx eax, byte [edi + 0x5d6e28]
push eax
call fcn.0042b350
mov bl, al
test bl, bl
je 0x44553e
push 0x3d
mov ecx, esi
call fcn.0042b350
mov bl, al
test bl, bl
je 0x44553e
push 0x3d
mov ecx, esi
call fcn.0042b350
mov bl, al
test bl, bl
je 0x44553e
push 0xd
mov ecx, esi
call fcn.0042b350
mov bl, al
test bl, bl
je 0x44553e
push 0xa
mov ecx, esi
call fcn.0042b350
mov bl, al
push str._r_n_r_n
mov ecx, esi
call fcn.0042ebb0
test al, al
je 0x445557
push 2
mov ecx, esi
call fcn.00431b80
push str.xD__r_n
mov ecx, esi
call fcn.0042ebb0
test al, al
je 0x44557c
push 7
mov ecx, esi
call fcn.00431b80
push 0x5d38b0
mov ecx, esi
call fcn.0042b030
pop edi
pop esi
mov al, bl
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005b34c8
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.005b34c8
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.005b34c8
mov esp, ebp
pop ebp
ret 0xc