Function at 0x1004b250
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov eax, 0x1044
call sym.__alloca
mov edi, edx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x18], edx
lea eax, [ebp - 0x1050]
push 0x1000
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
xor ebx, ebx
mov esi, 0x1200
test edi, 0x10000000
je 0x1004b2ab
push 0x100f0d0c
call sub.kernel32.dll_GetModuleHandleW
test eax, eax
je 0x1004b2ab
and edi, 0xefffffff
mov esi, 0x1a00
mov ebx, eax
mov dword [ebp - 0x18], edi
push 0
push 0x800
lea eax, [ebp - 0x1050]
push eax
push 0
push edi
push ebx
push esi
call sub.kernel32.dll_FormatMessageW
test eax, eax
je 0x1004b324
cmp eax, 0x801
jae 0x1004b4e1
lea ecx, [ebp - 0x38]
push eax
lea eax, [ebp - 0x1050]
push eax
push ecx
call sym.alloc::string::String::from_utf16::h962af4e330e52bed
add esp, 0xc
mov ecx, dword [ebp - 0x38]
mov eax, ecx
neg eax
jno 0x1004b37c
lea eax, [ebp - 0x18]
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x50], 0x100f0dc0
mov dword [ebp - 0x4c], 2
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x24], sym.core::fmt::num::imp::__LT_impl_u20_core..fmt..Display_u20_for_u20_i32_GT_::fmt::hc5ee8f510c85bebb
mov dword [ebp - 0x44], 1
jmp 0x1004b368
call sub.kernel32.dll_GetLastError
lea ecx, [ebp - 0x18]
lea edx, [ebp - 0x28]
mov dword [ebp - 0x50], 0x100f0d4c
mov dword [ebp - 0x4c], 3
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x34], sym.core::fmt::num::imp::__LT_impl_u20_core..fmt..Display_u20_for_u20_i32_GT_::fmt::hc5ee8f510c85bebb
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], sym.core::fmt::num::imp::__LT_impl_u20_core..fmt..Display_u20_for_u20_i32_GT_::fmt::hc5ee8f510c85bebb
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], 2
lea eax, [ebp - 0x50]
push eax
push dword [ebp - 0x14]
call sym.alloc::fmt::format::format_inner::h615817f0e0a04e8e
add esp, 8
jmp 0x1004b49a
mov eax, dword [ebp - 0x30]
mov edi, dword [ebp - 0x34]
xor esi, esi
test eax, eax
je 0x1004b48f
lea esi, [edi + eax]
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], edi
jmp 0x1004b3c8
mov ebx, dword [0x100f2e3c]
movzx eax, cl
movzx eax, byte [ebx + eax]
shr al, 1
test al, 1
je 0x1004b4a5
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp esi, edi
je 0x1004b48a
movsx ecx, byte [esi - 1]
mov edx, esi
test ecx, ecx
js 0x1004b3e0
lea esi, [edx - 1]
lea eax, [ecx - 9]
cmp eax, 5
jb 0x1004b3c0
jmp 0x1004b42e
movzx ebx, byte [edx - 2]
cmp bl, 0xc0
jge 0x1004b408
movzx eax, byte [edx - 3]
cmp al, 0xc0
jge 0x1004b410
movzx edi, byte [edx - 4]
and eax, 0x3f
lea esi, [edx - 4]
and edi, 7
shl edi, 6
or eax, edi
mov edi, dword [ebp - 0x20]
jmp 0x1004b416
lea esi, [edx - 2]
and ebx, 0x1f
jmp 0x1004b41e
lea esi, [edx - 3]
and eax, 0xf
shl eax, 6
and ebx, 0x3f
or ebx, eax
shl ebx, 6
and ecx, 0x3f
or ecx, ebx
lea eax, [ecx - 9]
cmp eax, 5
jb 0x1004b3c0
cmp ecx, 0x20
je 0x1004b3c0
cmp ecx, 0x80
jb 0x1004b4a5
mov eax, ecx
shr eax, 8
cmp eax, 0x1f
jg 0x1004b45c
test eax, eax
je 0x1004b478
cmp eax, 0x16
jne 0x1004b4a5
cmp ecx, 0x1680
sete al
jmp 0x1004b3a9
cmp eax, 0x20
je 0x1004b39a
cmp eax, 0x30
jne 0x1004b4a5
cmp ecx, 0x3000
sete al
jmp 0x1004b3a9
mov ebx, dword [0x100f2e3c]
movzx eax, cl
movzx eax, byte [ebx + eax]
jmp 0x1004b3a9
mov ecx, dword [ebp - 0x10]
xor esi, esi
mov eax, dword [ebp - 0x14]
mov dword [eax], ecx
mov dword [eax + 4], edi
mov dword [eax + 8], esi
add esp, 0x1044
pop esi
pop edi
pop ebx
pop ebp
ret
mov esi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
sub edx, edi
cmp esi, edx
jb 0x1004b48f
test edx, edx
mov esi, 0
je 0x1004b48f
cmp dword [ebp - 0x1c], edx
jbe 0x1004b4dd
cmp byte [edi + edx], 0xbf
mov esi, edx
jg 0x1004b48f
push 0x100ef640
push 0x30
push str.assertion_failed:_self.is_char_boundary_new_len__rustc_f6e511eec7342f59a25f7c0534f1dbea00d01b14library_alloc_src_string.rs
call sym.core::panicking::panic::hf6244c8fb5815825
add esp, 0xc
ud2
mov esi, edx
jmp 0x1004b48f
push 0x100f0d84
push 0x800
push eax
call sym.core::slice::index::slice_end_index_len_fail::h31017dc9c470f2c8
cmp dword [ebp - 0x10], 0
mov esi, eax
je 0x1004b509
push dword [ebp - 0x20]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
push esi
call sym.__Unwind_Resume
nop