Function at 0x1008a89a
Capabilities:
Encode data using base64
Get proxy

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x1d8
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx]
and dword [ecx], 0
test eax, eax
je 0x1008b6c0
mov eax, dword [eax]
lea esi, [esp + 0x58]
mov edx, 0x101c9678
mov ecx, esi
mov dword [esp + 0xd4], eax
push 0x3b
call sym.winreg::to_utf16::hebb9992c2212d8fc
pop eax
lea eax, [esp + 0x148]
mov esi, dword [esi + 4]
and dword [eax], 0
push eax
push 0x20019
push 0
push esi
push 0x80000001
call sub.advapi32.dll_RegOpenKeyExW
mov edi, eax
test eax, eax
mov dword [esp + 0x18], eax
jne 0x1008a90c
mov eax, dword [esp + 0x148]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x58]
mov edx, esi
call sym.__LT_alloc..raw_vec..RawVec_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h7bb24c24b88caf4f
test edi, edi
je 0x1008a92d
mov edx, dword [esp + 0x18]
xor ecx, ecx
call sym.__ZN100__LT_alloc..boxed..Box_LT_dyn_u20_core..error..Error_GT__u20_as_u20_core..convert..From_LT_E_GT__GT_4from17h81a04a5a08b
mov esi, eax
jmp 0x1008a9d8
mov edx, dword [esp + 0x18]
lea esi, [esp + 0x58]
mov ecx, esi
push 0x101c96b3
call sym.winreg::RegKey::get_raw_value::h18e5f59d1375ed9d
pop eax
cmp dword [esi], 0x80000000
jne 0x1008a95a
mov ebx, dword [esp + 0x5c]
mov eax, dword [esp + 0x60]
mov edi, ebx
shrd edi, eax, 8
jmp 0x1008a97f
xor edi, edi
cmp byte [esp + 0x64], 4
jne 0x1008a96d
mov eax, dword [esp + 0x5c]
mov bl, 4
mov esi, dword [eax]
jmp 0x1008a974
mov esi, 0xde
xor ebx, ebx
lea ecx, [esp + 0x58]
call sym.core::ptr::drop_in_place_LT_core..result..Result_LT_winreg..RegValue_C_std..io..error..Error_GT__GT_::h371e604b64c64c25
mov eax, esi
cmp bl, 4
jne 0x1008a9bc
mov edx, dword [esp + 0x18]
lea esi, [esp + 0x148]
mov dword [esp + 0x44], eax
mov ecx, esi
push 0x101c96be
call sym.winreg::RegKey::get_raw_value::h18e5f59d1375ed9d
pop eax
cmp dword [esi], 0x80000000
jne 0x1008ad62
mov esi, dword [esp + 0x14c]
mov edx, dword [esp + 0x150]
jmp 0x1008a9c6
shl edi, 8
movzx esi, bl
mov edx, eax
or esi, edi
mov ecx, esi
call sym.__ZN100__LT_alloc..boxed..Box_LT_dyn_u20_core..error..Error_GT__u20_as_u20_core..convert..From_LT_E_GT__GT_4from17h81a04a5a08b
mov ecx, dword [esp + 0x18]
mov esi, eax
call sym.__LT_winreg..RegKey_u20_as_u20_core..ops..drop..Drop_GT_::drop::h6df9eda7c5f05efc
mov ecx, 0x80000001
call sym.__LT_winreg..RegKey_u20_as_u20_core..ops..drop..Drop_GT_::drop::h6df9eda7c5f05efc
mov ecx, esi
mov edx, 0x101c3b88
mov dword [esp + 0x19c], 0x80000000
call fcn.100025aa
mov edi, 0x80000000
lea ecx, [esp + 0x58]
call sym.std::collections::hash::map::HashMap_LT_K_C_V_GT_::new::h5ba4f60844692002
lea esi, [esp + 0x148]
mov edx, 0x101c966a
mov ecx, esi
push 0xe
call dbg._var_os
pop eax
cmp dword [esi], 0x80000000
jne 0x1008aa5f
lea ecx, [esp + 0x58]
mov edx, 0x101f5687
push 0xa
push str.HTTP_PROXYhttp_proxyHTTPS_PROXYhttps_proxyREQUEST_METHODSoftwareMicrosoftWindowsCurrentVersionInternet_SettingsProxyEnableProxyServer
push 4
call sym.reqwest::proxy::insert_from_env::h2eb5d756fbe8370c
add esp, 0xc
test al, al
jne 0x1008aa66
lea ecx, [esp + 0x58]
mov edx, 0x101f5687
push 0xa
push 0x101c964a
push 4
call sym.reqwest::proxy::insert_from_env::h2eb5d756fbe8370c
add esp, 0xc
jmp 0x1008aa66
push esi
call sym.core::ptr::drop_in_place_LT_alloc..vec..Vec_LT_u8_GT__GT_::hc2d4a7daa21d9ff6
pop eax
lea ecx, [esp + 0x58]
mov edx, 0x101f568b
push 0xb
push 0x101c9654
push 5
call sym.reqwest::proxy::insert_from_env::h2eb5d756fbe8370c
add esp, 0xc
test al, al
jne 0x1008aa9e
lea ecx, [esp + 0x58]
mov edx, 0x101f568b
push 0xb
push 0x101c965f
push 5
call sym.reqwest::proxy::insert_from_env::h2eb5d756fbe8370c
add esp, 0xc
movsd xmm1, qword [esp + 0x68]
movsd xmm0, qword [esp + 0x70]
movsd xmm2, qword [esp + 0x58]
lea eax, [esp + 0x19c]
movsd qword [esp + 0x1b8], xmm1
movsd xmm1, qword [esp + 0x60]
movsd qword [esp + 0x1c0], xmm0
movsd qword [esp + 0x1a8], xmm2
movsd qword [esp + 0x1b0], xmm1
cmp dword [esp + 0x1b4], 0
jne 0x1008ab45
cmp edi, 0x80000000
je 0x1008ab45
mov ecx, dword [eax + 8]
movsd xmm0, qword [eax]
cmp dword [esp + 0x44], 0
mov dword [esp + 0x50], ecx
movsd qword [esp + 0x48], xmm0
je 0x1008aba5
lea ecx, [esp + 0x128]
call sym.std::collections::hash::map::HashMap_LT_K_C_V_GT_::new::h5ba4f60844692002
mov edi, dword [esp + 0x50]
mov ebx, dword [esp + 0x4c]
cmp edi, 2
jb 0x1008abb6
push 0x3d
pop ecx
mov edx, ebx
cmp edi, 8
jae 0x1008af5e
push edi
call sym.core::slice::memchr::memchr_naive::h7189d541507c581e
jmp 0x1008af64
movsd xmm1, qword [esp + 0x1b8]
movsd xmm0, qword [esp + 0x1c0]
movsd xmm2, qword [esp + 0x1a8]
cmp edi, 0x80000000
movsd qword [esp + 0xe8], xmm1
movsd xmm1, qword [esp + 0x1b0]
movsd qword [esp + 0xf0], xmm0
movsd qword [esp + 0xd8], xmm2
movsd qword [esp + 0xe0], xmm1
je 0x1008b203
push eax
call sym.core::ptr::drop_in_place_LT_alloc..vec..Vec_LT_u8_GT__GT_::hc2d4a7daa21d9ff6
pop eax
jmp 0x1008b203
lea ecx, [esp + 0x148]
call sym.std::collections::hash::map::HashMap_LT_K_C_V_GT_::new::h5ba4f60844692002
jmp 0x1008b137
xor edx, edx
mov ecx, 0x101d24f4
inc edx
push edi
push ebx
call sym.__LT__u5b_A_u5d__u20_as_u20_core..slice..cmp..SlicePartialEq_LT_B_GT__GT_::equal::h01155204e655c4c7
pop ecx
pop edx
test al, al
je 0x1008af6e
lea ecx, [esp + 0xd8]
mov edx, ebx
push 0x101d24f2
push edi
call sym.core::str::__LT_impl_u20_str_GT_::split::h7a34542a8ce4b0c5
pop eax
pop ecx
lea ebx, [esp + 0x148]
lea ecx, [esp + 0xd8]
call sym.__LT_core..str..iter..Split_LT_P_GT__u20_as_u20_core..iter..traits..iterator..Iterator_GT_::next::h80e117882c9ee121
test eax, eax
je 0x1008b0ef
mov esi, edx
mov edx, eax
mov ecx, ebx
push 0x101d24f4
push esi
call sym.core::str::__LT_impl_u20_str_GT_::split::h7a34542a8ce4b0c5
pop eax
pop ecx
mov ecx, ebx
call sym.__LT_core..str..iter..Split_LT_P_GT__u20_as_u20_core..iter..traits..iterator..Iterator_GT_::next::h80e117882c9ee121
test eax, eax
je 0x1008b088
lea ecx, [esp + 0x58]
mov esi, eax
mov edi, edx
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::try_allocate_in::haa7fd6eedb04cf53
cmp dword [esp + 0x58], 0
jne 0x1008b6b3
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x5c]
mov dword [ecx], esi
mov dword [ecx + 4], edi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ecx
mov dword [esp + 8], ecx
mov dword [esp + 0x34], 1
push 0x14
pop ecx
lea eax, [esp + 0x58]
mov esi, ebx
xor ebx, ebx
mov edi, eax
inc ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
call sym.__LT_core..str..iter..Split_LT_P_GT__u20_as_u20_core..iter..traits..iterator..Iterator_GT_::next::h80e117882c9ee121
test eax, eax
je 0x1008aca7
cmp ebx, dword [esp + 0x2c]
mov esi, eax
mov edi, edx
jne 0x1008ac91
lea ecx, [esp + 0x2c]
call sym.alloc::vec::Vec_LT_T_C_A_GT_::reserve::h86e3d864abe87bec
mov eax, dword [esp + 0x30]
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
lea ecx, [esp + 0x58]
mov dword [eax + ebx*8], esi
mov dword [eax + ebx*8 + 4], edi
inc ebx
mov dword [esp + 0x34], ebx
jmp 0x1008ac6d
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x30]
cmp ebx, 2
jne 0x1008b08f
lea eax, [edi + 8]
mov dword [esp + 8], esi
mov dword [esp + 0x2c], eax
mov ecx, dword [edi + 8]
mov edx, dword [edi + 0xc]
call sym.reqwest::proxy::extract_type_prefix::h8acb0f372caa06f8
test eax, eax
je 0x1008acf3
mov eax, dword [esp + 0x2c]
lea esi, [esp + 0x1c8]
mov ecx, esi
mov edx, dword [eax]
push dword [eax + 4]
call sym.__ZN47__LT_str_u20_as_u20_alloc..string..ToString_GT_9to_string17h76b562e98917fdcdE.789
pop eax
lea ebx, [esp + 0x148]
jmp 0x1008ad3e
lea eax, [esp + 0x2c]
mov dword [esp + 0x58], 0x101c955c
lea esi, [esp + 0x1c8]
lea ebx, [esp + 0x148]
lea edx, [esp + 0x58]
mov dword [esp + 0x148], eax
xor eax, eax
mov ecx, esi
mov dword [esp + 0x14c], sym.__LT__RF_T_u20_as_u20_core..fmt..Display_GT_::fmt::hc70abcb079911b43
inc eax
mov dword [esp + 0x5c], eax
and dword [esp + 0x68], 0
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], eax
call sym.__ZN5alloc3fmt6format17h28429d8526483b61E.791
mov edx, dword [edi]
lea ecx, [esp + 0x128]
push esi
push dword [edi + 4]
call sym.reqwest::proxy::insert_proxy::h1dbfd7cbb3a3452d
pop ecx
pop edx
mov ecx, dword [esp + 8]
mov edx, edi
call sym.__LT_alloc..raw_vec..RawVec_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h3d40c7528c93a51b
jmp 0x1008abec
movzx eax, byte [esp + 0x154]
xor esi, esi
mov edi, 0x80000000
mov dword [esp + 0x1c], 0xde
cmp eax, 7
ja 0x1008b623
mov dword [esp + 0x28], eax
mov eax, 0x86
mov ecx, dword [esp + 0x28]
bt eax, ecx
jae 0x1008b623
mov eax, dword [esp + 0x150]
mov edi, dword [esp + 0x14c]
mov ecx, eax
mov edx, eax
and ecx, 0xfffffffe
shr edx, 2
add ecx, edi
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x58]
and dword [ecx], 0
mov dword [ecx + 4], 1
and dword [ecx + 8], 0
bt eax, 1
adc edx, 0
call sym.alloc::vec::Vec_LT_T_C_A_GT_::reserve::h1f0db5d8b15bacb3
xor esi, esi
test si, si
je 0x1008ade2
movzx eax, word [esp + 8]
jmp 0x1008adf2
cmp edi, dword [esp + 0x10]
je 0x1008afa5
movzx eax, word [edi]
add edi, 2
mov ecx, eax
and ecx, 0xf800
cmp cx, 0xd800
jne 0x1008ae0e
cmp ax, 0xdbff
jbe 0x1008ae3e
xor esi, esi
jmp 0x1008ae9c
movzx ebx, ax
cmp ax, 0x80
jae 0x1008ae67
mov edx, dword [esp + 0x60]
cmp edx, dword [esp + 0x58]
jne 0x1008ae2e
lea ecx, [esp + 0x58]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::reserve_for_push::h2e095dc7d4285515
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x5c]
xor esi, esi
mov byte [eax + edx], bl
inc edx
mov dword [esp + 0x60], edx
jmp 0x1008add6
mov ecx, dword [esp + 0x10]
cmp edi, ecx
je 0x1008ae98
movzx ecx, word [edi]
add edi, 2
mov edx, ecx
add edx, 0x2000
cmp dx, 0xfc00
jae 0x1008aeab
xor esi, esi
mov eax, ecx
mov word [esp + 8], cx
inc esi
jmp 0x1008ae9c
and dword [esp + 0xd8], 0
cmp ebx, 0x800
jae 0x1008aecf
mov eax, ebx
and bl, 0x3f
xor esi, esi
shr eax, 6
or bl, 0x80
or al, 0xc0
mov byte [esp + 0xd8], al
mov byte [esp + 0xd9], bl
push 2
jmp 0x1008aefe
xor esi, esi
mov edi, ecx
and dword [esp + 0xd8], 0
mov ebx, 0xfffd
jmp 0x1008aed1
movzx ebx, cx
mov ecx, 0x3ff
and dword [esp + 0xd8], 0
and eax, ecx
and ebx, ecx
mov ecx, 0x10000
shl eax, 0xa
or ebx, eax
add ebx, ecx
cmp ebx, ecx
jae 0x1008af1d
xor esi, esi
mov eax, ebx
shr eax, 0xc
or al, 0xe0
mov byte [esp + 0xd8], al
mov eax, ebx
and bl, 0x3f
shr eax, 6
or bl, 0x80
and al, 0x3f
or al, 0x80
mov byte [esp + 0xd9], al
mov byte [esp + 0xda], bl
push 3
pop eax
lea eax, [esp + eax + 0xd8]
lea ecx, [esp + 0x58]
lea edx, [esp + 0xd8]
push eax
call fcn.100f0c3c
pop eax
jmp 0x1008add6
mov eax, ebx
xor esi, esi
shr eax, 0x12
or al, 0xf0
mov byte [esp + 0xd8], al
mov eax, ebx
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [esp + 0xd9], al
mov eax, ebx
and bl, 0x3f
shr eax, 6
or bl, 0x80
and al, 0x3f
or al, 0x80
mov byte [esp + 0xda], al
mov byte [esp + 0xdb], bl
push 4
jmp 0x1008aefe
push edi
call sym.core::slice::memchr::memchr_aligned::hf8fc1c296daa0743
pop ecx
cmp eax, 1
je 0x1008abcf
mov ecx, ebx
mov edx, edi
call sym.reqwest::proxy::extract_type_prefix::h8acb0f372caa06f8
test eax, eax
je 0x1008afd0
mov dword [esp + 8], edx
lea ecx, [esp + 0x58]
mov edx, ebx
mov esi, eax
push edi
call dbg.clone
pop eax
lea ecx, [esp + 0x128]
mov edx, esi
lea eax, [esp + 0x58]
push eax
push dword [esp + 0xc]
jmp 0x1008b07f
mov eax, dword [esp + 0x5c]
mov edi, dword [esp + 0x58]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x24]
mov esi, eax
sub eax, 1
jb 0x1008b25f
cmp byte [ecx + esi - 1], 0
je 0x1008afb9
jmp 0x1008b261
lea eax, [esp + 0x48]
xor edi, edi
lea esi, [esp + 0x58]
lea ebx, [esp + 0x2c]
mov dword [esp + 0x148], eax
mov eax, sym.__LT_alloc..string..String_u20_as_u20_core..fmt..Display_GT_::fmt::hdff27194fd61d0e6
inc edi
mov ecx, ebx
mov edx, esi
mov dword [esp + 0x14c], eax
mov eax, 0x101c955c
mov dword [esi], eax
mov dword [esi + 4], edi
and dword [esi + 0x10], 0
lea eax, [esp + 0x148]
mov dword [esi + 8], eax
mov dword [esi + 0xc], edi
call sym.__ZN5alloc3fmt6format17h28429d8526483b61E.791
lea ecx, [esp + 0x128]
mov edx, 0x101f5687
push ebx
push 4
call sym.reqwest::proxy::insert_proxy::h1dbfd7cbb3a3452d
pop ecx
pop edx
mov eax, 0x101c955c
lea edx, [esp + 0x58]
mov dword [esi], eax
mov dword [esi + 4], edi
and dword [esi + 0x10], 0
lea eax, [esp + 0x148]
mov dword [esi + 8], eax
mov dword [esi + 0xc], edi
lea eax, [esp + 0x48]
lea esi, [esp + 0xd8]
mov dword [esp + 0x148], eax
mov eax, sym.__LT_alloc..string..String_u20_as_u20_core..fmt..Display_GT_::fmt::hdff27194fd61d0e6
mov ecx, esi
mov dword [esp + 0x14c], eax
call sym.__ZN5alloc3fmt6format17h28429d8526483b61E.791
lea ecx, [esp + 0x128]
mov edx, 0x101f568b
push esi
push 5
call sym.reqwest::proxy::insert_proxy::h1dbfd7cbb3a3452d
pop ecx
pop edx
jmp 0x1008b0ef
xor esi, esi
push 4
pop ebx
jmp 0x1008b091
mov ebx, edi
cmp dword [esp + 0x134], 0
je 0x1008b0e6
lea edi, [esp + 0x128]
mov ecx, edi
call sym.hashbrown::raw::RawTableInner::drop_elements::hf6d026ade26ac669
mov edi, dword [edi + 4]
test edi, edi
je 0x1008b0c8
lea eax, [edi + 0x11]
push eax
push 0xff
push dword [esp + 0x130]
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [edi + 1]
and dword [esp + 0x134], 0
shr eax, 3
imul eax, eax, 7
cmp edi, 8
cmovb eax, edi
mov dword [esp + 0x130], eax
mov ecx, esi
mov edx, ebx
call sym.__LT_alloc..raw_vec..RawVec_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h3d40c7528c93a51b
movsd xmm1, qword [esp + 0x138]
movsd xmm0, qword [esp + 0x140]
movsd xmm2, qword [esp + 0x128]
movsd qword [esp + 0x158], xmm1
movsd xmm1, qword [esp + 0x130]
movsd qword [esp + 0x160], xmm0
movsd qword [esp + 0x148], xmm2
movsd qword [esp + 0x150], xmm1
lea eax, [esp + 0x48]
push eax
call sym.core::ptr::drop_in_place_LT_alloc..vec..Vec_LT_u8_GT__GT_::hc2d4a7daa21d9ff6
pop eax
lea ecx, [esp + 0x58]
call sym.std::collections::hash::map::HashMap_LT_K_C_V_GT_::new::h5ba4f60844692002
cmp dword [esp + 0x148], 0
je 0x1008b1a8
movsd xmm1, qword [esp + 0x158]
movsd xmm0, qword [esp + 0x160]
movsd xmm2, qword [esp + 0x148]
lea ecx, [esp + 0x58]
movsd qword [esp + 0xe8], xmm1
movsd xmm1, qword [esp + 0x150]
movsd qword [esp + 0xf0], xmm0
movsd qword [esp + 0xd8], xmm2
movsd qword [esp + 0xe0], xmm1
call sym.__LT_hashbrown..raw..RawTable_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h1bc04f7b15f490c2
jmp 0x1008b1f7
movsd xmm1, qword [esp + 0x68]
movsd xmm0, qword [esp + 0x70]
movsd xmm2, qword [esp + 0x58]
mov ecx, dword [esp + 0x14c]
mov edx, dword [esp + 0x150]
movsd qword [esp + 0xe8], xmm1
movsd xmm1, qword [esp + 0x60]
movsd qword [esp + 0xf0], xmm0
movsd qword [esp + 0xd8], xmm2
movsd qword [esp + 0xe0], xmm1
call fcn.100025aa
lea ecx, [esp + 0x1a8]
call sym.__LT_hashbrown..raw..RawTable_LT_T_C_A_GT__u20_as_u20_core..ops..drop..Drop_GT_::drop::h1bc04f7b15f490c2
push 0x28
pop ecx
push 8
pop edx
call sym.__ZN5alloc5alloc15exchange_malloc17h142decb00e75c662E.1569
xor ecx, ecx
inc ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0xd4]
movsd xmm0, qword [esp + 0xd8]
movsd xmm1, qword [esp + 0xe0]
movsd qword [eax + 8], xmm0
movsd qword [eax + 0x10], xmm1
movsd xmm0, qword [esp + 0xe8]
movsd qword [eax + 0x18], xmm0
movsd xmm0, qword [esp + 0xf0]
movsd qword [eax + 0x20], xmm0
mov dword [ecx], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor esi, esi
cmp byte [esp + 0x28], 7
mov dword [esp + 0x1c], esi
jne 0x1008b5d5
lea ecx, [esp + 0xd8]
mov edx, dword [esp + 0x24]
lea ebx, [esp + 0x58]
mov dword [esp + 0xb0], edi
and dword [ecx], 0
xor eax, eax
inc eax
mov dword [ecx + 4], eax
and dword [ecx + 8], 0
mov ecx, ebx
push eax
push 0x101f6285
push esi
call sym.core::str::pattern::StrSearcher::new::h31365d9c89f7e80a
add esp, 0xc
mov eax, dword [ebx]
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 0x18]
mov edi, dword [ebx + 0x1c]
mov esi, dword [ebx + 0x24]
mov dword [esp + 0xc4], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0xb8], edx
mov dword [esp + 0xb4], ecx
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 8]
mov dword [esp + 0xc8], eax
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x3c], eax
mov eax, dword [ebx + 0x30]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 0x34]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x38]
mov dword [esp + 0x28], eax
mov eax, dword [ebx + 0x3c]
mov ebx, ecx
and ebx, 0xffffff00
mov dword [esp + 0xbc], ebx
mov ebx, eax
mov dword [esp + 0x10], eax
sub ebx, edx
mov edx, ecx
mov ecx, eax
dec eax
mov dword [esp + 0xcc], eax
xor eax, eax
mov dword [esp + 0xac], ebx
cmp dword [esp + 0xc4], 0
mov dword [esp + 0x38], eax
mov dword [esp + 0xc], esi
je 0x1008b493
movzx eax, dl
mov byte [esp + 7], dl
mov edx, dword [esp + 0x14]
mov ecx, esi
or eax, dword [esp + 0xbc]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x3c]
mov ebx, ecx
mov dword [esp + 0xc0], ecx
cmp eax, ecx
cmova ebx, eax
cmp esi, 0xffffffff
mov esi, ecx
cmove ebx, eax
mov eax, 0
cmove esi, eax
mov dword [esp + 0x40], ebx
mov eax, dword [esp + 0xcc]
add eax, edi
cmp eax, dword [esp + 8]
jae 0x1008b5db
mov cl, byte [edx + eax]
xor eax, eax
xor ebx, ebx
inc ebx
shld eax, ebx, cl
shl ebx, cl
test cl, 0x20
mov ecx, 0
cmovne eax, ebx
cmovne ebx, ecx
and eax, dword [esp + 0xd0]
and ebx, dword [esp + 0xc8]
or ebx, eax
je 0x1008b3f9
mov ebx, dword [esp + 0x40]
lea ecx, [edx + edi]
cmp ebx, dword [esp + 0x10]
jae 0x1008b40a
mov eax, ebx
add ebx, edi
cmp ebx, dword [esp + 8]
jae 0x1008b67c
mov edx, dword [esp + 0x28]
lea ebx, [eax + 1]
mov dl, byte [edx + eax]
cmp dl, byte [ecx + eax]
je 0x1008b3c1
sub edi, dword [esp + 0x3c]
cmp dword [esp + 0xc], 0xffffffff
mov edx, dword [esp + 0x14]
lea edi, [edi + eax + 1]
je 0x1008b37a
jmp 0x1008b460
add edi, dword [esp + 0x10]
cmp dword [esp + 0xc], 0xffffffff
je 0x1008b37a
jmp 0x1008b460
mov ecx, dword [esp + 0x3c]
cmp esi, ecx
jae 0x1008b46b
dec ecx
cmp ecx, dword [esp + 0x10]
jae 0x1008b695
lea eax, [ecx + edi]
cmp eax, dword [esp + 8]
jae 0x1008b6a3
mov edx, dword [esp + 0x28]
mov bl, byte [edx + ecx]
mov edx, dword [esp + 0x14]
cmp bl, byte [edx + eax]
mov edx, dword [esp + 0x14]
je 0x1008b40e
add edi, dword [esp + 0xb8]
cmp dword [esp + 0xc], 0xffffffff
je 0x1008b37a
mov ecx, dword [esp + 0xac]
mov esi, dword [esp + 0xc]
jmp 0x1008b354
mov esi, dword [esp + 0xc]
xor ecx, ecx
jmp 0x1008b354
mov eax, dword [esp + 0x10]
cmp dword [esp + 0xc], 0xffffffff
mov ecx, dword [esp + 0xc0]
lea ebx, [edi + eax]
mov eax, 0
cmovne ecx, eax
mov eax, edi
mov edi, ebx
mov dword [esp + 0xc], ecx
jmp 0x1008b596
test dword [esp + 0xb4], 0xff0000
mov ebx, dword [esp + 0x14]
jne 0x1008b5db
mov esi, dword [esp + 0x20]
test esi, esi
je 0x1008b4c7
cmp esi, dword [esp + 8]
jae 0x1008b4c1
cmp byte [ebx + esi], 0xbf
jg 0x1008b4c7
jmp 0x1008b6d3
jne 0x1008b6d3
cmp esi, dword [esp + 8]
je 0x1008b575
movzx ecx, byte [ebx + esi]
test cl, cl
js 0x1008b4dd
mov eax, ecx
jmp 0x1008b534
mov byte [esp + 7], dl
movzx edx, byte [ebx + esi + 1]
mov eax, ecx
and eax, 0x1f
and edx, 0x3f
cmp cl, 0xdf
jbe 0x1008b522
movzx ebx, byte [ebx + esi + 2]
shl edx, 6
and ebx, 0x3f
or ebx, edx
cmp cl, 0xf0
mov edx, ebx
jb 0x1008b527
mov ebx, dword [esp + 0x14]
and eax, 7
shl edx, 6
shl eax, 0x12
movzx ecx, byte [ebx + esi + 3]
and ecx, 0x3f
or ecx, edx
or eax, ecx
jmp 0x1008b530
shl eax, 6
jmp 0x1008b52e
shl eax, 0xc
mov ebx, dword [esp + 0x14]
or eax, edx
mov dl, byte [esp + 7]
test dl, dl
mov dword [esp + 0x20], esi
jne 0x1008b587
cmp eax, 0x110000
je 0x1008b5db
cmp eax, 0x80
mov ecx, 1
jb 0x1008b568
cmp eax, 0x800
push 2
pop ecx
jb 0x1008b568
cmp eax, 0x10000
push 4
pop ecx
sbb ecx, 0
mov esi, dword [esp + 0x20]
mov dl, 1
add esi, ecx
jmp 0x1008b4ac
mov eax, dword [esp + 8]
test dl, dl
mov byte [esp + 7], dl
mov dword [esp + 0x20], eax
jne 0x1008b58b
jmp 0x1008b5db
mov byte [esp + 7], dl
mov eax, dword [esp + 0x20]
xor byte [esp + 7], 1
mov ebx, eax
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x38]
lea esi, [esp + 0xd8]
add edx, ecx
add eax, ecx
mov ecx, esi
push eax
call fcn.100f0c3c
pop eax
mov edx, 0x101f6284
lea eax, [0x101f6285]
mov ecx, esi
push eax
call fcn.100f0c3c
pop eax
mov esi, dword [esp + 0xc]
mov dl, byte [esp + 7]
mov eax, ebx
jmp 0x1008b323
mov esi, dword [esp + 0x24]
jmp 0x1008b623
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x38]
lea ebx, [esp + 0xd8]
mov ecx, ebx
add eax, edi
add edx, edi
push eax
call fcn.100f0c3c
pop eax
mov eax, dword [ebx + 8]
mov ecx, dword [ebx]
mov esi, dword [ebx + 4]
cmp dword [esp + 0xb0], 0
mov dword [esp + 0x1c], eax
je 0x1008b621
xor edx, edx
mov ebx, ecx
mov ecx, edi
inc edx
call sym.___rust_dealloc
mov edi, ebx
jmp 0x1008b623
mov edi, ecx
lea ecx, [esp + 0x148]
call sym.core::ptr::drop_in_place_LT_core..result..Result_LT_winreg..RegValue_C_std..io..error..Error_GT__GT_::h371e604b64c64c25
cmp edi, 0x80000000
jne 0x1008b640
mov edx, dword [esp + 0x1c]
jmp 0x1008a9c6
mov ecx, dword [esp + 0x18]
call sym.__LT_winreg..RegKey_u20_as_u20_core..ops..drop..Drop_GT_::drop::h6df9eda7c5f05efc
mov ecx, 0x80000001
call sym.__LT_winreg..RegKey_u20_as_u20_core..ops..drop..Drop_GT_::drop::h6df9eda7c5f05efc
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x198], eax
mov dword [esp + 0x19c], edi
mov dword [esp + 0x1a0], esi
mov dword [esp + 0x1a4], ecx
jmp 0x1008a9fe
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 8]
add ecx, edi
cmp edx, ecx
cmova ecx, edx
push 0x101f6264
call dbg.panic_bounds_check
mov edx, dword [esp + 0x10]
push 0x101f6244
call dbg.panic_bounds_check
mov edx, dword [esp + 8]
mov ecx, eax
push 0x101f6254
call dbg.panic_bounds_check
mov ecx, dword [esp + 0x5c]
test ecx, ecx
jne 0x1008b6ca
call sym.alloc::raw_vec::capacity_overflow::h5648a8ceafa88914
mov ecx, 0x101cbe8c
call dbg.unwrap_failed
mov edx, dword [esp + 0x60]
call dbg.handle_alloc_error
mov edx, dword [esp + 8]
mov ecx, ebx
push 0x101f6274
push edx
push esi
call dbg.slice_error_fail