Function at 0x10001450
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x20
mov dword [ebp - 0x2c], edx
mov eax, dword [0x10014008]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov esi, dword [ecx + 0x10]
cmp esi, 1
je 0x10001481
test esi, esi
jne 0x10001488
mov ecx, dword [ebp - 0x2c]
mov bl, 1
mov eax, dword [ecx]
mov dword [ecx + 4], eax
jmp 0x10001611
xor ebx, ebx
jmp 0x10001611
xor eax, eax
mov edi, ecx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
cmp dword [ecx + 0x14], 0xf
jbe 0x1000149a
mov edi, dword [edi]
cmp esi, 0xf
ja 0x1000163f
movsd xmm0, qword [edi]
movsd xmm1, qword [edi + 8]
mov ebx, 0xf
movsd qword [ebp - 0x20], xmm1
movsd qword [ebp - 0x28], xmm0
lea eax, [ebp - 0x28]
xor edi, edi
mov dword [eax + 0x10], esi
mov dword [eax + 0x14], ebx
cmp ebx, 0xf
mov ecx, eax
jbe 0x100014d0
mov ecx, dword [ebp - 0x28]
mov dl, byte [ecx + edi]
mov dh, dl
add dh, 0xbf
cmp dh, 0x1a
jb 0x100014fb
mov dh, dl
add dh, 0x9f
cmp dh, 0x19
ja 0x100014ec
add dl, 0xb9
jmp 0x100014f9
mov dh, dl
add dh, 0xd0
cmp dh, 9
ja 0x1000150f
add dl, 4
mov dh, dl
mov byte [ecx + edi], dh
inc edi
mov esi, dword [ebp - 0x18]
cmp edi, esi
jae 0x1000158f
mov ebx, dword [ebp - 0x14]
jmp 0x100014c6
cmp dl, 0x2e
jle 0x10001522
cmp dl, 0x2f
je 0x1000151e
cmp dl, 0x5f
jne 0x10001530
mov dh, 0x3f
jmp 0x100014fb
mov dh, 0x3e
cmp dl, 0x2b
je 0x100014fb
cmp dl, 0x2d
je 0x100014fb
jmp 0x10001535
cmp dl, 0x3d
je 0x1000154d
cmp esi, edi
jb 0x10001691
mov dword [ebp - 0x18], edi
xor ebx, ebx
mov al, byte [ecx + esi]
mov byte [ecx + edi], al
jmp 0x10001609
mov byte [ecx + edi], 0
mov edx, edi
mov eax, dword [ebp - 0x18]
sub edx, eax
jbe 0x10001577
mov ecx, dword [ebp - 0x14]
mov esi, ecx
sub esi, eax
cmp esi, edx
jae 0x100016ac
lea ecx, [ebp - 0x28]
push edx
call fcn.10009f00
add esp, 4
jmp 0x1000158c
cmp dword [ebp - 0x14], 0xf
jbe 0x10001582
mov eax, dword [ebp - 0x28]
jmp 0x10001585
lea eax, [ebp - 0x28]
mov dword [ebp - 0x18], edi
mov byte [eax + edi], 0
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x2c]
lea edx, [esi + esi*2]
shr edx, 2
mov ecx, edi
call fcn.1000ba40
mov bl, 1
test esi, esi
je 0x10001609
mov edx, dword [edi]
xor esi, esi
lea edi, [ebp - 0x28]
xor eax, eax
cmp dword [ebp - 0x14], 0xf
mov ecx, edi
jbe 0x100015b9
mov ecx, dword [ebp - 0x28]
movsx ebx, byte [ecx + esi]
test eax, eax
je 0x100015ea
mov cl, 6
sub cl, al
sar ebx, cl
or byte [edx], bl
inc edx
mov ecx, dword [ebp - 0x2c]
cmp edx, dword [ecx + 4]
je 0x10001607
cmp dword [ebp - 0x14], 0xf
mov ecx, edi
jbe 0x100015dd
mov ecx, dword [ebp - 0x28]
movsx ebx, byte [ecx + esi]
add eax, 2
mov ecx, eax
shl ebx, cl
jmp 0x100015f2
shl bl, 2
mov eax, 2
mov byte [edx], bl
lea ecx, [eax + 7]
test eax, eax
cmovns ecx, eax
inc esi
and ecx, 0xfffffff8
sub eax, ecx
cmp esi, dword [ebp - 0x18]
jb 0x100015ae
mov bl, 1
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jae 0x10001625
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100113c0
mov eax, ebx
add esp, 0x20
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [ebp - 0x28]
lea esi, [eax + 1]
cmp esi, 0x1000
jae 0x10001696
push esi
push ecx
call sub.mozglue.dll_void___cdecl_operator_delete_void___unsigned_int_
add esp, 8
jmp 0x10001611
mov ebx, esi
mov eax, 0x7fffffff
or ebx, 0xf
cmp ebx, eax
cmovae ebx, eax
cmp ebx, 0xfff
jae 0x10001678
lea eax, [ebx + 1]
push eax
call sub.mozglue.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
lea ecx, [esi + 1]
mov dword [ebp - 0x28], eax
push ecx
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
jmp 0x100014bb
lea eax, [ebx + 0x24]
push eax
call sub.mozglue.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov ecx, eax
add eax, 0x23
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x10001662
call fcn.10009ef0
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x100016d3
add eax, 0x24
mov ecx, edx
mov esi, eax
jmp 0x10001633
cmp ecx, 0xf
mov dword [ebp - 0x18], edi
jbe 0x100016b9
mov esi, dword [ebp - 0x28]
jmp 0x100016bc
lea esi, [ebp - 0x28]
add eax, esi
push edx
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov byte [esi + edi], 0
jmp 0x1000158c
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3