Function at 0x10001250
Capabilities:
Encode data using base64

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1004c790
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x78
mov eax, dword [0x1005f080]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x60], edi
mov dword [ebp - 0x60], edi
mov dword [ebp - 4], 0
mov esi, dword [ebx + 0x18]
mov dword [ebp - 0x5c], esi
test esi, esi
jne 0x100012f8
mov ecx, dword [ebx + 0x1c]
xorps xmm0, xmm0
movups xmmword [edi], xmm0
mov dword [edi + 0x10], esi
mov dword [edi + 0x14], esi
mov dword [edi + 0x10], esi
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
cmp ecx, 0xf
jbe 0x10001778
mov edx, dword [ebx + 8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100012f1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000179d
push ecx
push edx
jmp 0x10001770
test dl, dl
je 0x10001438
lea eax, [ebx + 8]
push eax
lea ecx, [ebp - 0x44]
call fcn.10001a40
mov byte [ebp - 4], 1
lea eax, [ebp - 0x44]
mov esi, dword [ebp - 0x30]
cmp esi, 0xf
mov edx, dword [ebp - 0x44]
cmova eax, edx
add eax, dword [ebp - 0x34]
cmp esi, 0xf
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x44]
cmova eax, edx
add eax, dword [ebp - 0x34]
cmp esi, 0xf
mov dword [ebp - 0x5c], eax
lea eax, [ebp - 0x44]
mov esi, dword [ebp - 0x5c]
cmova eax, edx
push 0xa
push esi
push eax
call fcn.10010690
mov edi, eax
cmp eax, esi
je 0x10001363
inc eax
cmp eax, esi
je 0x10001363
mov cl, byte [eax]
cmp cl, 0xa
je 0x1000135e
mov byte [edi], cl
inc edi
inc eax
cmp eax, esi
jne 0x10001354
cmp dword [ebp - 0x30], 0xf
lea eax, [ebp - 0x44]
mov esi, edi
lea ecx, [ebp - 0x44]
cmova eax, dword [ebp - 0x44]
sub dword [ebp - 0x54], edi
sub esi, eax
mov edi, dword [ebp - 0x34]
mov eax, edi
mov edx, dword [ebp - 0x54]
sub eax, esi
cmp eax, edx
cmovb edx, eax
cmp dword [ebp - 0x30], 0xf
mov dword [ebp - 0x54], edx
cmova ecx, dword [ebp - 0x44]
sub edi, edx
add ecx, esi
mov eax, edi
sub eax, esi
inc eax
push eax
lea eax, [ecx + edx]
push eax
push ecx
call fcn.1002ab30
mov dword [ebp - 0x34], edi
lea edx, [ebp - 0x44]
mov edi, dword [ebp - 0x64]
mov ecx, edi
push 0
call fcn.10001130
mov ecx, dword [ebp - 0x30]
add esp, 0x10
cmp ecx, 0xf
jbe 0x100013ef
mov edx, dword [ebp - 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100013e5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10001798
push ecx
push edx
call fcn.100292bf
add esp, 8
mov ecx, dword [ebx + 0x1c]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
cmp ecx, 0xf
jbe 0x10001778
mov edx, dword [ebx + 8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100012f1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10001798
jmp 0x100012f1
mov eax, esi
mov dword [ebp - 0x18], 0xf
shr eax, 2
xorps xmm0, xmm0
xor edi, edi
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x1c], edi
lea eax, [eax + eax*2]
mov byte [ebp - 0x2c], 0
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 2
call fcn.10001160
mov ecx, dword [ebx + 8]
test esi, esi
mov esi, dword [ebx + 0x1c]
je 0x10001726
cmp esi, 0xf
lea eax, [ebx + 8]
cmova eax, ecx
mov dl, byte [eax + edi + 1]
lea eax, [edx - 0x41]
cmp al, 0x19
ja 0x1000148e
movzx edx, dl
sub edx, 0x41
jmp 0x100014d0
lea eax, [edx - 0x61]
cmp al, 0x19
ja 0x1000149d
movzx edx, dl
sub edx, 0x47
jmp 0x100014d0
lea eax, [edx - 0x30]
cmp al, 9
ja 0x100014ac
movzx edx, dl
add edx, 4
jmp 0x100014d0
cmp dl, 0x2b
je 0x100014cb
cmp dl, 0x2d
je 0x100014cb
cmp dl, 0x2f
je 0x100014c4
cmp dl, 0x5f
jne 0x100017a2
mov edx, 0x3f
jmp 0x100014d0
mov edx, 0x3e
cmp esi, 0xf
mov dword [ebp - 0x54], edx
lea eax, [ebx + 8]
cmova eax, ecx
mov al, byte [eax + edi]
lea ecx, [eax - 0x41]
cmp cl, 0x19
ja 0x100014eb
sub al, 0x41
jmp 0x1000151d
lea ecx, [eax - 0x61]
cmp cl, 0x19
ja 0x100014f7
sub al, 0x47
jmp 0x1000151d
lea ecx, [eax - 0x30]
cmp cl, 9
ja 0x10001503
add al, 4
jmp 0x1000151d
cmp al, 0x2b
je 0x1000151b
cmp al, 0x2d
je 0x1000151b
cmp al, 0x2f
je 0x10001517
cmp al, 0x5f
jne 0x100017a2
mov al, 0x3f
jmp 0x1000151d
mov al, 0x3e
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x18]
shr edx, 4
and dl, 3
shl al, 2
add dl, al
mov byte [ebp - 0x48], dl
cmp ecx, esi
jae 0x1000154f
lea eax, [ecx + 1]
cmp esi, 0xf
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x2c]
cmova eax, dword [ebp - 0x2c]
mov byte [eax + ecx], dl
mov byte [eax + ecx + 1], 0
jmp 0x10001563
push dword [ebp - 0x48]
mov byte [ebp - 0x68], 0
lea ecx, [ebp - 0x2c]
push dword [ebp - 0x68]
push 1
call fcn.10001900
lea eax, [edi + 2]
cmp eax, dword [ebp - 0x5c]
jae 0x10001714
mov esi, dword [ebx + 0x1c]
lea eax, [ebx + 8]
mov ecx, dword [ebx + 8]
cmp esi, 0xf
cmova eax, ecx
cmp byte [eax + edi + 2], 0x3d
je 0x1000171a
cmp esi, 0xf
lea eax, [ebx + 8]
cmova eax, ecx
cmp byte [eax + edi + 2], 0x2e
je 0x1000171a
cmp esi, 0xf
lea eax, [ebx + 8]
cmova eax, ecx
mov cl, byte [eax + edi + 2]
lea eax, [ecx - 0x41]
cmp al, 0x19
ja 0x100015b9
movzx edx, cl
sub edx, 0x41
jmp 0x100015fb
lea eax, [ecx - 0x61]
cmp al, 0x19
ja 0x100015c8
movzx edx, cl
sub edx, 0x47
jmp 0x100015fb
lea eax, [ecx - 0x30]
cmp al, 9
ja 0x100015d7
movzx edx, cl
add edx, 4
jmp 0x100015fb
cmp cl, 0x2b
je 0x100015f6
cmp cl, 0x2d
je 0x100015f6
cmp cl, 0x2f
je 0x100015ef
cmp cl, 0x5f
jne 0x100017a2
mov edx, 0x3f
jmp 0x100015fb
mov edx, 0x3e
mov eax, dword [ebp - 0x54]
mov ecx, edx
mov esi, dword [ebp - 0x1c]
shr ecx, 2
and cl, 0xf
shl al, 4
add cl, al
mov dword [ebp - 0x58], edx
mov byte [ebp - 0x4c], cl
cmp esi, dword [ebp - 0x18]
jae 0x10001634
cmp dword [ebp - 0x18], 0xf
lea eax, [esi + 1]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x2c]
cmova eax, dword [ebp - 0x2c]
mov byte [eax + esi], cl
mov byte [eax + esi + 1], 0
jmp 0x1000164b
push dword [ebp - 0x4c]
mov byte [ebp - 0x6c], 0
lea ecx, [ebp - 0x2c]
push dword [ebp - 0x6c]
push 1
call fcn.10001900
mov edx, dword [ebp - 0x58]
lea eax, [edi + 3]
cmp eax, dword [ebp - 0x5c]
jae 0x10001714
mov esi, dword [ebx + 0x1c]
lea eax, [ebx + 8]
mov ecx, dword [ebx + 8]
cmp esi, 0xf
cmova eax, ecx
cmp byte [eax + edi + 3], 0x3d
je 0x1000171a
cmp esi, 0xf
lea eax, [ebx + 8]
cmova eax, ecx
cmp byte [eax + edi + 3], 0x2e
je 0x1000171a
cmp esi, 0xf
lea eax, [ebx + 8]
cmova eax, ecx
mov cl, byte [eax + edi + 3]
lea eax, [ecx - 0x41]
cmp al, 0x19
ja 0x1000169e
sub cl, 0x41
jmp 0x100016d4
lea eax, [ecx - 0x61]
cmp al, 0x19
ja 0x100016aa
sub cl, 0x47
jmp 0x100016d4
lea eax, [ecx - 0x30]
cmp al, 9
ja 0x100016b6
add cl, 4
jmp 0x100016d4
cmp cl, 0x2b
je 0x100016d2
cmp cl, 0x2d
je 0x100016d2
cmp cl, 0x2f
je 0x100016ce
cmp cl, 0x5f
jne 0x100017bd
mov cl, 0x3f
jmp 0x100016d4
mov cl, 0x3e
mov esi, dword [ebp - 0x18]
shl dl, 6
add dl, cl
mov ecx, dword [ebp - 0x1c]
mov byte [ebp - 0x50], dl
cmp ecx, esi
jae 0x10001700
lea eax, [ecx + 1]
cmp esi, 0xf
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x2c]
cmova eax, dword [ebp - 0x2c]
mov byte [eax + ecx], dl
mov byte [eax + ecx + 1], 0
jmp 0x10001714
push dword [ebp - 0x50]
mov byte [ebp - 0x60], 0
lea ecx, [ebp - 0x2c]
push dword [ebp - 0x60]
push 1
call fcn.10001900
mov esi, dword [ebx + 0x1c]
mov ecx, dword [ebx + 8]
add edi, 4
cmp edi, dword [ebp - 0x5c]
jb 0x10001472
mov edi, dword [ebp - 0x64]
xorps xmm0, xmm0
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
movups xmm0, xmmword [ebp - 0x2c]
movups xmmword [edi], xmm0
movq xmm0, qword [ebp - 0x1c]
movq qword [edi + 0x10], xmm0
cmp esi, 0xf
jbe 0x10001778
inc esi
mov eax, ecx
cmp esi, 0x1000
jb 0x1000176e
mov ecx, dword [eax - 4]
add esi, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000179d
push esi
push ecx
call fcn.100292bf
add esp, 8
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1002928e
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.1002e25f
call fcn.1002e25f
push str.Input_is_not_valid_base64_encoded_data.
lea ecx, [ebp - 0x78]
call fcn.10002030
push 0x1005d318
lea eax, [ebp - 0x78]
push eax
call fcn.1002aabb
push str.Input_is_not_valid_base64_encoded_data.
lea ecx, [ebp - 0x88]
call fcn.10002030
push 0x1005d318
lea eax, [ebp - 0x88]
push eax
call fcn.1002aabb
int3