Function at 0x41def0
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
mov eax, dword [0x513200]
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 0x41df12
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.004a9943
mov edi, eax
add esp, 4
mov dword [ebp - 0x30], edi
test edi, edi
je 0x41e16d
shr ebx, 4
inc ebx
shl ebx, 4
cmp esi, ebx
jl 0x41df8a
push dword [ebp - 0x38]
push dword [ebp - 0x34]
push edi
call fcn.0048b610
mov eax, dword [ebp - 0x38]
mov dl, bl
mov ecx, ebx
add esp, 0xc
sub dl, al
add edi, eax
sub ecx, eax
je 0x41df8a
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.004a9943
mov edi, eax
add esp, 4
mov dword [ebp - 0x34], edi
test edi, edi
je 0x41e13f
cmp byte [esi + 0x1f8], 0
je 0x41dffa
lea ecx, [ebp - 0x24]
call fcn.0043d3b0
push 1
lea eax, [ebp - 0x14]
mov edx, edi
push eax
push esi
push 0x10
lea ecx, [ebp - 0x24]
call fcn.0044ec80
mov ecx, dword [ebp - 0x30]
lea eax, [ebp - 0x14]
push 1
push eax
push esi
push ebx
lea edx, [edi + 0x10]
call fcn.0044ec80
add esp, 0x20
jmp 0x41e00f
mov ecx, dword [ebp - 0x30]
lea eax, [ebp - 0x14]
push 1
push eax
push esi
push ebx
mov edx, edi
call fcn.0044ec80
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.004a9943
mov esi, eax
add esp, 4
mov dword [ebp - 0x2c], esi
test esi, esi
je 0x41e141
cmp ebx, 3
jl 0x41e0c8
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 0x41e060
test ebx, ebx
jle 0x41e130
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 0x41e0f2
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 0x41e10d
mov eax, 0x3d
jmp 0x41e120
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 0x41e144
xor esi, esi
mov bl, byte [ebp - 0x25]
push dword [ebp - 0x30]
call fcn.00496f41
add esp, 4
test edi, edi
je 0x41e15c
push edi
call fcn.00496f41
add esp, 4
test bl, bl
jne 0x41e182
test esi, esi
je 0x41e16d
push esi
call fcn.00496f41
add esp, 4
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00489940
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.00489940
mov esp, ebp
pop ebp
ret 4