Function at 0x401e20
Capabilities:
Encode data using base64
Resolve function by parsing pe exports

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