Function at 0x10031000
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40c
and dword [ebp - 0x308], 0
push ebx
push esi
mov esi, 0xff
push edi
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], 0x3e
mov dword [ebp - 0x35c], esi
mov dword [ebp - 0x358], esi
mov dword [ebp - 0x354], esi
mov dword [ebp - 0x350], 0x3f
mov dword [ebp - 0x34c], 0x34
mov dword [ebp - 0x348], 0x35
mov dword [ebp - 0x344], 0x36
mov dword [ebp - 0x340], 0x37
mov dword [ebp - 0x33c], 0x38
mov dword [ebp - 0x338], 0x39
mov dword [ebp - 0x334], 0x3a
mov dword [ebp - 0x330], 0x3b
mov dword [ebp - 0x32c], 0x3c
mov dword [ebp - 0x328], 0x3d
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], esi
mov dword [ebp - 0x304], 1
mov dword [ebp - 0x300], 2
mov dword [ebp - 0x2fc], 3
mov dword [ebp - 0x2f8], 4
mov dword [ebp - 0x2f4], 5
mov dword [ebp - 0x2f0], 6
mov dword [ebp - 0x2ec], 7
mov dword [ebp - 0x2e8], 8
mov dword [ebp - 0x2e4], 9
mov dword [ebp - 0x2e0], 0xa
mov dword [ebp - 0x2dc], 0xb
mov dword [ebp - 0x2d8], 0xc
mov dword [ebp - 0x2d4], 0xd
mov dword [ebp - 0x2d0], 0xe
mov dword [ebp - 0x2cc], 0xf
mov dword [ebp - 0x2c8], 0x10
mov dword [ebp - 0x2c4], 0x11
mov dword [ebp - 0x2c0], 0x12
mov dword [ebp - 0x2bc], 0x13
mov dword [ebp - 0x2b8], 0x14
mov dword [ebp - 0x2b4], 0x15
mov dword [ebp - 0x2b0], 0x16
mov dword [ebp - 0x2ac], 0x17
mov dword [ebp - 0x2a8], 0x18
mov dword [ebp - 0x2a4], 0x19
mov dword [ebp - 0x2a0], esi
mov dword [ebp - 0x29c], esi
mov dword [ebp - 0x298], esi
mov dword [ebp - 0x294], esi
mov dword [ebp - 0x290], esi
mov dword [ebp - 0x28c], esi
mov dword [ebp - 0x288], 0x1a
mov dword [ebp - 0x284], 0x1b
mov dword [ebp - 0x280], 0x1c
mov dword [ebp - 0x27c], 0x1d
mov dword [ebp - 0x278], 0x1e
mov dword [ebp - 0x274], 0x1f
mov dword [ebp - 0x270], 0x20
mov dword [ebp - 0x26c], 0x21
mov dword [ebp - 0x268], 0x22
mov dword [ebp - 0x264], 0x23
mov dword [ebp - 0x260], 0x24
mov dword [ebp - 0x25c], 0x25
mov dword [ebp - 0x258], 0x26
mov dword [ebp - 0x254], 0x27
mov dword [ebp - 0x250], 0x28
mov dword [ebp - 0x24c], 0x29
mov dword [ebp - 0x248], 0x2a
mov dword [ebp - 0x244], 0x2b
mov dword [ebp - 0x240], 0x2c
mov dword [ebp - 0x23c], 0x2d
mov dword [ebp - 0x238], 0x2e
mov dword [ebp - 0x234], 0x2f
mov dword [ebp - 0x230], 0x30
mov dword [ebp - 0x22c], 0x31
mov dword [ebp - 0x228], 0x32
mov dword [ebp - 0x224], 0x33
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 dword [ebp - 0x60], esi
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x54], esi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x50], esi
push edi
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
mov dword [ebp - 0x10], esi
call fcn.1003cd02
pop ecx
mov ecx, eax
push 4
cdq
pop ebx
idiv ebx
cmp byte [ecx + edi - 1], 0x3d
lea ebx, [eax + eax*2]
lea eax, [ecx + edi]
mov dword [ebp - 8], ebx
jne 0x100316dd
dec ebx
mov dword [ebp - 8], ebx
cmp byte [eax - 2], 0x3d
jne 0x100316e7
dec ebx
mov dword [ebp - 8], ebx
lea eax, [ebx + 3]
push eax
call fcn.1003ccae
mov edi, eax
lea eax, [ebx + 3]
push eax
push 0
push edi
call fcn.1003ccfc
mov eax, dword [ebp + 8]
add esp, 0x10
mov dword [ebp - 4], eax
mov eax, ebx
push 3
cdq
pop ecx
idiv ecx
test eax, eax
jle 0x1003175e
mov ecx, dword [ebp + 8]
mov dword [ebp - 0xc], eax
and dword [ebp + 8], 0
mov eax, dword [ebp - 4]
inc dword [ebp - 4]
movsx eax, byte [eax]
mov edx, dword [ebp + eax*4 - 0x40c]
cmp edx, esi
jne 0x10031736
dec dword [ebp + 8]
jmp 0x1003173b
shl ecx, 6
or ecx, edx
inc dword [ebp + 8]
cmp dword [ebp + 8], 4
jl 0x1003171d
mov byte [edi + 2], cl
shr ecx, 8
mov byte [edi + 1], cl
shr ecx, 8
mov byte [edi], cl
add edi, 3
xor ecx, ecx
dec dword [ebp - 0xc]
jne 0x10031719
jmp 0x10031761
mov ecx, dword [ebp + 8]
mov eax, ebx
push 3
cdq
pop ebx
idiv ebx
dec edx
je 0x100317bc
dec edx
jne 0x100317ec
mov eax, dword [ebp - 4]
movsx edx, byte [eax]
inc eax
mov edx, dword [ebp + edx*4 - 0x40c]
cmp edx, esi
je 0x10031786
shl ecx, 6
or ecx, edx
movsx edx, byte [eax]
inc eax
mov edx, dword [ebp + edx*4 - 0x40c]
cmp edx, esi
je 0x1003179a
shl ecx, 6
or ecx, edx
movsx eax, byte [eax]
mov eax, dword [ebp + eax*4 - 0x40c]
cmp eax, esi
je 0x100317ad
shl ecx, 6
or ecx, eax
shr ecx, 2
mov byte [edi + 1], cl
shr ecx, 8
mov byte [edi], cl
inc edi
inc edi
jmp 0x100317ec
mov eax, dword [ebp - 4]
movsx edx, byte [eax]
inc eax
mov edx, dword [ebp + edx*4 - 0x40c]
cmp edx, esi
je 0x100317d3
shl ecx, 6
or ecx, edx
movsx eax, byte [eax]
mov eax, dword [ebp + eax*4 - 0x40c]
cmp eax, esi
je 0x100317e6
shl ecx, 6
or ecx, eax
shr ecx, 4
mov byte [edi], cl
inc edi
sub edi, dword [ebp - 8]
push 0x1000
call fcn.1003ccae
pop ecx
mov esi, eax
push edi
push esi
call dword [0x1000e068]
push edi
call fcn.1003cca8
pop ecx
mov eax, esi
pop edi
pop esi
pop ebx
leave
ret