Function at 0x10001230
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 0x1004d280
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x70
mov eax, dword [0x10060080]
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 0x100012d8
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 0x1000175a
mov edx, dword [ebx + 8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100012d1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000177f
push ecx
push edx
jmp 0x10001752
test dl, dl
je 0x1000141a
lea eax, [ebx + 8]
push eax
lea ecx, [ebp - 0x44]
call fcn.10001a00
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.10010600
mov edi, eax
cmp edi, esi
je 0x10001345
lea eax, [edi + 1]
cmp eax, esi
je 0x10001345
mov cl, byte [eax]
cmp cl, 0xa
je 0x10001340
mov byte [edi], cl
inc edi
inc eax
cmp eax, esi
jne 0x10001336
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.1002ac00
mov dword [ebp - 0x34], edi
lea edx, [ebp - 0x44]
mov edi, dword [ebp - 0x64]
mov ecx, edi
push 0
call fcn.10001110
mov ecx, dword [ebp - 0x30]
add esp, 0x10
cmp ecx, 0xf
jbe 0x100013d1
mov edx, dword [ebp - 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100013c7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000177a
push ecx
push edx
call fcn.10029234
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 0x1000175a
mov edx, dword [ebx + 8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100012d1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000177a
jmp 0x100012d1
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.10001140
mov ecx, dword [ebx + 8]
test esi, esi
mov esi, dword [ebx + 0x1c]
je 0x10001708
cmp esi, 0xf
lea eax, [ebx + 8]
cmova eax, ecx
mov dl, byte [eax + edi + 1]
lea eax, [edx - 0x41]
cmp al, 0x19
ja 0x10001470
movzx edx, dl
sub edx, 0x41
jmp 0x100014b2
lea eax, [edx - 0x61]
cmp al, 0x19
ja 0x1000147f
movzx edx, dl
sub edx, 0x47
jmp 0x100014b2
lea eax, [edx - 0x30]
cmp al, 9
ja 0x1000148e
movzx edx, dl
add edx, 4
jmp 0x100014b2
cmp dl, 0x2b
je 0x100014ad
cmp dl, 0x2d
je 0x100014ad
cmp dl, 0x2f
je 0x100014a6
cmp dl, 0x5f
jne 0x10001784
mov edx, 0x3f
jmp 0x100014b2
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 0x100014cd
sub al, 0x41
jmp 0x100014ff
lea ecx, [eax - 0x61]
cmp cl, 0x19
ja 0x100014d9
sub al, 0x47
jmp 0x100014ff
lea ecx, [eax - 0x30]
cmp cl, 9
ja 0x100014e5
add al, 4
jmp 0x100014ff
cmp al, 0x2b
je 0x100014fd
cmp al, 0x2d
je 0x100014fd
cmp al, 0x2f
je 0x100014f9
cmp al, 0x5f
jne 0x10001784
mov al, 0x3f
jmp 0x100014ff
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 0x10001531
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 0x10001545
push dword [ebp - 0x48]
mov byte [ebp - 0x74], 0
lea ecx, [ebp - 0x2c]
push dword [ebp - 0x74]
push 1
call fcn.100018c0
lea eax, [edi + 2]
cmp eax, dword [ebp - 0x5c]
jae 0x100016f6
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 0x100016fc
cmp esi, 0xf
lea eax, [ebx + 8]
cmova eax, ecx
cmp byte [eax + edi + 2], 0x2e
je 0x100016fc
cmp esi, 0xf
lea eax, [ebx + 8]
cmova eax, ecx
mov cl, byte [eax + edi + 2]
lea eax, [ecx - 0x41]
cmp al, 0x19
ja 0x1000159b
movzx edx, cl
sub edx, 0x41
jmp 0x100015dd
lea eax, [ecx - 0x61]
cmp al, 0x19
ja 0x100015aa
movzx edx, cl
sub edx, 0x47
jmp 0x100015dd
lea eax, [ecx - 0x30]
cmp al, 9
ja 0x100015b9
movzx edx, cl
add edx, 4
jmp 0x100015dd
cmp cl, 0x2b
je 0x100015d8
cmp cl, 0x2d
je 0x100015d8
cmp cl, 0x2f
je 0x100015d1
cmp cl, 0x5f
jne 0x10001784
mov edx, 0x3f
jmp 0x100015dd
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 0x10001616
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 0x1000162d
push dword [ebp - 0x4c]
mov byte [ebp - 0x78], 0
lea ecx, [ebp - 0x2c]
push dword [ebp - 0x78]
push 1
call fcn.100018c0
mov edx, dword [ebp - 0x58]
lea eax, [edi + 3]
cmp eax, dword [ebp - 0x5c]
jae 0x100016f6
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 0x100016fc
cmp esi, 0xf
lea eax, [ebx + 8]
cmova eax, ecx
cmp byte [eax + edi + 3], 0x2e
je 0x100016fc
cmp esi, 0xf
lea eax, [ebx + 8]
cmova eax, ecx
mov cl, byte [eax + edi + 3]
lea eax, [ecx - 0x41]
cmp al, 0x19
ja 0x10001680
sub cl, 0x41
jmp 0x100016b6
lea eax, [ecx - 0x61]
cmp al, 0x19
ja 0x1000168c
sub cl, 0x47
jmp 0x100016b6
lea eax, [ecx - 0x30]
cmp al, 9
ja 0x10001698
add cl, 4
jmp 0x100016b6
cmp cl, 0x2b
je 0x100016b4
cmp cl, 0x2d
je 0x100016b4
cmp cl, 0x2f
je 0x100016b0
cmp cl, 0x5f
jne 0x10001784
mov cl, 0x3f
jmp 0x100016b6
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 0x100016e2
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 0x100016f6
push dword [ebp - 0x50]
mov byte [ebp - 0x60], 0
lea ecx, [ebp - 0x2c]
push dword [ebp - 0x60]
push 1
call fcn.100018c0
mov esi, dword [ebx + 0x1c]
mov ecx, dword [ebx + 8]
add edi, 4
cmp edi, dword [ebp - 0x5c]
jb 0x10001454
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 0x1000175a
inc esi
mov eax, ecx
cmp esi, 0x1000
jb 0x10001750
mov ecx, dword [eax - 4]
add esi, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000177f
push esi
push ecx
call fcn.10029234
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.10029203
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.1002e33f
call fcn.1002e33f
push str.Input_is_not_valid_base64_encoded_data.
lea ecx, [ebp - 0x70]
call fcn.10001fd0
push 0x1005e208
lea eax, [ebp - 0x70]
push eax
call fcn.1002ab8e
int3