Function at 0x1000c690
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x44
lea ebx, [ebp + 8]
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x1000cce0
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
lea edx, [ebp + 0xc]
cmp byte [ebp + 0x24], 0
mov dword [ebp - 0x24], eax
je 0x1000c737
mov ecx, dword [ebx + 0x14]
cmp ecx, 0xbffffffe
jae 0x1000ca19
lea eax, [ecx + 2]
mov edx, 0xaaaaaaab
mul edx
add edx, edx
xorps xmm0, xmm0
mov eax, dword [ebp - 0x24]
movups xmmword [eax], xmm0
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
and edx, 0xfffffffc
js 0x1000ca68
cmp ecx, 9
ja 0x1000c843
mov esi, dword [ebp - 0x24]
mov dword [esi + 0x10], edx
mov dword [esi + 0x14], 0xf
push edx
push 0x3d
push esi
mov edi, edx
call fcn.10368a10
add esp, 0xc
add edi, esi
mov esi, edi
jmp 0x1000c8c4
xorps xmm0, xmm0
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
cmp dword [ebx + 0x18], 0x10
jb 0x1000c754
mov edx, dword [ebx + 4]
mov eax, dword [ebx + 0x14]
add eax, edx
mov dword [ebp - 0x38], eax
xor ebx, ebx
xor edi, edi
jmp 0x1000c777
mov ebx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x28]
inc edx
cmp edx, dword [ebp - 0x38]
je 0x1000c977
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x28], edx
movzx ebx, byte [edx]
movsx esi, bl
push esi
call fcn.1037ee40
add esp, 4
test eax, eax
jne 0x1000c770
cmp bl, 0x3d
je 0x1000c770
test bl, bl
js 0x1000c9c8
movsx eax, byte [esi + str.________________________________________________456789:_________]
cmp eax, 0x40
jge 0x1000c9c8
shl edi, 6
or edi, eax
mov ebx, dword [ebp - 0x20]
cmp ebx, 2
jl 0x1000c800
add ebx, 0xfffffffe
mov dword [ebp - 0x34], edi
mov eax, edi
mov ecx, ebx
shr eax, cl
mov ecx, dword [ebp - 0x24]
mov edi, dword [ecx + 0x10]
mov edx, dword [ecx + 0x14]
cmp edi, edx
jae 0x1000c80c
lea esi, [edi + 1]
mov dword [ecx + 0x10], esi
mov esi, ecx
cmp edx, 0x10
jb 0x1000c7eb
mov esi, dword [ecx]
mov byte [esi + edi], al
mov byte [esi + edi + 1], 0
jmp 0x1000c837
add ebx, 6
mov edx, dword [ebp - 0x28]
inc edx
jmp 0x1000c777
mov dword [ebp - 0x10], 1
sub esp, 0xc
movzx edx, byte [ebp - 0x30]
mov byte [esp + 4], dl
movsx eax, al
mov dword [esp + 8], eax
mov dword [esp], 1
mov dword [ebp - 0x20], ebx
call fcn.1000cb80
mov ebx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x34]
inc edx
jmp 0x1000c777
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x14], 0xf
mov dword [ebp - 0x20], edx
mov eax, edx
or eax, 0xf
cmp eax, 0x17
mov ecx, 0x16
cmovae ecx, eax
cmp ecx, 0xfff
mov dword [ebp - 0x28], ecx
jb 0x1000c88b
lea eax, [ecx + 0x24]
mov dword [ebp - 0x10], 0
push eax
call fcn.101ac7e6
add esp, 4
mov esi, eax
add esi, 0x23
and esi, 0xffffffe0
mov dword [esi - 4], eax
jmp 0x1000c8a0
lea eax, [ecx + 1]
mov dword [ebp - 0x10], 0
push eax
call fcn.101ac7e6
add esp, 4
mov esi, eax
lea ebx, [ebp + 8]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov dword [eax], esi
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0x28]
mov dword [eax + 0x14], edx
push ecx
push 0x3d
push esi
mov edi, ecx
call fcn.10368a10
add esp, 0xc
add esi, edi
lea edi, [ebp + 0xc]
mov byte [esi], 0
mov ecx, dword [ebx + 0x14]
cmp dword [ebx + 0x18], 0x10
mov esi, edi
jb 0x1000c8d8
mov esi, dword [ebx + 4]
test ecx, ecx
je 0x1000c977
add ecx, esi
xor edi, edi
xor ebx, ebx
xor eax, eax
mov dword [ebp - 0x28], ecx
jmp 0x1000c8fe
add ebx, 0xfffffffa
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x20]
inc esi
cmp esi, ecx
je 0x1000c955
shl edi, 8
movzx edx, byte [esi]
or edi, edx
cmp ebx, 0xfffffffe
jl 0x1000c950
mov dword [ebp - 0x20], edx
add ebx, 0xe
jmp 0x1000c933
movzx edx, byte [edx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [ecx + eax], dl
inc eax
add ebx, 0xfffffffa
cmp ebx, 0xb
jbe 0x1000c8f0
mov ecx, ebx
add cl, 0xf4
mov edx, edi
shr edx, cl
and edx, 0x3f
mov ecx, dword [ebp - 0x24]
cmp dword [ecx + 0x14], 0x10
jb 0x1000c920
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx]
jmp 0x1000c920
add ebx, 8
jmp 0x1000c8f9
test ebx, ebx
jle 0x1000c977
mov cl, 6
sub cl, bl
shl edx, cl
and edx, 0x3f
movzx ecx, byte [edx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov edx, dword [ebp - 0x24]
cmp dword [edx + 0x14], 0x10
jb 0x1000c974
mov edx, dword [edx]
mov byte [edx + eax], cl
lea edi, [ebp + 8]
mov eax, dword [edi + 0x18]
cmp eax, 0x10
jb 0x1000c9b4
lea ecx, [ebp + 0xc]
mov ecx, dword [ecx]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x1000c9aa
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x1000ca74
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.101ac81b
add esp, 8
mov eax, dword [edi]
mov ecx, dword [ebp - 0x18]
mov dword fs:[0], ecx
add esp, 0x44
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x44], 0x10397148
lea eax, [ebp - 0x40]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x30], 0x10536800
mov byte [ebp - 0x2c], 1
lea ecx, [ebp - 0x30]
push eax
push ecx
call fcn.10366916
add esp, 8
mov dword [ebp - 0x44], 0x10397f18
mov dword [ebp - 0x10], 1
lea eax, [ebp - 0x44]
push 0x10578dfc
push eax
call fcn.10366355
add esp, 8
jmp 0x1000ca68
mov dword [ebp - 0x50], 0x10397148
lea eax, [ebp - 0x4c]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x30], 0x10536878
mov byte [ebp - 0x2c], 1
lea ecx, [ebp - 0x30]
push eax
push ecx
call fcn.10366916
add esp, 8
mov dword [ebp - 0x50], 0x10397e44
mov dword [ebp - 0x10], 0
lea eax, [ebp - 0x50]
push 0x10578dbc
push eax
call fcn.10366355
add esp, 8
mov dword [ebp - 0x10], 0
call fcn.10002f00
call fcn.10378384
nop dword [eax]
push ebp
sub esp, 0xc
add ebp, 0xc
mov ecx, dword [ebp - 0x24]
call fcn.10002320
add esp, 0xc
pop ebp
ret