Function at 0x401030
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5548d2
mov eax, dword fs:[0]
push eax
sub esp, 0x418
mov eax, dword [0x5abbf4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, 0xff
xor eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x420], eax
mov dword [ebp - 0x424], ecx
mov ebx, edx
mov dword [ebp - 0x410], esi
mov dword [ebp - 0x40c], esi
mov dword [ebp - 0x408], esi
mov dword [ebp - 0x404], esi
mov dword [ebp - 0x400], esi
mov dword [ebp - 0x3fc], esi
mov dword [ebp - 0x3f8], esi
mov dword [ebp - 0x3f4], esi
mov dword [ebp - 0x3f0], esi
mov dword [ebp - 0x3ec], esi
mov dword [ebp - 0x3e8], esi
mov dword [ebp - 0x3e4], esi
mov dword [ebp - 0x3e0], esi
mov dword [ebp - 0x3dc], esi
mov dword [ebp - 0x3d8], esi
mov dword [ebp - 0x3d4], esi
mov dword [ebp - 0x3d0], esi
mov dword [ebp - 0x3cc], esi
mov dword [ebp - 0x3c8], esi
mov dword [ebp - 0x3c4], esi
mov dword [ebp - 0x3c0], esi
mov dword [ebp - 0x3bc], esi
mov dword [ebp - 0x3b8], esi
mov dword [ebp - 0x3b4], esi
mov dword [ebp - 0x3b0], esi
mov dword [ebp - 0x3ac], esi
mov dword [ebp - 0x3a8], esi
mov dword [ebp - 0x3a4], esi
mov dword [ebp - 0x3a0], esi
mov dword [ebp - 0x39c], esi
mov dword [ebp - 0x398], esi
mov dword [ebp - 0x394], esi
mov dword [ebp - 0x390], esi
mov dword [ebp - 0x38c], esi
mov dword [ebp - 0x388], esi
mov dword [ebp - 0x384], esi
mov dword [ebp - 0x380], esi
mov dword [ebp - 0x37c], esi
mov dword [ebp - 0x378], esi
mov dword [ebp - 0x374], esi
mov dword [ebp - 0x370], esi
mov dword [ebp - 0x36c], esi
mov dword [ebp - 0x368], esi
mov dword [ebp - 0x364], esi
mov dword [ebp - 0x360], esi
mov dword [ebp - 0x35c], 0x3e
mov dword [ebp - 0x358], esi
mov dword [ebp - 0x354], esi
mov dword [ebp - 0x350], 0x34
mov dword [ebp - 0x34c], 0x35
mov dword [ebp - 0x348], 0x36
mov dword [ebp - 0x344], 0x37
mov dword [ebp - 0x340], 0x38
mov dword [ebp - 0x33c], 0x39
mov dword [ebp - 0x338], 0x3a
mov dword [ebp - 0x334], 0x3b
mov dword [ebp - 0x330], 0x3c
mov dword [ebp - 0x32c], 0x3d
mov dword [ebp - 0x328], esi
mov dword [ebp - 0x324], esi
mov dword [ebp - 0x320], esi
mov dword [ebp - 0x31c], esi
mov dword [ebp - 0x318], esi
mov dword [ebp - 0x314], esi
mov dword [ebp - 0x310], esi
mov dword [ebp - 0x30c], eax
mov dword [ebp - 0x308], 1
mov dword [ebp - 0x304], 2
mov dword [ebp - 0x300], 3
mov dword [ebp - 0x2fc], 4
mov dword [ebp - 0x2f8], 5
mov dword [ebp - 0x2f4], 6
mov dword [ebp - 0x2f0], 7
mov dword [ebp - 0x2ec], 8
mov dword [ebp - 0x2e8], 9
mov ecx, 0x2e
mov dword [ebp - 0x2e4], 0xa
mov dword [ebp - 0x2e0], 0xb
mov dword [ebp - 0x2dc], 0xc
mov dword [ebp - 0x2d8], 0xd
mov dword [ebp - 0x2d4], 0xe
mov dword [ebp - 0x2d0], 0xf
mov dword [ebp - 0x2cc], 0x10
mov dword [ebp - 0x2c8], 0x11
mov dword [ebp - 0x2c4], 0x12
mov dword [ebp - 0x2c0], 0x13
mov dword [ebp - 0x2bc], 0x14
mov dword [ebp - 0x2b8], 0x15
mov dword [ebp - 0x2b4], 0x16
mov dword [ebp - 0x2b0], 0x17
mov dword [ebp - 0x2ac], 0x18
mov dword [ebp - 0x2a8], 0x19
mov dword [ebp - 0x2a4], esi
mov dword [ebp - 0x2a0], esi
mov dword [ebp - 0x29c], esi
mov dword [ebp - 0x298], esi
mov dword [ebp - 0x294], 0x3f
mov dword [ebp - 0x290], esi
mov dword [ebp - 0x28c], 0x1a
mov dword [ebp - 0x288], 0x1b
mov dword [ebp - 0x284], 0x1c
mov dword [ebp - 0x280], 0x1d
mov dword [ebp - 0x27c], 0x1e
mov dword [ebp - 0x278], 0x1f
mov dword [ebp - 0x274], 0x20
mov dword [ebp - 0x270], 0x21
mov dword [ebp - 0x26c], 0x22
mov dword [ebp - 0x268], 0x23
mov dword [ebp - 0x264], 0x24
mov dword [ebp - 0x260], 0x25
mov dword [ebp - 0x25c], 0x26
mov dword [ebp - 0x258], 0x27
mov dword [ebp - 0x254], 0x28
mov dword [ebp - 0x250], 0x29
mov dword [ebp - 0x24c], 0x2a
mov dword [ebp - 0x248], 0x2b
mov dword [ebp - 0x244], 0x2c
mov dword [ebp - 0x240], 0x2d
mov dword [ebp - 0x23c], ecx
mov dword [ebp - 0x238], 0x2f
mov dword [ebp - 0x234], 0x30
mov dword [ebp - 0x230], 0x31
mov dword [ebp - 0x22c], 0x32
mov dword [ebp - 0x228], 0x33
mov dword [ebp - 0x224], esi
mov dword [ebp - 0x220], esi
mov dword [ebp - 0x21c], esi
mov dword [ebp - 0x218], esi
mov dword [ebp - 0x214], esi
mov dword [ebp - 0x210], esi
mov dword [ebp - 0x20c], esi
mov dword [ebp - 0x208], esi
mov dword [ebp - 0x204], esi
mov dword [ebp - 0x200], esi
mov dword [ebp - 0x1fc], esi
mov dword [ebp - 0x1f8], esi
mov dword [ebp - 0x1f4], esi
mov dword [ebp - 0x1f0], esi
mov dword [ebp - 0x1ec], esi
mov dword [ebp - 0x1e8], esi
mov dword [ebp - 0x1e4], esi
mov dword [ebp - 0x1e0], esi
mov dword [ebp - 0x1dc], esi
mov dword [ebp - 0x1d8], esi
mov dword [ebp - 0x1d4], esi
mov dword [ebp - 0x1d0], esi
mov dword [ebp - 0x1cc], esi
mov dword [ebp - 0x1c8], esi
mov dword [ebp - 0x1c4], esi
mov dword [ebp - 0x1c0], esi
mov dword [ebp - 0x1bc], esi
mov dword [ebp - 0x1b8], esi
mov dword [ebp - 0x1b4], esi
mov dword [ebp - 0x1b0], esi
mov dword [ebp - 0x1ac], esi
mov dword [ebp - 0x1a8], esi
mov dword [ebp - 0x1a4], esi
mov dword [ebp - 0x1a0], esi
mov dword [ebp - 0x19c], esi
mov dword [ebp - 0x198], esi
mov dword [ebp - 0x194], esi
mov dword [ebp - 0x190], esi
mov dword [ebp - 0x18c], esi
mov dword [ebp - 0x188], esi
mov dword [ebp - 0x184], esi
mov dword [ebp - 0x180], esi
mov dword [ebp - 0x17c], esi
mov dword [ebp - 0x178], esi
mov dword [ebp - 0x174], esi
mov dword [ebp - 0x170], esi
mov dword [ebp - 0x16c], esi
mov dword [ebp - 0x168], esi
mov dword [ebp - 0x164], esi
mov dword [ebp - 0x160], esi
mov dword [ebp - 0x15c], esi
mov dword [ebp - 0x158], esi
mov dword [ebp - 0x154], esi
mov dword [ebp - 0x150], esi
mov dword [ebp - 0x14c], esi
mov dword [ebp - 0x148], esi
mov dword [ebp - 0x144], esi
mov dword [ebp - 0x140], esi
mov dword [ebp - 0x13c], esi
mov dword [ebp - 0x138], esi
mov dword [ebp - 0x134], esi
mov dword [ebp - 0x130], esi
mov dword [ebp - 0x12c], esi
mov dword [ebp - 0x128], esi
mov dword [ebp - 0x124], esi
mov dword [ebp - 0x120], esi
mov dword [ebp - 0x11c], esi
mov dword [ebp - 0x118], esi
mov dword [ebp - 0x114], esi
mov dword [ebp - 0x110], esi
mov dword [ebp - 0x10c], esi
mov dword [ebp - 0x108], esi
mov dword [ebp - 0x104], esi
mov dword [ebp - 0x100], esi
mov dword [ebp - 0xfc], esi
mov dword [ebp - 0xf8], esi
mov dword [ebp - 0xf4], esi
mov dword [ebp - 0xf0], esi
mov dword [ebp - 0xec], esi
mov dword [ebp - 0xe8], esi
mov dword [ebp - 0xe4], esi
mov dword [ebp - 0xe0], esi
mov dword [ebp - 0xdc], esi
mov dword [ebp - 0xd8], esi
mov dword [ebp - 0xd4], esi
mov dword [ebp - 0xd0], esi
mov dword [ebp - 0xcc], esi
mov dword [ebp - 0xc8], esi
mov dword [ebp - 0xc4], esi
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xbc], esi
mov dword [ebp - 0xb8], esi
mov dword [ebp - 0xb4], esi
mov dword [ebp - 0xb0], esi
mov dword [ebp - 0xac], esi
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0xa0], esi
mov dword [ebp - 0x9c], esi
mov dword [ebp - 0x98], esi
mov dword [ebp - 0x94], esi
mov dword [ebp - 0x90], esi
mov dword [ebp - 0x8c], esi
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x84], esi
mov dword [ebp - 0x80], esi
mov dword [ebp - 0x7c], esi
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x64], esi
mov eax, ebx
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], esi
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x401724
sub eax, edi
mov edi, eax
cdq
and edx, 3
add eax, edx
sar eax, 2
lea eax, [eax + eax*2]
mov dword [ebp - 0x414], eax
cmp byte [ebx + edi - 1], cl
jne 0x40174e
dec eax
mov dword [ebp - 0x414], eax
cmp byte [ebx + edi - 2], cl
jne 0x40175b
dec eax
mov dword [ebp - 0x414], eax
add eax, 3
push eax
call fcn.00426f60
mov edi, eax
mov eax, dword [ebp - 0x414]
add eax, 3
push eax
push 0
push edi
call fcn.0052ffe0
mov eax, 0x55555556
imul dword [ebp - 0x414]
mov ecx, ebx
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
add esp, 0x10
mov dword [ebp - 0x418], ebx
mov eax, dword [ebp - 0x418]
test ebx, ebx
jle 0x4017ee
mov dword [ebp - 0x41c], ebx
xor ebx, ebx
jmp 0x4017b0
movsx edx, byte [ecx]
mov edx, dword [ebp + edx*4 - 0x410]
inc ecx
cmp edx, esi
jne 0x4017c2
dec ebx
jmp 0x4017c7
shl eax, 6
or eax, edx
inc ebx
cmp ebx, 4
jl 0x4017b0
mov byte [edi + 2], al
shr eax, 8
mov byte [edi + 1], al
shr eax, 8
mov byte [edi], al
add edi, 3
xor eax, eax
dec dword [ebp - 0x41c]
jne 0x4017a5
mov ebx, dword [ebp - 0x418]
mov edx, dword [ebp - 0x414]
lea ebx, [ebx + ebx*2]
sub edx, ebx
dec edx
je 0x40184a
dec edx
jne 0x401877
movsx edx, byte [ecx]
mov edx, dword [ebp + edx*4 - 0x410]
cmp edx, esi
je 0x401812
shl eax, 6
or eax, edx
movsx edx, byte [ecx + 1]
mov edx, dword [ebp + edx*4 - 0x410]
cmp edx, esi
je 0x401826
shl eax, 6
or eax, edx
movsx ecx, byte [ecx + 2]
mov ecx, dword [ebp + ecx*4 - 0x410]
cmp ecx, esi
je 0x40183a
shl eax, 6
or eax, ecx
shr eax, 2
mov byte [edi + 1], al
shr eax, 8
mov byte [edi], al
add edi, 2
jmp 0x401877
movsx edx, byte [ecx]
mov edx, dword [ebp + edx*4 - 0x410]
cmp edx, esi
je 0x40185d
shl eax, 6
or eax, edx
movsx ecx, byte [ecx + 1]
mov ecx, dword [ebp + ecx*4 - 0x410]
cmp ecx, esi
je 0x401871
shl eax, 6
or eax, ecx
shr eax, 4
mov byte [edi], al
inc edi
sub edi, dword [ebp - 0x414]
mov esi, dword [ebp - 0x424]
push edi
mov ecx, esi
call fcn.00402150
mov dword [ebp - 4], 0
push edi
mov dword [ebp - 0x420], 1
call fcn.00426f55
add esp, 4
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0052d5c8
mov esp, ebp
pop ebp
ret