Function at 0x41fef0
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
mov eax, dword [0x519220]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov edx, eax
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x34], eax
mov byte [ebp - 0x25], 0
lea ecx, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x41ff12
sub edx, ecx
sar edx, 1
push ebx
push esi
push edi
lea ebx, [edx + edx]
mov esi, ebx
mov dword [ebp - 0x38], ebx
and esi, 0xfffffff0
add esi, 0x10
push esi
call fcn.004af1b3
mov edi, eax
add esp, 4
mov dword [ebp - 0x30], edi
test edi, edi
je 0x42016d
shr ebx, 4
inc ebx
shl ebx, 4
cmp esi, ebx
jl 0x41ff8a
push dword [ebp - 0x38]
push dword [ebp - 0x34]
push edi
call fcn.00490e80
mov eax, dword [ebp - 0x38]
mov dl, bl
mov ecx, ebx
add esp, 0xc
sub dl, al
add edi, eax
sub ecx, eax
je 0x41ff8a
mov al, dl
mov esi, ecx
movzx eax, al
imul eax, eax, 0x1010101
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, esi
and ecx, 3
rep stosb byte es:[edi], al
mov esi, dword [ebp - 0x2c]
lea eax, [ebx + 0x10]
cmp byte [esi + 0x1f8], 0
movups xmm0, xmmword [esi + 0x1e8]
cmove eax, ebx
push eax
mov dword [ebp - 0x2c], eax
movups xmmword [ebp - 0x14], xmm0
call fcn.004af1b3
mov edi, eax
add esp, 4
mov dword [ebp - 0x34], edi
test edi, edi
je 0x42013f
cmp byte [esi + 0x1f8], 0
je 0x41fffa
lea ecx, [ebp - 0x24]
call fcn.00441340
push 1
lea eax, [ebp - 0x14]
mov edx, edi
push eax
push esi
push 0x10
lea ecx, [ebp - 0x24]
call fcn.00454070
mov ecx, dword [ebp - 0x30]
lea eax, [ebp - 0x14]
push 1
push eax
push esi
push ebx
lea edx, [edi + 0x10]
call fcn.00454070
add esp, 0x20
jmp 0x42000f
mov ecx, dword [ebp - 0x30]
lea eax, [ebp - 0x14]
push 1
push eax
push esi
push ebx
mov edx, edi
call fcn.00454070
add esp, 0x10
mov ebx, dword [ebp - 0x2c]
mov eax, 0xaaaaaaab
lea ecx, [ebx + 2]
mul ecx
shr edx, 1
lea eax, [edx*8 + 2]
push eax
call fcn.004af1b3
mov esi, eax
add esp, 4
mov dword [ebp - 0x2c], esi
test esi, esi
je 0x420141
cmp ebx, 3
jl 0x4200c8
mov eax, 0xaaaaaaab
mul ebx
shr edx, 1
lea eax, [edx*4]
sub eax, edx
neg eax
add ebx, eax
nop word [eax + eax]
movzx eax, byte [edi]
shr eax, 2
movsx eax, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov word [esi], ax
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 3
shr eax, 4
shl ecx, 4
or ecx, eax
movsx eax, byte [ecx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov word [esi + 2], ax
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0xf
shr eax, 6
shl ecx, 2
or ecx, eax
movsx eax, byte [ecx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov word [esi + 4], ax
movzx eax, byte [edi + 2]
add edi, 3
and eax, 0x3f
movsx eax, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov word [esi + 6], ax
add esi, 8
sub edx, 1
jne 0x420060
test ebx, ebx
jle 0x420130
movzx eax, byte [edi]
shr eax, 2
movsx ax, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov word [esi], ax
mov cl, byte [edi]
and cl, 3
shl cl, 4
cmp ebx, 1
jle 0x4200f2
mov al, byte [edi + 1]
shr al, 4
or cl, al
movzx eax, cl
movsx ax, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov word [esi + 2], ax
cmp ebx, 2
jge 0x42010d
mov eax, 0x3d
jmp 0x420120
movzx eax, byte [edi + 1]
and eax, 0xf
movsx ax, byte [eax*4 + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
movzx eax, ax
mov word [esi + 4], ax
mov eax, 0x3d
mov word [esi + 6], ax
add esi, 8
mov edi, dword [ebp - 0x34]
xor eax, eax
mov word [esi], ax
mov bl, 1
mov esi, dword [ebp - 0x2c]
jmp 0x420144
xor esi, esi
mov bl, byte [ebp - 0x25]
push dword [ebp - 0x30]
call fcn.0049c7b1
add esp, 4
test edi, edi
je 0x42015c
push edi
call fcn.0049c7b1
add esp, 4
test bl, bl
jne 0x420182
test esi, esi
je 0x42016d
push esi
call fcn.0049c7b1
add esp, 4
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0048f1b0
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0048f1b0
mov esp, ebp
pop ebp
ret 4