Function at 0x407f5d
Capabilities:
Encode data using base64

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