Function at 0x10007cc6
Capabilities:
Encode data using base64

Disassembly:
call fcn.10007ec0
pop ecx
push edi
push 0x1000fb87
call fcn.1000816d
pop ecx
pop ecx
mov dword [esi + 4], eax
test eax, eax
jne 0x10007aed
push dword [esi]
call fcn.1000a44a
push esi
call fcn.10008e5c
pop ecx
mov eax, dword [esi]
mov ecx, 0x1000f90f
push dword [ebp - 0x4c]
and ebx, dword [ebp - 0x8c]
mov dword [ebp - 0x48], esi
call fcn.100064a7
add ebx, 0x8610
xor ebx, dword [ebp - 0x44]
add dword [ebp - 0x4c], 0xfffffff8
and esi, dword [ebp - 0x64]
cmp dword [ebp - 0x54], 0x75
jne 0x10007ad0
push dword [ebp - 0x74]
call fcn.100063af
add dword [ebp - 0x50], 0xffffffea
lea esi, [ecx + eax*8 + 0x6b4]
push dword [ebp - 0x58]
call fcn.100063af
or ecx, esi
or dword [ebp - 0x8c], 0xace
push dword [ebp - 0x60]
call fcn.100063af
or dword [ebp - 0x50], 0x273
push dword [ebp - 0x84]
call fcn.100063af
or edi, dword [ebp - 0x48]
push dword [ebp - 0x80]
call fcn.100063af
cmp dword [ebp - 0x54], 0x10000002
jne 0x10007b39
or dword [ebp - 0x44], ecx
add edx, 0x8a11
mov ebx, dword [ebp - 0x60]
or ecx, edi
add edx, 0x4fe8
mov edx, dword [ebp - 0x7c]
cmp dword [ebp - 0x54], 0xffffffa2
jne 0x10007b74
mov ebx, dword [edx + 8]
mov dword [ebp - 0x60], ebx
cmp dword [ebp - 0x5c], 1
je 0x10007ba8
or ecx, dword [ebp - 0x88]
mov ebx, dword [ebp - 0x58]
sub esi, dword [ebp - 0x44]
mov edx, dword [ebp - 0x7c]
add edi, 0xf003
and dword [ebp - 0x50], edi
mov ebx, dword [edx + 0xc]
mov dword [ebp - 0x58], ebx
cmp dword [ebp - 0x5c], 0x10000002
jne 0x10007c03
add edi, dword [ebp - 0x48]
cmp dword [ebp - 0x5c], 1
je 0x10007c3a
push edi
push dword [ebp + 0x20]
push dword [ebp - 0x14]
call fcn.100091bc
mov esi, eax
mov dword [ebp - 0x10], esi
add esp, 0x18
neg esi
sbb esi, esi
and esi, dword [ebp - 8]
push edi
call fcn.10006b6c
pop ecx
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
mov edx, dword [ebp - 0x58]
and ebx, dword [ebp - 0x8c]
or ebx, dword [ebp - 0x48]
mov ebx, dword [ebp - 0x60]
or edi, dword [ebp - 0x50]
and dword [ebp - 0x48], ebx
add edx, dword [ebx + 0xc]
mov dword [ebp - 0x58], edx
and dword [ebp - 0x48], 0xd72
xor esi, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x7c]
or edx, esi
mov edx, 0x9a06566d
mov edx, esi
add dword [ebp - 0x64], ebx
mov edi, dword [ebp - 0x58]
or dword [ebp - 0x88], ecx
mov dword [ecx - 4], edi
sub edx, edi
xor dword [ebp - 0x64], ecx
xor ecx, dword [ebp - 0x50]
add esi, ecx
mov edi, dword [ebp - 0x84]
add dword [ebp - 0x54], 0
je 0x10007ca8
push esi
mov esi, dword [eax]
cmp esi, edi
je 0x10007c93
push edi
mov dword [eax], edi
call 0x100080ef
pop ecx
test esi, esi
je 0x10007c43
push esi
mov eax, dword [ebp - 0x7c]
add ecx, 0x3948
ror dword [eax + 0x39], 0
add byte [ebx - 0x4276ef88], cl
jl 0x10007cb7
invalid
inc dword [ebx]
jne 0x10007c79
add dword [ebp - 0x50], ebx
cmp dword [ebp - 0x5c], 0xffffff9e
jne 0x10007d0e
push eax
call dword [0x1000f038]
test eax, eax
jne 0x10007c7d
mov eax, dword [esi + 0xc4]
sub eax, 0xfe
push eax
call fcn.10008dcb
mov eax, dword [esi + 0xcc]
mov edi, 0x1000f8e3
sub eax, edi
push eax
call 0x10009e33
mov eax, dword [esi + 0xd0]
sub eax, edi
push eax
call fcn.1000b7ec
push dword [esi + 0xc0]
call fcn.10009880
mov ebx, dword [ebp - 0x84]
or dword [ebp - 0x48], ebx
or edi, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x60]
xor dword [ebp - 0x44], 0xb66
or dword [ebp - 0x48], edx
add ebx, dword [ecx + 0x40]
mov dword [ebp - 0x84], ebx
mov byte [ebp - 0x44], 0x1a
mov dword [ebp - 0x44], 0x70e
xor esi, dword [ebp - 0x8c]
add dword [ebp - 0x48], edx
mov edx, 4
xor eax, dword [ebp - 0x88]
sub dword [ebp - 0x84], edx
or dword [ebp - 0x44], esi
cmp dword [ebp - 0x54], 0x10000002
jne 0x10007d79