Function at 0x414cc0
Capabilities:
Encode data using base64

Disassembly:
push ebp
push ebx
push edi
push esi
push eax
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
sub edx, eax
je 0x414dae
cmp edx, 2
jb 0x414dae
cmp byte [eax], 0x64
jne 0x414dae
movzx edx, byte [eax + 1]
cmp edx, 0x58
je 0x414e65
cmp edx, 0x78
je 0x414dba
cmp edx, 0x69
jne 0x414dae
add eax, 2
mov dword [ecx], eax
mov ebx, ecx
call sym.__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseSourceNam
xor esi, esi
test eax, eax
je 0x414f1d
mov edi, eax
mov ecx, ebx
call sym.__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseBracedExp
test eax, eax
je 0x414f1d
mov ecx, ebx
mov ebp, dword [ebx + 0x1198]
mov ecx, dword [ebp + 4]
lea edx, [ecx - 0xfd8]
cmp edx, 0xfffff007
ja 0x414d6f
mov esi, eax
push 0x1000
call sym._malloc
add esp, 4
test eax, eax
je 0x414f27
mov dword [eax], ebp
mov dword [eax + 4], 0
mov dword [ebx + 0x1198], eax
xor ecx, ecx
mov ebp, eax
mov eax, esi
lea edx, [ecx + 0x20]
mov dword [ebp + 4], edx
lea esi, [ecx + ebp]
add esi, 8
mov byte [ebp + ecx + 0xc], 0x51
and byte [ebp + ecx + 0x10], 0xc0
movzx edx, byte [ebp + ecx + 0x14]
and dl, 0xc0
or dl, 0x15
mov byte [ebp + ecx + 0x14], dl
mov dword [ebp + ecx + 8], 0x430054
mov dword [ebp + ecx + 0x18], edi
mov dword [ebp + ecx + 0x1c], eax
mov byte [ebp + ecx + 0x20], 0
jmp 0x414f1d
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
jmp sym._anonymous_namespace_::itanium_demangle::AbstractManglingParser__anonymous_namespace_::itanium_demangle::ManglingParser__anonymous_namespace_::DefaultAllocator____anonymous_namespace_::DefaultAllocator_::parseExpr__
add eax, 2
mov dword [ecx], eax
mov ebx, ecx
call sym._anonymous_namespace_::itanium_demangle::AbstractManglingParser__anonymous_namespace_::itanium_demangle::ManglingParser__anonymous_namespace_::DefaultAllocator____anonymous_namespace_::DefaultAllocator_::parseExpr__
xor esi, esi
test eax, eax
je 0x414f1d
mov edi, eax
mov ecx, ebx
call sym.__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseBracedExp
test eax, eax
je 0x414f1d
mov ecx, ebx
mov ebp, dword [ebx + 0x1198]
mov ecx, dword [ebp + 4]
lea edx, [ecx - 0xfd8]
cmp edx, 0xfffff007
ja 0x414e26
mov esi, eax
push 0x1000
call sym._malloc
add esp, 4
test eax, eax
je 0x414f27
mov dword [eax], ebp
mov dword [eax + 4], 0
mov dword [ebx + 0x1198], eax
xor ecx, ecx
mov ebp, eax
mov eax, esi
lea edx, [ecx + 0x20]
mov dword [ebp + 4], edx
lea esi, [ecx + ebp]
add esi, 8
mov byte [ebp + ecx + 0xc], 0x51
and byte [ebp + ecx + 0x10], 0xc0
movzx edx, byte [ebp + ecx + 0x14]
and dl, 0xc0
or dl, 0x15
mov byte [ebp + ecx + 0x14], dl
mov dword [ebp + ecx + 8], 0x430054
mov dword [ebp + ecx + 0x18], edi
mov dword [ebp + ecx + 0x1c], eax
mov byte [ebp + ecx + 0x20], 1
jmp 0x414f1d
add eax, 2
mov dword [ecx], eax
mov ebp, ecx
call sym._anonymous_namespace_::itanium_demangle::AbstractManglingParser__anonymous_namespace_::itanium_demangle::ManglingParser__anonymous_namespace_::DefaultAllocator____anonymous_namespace_::DefaultAllocator_::parseExpr__
xor esi, esi
test eax, eax
je 0x414f1d
mov edi, eax
mov ecx, ebp
call sym._anonymous_namespace_::itanium_demangle::AbstractManglingParser__anonymous_namespace_::itanium_demangle::ManglingParser__anonymous_namespace_::DefaultAllocator____anonymous_namespace_::DefaultAllocator_::parseExpr__
test eax, eax
je 0x414f1d
mov ebx, eax
mov ecx, ebp
call sym.__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseBracedExp
test eax, eax
je 0x414f1d
mov dword [esp], ebx
mov ecx, ebp
mov ebx, dword [ebp + 0x1198]
mov ecx, dword [ebx + 4]
lea edx, [ecx - 0xfd8]
cmp edx, 0xfffff007
ja 0x414ee1
mov esi, eax
push 0x1000
call sym._malloc
add esp, 4
test eax, eax
je 0x414f27
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [ebp + 0x1198], eax
xor ecx, ecx
mov ebx, eax
mov eax, esi
lea edx, [ecx + 0x20]
mov dword [ebx + 4], edx
lea esi, [ebx + ecx]
add esi, 8
mov byte [ebx + ecx + 0xc], 0x52
and byte [ebx + ecx + 0x10], 0xc0
movzx edx, byte [ebx + ecx + 0x14]
and dl, 0xc0
or dl, 0x15
mov byte [ebx + ecx + 0x14], dl
mov dword [ebx + ecx + 8], 0x4300c0
mov dword [ebx + ecx + 0x18], edi
mov edx, dword [esp]
mov dword [ebx + ecx + 0x1c], edx
mov dword [ebx + ecx + 0x20], eax
mov eax, esi
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
ret
call method.std.terminate__
int3