Function at 0x100a3fc0
Capabilities:
Create a process with modified i/o handles and window
Create process on windows
Encode data using base64
Get common file path
Query environment variable
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x550
call 0x100a3fd4
pop eax
mov esi, edx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0xc], esi
mov dword [esp + 0x128], eax
movzx eax, byte [edx + 0x54]
mov edx, dword [edx + 0x50]
test edx, edx
setne cl
or cl, al
je 0x100a4189
test al, al
mov dword [esp + 0x104], 0
mov dword [esp + 0x2c], edx
mov dword [esp + 0x10c], 0
jne 0x100a41c3
call sub.kernel32.dll_GetEnvironmentStringsW
test eax, eax
je 0x100a7c83
lea edi, [esp + 0xa0]
lea esi, [esp + 0xc4]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
nop
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x150]
push eax
call sym.__ZN98__LT_std..sys..pal..windows..os..EnvIterator_u20_as_u20_core..iter..traits..iterator..Iterator_GT_4next17hab51959b580796
add esp, 8
mov ecx, dword [esp + 0x14c]
mov eax, ecx
neg eax
jo 0x100a41b3
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x15c]
movq xmm0, qword [esp + 0x154]
mov ebx, dword [esp + 0x150]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x160]
movd eax, xmm0
mov dword [esp + 0xc4], ebx
movdqa xmmword [esp + 0xf0], xmm0
add eax, ebx
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x164]
mov word [esp + 0xcc], 0
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x168]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x28], ecx
mov ecx, edi
mov edx, esi
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_iter17h721c55fcc
mov eax, dword [esp + 0x18]
movaps xmm0, xmmword [esp + 0xf0]
lea ecx, [esp + 0x4c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x40], ebx
movlps qword [esp + 0x44], xmm0
movq xmm0, qword [esp + 0xa0]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x14]
movq qword [ecx], xmm0
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xcc], eax
lea edx, [esp + 0x104]
mov ecx, edi
push esi
lea eax, [esp + 0x40]
push eax
call sym.alloc::collections::btree::map::BTreeMap_LT_K_C_V_C_A_GT_::insert::hd39545c2c7d140ec
add esp, 8
mov eax, dword [esp + 0xa0]
test eax, 0x7fffffff
je 0x100a4050
push 1
push eax
push dword [esp + 0xac]
call sym.___rust_dealloc
add esp, 0xc
jmp 0x100a4050
mov dword [esp + 0x130], 0
mov dword [esp + 0x2c], 0
lea eax, [esp + 0x134]
mov edi, dword [esi + 0x20]
test edi, edi
jne 0x100a496f
jmp 0x100a49c4
push dword [esp + 0x90]
call sub.kernel32.dll_FreeEnvironmentStringsW
mov esi, dword [esp + 0xc]
mov eax, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov esi, dword [esp + 0x2c]
xor edx, edx
test eax, eax
setne dl
cmove esi, eax
mov dword [esp + 0xa0], edx
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], edx
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], esi
jmp 0x100a4240
push 1
push eax
push dword [esp + 0xd0]
call sym.___rust_dealloc
add esp, 0xc
nop word cs:[eax + eax]
nop dword [eax]
lea ecx, [esp + 0xa0]
call sym.__ZN108__LT_alloc..collections..btree..map..Iter_LT_K_C_V_GT__u20_as_u20_core..iter..traits..iterator..Iterator_GT_4next17h438
mov edi, eax
test eax, eax
je 0x100a4793
xor eax, eax
cmp eax, dword [edx]
jno 0x100a44d0
mov ebx, dword [esp + 0x104]
test ebx, ebx
je 0x100a4240
mov esi, dword [esp + 0x108]
mov edx, ebx
lea ecx, [esp + 0x90]
push dword [edi + 0x18]
push dword [edi + 0x14]
push esi
call sym.__ZN5alloc11collections5btree6search142__LT_impl_u20_alloc..collections..btree..node..NodeRef_LT_BorrowType_C_K_C_V_C_alloc..c
add esp, 0xc
cmp dword [esp + 0x90], 1
je 0x100a4240
mov ecx, dword [esp + 0x98]
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0x9c]
mov byte [esp + 0x114], 0
test ecx, ecx
je 0x100a466c
nop dword [eax]
mov eax, dword [eax + edx*4 + 0x1ec]
dec ecx
je 0x100a42db
movzx edx, word [eax + 0x1ea]
mov eax, dword [eax + edx*4 + 0x1ec]
dec ecx
jne 0x100a42ca
movzx ecx, word [eax + 0x1ea]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], 0
dec ecx
mov dword [esp + 0x124], ecx
lea edx, [esp + 0x11c]
lea eax, [esp + 0x114]
lea ecx, [esp + 0x14c]
push eax
call fcn.1006d6d0
add esp, 4
movsd xmm2, qword [esp + 0x164]
movsd xmm1, qword [esp + 0x15c]
mov eax, dword [esp + 0x174]
movq xmm0, qword [esp + 0x16c]
mov ecx, dword [esp + 0x180]
movsd qword [esp + 0xdc], xmm2
movsd qword [esp + 0xd4], xmm1
movsd xmm2, qword [esp + 0x14c]
movsd xmm1, qword [esp + 0x154]
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x178]
movq qword [esp + 0xe4], xmm0
movsd qword [esp + 0xcc], xmm1
movsd qword [esp + 0xc4], xmm2
movzx edx, word [eax + 0x1ea]
cmp ecx, edx
jb 0x100a43b6
nop dword [eax + eax]
movzx ecx, word [eax + 0x1e8]
mov eax, dword [eax + 0xb0]
cmp cx, word [eax + 0x1ea]
jae 0x100a43a0
lea edx, [ecx + ecx*8]
lea edx, [edx + edx*2]
add edx, ecx
shl ecx, 4
mov edi, dword [eax + edx + 0xcc]
mov dword [esp + 0x54], edi
mov edi, dword [esp + 0xdc]
movsd xmm0, qword [eax + edx + 0xc4]
movsd qword [esp + 0x4c], xmm0
movsd xmm0, qword [eax + edx + 0xb4]
movsd xmm1, qword [eax + edx + 0xbc]
movsd qword [esp + 0x44], xmm1
movsd qword [esp + 0x3c], xmm0
mov dword [eax + edx + 0xcc], edi
lea edi, [esp + 0xe0]
movsd xmm0, qword [esp + 0xd4]
movsd qword [eax + edx + 0xc4], xmm0
movsd xmm0, qword [esp + 0xc4]
movsd xmm1, qword [esp + 0xcc]
movsd qword [eax + edx + 0xbc], xmm1
movsd qword [eax + edx + 0xb4], xmm0
lea edx, [esp + 0x58]
movsd xmm0, qword [eax + ecx]
movsd xmm1, qword [eax + ecx + 8]
movsd qword [edx + 8], xmm1
movsd qword [edx], xmm0
movsd xmm0, qword [edi]
movsd xmm1, qword [edi + 8]
movsd qword [eax + ecx], xmm0
movsd qword [eax + ecx + 8], xmm1
movsd xmm1, qword [esp + 0x44]
mov eax, dword [esp + 0x64]
movq xmm0, qword [esp + 0x3c]
movsd xmm2, qword [esp + 0x54]
movsd qword [esp + 0x154], xmm1
movsd xmm1, qword [esp + 0x4c]
mov dword [esp + 0x174], eax
movq qword [esp + 0x14c], xmm0
movsd qword [esp + 0x164], xmm2
movsd qword [esp + 0x15c], xmm1
movsd xmm1, qword [esp + 0x5c]
movsd qword [esp + 0x16c], xmm1
jmp 0x100a4697
mov ebx, dword [edi + 8]
test ebx, ebx
js 0x100a7ba1
mov esi, dword [edi + 4]
mov dword [esp + 0x18], edx
je 0x100a4500
mov eax, dword [0x1017b554]
movzx eax, byte [eax]
push 1
push ebx
call sym.___rust_alloc
add esp, 8
test eax, eax
jne 0x100a4505
jmp 0x100a7bd3
mov eax, 1
mov dword [esp + 0x10], ebx
push ebx
push esi
mov dword [esp + 0x1c], eax
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov esi, dword [edi + 0x18]
xor eax, eax
lea ebx, [esi + esi]
test esi, esi
js 0x100a7baa
cmp ebx, 0x7ffffffe
ja 0x100a7baa
movzx eax, byte [edi + 0xc]
test ebx, ebx
mov dword [esp + 0x2c], 0
mov byte [esp + 0x28], al
mov eax, dword [edi + 0x14]
je 0x100a4578
mov dword [esp + 0x1c], eax
mov eax, dword [0x1017b554]
movzx eax, byte [eax]
push 2
push ebx
call sym.___rust_alloc
add esp, 8
mov edi, eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xf0], esi
test edi, edi
jne 0x100a4588
jmp 0x100a7ba5
mov edi, 2
mov dword [esp + 0xf0], 0
push ebx
push eax
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x14c], eax
mov dword [esp + 0x150], ecx
mov dword [esp + 0x154], eax
movzx eax, byte [esp + 0x28]
mov byte [esp + 0x158], al
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x15c], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x160], edi
mov dword [esp + 0x164], esi
mov edi, dword [eax + 8]
test edi, edi
js 0x100a7bc1
mov ebx, dword [eax + 4]
je 0x100a460a
mov eax, dword [0x1017b554]
movzx eax, byte [eax]
push 1
push edi
call sym.___rust_alloc
add esp, 8
mov esi, eax
test eax, eax
jne 0x100a460f
jmp 0x100a7bb9
mov esi, 1
push edi
push ebx
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + 0xc]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], edi
mov byte [esp + 0x48], al
lea edx, [esp + 0x104]
lea eax, [esp + 0x3c]
lea ecx, [esp + 0xc4]
push eax
lea eax, [esp + 0x150]
push eax
call sym.alloc::collections::btree::map::BTreeMap_LT_K_C_V_C_A_GT_::insert::hd39545c2c7d140ec
add esp, 8
mov eax, dword [esp + 0xc4]
test eax, 0x7fffffff
je 0x100a4240
jmp 0x100a4220
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], edx
lea edx, [esp + 0x3c]
lea eax, [esp + 0x114]
lea ecx, [esp + 0x14c]
push eax
call fcn.1006d6d0
add esp, 4
movsd xmm2, qword [esp + 0x164]
movsd xmm1, qword [esp + 0x15c]
mov eax, dword [esp + 0x174]
movq xmm0, qword [esp + 0x16c]
dec dword [esp + 0x10c]
cmp byte [esp + 0x114], 0
movsd qword [esp + 0x54], xmm2
movsd qword [esp + 0x4c], xmm1
movsd xmm2, qword [esp + 0x14c]
movsd xmm1, qword [esp + 0x154]
mov dword [esp + 0x64], eax
movq qword [esp + 0x5c], xmm0
movsd qword [esp + 0x44], xmm1
movsd qword [esp + 0x3c], xmm2
je 0x100a4735
test esi, esi
je 0x100a7c00
mov eax, dword [ebx + 0x1ec]
dec esi
mov dword [esp + 0x104], eax
mov dword [esp + 0x108], esi
mov dword [eax + 0xb0], 0
push 4
push 0x21c
push ebx
call sym.___rust_dealloc
add esp, 0xc
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp + 0x4c]
mov edi, dword [esp + 0x50]
mov esi, dword [esp + 0x58]
mov dword [esp + 0x18], edx
mov edx, eax
neg edx
jo 0x100a4240
jae 0x100a4769
push 1
push eax
push ecx
call sym.___rust_dealloc
add esp, 0xc
test ebx, ebx
je 0x100a477b
add ebx, ebx
push 2
push ebx
push edi
call sym.___rust_dealloc
add esp, 0xc
test esi, 0x7fffffff
je 0x100a4240
push 1
push esi
push dword [esp + 0x20]
jmp 0x100a422a
mov eax, dword [esp + 0x10c]
movq xmm0, qword [esp + 0x104]
mov dword [esp + 0x13c], eax
mov eax, dword [0x1017b554]
movq qword [esp + 0x134], xmm0
mov dword [esp + 0x130], 1
movzx eax, byte [eax]
push 1
push 4
call sym.___rust_alloc
add esp, 8
test eax, eax
je 0x100a7c19
mov edi, eax
mov dword [eax], 0x48544150
add eax, 4
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], eax
mov word [esp + 0x44], 0
lea ecx, [esp + 0xc4]
lea edx, [esp + 0x3c]
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_iter17h721c55fcc
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0xcc]
movq xmm0, qword [esp + 0xc4]
mov dword [esp + 0x14c], 4
mov dword [esp + 0x150], edi
mov dword [esp + 0x154], 4
mov dword [esp + 0x158], 0
mov edx, dword [esp + 0x134]
mov dword [esp + 0x2c], 0
movq qword [esp + 0x15c], xmm0
mov dword [esp + 0x164], eax
mov dword [esp + 0x14], eax
test edx, edx
mov eax, dword [esp + 0x160]
mov dword [esp + 0x10], eax
je 0x100a4938
mov eax, dword [esp + 0x138]
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], eax
movzx edi, word [edx + 0x1ea]
lea ecx, [edx + 0xb4]
mov ebx, 0xffffffff
mov dword [esp + 0xf0], edx
lea eax, [edi + edi*8]
mov dword [esp + 0x1c], edi
lea esi, [eax + eax*2]
add esi, edi
lea edi, [edx - 8]
nop dword [eax]
test esi, esi
je 0x100a48f0
lea eax, [ecx + 0x1c]
mov dword [esp + 0x18], eax
push 1
push dword [ecx + 0x18]
push dword [ecx + 0x14]
push dword [esp + 0x20]
push dword [esp + 0x20]
call sub.kernel32.dll_CompareStringOrdinal
mov ecx, dword [esp + 0x18]
add esi, 0xffffffe4
add edi, 0x10
inc ebx
cmp eax, 3
je 0x100a48b0
mov esi, dword [esp + 0xc]
cmp eax, 1
jne 0x100a491c
jmp 0x100a48f8
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x28]
sub eax, 1
jb 0x100a4e60
mov edx, dword [esp + 0xf0]
mov dword [esp + 0x28], eax
mov edx, dword [edx + ebx*4 + 0x1ec]
jmp 0x100a4885
cmp eax, 2
jne 0x100a7b32
mov eax, dword [edi - 4]
mov ecx, dword [edi]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x18], ecx
mov edi, dword [esp + 0x24]
jmp 0x100a4938
push 1
push 4
push edi
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [esp + 0x15c]
test eax, eax
je 0x100a4961
add eax, eax
push 2
push eax
push dword [esp + 0x18]
call sym.___rust_dealloc
add esp, 0xc
lea eax, [esp + 0x134]
mov edi, dword [esi + 0x20]
test edi, edi
je 0x100a49c4
mov edx, dword [esi + 0x1c]
mov dword [esp + 0x8c], eax
mov eax, sym.std::sys::path::windows::is_sep_byte::h1da9d8a504a7fa8f
cmp edi, 4
jb 0x100a49a6
mov eax, dword [edx]
xor ecx, ecx
bswap eax
cmp eax, 0x5c5c3f5c
setb cl
cmp eax, 0x5c5c3f5d
mov eax, sym.std::sys::path::windows::is_sep_byte::h1da9d8a504a7fa8f
adc ecx, 0xffffffff
mov ecx, sym.std::sys::path::windows::is_verbatim_sep::hdde8c6c96dd658fb
cmove eax, ecx
movzx ebx, byte [edi + edx - 1]
mov dword [esp + 0xf0], edx
mov dword [esp + 0x1c], edi
push ebx
call eax
add esp, 4
test al, al
je 0x100a4a5f
mov byte [esp + 0x94], 2
mov dword [esp + 0x98], 0x10163210
mov ebx, dword [esp + 0x94]
mov ecx, dword [esp + 0x98]
mov eax, dword [esp + 0x80]
mov dword [eax + 4], ecx
mov dword [eax], ebx
mov dword [eax + 8], 2
cmp dword [esp + 0x130], 0
je 0x100a4b19
mov ecx, dword [esp + 0x134]
test ecx, ecx
je 0x100a4af4
mov edx, dword [esp + 0x138]
mov eax, dword [esp + 0x13c]
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], ecx
mov dword [esp + 0x158], edx
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], ecx
mov ecx, 1
mov dword [esp + 0x168], edx
jmp 0x100a4af8
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0xf0]
lea eax, [ecx + edx]
cmp edx, 3
mov dword [esp + 0x24], eax
jbe 0x100a4b37
movzx eax, byte [eax - 4]
mov ecx, eax
add cl, 0xbf
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
xor eax, eax
cmp cl, 0x2e
mov ecx, 0
jne 0x100a4b62
mov edi, dword [esp + 0x24]
movzx ecx, byte [edi - 3]
mov edx, ecx
add dl, 0xbf
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, cl
cmp dl, 0x65
jne 0x100a4b60
movzx ecx, byte [edi - 2]
mov edx, ecx
add dl, 0xbf
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, cl
cmp dl, 0x78
jne 0x100a4b60
mov ecx, ebx
add cl, 0xbf
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, bl
cmp cl, 0x65
sete cl
jmp 0x100a4b62
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x14c], ecx
mov dword [esp + 0x15c], ecx
mov dword [esp + 0x16c], eax
lea ecx, [esp + 0x14c]
call sym.__ZN4core3ptr137drop_in_place_LT_alloc..collections..btree..map..IntoIter_LT_std..sys..pal..windows..process..EnvKey_C_std..ff
cmp dword [esp + 0x128], 4
jb 0x100a4b2f
push dword [esp + 0x12c]
call sub.kernel32.dll_CloseHandle
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, edx
mov ebx, edx
nop dword [eax + eax]
test eax, eax
je 0x100a4cc3
movzx edx, byte [ecx]
cmp edx, 0x2f
je 0x100a4be6
inc ecx
dec eax
cmp edx, 0x5c
jne 0x100a4b40
jmp 0x100a4be6
xor ecx, ecx
mov ebx, dword [esp + 0x1c]
nop word cs:[eax + eax]
cmp ebx, eax
je 0x100a4cc3
mov edx, dword [esp + 0xf0]
movzx edx, byte [edx + eax]
cmp edx, 0x2f
je 0x100a4b8e
inc eax
cmp edx, 0x5c
jne 0x100a4b70
test cl, cl
je 0x100a4be6
mov edx, dword [esp + 0xf0]
lea ecx, [esp + 0x14c]
push ebx
call sym.std::sys::pal::windows::to_u16s::inner::h36c7c454f9caa61a
add esp, 4
mov edx, dword [esp + 0x14c]
mov eax, dword [esp + 0x150]
mov ecx, edx
neg ecx
mov ecx, dword [esp + 0x154]
jno 0x100a4e33
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
mov dword [esp + 0x90], 0x80000000
jmp 0x100a4f6f
test ebx, ebx
js 0x100a7cf8
mov eax, dword [0x1017b554]
movzx eax, byte [eax]
push 1
push ebx
call sym.___rust_alloc
add esp, 8
test eax, eax
je 0x100a7c21
mov esi, eax
push ebx
push dword [esp + 0xf4]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov dword [esp + 0x14c], ebx
mov dword [esp + 0x150], esi
mov dword [esp + 0x154], ebx
mov dword [esp + 0x158], 0
lea eax, [esp + 0x14c]
push 4
push str..exeprogram_not_found
push eax
call sym.std::sys::os_str::wtf8::Buf::push_slice::h4f16565ba27f87b2
add esp, 0xc
mov eax, dword [esp + 0x14c]
mov edi, dword [esp + 0x150]
mov ebx, dword [esp + 0x154]
mov dword [esp + 0x18], eax
mov edx, edi
lea ecx, [esp + 0x3c]
push ebx
call sym.std::sys::pal::windows::process::program_exists::h95b868495f4c10d1
add esp, 4
mov esi, dword [esp + 0xc]
xor eax, eax
cmp eax, dword [esp + 0x3c]
jno 0x100a4d9c
mov dword [esp + 0x10], ebx
push ebx
push edi
call sym.std::path::Path::file_name::h056b0b4cd934bc5c
add esp, 8
test eax, eax
je 0x100a4e2a
mov ebx, edx
cmp edx, 2
jne 0x100a4dbb
cmp word [eax], 0x2e2e
jne 0x100a4dbb
mov edx, 2
xor ecx, ecx
jmp 0x100a4e98
mov eax, dword [esp + 0xf0]
xor edi, edi
jmp 0x100a4cdb
xor edi, edi
test cx, cx
je 0x100a4d81
mov cx, 1
test di, di
jne 0x100a4cd0
cmp eax, dword [esp + 0x24]
je 0x100a4dfc
movzx ebx, byte [eax]
test bl, bl
js 0x100a4cfe
mov edx, ebx
mov ebx, dword [esp + 0x1c]
inc eax
jmp 0x100a4d51
movzx esi, byte [eax + 1]
mov edx, ebx
and edx, 0x1f
and esi, 0x3f
cmp bl, 0xdf
jbe 0x100a4d45
movzx edi, byte [eax + 2]
shl esi, 6
and edi, 0x3f
or edi, esi
cmp bl, 0xf0
jb 0x100a4d5a
movzx esi, byte [eax + 3]
and edx, 7
shl edi, 6
add eax, 4
shl edx, 0x12
and esi, 0x3f
or esi, edi
or edx, esi
mov ebx, dword [esp + 0x1c]
cmp edx, 0xffff
jbe 0x100a4d51
jmp 0x100a4d6e
mov ebx, dword [esp + 0x1c]
shl edx, 6
add eax, 2
or edx, esi
xor edi, edi
mov ecx, edx
jmp 0x100a4cd2
shl edx, 0xc
add eax, 3
or edx, edi
mov ebx, dword [esp + 0x1c]
cmp edx, 0xffff
jbe 0x100a4d51
and edx, 0x3ff
or edx, 0xdc00
mov edi, edx
jmp 0x100a4cd2
mov dword [esp + 0x94], 2
mov dword [esp + 0x98], 0x101631e4
jmp 0x100a49d7
mov eax, dword [esp + 0x44]
movq xmm0, qword [esp + 0x3c]
mov dword [esp + 0x98], eax
movq qword [esp + 0x90], xmm0
jmp 0x100a4f5b
xor edx, edx
mov ecx, eax
mov dword [esp + 0x14], edi
nop word cs:[eax + eax]
nop dword [eax]
cmp ebx, edx
je 0x100a4e65
cmp byte [ecx + ebx - 1], 0x2e
lea edi, [ecx - 1]
mov esi, edx
lea edx, [edx + 1]
mov ecx, edi
jne 0x100a4dd0
mov ecx, ebx
sub ecx, edx
jne 0x100a4e8e
xor ecx, ecx
mov edx, ebx
jmp 0x100a4e94
cmp ebx, 7
ja 0x100a4e6f
mov eax, dword [esp + 0xf0]
mov edx, dword [esp + 0x2c]
mov ecx, ebx
nop
cmp byte [eax], 0x2e
je 0x100a5798
inc eax
dec ecx
jne 0x100a4e10
mov dword [esp + 0x34], 0
jmp 0x100a57a0
mov ebx, dword [esp + 0x10]
jmp 0x100a4eeb
mov dword [esp + 0x14c], edx
mov dword [esp + 0x150], eax
mov dword [esp + 0x154], ecx
lea ecx, [esp + 0x90]
lea edx, [esp + 0x14c]
call sym.std::sys::pal::windows::args::from_wide_to_user_path::h8367ae1feee68ae3
jmp 0x100a4f6f
jmp 0x100a4932
mov ecx, eax
mov esi, ebx
mov edx, ebx
xor eax, eax
jmp 0x100a4e94
push ebx
push dword [esp + 0xf4]
push 0x2e
call sym.core::slice::memchr::memchr_aligned::h97ffafdd5a81ec4e
add esp, 0xc
mov dword [esp + 0x34], eax
mov edx, dword [esp + 0x2c]
jmp 0x100a57a0
mov edx, ecx
lea ecx, [edi + ebx + 1]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
test eax, eax
cmovne ecx, eax
test ecx, ecx
je 0x100a4ed7
test eax, eax
cmove edx, esi
add ecx, edx
sub ecx, edi
je 0x100a4edd
mov esi, dword [esp + 0xc]
cmp ebx, ecx
jbe 0x100a4ee3
cmp byte [edi + ecx], 0xbf
jg 0x100a4ee5
push 0x101621bc
push 0x37
push 0x10162182
call sym.core::panicking::panic::hf6244c8fb5815825
add esp, 0xc
jmp 0x100a7d52
mov esi, dword [esp + 0xc]
jmp 0x100a4eeb
mov esi, dword [esp + 0xc]
jmp 0x100a4ee9
jne 0x100a4ebe
cmp ebx, ecx
jb 0x100a4eeb
mov ebx, ecx
mov edx, edi
lea ecx, [esp + 0x14c]
push ebx
call sym.std::sys::pal::windows::to_u16s::inner::h36c7c454f9caa61a
add esp, 4
mov edx, dword [esp + 0x14c]
mov eax, dword [esp + 0x150]
mov ecx, edx
neg ecx
mov ecx, dword [esp + 0x154]
jno 0x100a4f33
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
mov dword [esp + 0x90], 0x80000000
jmp 0x100a4f5b
mov dword [esp + 0x14c], edx
mov dword [esp + 0x150], eax
mov dword [esp + 0x154], ecx
lea ecx, [esp + 0x90]
lea edx, [esp + 0x14c]
call sym.std::sys::pal::windows::args::from_wide_to_user_path::h8367ae1feee68ae3
mov eax, dword [esp + 0x18]
test eax, eax
je 0x100a4f6f
push 1
push eax
push edi
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [esp + 0x90]
mov ebx, dword [esp + 0x94]
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x2c], eax
neg eax
jo 0x100a49e5
cmp ecx, 4
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], ecx
jb 0x100a63ba
mov edx, dword [esp + 0x18]
mov ecx, 0x5c005c
mov eax, 0x5c003f
xor ecx, dword [edx]
mov edx, dword [edx + 4]
xor edx, eax
or edx, ecx
je 0x100a4fd0
mov edx, dword [esp + 0x18]
mov ecx, 0x3f005c
xor ecx, dword [edx]
xor eax, dword [edx + 4]
or eax, ecx
jne 0x100a63ba
cmp dword [esp + 0x20], 4
je 0x100a5075
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
cmp word [eax + ecx*2 - 0xa], 0x2e
jne 0x100a5075
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
movzx eax, word [eax + ecx*2 - 8]
lea ecx, [eax - 0x42]
cmp ecx, 0x21
ja 0x100a5075
mov edx, dword [esp + 0x38]
add edx, dword [ecx*4 + 0x100a83c4]
jmp edx
mov eax, esi
mov ebx, dword [esi + 0x2c]
mov esi, dword [esi + 0x30]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 2
mov dword [esp + 0x44], 0
movzx eax, byte [eax + 0x69]
mov byte [esp + 0x10], al
lea ecx, [esp + 0x3c]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::hb3bae065834a38fe
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x24]
mov word [eax], 0x22
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x44], 1
mov dword [esp + 0x14c], eax
mov dword [esp + 0x150], edi
mov word [esp + 0x154], 0
lea ecx, [esp + 0x3c]
lea edx, [esp + 0x14c]
call sym.__ZN97__LT_alloc..vec..Vec_LT_T_C_A_GT__u20_as_u20_alloc..vec..spec_extend..SpecExtend_LT_T_C_I_GT__GT_11spec_extend17h4b97dfa
mov edi, dword [esp + 0x44]
cmp edi, dword [esp + 0x3c]
jne 0x100a50fd
lea ecx, [esp + 0x3c]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::hb3bae065834a38fe
mov eax, dword [esp + 0x40]
mov word [eax + edi*2], 0x22
inc edi
test esi, esi
mov dword [esp + 0x44], edi
je 0x100a5170
movzx eax, byte [esp + 0x10]
shl esi, 2
lea edi, [esi + esi*4]
mov dword [esp + 0x10], eax
nop
mov esi, dword [esp + 0x44]
cmp esi, dword [esp + 0x3c]
jne 0x100a5133
lea ecx, [esp + 0x3c]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::hb3bae065834a38fe
mov eax, dword [esp + 0x40]
mov word [eax + esi*2], 0x20
inc esi
mov dword [esp + 0x44], esi
lea edx, [esp + 0x3c]
lea ecx, [esp + 0xc4]
push dword [esp + 0x10]
push ebx
call sym.std::sys::pal::windows::args::append_arg::hc75ff91adb8fed24
add esp, 8
cmp byte [esp + 0xc4], 4
jne 0x100a5683
add ebx, 0x14
add edi, 0xffffffec
jne 0x100a5120
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
mov ecx, eax
neg ecx
jo 0x100a56aa
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x1c], 0
mov dword [esp + 0xf0], ecx
mov dword [esp + 0x28], edx
cmp eax, esi
mov dword [esp + 0x104], eax
mov dword [esp + 0x108], ebx
mov dword [esp + 0x10c], esi
jne 0x100a51cd
lea ecx, [esp + 0x104]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::hb3bae065834a38fe
mov ebx, dword [esp + 0x108]
mov word [ebx + esi*2], 0
inc esi
mov eax, 0x608
mov ecx, 0x400
mov dword [esp + 0x10c], esi
mov esi, dword [esp + 0xc]
cmp byte [esi + 0x68], 0
cmovne ecx, eax
or ecx, dword [esi + 0x58]
test byte [esp + 0x130], 1
mov dword [esp + 0x34], ecx
je 0x100a56b8
mov eax, dword [esp + 0x8c]
mov edi, 2
mov ebx, 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 2
mov dword [esp + 0xa8], 0
mov dword [esp + 0x10], 0
mov esi, dword [eax + 8]
movq xmm0, qword [eax]
test esi, esi
mov dword [esp + 0x98], esi
movq qword [esp + 0x90], xmm0
jne 0x100a5284
mov bl, 1
lea ecx, [esp + 0xa0]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::hb3bae065834a38fe
mov edi, dword [esp + 0xa4]
mov ebx, 1
mov word [edi], 0
mov dword [esp + 0xa8], 1
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
xor edx, edx
test eax, eax
setne dl
cmove esi, eax
mov dword [esp + 0x14c], edx
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], ecx
mov dword [esp + 0x15c], edx
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], eax
mov dword [esp + 0x168], ecx
lea ecx, [esp + 0x3c]
lea edx, [esp + 0x14c]
mov dword [esp + 0x16c], esi
call sym.alloc::collections::btree::map::IntoIter_LT_K_C_V_C_A_GT_::dying_next::h76c1b045a1ff606b
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x38], edi
mov dword [esp + 0x20], ebx
test eax, eax
je 0x100a73ea
mov edx, dword [esp + 0x44]
lea ecx, [edx + edx*8]
lea ecx, [ecx + ecx*2]
add ecx, edx
mov edi, dword [eax + ecx + 0xb4]
mov esi, edi
neg esi
jo 0x100a73ea
mov dword [esp + 0x148], edi
mov edi, dword [eax + ecx + 0xc4]
shl edx, 4
mov esi, dword [eax + edx]
mov ebx, dword [eax + edx + 4]
mov edx, dword [eax + edx + 8]
mov dword [esp + 0x84], edi
mov edi, dword [eax + ecx + 0xcc]
mov dword [esp + 0x24], edx
mov edx, dword [eax + ecx + 0xb8]
mov dword [esp + 0x14], ebx
mov ebx, dword [eax + ecx + 0xc8]
mov dword [esp + 0x30], esi
mov dword [esp + 0x144], edi
mov edi, dword [eax + ecx + 0xbc]
xor eax, eax
mov dword [esp + 0x88], ebx
mov dword [esp + 0x110], edx
add edi, edx
mov dword [esp + 0x8c], edi
jmp 0x100a539c
xor eax, eax
test bx, bx
je 0x100a572d
mov bx, 1
test ax, ax
jne 0x100a5391
cmp edx, edi
je 0x100a542f
movzx eax, byte [edx]
test al, al
js 0x100a53b9
inc edx
mov esi, eax
jmp 0x100a5426
movzx ecx, byte [edx + 1]
mov esi, eax
and esi, 0x1f
and ecx, 0x3f
cmp al, 0xdf
jbe 0x100a53f2
movzx edi, byte [edx + 2]
shl ecx, 6
and edi, 0x3f
or edi, ecx
cmp al, 0xf0
jb 0x100a53fc
movzx eax, byte [edx + 3]
and esi, 7
shl edi, 6
add edx, 4
shl esi, 0x12
and eax, 0x3f
or eax, edi
or esi, eax
jmp 0x100a5404
shl esi, 6
add edx, 2
or esi, ecx
jmp 0x100a5426
shl esi, 0xc
add edx, 3
or esi, edi
mov edi, dword [esp + 0x8c]
cmp esi, 0xffff
jbe 0x100a5426
and esi, 0x3ff
or esi, 0xdc00
mov eax, esi
jmp 0x100a5393
xor eax, eax
mov ebx, esi
jmp 0x100a5393
mov eax, dword [esp + 0x148]
test eax, eax
je 0x100a544c
push 1
push eax
push dword [esp + 0x118]
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [esp + 0xa0]
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x144]
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0x14]
sub eax, edi
cmp eax, esi
jae 0x100a5497
mov edx, edi
lea ecx, [esp + 0xa0]
push 2
push 2
push esi
call sym.alloc::raw_vec::RawVecInner_LT_A_GT_::reserve::do_reserve_and_handle::h35901dc27c78f3f2
add esp, 0xc
mov ecx, dword [esp + 0xa4]
mov edi, dword [esp + 0xa8]
mov esi, dword [esp + 0x144]
lea eax, [esi + esi]
mov dword [esp + 0x38], ecx
lea ecx, [ecx + edi*2]
push eax
push dword [esp + 0x8c]
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x84]
add edi, esi
mov dword [esp + 0x20], edi
mov dword [esp + 0xa8], edi
test eax, eax
je 0x100a54de
add eax, eax
push 2
push eax
push dword [esp + 0x90]
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x38]
cmp eax, dword [esp + 0xa0]
jne 0x100a5502
lea ecx, [esp + 0xa0]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::hb3bae065834a38fe
mov ecx, dword [esp + 0xa4]
mov eax, dword [esp + 0x20]
and dword [esp + 0x110], 0xffffff00
xor edi, edi
mov word [ecx + eax*2], 0x3d
inc eax
mov ecx, ebx
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x24]
add eax, ebx
mov dword [esp + 0x10], eax
jmp 0x100a553a
xor edi, edi
test dx, dx
je 0x100a6c6f
mov dx, 1
test di, di
jne 0x100a552f
cmp ecx, eax
je 0x100a55dc
movzx ebx, byte [ecx]
test bl, bl
js 0x100a555b
mov esi, ebx
mov ebx, dword [esp + 0x14]
inc ecx
jmp 0x100a55d3
movzx eax, byte [ecx + 1]
mov esi, ebx
and esi, 0x1f
and eax, 0x3f
cmp bl, 0xdf
jbe 0x100a5596
movzx edi, byte [ecx + 2]
shl eax, 6
and edi, 0x3f
or edi, eax
cmp bl, 0xf0
jb 0x100a55a8
movzx eax, byte [ecx + 3]
and esi, 7
shl edi, 6
add ecx, 4
shl esi, 0x12
and eax, 0x3f
or eax, edi
or esi, eax
jmp 0x100a55b0
shl esi, 6
mov ebx, dword [esp + 0x14]
add ecx, 2
or esi, eax
mov eax, dword [esp + 0x10]
jmp 0x100a55d3
shl esi, 0xc
add ecx, 3
or esi, edi
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
cmp esi, 0xffff
jbe 0x100a55d3
and esi, 0x3ff
or esi, 0xdc00
mov edi, esi
jmp 0x100a5531
xor edi, edi
mov edx, esi
jmp 0x100a5531
mov eax, dword [esp + 0x30]
mov edi, ebx
shr edi, 8
neg eax
jo 0x100a7b2a
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], eax
mov word [esp + 0xcc], 0
lea ecx, [esp + 0xa0]
lea edx, [esp + 0xc4]
call sym.__ZN97__LT_alloc..vec..Vec_LT_T_C_A_GT__u20_as_u20_alloc..vec..spec_extend..SpecExtend_LT_T_C_I_GT__GT_11spec_extend17h4b97dfa
mov eax, dword [esp + 0x30]
test eax, eax
je 0x100a5630
push 1
push eax
push ebx
call sym.___rust_dealloc
add esp, 0xc
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x140], edi
cmp ebx, dword [esp + 0xa0]
jne 0x100a5653
lea ecx, [esp + 0xa0]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::hb3bae065834a38fe
mov edi, dword [esp + 0xa4]
mov eax, dword [esp + 0x110]
lea ecx, [esp + 0x3c]
lea edx, [esp + 0x14c]
mov word [edi + ebx*2], 0
inc ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0xa8], ebx
jmp 0x100a52ee
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0xc4]
mov esi, dword [esp + 0xc8]
test eax, eax
je 0x100a56aa
add eax, eax
push 2
push eax
push dword [esp + 0x48]
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [esp + 0x80]
mov dword [eax], ebx
jmp 0x100a6684
xor edi, edi
xor ebx, ebx
mov dword [esp + 0x10], 2
xor eax, eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x38], ebx
cmp eax, dword [esi + 0x34]
jno 0x100a5c0d
mov dword [esp + 0x20], 0
mov dword [esp + 0x8c], 2
mov dword [esp + 0x24], 0
pxor xmm0, xmm0
mov cl, 1
xor eax, eax
movdqu xmmword [esp + 0xa0], xmm0
lock cmpxchg byte [0x101aa14c], cl
jne 0x100a7469
mov eax, dword [0x101aa12c]
test eax, 0x7fffffff
je 0x100a7486
call sym.std::panicking::panic_count::is_zero_slow_path::h8d6729d981530f26
xor al, 1
jmp 0x100a7488
mov eax, dword [esp + 0x148]
test eax, eax
je 0x100a574a
push 1
push eax
push dword [esp + 0x118]
call sym.___rust_dealloc
add esp, 0xc
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
test ecx, ecx
je 0x100a5762
push 1
push ecx
push eax
call sym.___rust_dealloc
add esp, 0xc
mov ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x88]
or dword [esp + 0x10], 2
mov dword [esp + 0x24], 0x101631e4
test ecx, ecx
je 0x100a6ca0
add ecx, ecx
push 2
push ecx
push eax
call sym.___rust_dealloc
add esp, 0xc
jmp 0x100a6ca0
mov dword [esp + 0x34], 1
test edx, edx
je 0x100a5b5f
mov eax, dword [esp + 0x18]
mov dword [esp + 0xc4], edx
add eax, edx
mov dword [esp + 0xc8], eax
mov word [esp + 0xcc], 0
mov byte [esp + 0xd0], 1
lea eax, [esp + 0xc4]
lea ecx, [esp + 0x3c]
push eax
push ecx
call sym.__ZN97__LT_std..sys..pal..windows..os..SplitPaths_u20_as_u20_core..iter..traits..iterator..Iterator_GT_4next17he5885939c0be9f4
add esp, 8
mov eax, dword [esp + 0x3c]
mov ecx, eax
neg ecx
jo 0x100a5b5f
movzx ecx, word [esp + 0xcc]
mov edx, dword [esp + 0xc8]
movzx ebx, byte [esp + 0xd0]
mov esi, dword [esp + 0xc4]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
jmp 0x100a584e
mov dword [esp + 0x3c], 0x80000000
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x100a5840
add eax, eax
push 2
push eax
push dword [esp + 0xac]
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [esp + 0x3c]
mov ecx, eax
neg ecx
jo 0x100a5b5f
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
test edx, edx
jne 0x100a5a8d
test eax, eax
mov byte [esp + 0x20], bl
mov dword [esp + 0x18], esi
je 0x100a5876
push 1
push eax
push ecx
call sym.___rust_dealloc
add esp, 0xc
xor eax, eax
xor ebx, ebx
mov esi, dword [esp + 0x10]
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 2
mov dword [esp + 0x2c], 2
jmp 0x100a58ad
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov word [ecx + eax*2], di
inc eax
mov dword [esp + 0x28], eax
mov dword [esp + 0xa8], eax
mov edi, esi
test si, si
je 0x100a58e0
nop
mov dword [esp + 0x10], 0
xor esi, esi
cmp di, 0x22
je 0x100a59c0
jmp 0x100a59e0
mov esi, dword [esp + 0x18]
cmp esi, dword [esp + 0x14]
je 0x100a5a20
movzx ecx, byte [esi]
test cl, cl
js 0x100a5910
inc esi
mov edi, ecx
mov dword [esp + 0x18], esi
xor esi, esi
cmp di, 0x22
je 0x100a59c0
jmp 0x100a59e0
mov eax, esi
movzx esi, byte [esi + 1]
mov edi, ecx
and edi, 0x1f
and esi, 0x3f
cmp cl, 0xdf
jbe 0x100a5961
movzx edx, byte [eax + 2]
shl esi, 6
and edx, 0x3f
or edx, esi
cmp cl, 0xf0
jb 0x100a5977
movzx ecx, byte [eax + 3]
and edi, 7
shl edx, 6
add eax, 4
shl edi, 0x12
and ecx, 0x3f
or ecx, edx
or edi, ecx
cmp edi, 0xffff
mov dword [esp + 0x18], eax
ja 0x100a598b
xor esi, esi
cmp di, 0x22
je 0x100a59c0
jmp 0x100a59e0
shl edi, 6
add eax, 2
or edi, esi
mov dword [esp + 0x18], eax
xor esi, esi
cmp di, 0x22
je 0x100a59c0
jmp 0x100a59e0
shl edi, 0xc
add eax, 3
or edi, edx
cmp edi, 0xffff
mov dword [esp + 0x18], eax
jbe 0x100a5957
lea ecx, [edi + 0xff0000]
and edi, 0x3ff
shr ecx, 0xa
or edi, 0xdc00
or ecx, 0xd800
mov eax, edi
mov esi, edi
mov edi, ecx
mov dword [esp + 0x10], eax
cmp di, 0x22
jne 0x100a59e0
nop word cs:[eax + eax]
xor bl, 1
mov edi, esi
test si, si
jne 0x100a58c0
jmp 0x100a58e0
movzx ecx, di
cmp ecx, 0x3b
jne 0x100a59f1
test bl, 1
je 0x100a5a85
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0xa0]
jne 0x100a58a0
lea ecx, [esp + 0xa0]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::hb3bae065834a38fe
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x2c], eax
jmp 0x100a58a0
xor ebx, ebx
mov edx, dword [esp + 0x28]
movzx ecx, byte [esp + 0x20]
test edx, edx
setne al
or cl, al
test cl, 1
je 0x100a5819
push edx
push dword [esp + 0xa8]
lea eax, [esp + 0x154]
push eax
call sym.__LT_std..ffi..os_str..OsString_u20_as_u20_std..os..windows..ffi..OsStringExt_GT_::from_wide::h63b25de594ca01f2
add esp, 0xc
movq xmm0, qword [esp + 0x14c]
movsd xmm1, qword [esp + 0x154]
movsd qword [esp + 0x44], xmm1
movq qword [esp + 0x3c], xmm0
mov eax, dword [esp + 0xa0]
test eax, eax
jne 0x100a582c
jmp 0x100a5840
mov esi, dword [esp + 0x18]
mov bl, 1
jmp 0x100a5a22
mov dword [esp + 0x14c], eax
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 0x10]
mov byte [esp + 0xd0], bl
mov dword [esp + 0x150], ecx
mov dword [esp + 0x154], edx
mov word [esp + 0xcc], di
mov dword [esp + 0xc4], esi
mov dword [esp + 0x158], eax
push dword [esp + 0x1c]
push dword [esp + 0xf4]
lea eax, [esp + 0x154]
push eax
call sym.std::path::PathBuf::_push::ha56d6a1011698711
add esp, 0xc
cmp dword [esp + 0x34], 1
je 0x100a5b00
push 3
push str.exe.NULexit_code:
lea eax, [esp + 0x154]
push eax
call sym.std::path::PathBuf::_set_extension::h501fcaef8a777b49
add esp, 0xc
mov esi, dword [esp + 0x150]
mov edx, esi
lea ecx, [esp + 0x3c]
push dword [esp + 0x154]
call sym.std::sys::pal::windows::process::program_exists::h95b868495f4c10d1
add esp, 4
mov eax, dword [esp + 0x14c]
test eax, eax
je 0x100a5b33
push 1
push eax
push esi
call sym.___rust_dealloc
add esp, 0xc
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0xc]
mov eax, ecx
neg eax
jno 0x100a7768
lea eax, [esp + 0xc4]
push eax
lea eax, [esp + 0x40]
push eax
call sym.__ZN97__LT_std..sys..pal..windows..os..SplitPaths_u20_as_u20_core..iter..traits..iterator..Iterator_GT_4next17he5885939c0be9f4
add esp, 8
jmp 0x100a57e3
lea ecx, [esp + 0x3c]
call sym.std::sys::pal::windows::os::current_exe::ha4f316e9c806e5b5
mov esi, dword [esp + 0x3c]
mov eax, esi
neg eax
jno 0x100a5bb8
cmp byte [esp + 0x40], 3
jne 0x100a5d8e
mov esi, dword [esp + 0x44]
mov ebx, dword [esi + 4]
mov edi, dword [esi]
mov eax, dword [ebx]
test eax, eax
je 0x100a5b92
push edi
call eax
add esp, 4
mov eax, dword [ebx + 4]
test eax, eax
je 0x100a5ba6
push dword [ebx + 8]
push eax
push edi
call sym.___rust_dealloc
add esp, 0xc
push 4
push 0xc
push esi
call sym.___rust_dealloc
add esp, 0xc
jmp 0x100a5d8e
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 0x40]
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x18], eax
push ebx
push edi
call sym.std::path::Path::parent::he69992ed5d482ff2
add esp, 8
test eax, eax
je 0x100a5cf3
test edx, edx
je 0x100a5cf1
cmp ebx, edx
jbe 0x100a5ce7
cmp byte [edi + edx], 0xbf
jg 0x100a5ced
push 0x101621bc
push 0x37
push 0x10162182
call sym.core::panicking::panic::hf6244c8fb5815825
add esp, 0xc
jmp 0x100a7d52
mov edx, dword [esi + 0x38]
mov eax, dword [esi + 0x3c]
xor ebx, ebx
add eax, edx
mov dword [esp + 0x8c], edx
mov dword [esp + 0x24], eax
jmp 0x100a5c2f
xor ebx, ebx
test si, si
je 0x100a5cc1
mov si, 1
test bx, bx
jne 0x100a5c24
cmp edx, eax
je 0x100a6ced
movzx ebx, byte [edx]
test bl, bl
js 0x100a5c4c
inc edx
mov edi, ebx
jmp 0x100a5cb8
movzx ecx, byte [edx + 1]
mov edi, ebx
and edi, 0x1f
and ecx, 0x3f
cmp bl, 0xdf
jbe 0x100a5c87
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
cmp bl, 0xf0
jb 0x100a5c91
movzx ecx, byte [edx + 3]
and edi, 7
shl eax, 6
add edx, 4
shl edi, 0x12
and ecx, 0x3f
or ecx, eax
or edi, ecx
jmp 0x100a5c99
shl edi, 6
add edx, 2
or edi, ecx
jmp 0x100a5cb8
shl edi, 0xc
add edx, 3
or edi, eax
mov eax, dword [esp + 0x24]
cmp edi, 0xffff
jbe 0x100a5cb8
and edi, 0x3ff
or edi, 0xdc00
mov ebx, edi
jmp 0x100a5c26
xor ebx, ebx
mov esi, edi
jmp 0x100a5c26
mov edi, dword [esp + 0x14]
mov esi, 0x101631e4
mov ecx, 2
mov eax, dword [esp + 0x80]
mov dword [eax + 4], esi
mov dword [eax], ecx
mov dword [eax + 8], 2
jmp 0x100a7a4a
jne 0x100a5bf4
cmp ebx, edx
jb 0x100a5cf3
mov ebx, edx
mov eax, dword [esp + 0x18]
mov dword [esp + 0x14c], esi
mov dword [esp + 0x150], edi
mov dword [esp + 0x154], ebx
mov dword [esp + 0x158], eax
lea esi, [esp + 0x14c]
push dword [esp + 0x1c]
push dword [esp + 0xf4]
push esi
call sym.std::path::PathBuf::_push::ha56d6a1011698711
add esp, 0xc
cmp dword [esp + 0x34], 1
je 0x100a5d45
push 3
push str.exe.NULexit_code:
push esi
call sym.std::path::PathBuf::_set_extension::h501fcaef8a777b49
add esp, 0xc
mov esi, dword [esp + 0x150]
mov edx, esi
lea ecx, [esp + 0xc4]
push dword [esp + 0x154]
call sym.std::sys::pal::windows::process::program_exists::h95b868495f4c10d1
add esp, 4
mov eax, dword [esp + 0x14c]
test eax, eax
je 0x100a5d7b
push 1
push eax
push esi
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x2c], eax
neg eax
jno 0x100a61ed
mov esi, 0x200
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 2
mov dword [esp + 0xa8], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 2
cmp esi, 0x201
jb 0x100a5de2
jmp 0x100a5e00
mov ebx, dword [esp + 0x1c]
jbe 0x100a5e98
cmp esi, 0x201
jae 0x100a5e00
mov dword [esp + 0x10], 0x200
lea edi, [esp + 0x14c]
mov ebx, esi
jmp 0x100a5e43
mov ebx, dword [esp + 0x18]
sub esi, ebx
je 0x100a5e30
mov edx, ebx
lea ecx, [esp + 0xa0]
push 2
push 2
push esi
call sym.alloc::raw_vec::RawVecInner_LT_A_GT_::reserve::do_reserve_and_handle::h35901dc27c78f3f2
add esp, 0xc
mov ebx, dword [esp + 0xa0]
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x14], eax
mov edi, dword [esp + 0x14]
mov dword [esp + 0xa8], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], ebx
push 0
call sub.kernel32.dll_SetLastError
push ebx
push edi
call sub.kernel32.dll_GetSystemDirectoryW
mov esi, eax
test eax, eax
jne 0x100a5e64
call sub.kernel32.dll_GetLastError
test eax, eax
jne 0x100a5f5e
cmp esi, ebx
jne 0x100a5dd0
call sub.kernel32.dll_GetLastError
cmp eax, 0x7a
jne 0x100a7c51
lea esi, [ebx + ebx]
test ebx, ebx
mov eax, 0xffffffff
cmovs esi, eax
cmp esi, 0x201
jae 0x100a5e00
jmp 0x100a5de2
mov eax, dword [esp + 0x10]
cmp esi, eax
ja 0x100a7d21
push esi
push edi
lea esi, [esp + 0x44]
push esi
call sym.__LT_std..ffi..os_str..OsString_u20_as_u20_std..os..windows..ffi..OsStringExt_GT_::from_wide::h63b25de594ca01f2
add esp, 0xc
push ebx
push dword [esp + 0xf4]
push esi
call sym.std::path::PathBuf::_push::ha56d6a1011698711
add esp, 0xc
cmp dword [esp + 0x34], 1
je 0x100a5edb
push 3
push str.exe.NULexit_code:
push esi
call sym.std::path::PathBuf::_set_extension::h501fcaef8a777b49
add esp, 0xc
mov esi, dword [esp + 0x40]
mov edx, esi
lea ecx, [esp + 0xc4]
push dword [esp + 0x44]
call sym.std::sys::pal::windows::process::program_exists::h95b868495f4c10d1
add esp, 4
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x100a5f08
push 1
push eax
push esi
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [esp + 0xc4]
mov ebx, dword [esp + 0xc8]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x100a5f44
add eax, eax
push 2
push eax
push dword [esp + 0xac]
call sym.___rust_dealloc
add esp, 0xc
cmp dword [esp + 0x2c], 0x80000001
mov esi, dword [esp + 0xc]
jg 0x100a63a5
mov esi, dword [esp + 0x20]
je 0x100a5f86
jmp 0x100a5fc1
call sub.kernel32.dll_GetLastError
mov esi, eax
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x100a5f84
add eax, eax
push 2
push eax
push dword [esp + 0xac]
call sym.___rust_dealloc
add esp, 0xc
xor ebx, ebx
cmp bl, 3
jne 0x100a5fc1
mov eax, esi
mov esi, dword [esi]
mov edi, dword [eax + 4]
mov ebx, eax
mov eax, dword [edi]
test eax, eax
je 0x100a5fa0
push esi
call eax
add esp, 4
mov eax, dword [edi + 4]
test eax, eax
je 0x100a5fb4
push dword [edi + 8]
push eax
push esi
call sym.___rust_dealloc
add esp, 0xc
push 4
push 0xc
push ebx
call sym.___rust_dealloc
add esp, 0xc
mov esi, 0x200
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 2
mov dword [esp + 0xa8], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 2
cmp esi, 0x201
jb 0x100a601e
jmp 0x100a6040
jbe 0x100a60d8
cmp esi, 0x201
jae 0x100a6040
mov dword [esp + 0x10], 0x200
lea edi, [esp + 0x14c]
mov ebx, esi
jmp 0x100a6083
mov ebx, dword [esp + 0x18]
sub esi, ebx
je 0x100a6070
mov edx, ebx
lea ecx, [esp + 0xa0]
push 2
push 2
push esi
call sym.alloc::raw_vec::RawVecInner_LT_A_GT_::reserve::do_reserve_and_handle::h35901dc27c78f3f2
add esp, 0xc
mov ebx, dword [esp + 0xa0]
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x14], eax
mov edi, dword [esp + 0x14]
mov dword [esp + 0xa8], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], ebx
push 0
call sub.kernel32.dll_SetLastError
push ebx
push edi
call sub.kernel32.dll_GetWindowsDirectoryW
mov esi, eax
test eax, eax
jne 0x100a60a4
call sub.kernel32.dll_GetLastError
test eax, eax
jne 0x100a6204
cmp esi, ebx
jne 0x100a6010
call sub.kernel32.dll_GetLastError
cmp eax, 0x7a
jne 0x100a7c6a
lea esi, [ebx + ebx]
test ebx, ebx
mov eax, 0xffffffff
cmovs esi, eax
cmp esi, 0x201
jae 0x100a6040
jmp 0x100a601e
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x1c]
cmp esi, eax
ja 0x100a7d32
push esi
push edi
lea esi, [esp + 0x44]
push esi
call sym.__LT_std..ffi..os_str..OsString_u20_as_u20_std..os..windows..ffi..OsStringExt_GT_::from_wide::h63b25de594ca01f2
add esp, 0xc
push ebx
push dword [esp + 0xf4]
push esi
call sym.std::path::PathBuf::_push::ha56d6a1011698711
add esp, 0xc
cmp dword [esp + 0x34], 1
je 0x100a611f
push 3
push str.exe.NULexit_code:
push esi
call sym.std::path::PathBuf::_set_extension::h501fcaef8a777b49
add esp, 0xc
mov esi, dword [esp + 0x40]
mov edx, esi
lea ecx, [esp + 0xc4]
push dword [esp + 0x44]
call sym.std::sys::pal::windows::process::program_exists::h95b868495f4c10d1
add esp, 4
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x100a614c
push 1
push eax
push esi
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [esp + 0xc4]
movzx esi, byte [esp + 0xc8]
movzx edi, byte [esp + 0xcb]
movzx ebx, word [esp + 0xc9]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x100a6199
add eax, eax
push 2
push eax
push dword [esp + 0xac]
call sym.___rust_dealloc
add esp, 0xc
cmp dword [esp + 0x2c], 0x80000001
jg 0x100a6397
lea ebx, [esp + 0x3c]
jne 0x100a622c
cmp esi, 3
jne 0x100a622c
mov eax, dword [esp + 0x20]
mov edi, dword [eax + 4]
mov esi, dword [eax]
mov eax, dword [edi]
test eax, eax
je 0x100a61c7
push esi
call eax
add esp, 4
mov eax, dword [edi + 4]
test eax, eax
je 0x100a61db
push dword [edi + 8]
push eax
push esi
call sym.___rust_dealloc
add esp, 0xc
push 4
push 0xc
push dword [esp + 0x28]
call sym.___rust_dealloc
add esp, 0xc
jmp 0x100a622c
mov eax, dword [esp + 0xcc]
mov ebx, dword [esp + 0xc8]
mov dword [esp + 0x20], eax
jmp 0x100a63a1
call sub.kernel32.dll_GetLastError
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x100a6228
add eax, eax
push 2
push eax
push dword [esp + 0xac]
call sym.___rust_dealloc
add esp, 0xc
lea ebx, [esp + 0x3c]
lea eax, [esp + 0xc4]
push 4
push 0x10162114
push eax
call sym.std::env::_var_os::h51f55a83741f426c
add esp, 0xc
mov edi, dword [esp + 0xc4]
mov eax, edi
neg eax
jo 0x100a637f
mov ecx, dword [esp + 0xc8]
mov eax, dword [esp + 0xcc]
lea esi, [esp + 0x14c]
add eax, ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x40], eax
mov word [esp + 0x44], 0
mov byte [esp + 0x48], 1
push ebx
push esi
call sym.__ZN97__LT_std..sys..pal..windows..os..SplitPaths_u20_as_u20_core..iter..traits..iterator..Iterator_GT_4next17he5885939c0be9f4
add esp, 8
jmp 0x100a6299
push ebx
push esi
call sym.__ZN97__LT_std..sys..pal..windows..os..SplitPaths_u20_as_u20_core..iter..traits..iterator..Iterator_GT_4next17he5885939c0be9f4
add esp, 8
mov eax, dword [esp + 0x14c]
mov ecx, eax
neg ecx
jo 0x100a636c
mov edx, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
test edx, edx
jne 0x100a62ce
test eax, eax
je 0x100a628f
push 1
push eax
push ecx
call sym.___rust_dealloc
add esp, 0xc
jmp 0x100a628f
mov ebx, dword [esp + 0x158]
mov dword [esp + 0x14c], eax
mov dword [esp + 0x150], ecx
mov dword [esp + 0x154], edx
mov dword [esp + 0x158], ebx
push dword [esp + 0x1c]
push dword [esp + 0xf4]
push esi
call sym.std::path::PathBuf::_push::ha56d6a1011698711
add esp, 0xc
cmp dword [esp + 0x34], 1
je 0x100a631c
push 3
push str.exe.NULexit_code:
push esi
call sym.std::path::PathBuf::_set_extension::h501fcaef8a777b49
add esp, 0xc
mov ebx, dword [esp + 0x150]
mov edx, ebx
lea ecx, [esp + 0xa0]
push dword [esp + 0x154]
call sym.std::sys::pal::windows::process::program_exists::h95b868495f4c10d1
add esp, 4
mov eax, dword [esp + 0x14c]
test eax, eax
je 0x100a6352
push 1
push eax
push ebx
call sym.___rust_dealloc
add esp, 0xc
mov ecx, dword [esp + 0xa0]
mov eax, ecx
neg eax
jno 0x100a7aac
lea ebx, [esp + 0x3c]
jmp 0x100a6283
test edi, edi
je 0x100a637f
push 1
push edi
push dword [esp + 0x20]
call sym.___rust_dealloc
add esp, 0xc
mov byte [esp + 0x94], 2
mov dword [esp + 0x98], 0x10163234
jmp 0x100a49d7
shl edi, 0x10
or ebx, edi
shl ebx, 8
or ebx, esi
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0x20]
cmp ecx, 4
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], ecx
jae 0x100a4fa1
mov eax, 0x200
xor esi, esi
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 2
mov dword [esp + 0x44], 0
mov dword [esp + 0x28], 2
cmp eax, 0x201
jb 0x100a63fd
jmp 0x100a6410
jbe 0x100a64ab
cmp eax, 0x201
jae 0x100a6410
mov dword [esp + 0x14], 0x200
lea edi, [esp + 0x14c]
mov ebx, eax
jmp 0x100a6441
sub eax, esi
je 0x100a6433
mov edx, esi
lea ecx, [esp + 0x3c]
push 2
push 2
push eax
call sym.alloc::raw_vec::RawVecInner_LT_A_GT_::reserve::do_reserve_and_handle::h35901dc27c78f3f2
add esp, 0xc
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x28], eax
mov edi, dword [esp + 0x28]
mov ebx, esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x14], esi
push 0
call sub.kernel32.dll_SetLastError
push 0
mov dword [esp + 0x14], edi
push edi
push ebx
push dword [esp + 0x24]
call sub.kernel32.dll_GetFullPathNameW
test eax, eax
jne 0x100a6478
mov dword [esp + 0x1c], esi
mov edi, eax
call sub.kernel32.dll_GetLastError
mov esi, dword [esp + 0x1c]
mov ecx, eax
mov eax, edi
test ecx, ecx
jne 0x100a665a
cmp eax, ebx
jne 0x100a63f0
call sub.kernel32.dll_GetLastError
cmp eax, 0x7a
jne 0x100a7be7
lea eax, [ebx + ebx]
test ebx, ebx
mov ecx, 0xffffffff
cmovs eax, ecx
cmp eax, 0x201
jae 0x100a6410
jmp 0x100a63fd
mov ecx, dword [esp + 0x14]
cmp eax, ecx
ja 0x100a7cff
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
cmp eax, 4
jb 0x100a6535
cmp word [ecx + eax*2 - 8], 0x2e
jne 0x100a6535
movzx ecx, word [ecx + eax*2 - 6]
xor ebx, ebx
lea edx, [ecx - 0x42]
cmp edx, 0x21
ja 0x100a6537
mov edi, dword [esp + 0x38]
add edi, dword [edx*4 + 0x100a833c]
jmp edi
xor ebx, ebx
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x100a6550
add eax, eax
push 2
push eax
push dword [esp + 0x48]
call sym.___rust_dealloc
add esp, 0xc
test bl, bl
je 0x100a5075
lea eax, [esp + 0x40]
mov edi, 0x200
xor ebx, ebx
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 2
mov dword [esp + 0x44], 0
mov dword [esp + 0x28], 2
mov dword [esp + 0xf0], eax
cmp edi, 0x201
jb 0x100a65ae
jmp 0x100a65d0
jbe 0x100a668c
cmp edi, 0x201
jae 0x100a65d0
lea eax, [esp + 0x14c]
mov esi, edi
mov dword [esp + 0x14], 0x200
mov edi, eax
jmp 0x100a6601
sub edi, ebx
je 0x100a65f3
mov edx, ebx
lea ecx, [esp + 0x3c]
push 2
push 2
push edi
call sym.alloc::raw_vec::RawVecInner_LT_A_GT_::reserve::do_reserve_and_handle::h35901dc27c78f3f2
add esp, 0xc
mov ebx, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x28], eax
mov edi, dword [esp + 0x28]
mov esi, ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x14], ebx
push 0
call sub.kernel32.dll_SetLastError
push esi
mov dword [esp + 0x14], edi
push edi
call sub.kernel32.dll_GetSystemDirectoryW
mov edi, eax
test eax, eax
jne 0x100a6626
call sub.kernel32.dll_GetLastError
test eax, eax
jne 0x100a66da
cmp edi, esi
jne 0x100a65a0
call sub.kernel32.dll_GetLastError
cmp eax, 0x7a
jne 0x100a7c38
lea edi, [esi + esi]
test esi, esi
mov eax, 0xffffffff
cmovs edi, eax
cmp edi, 0x201
jae 0x100a65d0
jmp 0x100a65ae
call sub.kernel32.dll_GetLastError
mov esi, eax
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x100a667a
add eax, eax
push 2
push eax
push dword [esp + 0x48]
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [esp + 0x80]
mov byte [eax], 0
mov dword [eax + 4], esi
jmp 0x100a6914
mov eax, dword [esp + 0x14]
cmp edi, eax
ja 0x100a7d10
xor eax, eax
lea ebx, [edi + edi]
test edi, edi
js 0x100a66cb
cmp ebx, 0x7ffffffe
ja 0x100a66cb
test ebx, ebx
je 0x100a6701
mov eax, dword [0x1017b554]
movzx eax, byte [eax]
push 2
push ebx
call sym.___rust_alloc
add esp, 8
test eax, eax
mov esi, edi
jne 0x100a6708
mov eax, 2
push ebx
push eax
call sym.alloc::raw_vec::handle_error::he63c9115d026ec98
add esp, 8
jmp 0x100a7d52
call sub.kernel32.dll_GetLastError
mov esi, eax
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x100a66fa
add eax, eax
push 2
push eax
push dword [esp + 0x48]
call sym.___rust_dealloc
add esp, 0xc
xor ecx, ecx
jmp 0x100a6908
mov eax, 2
xor esi, esi
push ebx
push dword [esp + 0x14]
mov ebx, eax
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x100a6731
add eax, eax
push 2
push eax
push dword [esp + 0x48]
call sym.___rust_dealloc
add esp, 0xc
mov dword [esp + 0xc4], esi
lea eax, [esp + 0xc8]
mov dword [esp + 0xc8], ebx
mov edx, ebx
mov ecx, str.cmd.exestd_src_syspalwindows_stdio.rsh2
xor ebx, ebx
mov dword [esp + 0xcc], edi
mov dword [esp + 0x14], 0
mov dword [esp + 0xf0], eax
jmp 0x100a677f
mov dword [esp + 0x10], ecx
mov ecx, edx
mov edx, esi
mov word [edx + edi*2], bx
mov ebx, dword [esp + 0x10]
inc edi
mov dword [esp + 0xcc], edi
test ecx, ecx
je 0x100a67f0
test bx, bx
je 0x100a67c8
mov esi, edx
mov edx, ecx
xor ecx, ecx
cmp edi, dword [esp + 0xc4]
jne 0x100a6767
mov eax, str.cmd.exestd_src_syspalwindows_stdio.rsh2
mov esi, ebx
mov ebx, edx
sub eax, edx
mov edx, 0xaaaaaaab
add eax, 0xa
mul edx
mov eax, edx
mov edx, dword [esp + 0x14]
shr eax, 1
cmp cx, 1
mov dword [esp + 0x10], ecx
mov ecx, ebx
mov ebx, esi
adc edx, 0xffffffff
sub eax, edx
inc eax
jmp 0x100a6820
lea eax, [0x10163268]
cmp ecx, eax
je 0x100a67f0
movzx eax, byte [ecx]
test al, al
js 0x100a684b
inc ecx
mov esi, edx
mov ebx, eax
mov edx, ecx
xor ecx, ecx
jmp 0x100a678e
cmp dword [esp + 0x14], 1
je 0x100a68dd
mov dword [esp + 0x10], ebx
xor ebx, ebx
cmp edi, dword [esp + 0xc4]
mov ecx, 0
mov eax, 0
mov dword [esp + 0x14], 1
jne 0x100a676f
mov esi, ebx
mov ebx, ecx
inc eax
mov edx, edi
lea ecx, [esp + 0xc4]
push 2
push 2
push eax
call sym.alloc::raw_vec::RawVecInner_LT_A_GT_::reserve::do_reserve_and_handle::h35901dc27c78f3f2
add esp, 0xc
mov edx, dword [esp + 0xc8]
mov ecx, ebx
mov ebx, esi
jmp 0x100a676f
movzx esi, byte [ecx + 1]
mov ebx, eax
mov dword [esp + 0x10], edx
and ebx, 0x1f
and esi, 0x3f
cmp al, 0xdf
jbe 0x100a688a
mov edx, ecx
movzx ecx, byte [ecx + 2]
shl esi, 6
and ecx, 0x3f
or ecx, esi
cmp al, 0xf0
jb 0x100a689f
movzx eax, byte [edx + 3]
and ebx, 7
shl ecx, 6
add edx, 4
shl ebx, 0x12
and eax, 0x3f
or eax, ecx
or ebx, eax
jmp 0x100a68a7
shl ebx, 6
add ecx, 2
or ebx, esi
mov esi, dword [esp + 0x10]
mov edx, ecx
xor ecx, ecx
jmp 0x100a678e
shl ebx, 0xc
add edx, 3
or ebx, ecx
mov esi, dword [esp + 0x10]
cmp ebx, 0xffff
jbe 0x100a68d6
lea eax, [ebx + 0xff0000]
and ebx, 0x3ff
shr eax, 0xa
or ebx, 0xdc00
or eax, 0xd800
mov ecx, ebx
mov ebx, eax
jmp 0x100a678e
xor ecx, ecx
jmp 0x100a678e
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0x28], eax
neg eax
mov dword [esp + 0xf0], ecx
jno 0x100a6943
mov esi, dword [esp + 0xcc]
mov ecx, dword [esp + 0xf0]
mov eax, dword [esp + 0x80]
mov dword [eax + 4], esi
mov dword [eax], ecx
mov dword [eax + 8], 2
mov bl, 1
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x100a6936
add eax, eax
push 2
push eax
push dword [esp + 0x20]
call sym.___rust_dealloc
add esp, 0xc
test bl, bl
jne 0x100a49f8
jmp 0x100a4b19
xor eax, eax
mov esi, 0x14
test al, al
jne 0x100a7d48
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x2c]
mov edi, dword [eax + 0x30]
movzx eax, byte [eax + 0x69]
mov byte [esp + 0x34], al
mov eax, dword [0x1017b554]
mov dword [esp + 0x38], ecx
movzx eax, byte [eax]
push 2
push esi
call sym.___rust_alloc
add esp, 8
test eax, eax
je 0x100a7d43
mov ecx, 0xa
lea edx, [0x10162c39]
mov esi, 1
mov word [eax], 0x63
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14c], ecx
lea ecx, [esp + 0x150]
mov dword [esp + 0x150], eax
mov dword [esp + 0x154], 1
mov dword [esp + 0x24], ecx
xor ecx, ecx
jmp 0x100a69de
mov word [eax + esi*2], cx
inc esi
mov ecx, edi
mov dword [esp + 0x154], esi
test cx, cx
je 0x100a6a00
xor edi, edi
cmp esi, dword [esp + 0x14c]
jne 0x100a69d0
jmp 0x100a6b00
lea ecx, [0x10162c54]
cmp edx, ecx
je 0x100a6b5b
movzx ebx, byte [edx]
test bl, bl
js 0x100a6a28
inc edx
mov ecx, ebx
xor edi, edi
cmp esi, dword [esp + 0x14c]
jne 0x100a69d0
jmp 0x100a6b00
movzx edi, byte [edx + 1]
mov ecx, ebx
and ecx, 0x1f
and edi, 0x3f
cmp bl, 0xdf
jbe 0x100a6a90
mov dword [esp + 0x10], esi
mov esi, ecx
mov ecx, edx
movzx edx, byte [edx + 2]
shl edi, 6
and edx, 0x3f
or edx, edi
cmp bl, 0xf0
jb 0x100a6aa8
movzx edi, byte [ecx + 3]
add ecx, 4
shl edx, 6
mov dword [esp + 0x14], ecx
mov ecx, esi
and ecx, 7
shl ecx, 0x12
and edi, 0x3f
or edi, edx
or ecx, edi
mov esi, dword [esp + 0x10]
cmp ecx, 0xffff
ja 0x100a6ac2
mov edx, dword [esp + 0x14]
xor edi, edi
cmp esi, dword [esp + 0x14c]
jne 0x100a69d0
jmp 0x100a6b00
shl ecx, 6
add edx, 2
or ecx, edi
xor edi, edi
cmp esi, dword [esp + 0x14c]
je 0x100a6b00
jmp 0x100a69d0
add ecx, 3
mov dword [esp + 0x14], ecx
mov ecx, esi
shl ecx, 0xc
or ecx, edx
mov esi, dword [esp + 0x10]
cmp ecx, 0xffff
jbe 0x100a6a7b
lea edx, [ecx + 0xff0000]
and ecx, 0x3ff
shr edx, 0xa
or ecx, 0xdc00
or edx, 0xd800
mov edi, ecx
mov ecx, edx
mov edx, dword [esp + 0x14]
cmp esi, dword [esp + 0x14c]
jne 0x100a69d0
nop word cs:[eax + eax]
nop dword [eax]
mov eax, 0x10162c38
mov dword [esp + 0x14], ecx
mov ecx, 0xaaaaaaab
mov dword [esp + 0x10], esi
mov esi, edx
mov ebx, edi
sub eax, edx
add eax, 0x1e
mul ecx
mov eax, edx
shr eax, 1
cmp di, 1
sbb eax, 0
add eax, 2
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x14c]
mov edi, edx
push 2
push 2
push eax
call sym.alloc::raw_vec::RawVecInner_LT_A_GT_::reserve::do_reserve_and_handle::h35901dc27c78f3f2
add esp, 0xc
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x14]
mov edx, esi
mov esi, edi
mov edi, ebx
jmp 0x100a69d0
movq xmm0, qword [esp + 0x14c]
mov esi, dword [esp + 0x154]
movq qword [esp + 0x3c], xmm0
mov dword [esp + 0x44], esi
cmp esi, dword [esp + 0x3c]
jne 0x100a6b84
lea ecx, [esp + 0x3c]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::hb3bae065834a38fe
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
xor ecx, ecx
mov word [edi + esi*2], 0x22
inc esi
add eax, eax
mov dword [esp + 0x44], esi
cmp eax, ecx
je 0x100a6c22
cmp word [edx + ecx], 0x22
lea ecx, [ecx + 2]
jne 0x100a6b9f
xor edi, edi
mov esi, 0x10162cbc
mov ebx, 2
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x100a6bd2
add eax, eax
push 2
push eax
push dword [esp + 0x48]
call sym.___rust_dealloc
add esp, 0xc
mov eax, 0x80000000
and edi, 0xffffff00
movzx ebx, bl
mov ecx, eax
or ebx, edi
neg ecx
jno 0x100a6c64
mov eax, dword [esp + 0x80]
mov dword [eax], ebx
mov dword [eax + 4], esi
mov dword [eax + 8], 2
mov eax, dword [esp + 0x28]
mov bl, 1
test eax, eax
je 0x100a691d
add eax, eax
push 2
push eax
push dword [esp + 0xf8]
call sym.___rust_dealloc
add esp, 0xc
jmp 0x100a691d
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
xor edx, edx
mov ebx, ecx
sub ebx, 1
jb 0x100a6d65
mov ecx, eax
movzx eax, word [eax + ebx*2]
cmp ax, 0x5c
jne 0x100a6d57
mov esi, 0x10162cbc
mov ebx, 2
xor edi, edi
mov eax, dword [esp + 0x3c]
test eax, eax
jne 0x100a6bc1
jmp 0x100a6bd2
mov cl, 1
mov dword [esp + 0x1c], ecx
jmp 0x100a51a1
mov eax, dword [esp + 0x30]
mov esi, 2
mov dword [esp + 0x24], 0x101631e4
test eax, eax
je 0x100a6c90
push 1
push eax
push ebx
call sym.___rust_dealloc
add esp, 0xc
mov edi, dword [esp + 0x140]
shl edi, 8
or edi, esi
mov dword [esp + 0x10], edi
xor ebx, ebx
lea ecx, [esp + 0x14c]
call sym.__ZN4core3ptr137drop_in_place_LT_alloc..collections..btree..map..IntoIter_LT_std..sys..pal..windows..process..EnvKey_C_std..ff
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x100a6ccd
add eax, eax
push 2
push eax
push dword [esp + 0xac]
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
mov dword [eax + 4], ecx
mov dword [eax], edx
mov dword [eax + 8], 2
jmp 0x100a7a5f
mov esi, dword [esp + 0x8c]
mov ecx, eax
mov dword [esp + 0x14c], esi
mov dword [esp + 0x150], ecx
mov word [esp + 0x154], 0
lea ecx, [esp + 0x3c]
lea edx, [esp + 0x14c]
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_iter17h721c55fcc
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x14]
cmp esi, eax
jne 0x100a6d3b
lea ecx, [esp + 0x3c]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::hb3bae065834a38fe
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x24], eax
neg eax
mov word [ecx + esi*2], 0
jno 0x100a73d6
inc esi
jmp 0x100a5ccf
xor edx, edx
test ax, ax
mov eax, ecx
cmove edx, ecx
mov ecx, dword [esp + 0x20]
test edx, edx
cmove ebx, ecx
mov ecx, dword [esp + 0x3c]
cmove edx, eax
mov dword [esp + 0x10], edx
mov eax, ecx
sub eax, esi
cmp eax, ebx
jae 0x100a6da2
mov edx, esi
lea ecx, [esp + 0x3c]
push 2
push 2
push ebx
call sym.alloc::raw_vec::RawVecInner_LT_A_GT_::reserve::do_reserve_and_handle::h35901dc27c78f3f2
add esp, 0xc
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x40]
mov dword [esp + 0x14], eax
jmp 0x100a6da6
mov dword [esp + 0x14], ecx
lea eax, [ebx + ebx]
lea ecx, [edi + esi*2]
push eax
push dword [esp + 0x14]
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
add esi, ebx
cmp esi, dword [esp + 0x14]
mov dword [esp + 0x44], esi
jne 0x100a6dd3
lea ecx, [esp + 0x3c]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::hb3bae065834a38fe
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x1c]
mov word [edi + esi*2], 0x22
inc esi
mov dword [esp + 0x44], esi
test eax, eax
je 0x100a7ae2
mov ecx, dword [esp + 0x38]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
movzx ecx, byte [esp + 0x34]
mov dword [esp + 0x20], eax
mov dword [esp + 0x88], ecx
mov esi, dword [esp + 0x44]
cmp esi, dword [esp + 0x3c]
jne 0x100a6e17
lea ecx, [esp + 0x3c]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::hb3bae065834a38fe
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x38]
lea ebx, [esi + 1]
mov dword [esp + 0x1c], esi
mov word [edi + esi*2], 0x20
mov dword [esp + 0x44], ebx
cmp dword [eax], 1
jne 0x100a6e74
lea edx, [esp + 0x3c]
lea ecx, [esp + 0x14c]
push dword [esp + 0x88]
push eax
call sym.std::sys::pal::windows::args::append_arg::hc75ff91adb8fed24
add esp, 8
cmp byte [esp + 0x14c], 4
jne 0x100a7b09
mov eax, dword [esp + 0x38]
add eax, 0x14
cmp eax, dword [esp + 0x20]
mov dword [esp + 0x38], eax
jne 0x100a6e04
jmp 0x100a7ade
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x84], eax
add eax, ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x14], eax
mov eax, ecx
jmp 0x100a6e98
inc eax
cmp dl, cl
je 0x100a73b9
cmp eax, dword [esp + 0x14]
je 0x100a6ec4
movzx ecx, byte [eax]
mov esi, 0xffffffff
nop word cs:[eax + eax]
movzx edx, byte [esi + 0x10162cc9]
cmp dl, cl
je 0x100a6e8f
test esi, esi
lea esi, [esi + 1]
jne 0x100a6eb0
jmp 0x100a6e8f
mov ecx, dword [esp + 0x24]
xor eax, eax
mov dword [esp + 0x10], edi
jmp 0x100a6edb
xor eax, eax
test dx, dx
je 0x100a744e
xor edi, edi
mov dx, 1
test ax, ax
jne 0x100a6ed0
cmp ecx, dword [esp + 0x14]
je 0x100a6f7d
movzx eax, byte [ecx]
test al, al
js 0x100a6efc
inc ecx
mov esi, eax
jmp 0x100a6f74
movzx edi, byte [ecx + 1]
mov esi, eax
and esi, 0x1f
and edi, 0x3f
cmp al, 0xdf
jbe 0x100a6f3f
mov dword [esp + 0x30], ecx
movzx ecx, byte [ecx + 2]
shl edi, 6
and ecx, 0x3f
or ecx, edi
cmp al, 0xf0
mov edi, ecx
jb 0x100a6f4b
mov ecx, dword [esp + 0x30]
and esi, 7
shl edi, 6
shl esi, 0x12
movzx eax, byte [ecx + 3]
add ecx, 4
and eax, 0x3f
or eax, edi
or esi, eax
jmp 0x100a6f57
shl esi, 6
add ecx, 2
or esi, edi
xor edi, edi
jmp 0x100a6f74
mov ecx, dword [esp + 0x30]
shl esi, 0xc
or esi, edi
add ecx, 3
xor edi, edi
cmp esi, 0xffff
jbe 0x100a6f74
and esi, 0x3ff
or esi, 0xdc00
mov eax, esi
jmp 0x100a6ed2
xor eax, eax
mov edx, esi
jmp 0x100a6ed2
mov eax, dword [esp + 0x84]
test eax, eax
je 0x100a707a
mov edi, dword [esp + 0x24]
cmp byte [eax + edi - 1], 0x5c
sete al
or al, byte [esp + 0x34]
mov byte [esp + 0x30], al
jmp 0x100a6fac
cmp edi, dword [esp + 0x14]
je 0x100a7073
movzx eax, byte [edi]
test al, al
js 0x100a6fb8
inc edi
mov esi, eax
jmp 0x100a7003
movzx edx, byte [edi + 1]
mov esi, eax
and esi, 0x1f
and edx, 0x3f
cmp al, 0xdf
jbe 0x100a6ff1
movzx ecx, byte [edi + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp al, 0xf0
jb 0x100a6ffb
movzx eax, byte [edi + 3]
and esi, 7
shl ecx, 6
add edi, 4
shl esi, 0x12
and eax, 0x3f
or eax, ecx
or esi, eax
jmp 0x100a7003
shl esi, 6
add edi, 2
or esi, edx
jmp 0x100a7003
shl esi, 0xc
add edi, 3
or esi, ecx
mov eax, esi
and eax, 0x1ff800
cmp eax, 0xd800
sete al
cmp esi, 0x110000
sete cl
or cl, al
jne 0x100a6fa2
cmp esi, 0x80
jae 0x100a7051
lea eax, [esi - 0x30]
cmp eax, 0xa
jb 0x100a7051
mov eax, esi
and eax, 0x5f
add eax, 0xffffffbf
cmp eax, 0x19
jbe 0x100a7051
push 0xc
push 0x10162c2c
push esi
call sym.core::slice::memchr::memchr_aligned::h97ffafdd5a81ec4e
add esp, 0xc
cmp eax, 1
jne 0x100a7062
push esi
call sym.core::unicode::unicode_data::cc::lookup::h505ccfa5b818c841
add esp, 4
test al, al
je 0x100a6fa2
cmp edi, dword [esp + 0x14]
mov byte [esp + 0x30], 1
jne 0x100a6fac
jmp 0x100a707a
test byte [esp + 0x30], 1
je 0x100a70b2
cmp ebx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x1c]
jne 0x100a7095
lea ecx, [esp + 0x3c]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::hb3bae065834a38fe
mov eax, dword [esp + 0x40]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov word [eax + ebx*2 + 2], 0x22
add ebx, 2
mov al, 1
mov dword [esp + 0x44], ebx
mov dword [esp + 0x84], eax
jmp 0x100a70bd
mov dword [esp + 0x84], 0
xor esi, esi
xor edi, edi
jmp 0x100a70d4
mov eax, dword [esp + 0x10]
mov word [eax + ebx*2], si
inc ebx
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x44], ebx
test si, si
je 0x100a70e6
mov dword [esp + 0x1c], 0
jmp 0x100a71b2
mov ecx, dword [esp + 0x24]
cmp ecx, dword [esp + 0x14]
je 0x100a72fe
movzx eax, byte [ecx]
test al, al
js 0x100a710f
inc ecx
mov esi, eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x24], ecx
jmp 0x100a71b2
movzx edx, byte [ecx + 1]
mov esi, eax
and esi, 0x1f
and edx, 0x3f
cmp al, 0xdf
jbe 0x100a7160
mov dword [esp + 0x30], esi
movzx esi, byte [ecx + 2]
shl edx, 6
mov dword [esp + 0x1c], esi
and dword [esp + 0x1c], 0x3f
add dword [esp + 0x1c], edx
cmp al, 0xf0
mov edx, dword [esp + 0x1c]
jb 0x100a7176
movzx eax, byte [ecx + 3]
mov esi, dword [esp + 0x30]
shl edx, 6
add ecx, 4
mov dword [esp + 0x24], ecx
and esi, 7
and eax, 0x3f
shl esi, 0x12
or eax, edx
or esi, eax
jmp 0x100a7186
shl esi, 6
add ecx, 2
mov dword [esp + 0x1c], 0
mov dword [esp + 0x24], ecx
or esi, edx
jmp 0x100a71b2
mov esi, dword [esp + 0x30]
add ecx, 3
mov dword [esp + 0x24], ecx
shl esi, 0xc
or esi, edx
cmp esi, 0xffff
jbe 0x100a70d9
lea eax, [esi + 0xff0000]
and esi, 0x3ff
shr eax, 0xa
or esi, 0xdc00
mov dword [esp + 0x1c], esi
or eax, 0xd800
mov esi, eax
movzx eax, si
cmp eax, 0x24
jg 0x100a71f9
cmp eax, 0xd
je 0x100a720d
cmp eax, 0x22
jne 0x100a72dc
mov eax, dword [esp + 0x3c]
mov ecx, eax
sub ecx, ebx
cmp ecx, edi
jae 0x100a7261
mov edx, ebx
lea ecx, [esp + 0x3c]
push 2
push 2
push edi
call sym.alloc::raw_vec::RawVecInner_LT_A_GT_::reserve::do_reserve_and_handle::h35901dc27c78f3f2
add esp, 0xc
mov eax, dword [esp + 0x40]
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x10], eax
jmp 0x100a7265
cmp eax, 0x25
je 0x100a720d
cmp eax, 0x5c
jne 0x100a72dc
inc edi
jmp 0x100a72de
mov eax, dword [esp + 0x3c]
sub eax, ebx
cmp eax, 6
ja 0x100a7236
mov edx, ebx
lea ecx, [esp + 0x3c]
push 2
push 2
push 7
call sym.alloc::raw_vec::RawVecInner_LT_A_GT_::reserve::do_reserve_and_handle::h35901dc27c78f3f2
add esp, 0xc
mov eax, dword [esp + 0x40]
mov ebx, dword [esp + 0x44]
jmp 0x100a723a
mov eax, dword [esp + 0x10]
mov word [eax + ebx*2 + 0xc], 0x2c
mov dword [eax + ebx*2 + 8], 0x7e003a
mov dword [eax + ebx*2 + 4], 0x640063
mov dword [eax + ebx*2], 0x250025
mov dword [esp + 0x10], eax
add ebx, 7
jmp 0x100a72d8
test edi, edi
je 0x100a72b4
xor eax, eax
cmp edi, 0x10
jae 0x100a7272
mov ecx, dword [esp + 0x10]
jmp 0x100a72a4
mov ecx, dword [esp + 0x10]
movdqa xmm0, xmmword [0x1015f7f0]
mov eax, edi
and eax, 0xfffffff0
mov edx, eax
lea ecx, [ecx + ebx*2 + 0x10]
add ebx, eax
movdqu xmmword [ecx - 0x10], xmm0
movdqu xmmword [ecx], xmm0
add ecx, 0x20
add edx, 0xfffffff0
jne 0x100a728b
mov ecx, dword [esp + 0x10]
cmp edi, eax
je 0x100a72b0
sub edi, eax
mov word [ecx + ebx*2], 0x5c
inc ebx
dec edi
jne 0x100a72a6
mov eax, dword [esp + 0x3c]
cmp ebx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x44], ebx
jne 0x100a72cd
lea ecx, [esp + 0x3c]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::hb3bae065834a38fe
mov eax, dword [esp + 0x40]
mov word [eax + ebx*2], 0x22
inc ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0x44], ebx
xor edi, edi
cmp ebx, dword [esp + 0x3c]
jne 0x100a70c3
lea ecx, [esp + 0x3c]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::hb3bae065834a38fe
mov eax, dword [esp + 0x40]
mov dword [esp + 0x10], eax
jmp 0x100a70c3
cmp byte [esp + 0x84], 0
je 0x100a6e5e
mov eax, dword [esp + 0x3c]
mov ecx, eax
sub ecx, ebx
cmp ecx, edi
jae 0x100a7339
mov edx, ebx
lea ecx, [esp + 0x3c]
push 2
push 2
push edi
call sym.alloc::raw_vec::RawVecInner_LT_A_GT_::reserve::do_reserve_and_handle::h35901dc27c78f3f2
add esp, 0xc
mov eax, dword [esp + 0x40]
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x10], eax
jmp 0x100a733d
test edi, edi
je 0x100a738c
xor eax, eax
cmp edi, 0x10
jae 0x100a734a
mov ecx, dword [esp + 0x10]
jmp 0x100a737c
mov ecx, dword [esp + 0x10]
movdqa xmm0, xmmword [0x1015f7f0]
mov eax, edi
and eax, 0xfffffff0
mov edx, eax
lea ecx, [ecx + ebx*2 + 0x10]
add ebx, eax
movdqu xmmword [ecx - 0x10], xmm0
movdqu xmmword [ecx], xmm0
add ecx, 0x20
add edx, 0xfffffff0
jne 0x100a7363
mov ecx, dword [esp + 0x10]
cmp edi, eax
je 0x100a7388
sub edi, eax
mov word [ecx + ebx*2], 0x5c
inc ebx
dec edi
jne 0x100a737e
mov eax, dword [esp + 0x3c]
cmp ebx, eax
mov dword [esp + 0x44], ebx
jne 0x100a73a5
lea ecx, [esp + 0x3c]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::hb3bae065834a38fe
mov eax, dword [esp + 0x40]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov word [eax + ebx*2], 0x22
inc ebx
mov dword [esp + 0x44], ebx
jmp 0x100a6e5e
xor edi, edi
mov esi, 0x10162c78
mov ebx, 2
mov eax, dword [esp + 0x3c]
test eax, eax
jne 0x100a6bc1
jmp 0x100a6bd2
mov esi, dword [esp + 0xc]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x20], ecx
jmp 0x100a56f2
xor ebx, ebx
lea ecx, [esp + 0x14c]
call sym.__ZN4core3ptr137drop_in_place_LT_alloc..collections..btree..map..IntoIter_LT_std..sys..pal..windows..process..EnvKey_C_std..ff
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x38]
cmp eax, dword [esp + 0xa0]
jne 0x100a741e
xor ebx, ebx
lea ecx, [esp + 0xa0]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::hb3bae065834a38fe
mov ebx, dword [esp + 0xa4]
mov ecx, dword [esp + 0x20]
mov word [ebx + ecx*2], 0
mov edi, dword [esp + 0xa0]
mov eax, dword [esp + 0xa4]
mov edx, edi
mov dword [esp + 0x10], eax
neg edx
jno 0x100a775f
inc ecx
mov dword [esp + 0x24], ecx
jmp 0x100a6ccd
mov esi, 0x101631e4
mov ebx, 2
mov eax, dword [esp + 0x3c]
test eax, eax
jne 0x100a6bc1
jmp 0x100a6bd2
push 0x101aa14c
call sym.std::sys::sync::mutex::futex::Mutex::lock_contended::h7bd09c01afe60157
add esp, 4
mov eax, dword [0x101aa12c]
test eax, 0x7fffffff
jne 0x100a5721
xor eax, eax
movzx edx, byte [0x101aa14d]
movzx ecx, byte [ebp + 0xc]
xor ebx, ebx
mov dword [esp + 0x120], 0x101aa14c
mov byte [esp + 0x124], al
lea eax, [esp + 0x128]
lea edi, [esi + 8]
mov dword [esp + 0xc4], 0
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0x114], 2
test dl, dl
lea edx, [esp + 0x114]
setne bl
test cl, cl
mov ecx, esi
cmovne edx, eax
cmp dword [esi], 6
mov dword [esp + 0x11c], ebx
cmovne edx, esi
cmp dword [esi + 8], 6
lea esi, [esi + 0x10]
cmove edi, eax
cmp dword [ecx + 0x10], 6
cmove esi, eax
lea eax, [esp + 0xc4]
lea ecx, [esp + 0x14c]
push eax
push 0xfffffffffffffff6
call sym.std::sys::pal::windows::process::Stdio::to_handle::ha2afeffdfb8e0585
add esp, 8
movzx eax, byte [esp + 0x14c]
cmp al, 4
jne 0x100a7633
mov ebx, dword [esp + 0x150]
lea eax, [esp + 0xcc]
mov edx, edi
lea ecx, [esp + 0x14c]
push eax
push 0xfffffffffffffff5
call sym.std::sys::pal::windows::process::Stdio::to_handle::ha2afeffdfb8e0585
add esp, 8
movzx eax, byte [esp + 0x14c]
mov edi, dword [esp + 0x14]
cmp al, 4
jne 0x100a766d
mov ecx, dword [esp + 0x150]
lea eax, [esp + 0xd4]
mov dword [esp + 0x88], ecx
mov edx, esi
lea ecx, [esp + 0x14c]
push eax
push 0xfffffffffffffff4
call sym.std::sys::pal::windows::process::Stdio::to_handle::ha2afeffdfb8e0585
add esp, 8
movzx eax, byte [esp + 0x14c]
mov edx, dword [esp + 0xc]
mov esi, dword [esp + 0x34]
cmp al, 4
jne 0x100a76a4
mov edi, dword [esp + 0x150]
pxor xmm0, xmm0
test ebx, ebx
mov dword [esp + 0x7c], 0
movdqu xmmword [esp + 0x6c], xmm0
movdqu xmmword [esp + 0x5c], xmm0
movdqu xmmword [esp + 0x4c], xmm0
movdqu xmmword [esp + 0x3c], xmm0
jne 0x100a76df
cmp dword [esp + 0x88], 0
jne 0x100a76df
mov eax, 1
test edi, edi
jne 0x100a76df
cmp byte [edx + 0x44], 1
mov dword [esp + 0x30], ebx
jne 0x100a770d
movzx ecx, word [edx + 0x46]
mov dword [esp + 0x68], eax
mov word [esp + 0x6c], cx
mov ebx, dword [edx + 0x64]
test ebx, ebx
jne 0x100a7718
mov dword [esp + 0x3c], 0x44
lea ecx, [esp + 0x3c]
jmp 0x100a77ba
mov edx, dword [esp + 0x80]
movzx edi, word [esp + 0x14d]
movzx ecx, byte [esp + 0x14f]
mov esi, dword [esp + 0x150]
mov word [edx + 1], di
mov edi, dword [esp + 0x14]
mov byte [edx + 3], cl
mov byte [edx], al
mov dword [edx + 4], esi
mov dword [edx + 8], 2
jmp 0x100a7990
movzx ecx, byte [esp + 0x14f]
mov edx, dword [esp + 0x80]
mov esi, dword [esp + 0x150]
mov byte [edx + 3], cl
movzx ecx, word [esp + 0x14d]
mov word [edx + 1], cx
mov byte [edx], al
mov dword [edx + 4], esi
mov dword [edx + 8], 2
push ebx
jmp 0x100a798b
movzx ecx, byte [esp + 0x14f]
mov edx, dword [esp + 0x80]
mov esi, dword [esp + 0x150]
mov byte [edx + 3], cl
movzx ecx, word [esp + 0x14d]
mov word [edx + 1], cx
mov byte [edx], al
mov dword [edx + 4], esi
mov esi, 2
mov dword [edx + 8], 2
jmp 0x100a796d
mov eax, dword [esp + 0x88]
mov dword [esp + 0x68], 0x100
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], eax
mov eax, 0x101
mov dword [esp + 0x7c], edi
cmp byte [edx + 0x44], 1
mov dword [esp + 0x30], ebx
je 0x100a760a
mov ebx, dword [edx + 0x64]
test ebx, ebx
je 0x100a7622
add edx, 0x5c
mov dword [esp + 0x3c], 0x48
lea ecx, [esp + 0x90]
call sym.std::sys::pal::windows::process::make_proc_thread_attribute_list::h907a121766d142cc
mov edx, dword [esp + 0x94]
mov ecx, dword [esp + 0x98]
test byte [esp + 0x90], 1
je 0x100a777d
mov eax, dword [esp + 0x80]
mov dword [eax], edx
mov dword [eax + 4], ecx
mov dword [eax + 8], 2
jmp 0x100a7958
mov esi, dword [esp + 0xc]
jmp 0x100a56c4
mov eax, dword [esp + 0x44]
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x20], eax
jmp 0x100a63a5
or esi, 0x80000
mov dword [esp + 0xc], ecx
mov eax, edi
mov ecx, 0x11
lea edi, [esp + 0x14c]
mov dword [esp + 0x34], esi
lea esi, [esp + 0x3c]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x14c]
mov edi, eax
mov dword [esp + 0x84], edx
mov dword [esp + 0x190], edx
mov esi, dword [esp + 0x34]
lea eax, [esp + 0xa0]
push eax
push ecx
push dword [esp + 0x28]
push dword [esp + 0x44]
push esi
push 1
push 0
push 0
push dword [esp + 0x128]
push dword [esp + 0x114]
call sub.kernel32.dll_CreateProcessW
test eax, eax
je 0x100a7915
mov eax, dword [esp + 0x80]
movsd xmm1, qword [esp + 0xcc]
movq xmm0, qword [esp + 0xd4]
movsd xmm2, qword [esp + 0xc4]
test ebx, ebx
movsd qword [eax + 0x10], xmm1
movsd xmm1, qword [esp + 0xa0]
movq qword [eax + 0x18], xmm0
movsd qword [eax + 8], xmm2
movsd qword [eax], xmm1
je 0x100a783f
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0xc]
call sym.core::ptr::drop_in_place_LT_std..sys..pal..windows..process..ProcThreadAttributeList_GT_::hcea0056f1d93723a
push edi
call sub.kernel32.dll_CloseHandle
push dword [esp + 0x88]
call sub.kernel32.dll_CloseHandle
push dword [esp + 0x30]
call sub.kernel32.dll_CloseHandle
cmp dword [esp + 0x114], 4
mov edi, dword [esp + 0x14]
jb 0x100a7874
push dword [esp + 0x118]
call sub.kernel32.dll_CloseHandle
lea ecx, [esp + 0x11c]
call sym.__ZN4core3ptr178drop_in_place_LT_core..result..Result_LT_std..sync..mutex..MutexGuard_LT__LP__RP__GT__C_std..sync..poison..Poi
mov eax, dword [esp + 0x24]
test eax, eax
je 0x100a789c
add eax, eax
push 2
push eax
push dword [esp + 0x94]
call sym.___rust_dealloc
add esp, 0xc
test edi, edi
je 0x100a78b1
add edi, edi
push 2
push edi
push dword [esp + 0x18]
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [esp + 0x104]
test eax, eax
je 0x100a78d0
add eax, eax
push 2
push eax
push dword [esp + 0x110]
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [esp + 0x28]
test eax, eax
je 0x100a78ec
add eax, eax
push 2
push eax
push dword [esp + 0xf8]
call sym.___rust_dealloc
add esp, 0xc
mov ecx, dword [esp + 0x2c]
test ecx, ecx
setne al
test byte [esp + 0x1c], al
je 0x100a4b19
add ecx, ecx
push 2
push ecx
push dword [esp + 0x20]
call sym.___rust_dealloc
add esp, 0xc
jmp 0x100a4b19
call sub.kernel32.dll_GetLastError
movzx ecx, word [esp + 0x90]
mov edx, dword [esp + 0x80]
test ebx, ebx
mov word [edx + 1], cx
mov ch, byte [esp + 0x92]
mov byte [edx + 3], ch
mov byte [edx], 0
mov dword [edx + 4], eax
mov dword [edx + 8], 2
je 0x100a7958
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0xc]
call sym.core::ptr::drop_in_place_LT_std..sys..pal..windows..process..ProcThreadAttributeList_GT_::hcea0056f1d93723a
push edi
call sub.kernel32.dll_CloseHandle
mov esi, dword [esp + 0x114]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x30]
push dword [esp + 0x88]
call sub.kernel32.dll_CloseHandle
push ebx
call sub.kernel32.dll_CloseHandle
cmp esi, 4
jb 0x100a7990
push dword [esp + 0x118]
call sub.kernel32.dll_CloseHandle
cmp dword [esp + 0xc4], 0
je 0x100a79a6
push dword [esp + 0xc8]
call sub.kernel32.dll_CloseHandle
cmp dword [esp + 0xcc], 0
je 0x100a79bc
push dword [esp + 0xd0]
call sub.kernel32.dll_CloseHandle
cmp dword [esp + 0xd4], 0
je 0x100a79d2
push dword [esp + 0xd8]
call sub.kernel32.dll_CloseHandle
mov esi, dword [esp + 0x120]
movzx eax, byte [esp + 0x124]
test byte [esp + 0x11c], 1
je 0x100a7a02
test al, al
jne 0x100a7a1f
mov eax, dword [0x101aa12c]
test eax, 0x7fffffff
je 0x100a7a1f
call sym.std::panicking::panic_count::is_zero_slow_path::h8d6729d981530f26
jmp 0x100a7a17
test al, al
jne 0x100a7a1f
mov eax, dword [0x101aa12c]
test eax, 0x7fffffff
je 0x100a7a1f
call sym.std::panicking::panic_count::is_zero_slow_path::h8d6729d981530f26
test al, al
jne 0x100a7a1f
mov byte [esi + 1], 1
xor eax, eax
xchg byte [esi], al
cmp al, 2
jne 0x100a7a2e
push esi
call dword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
mov eax, dword [esp + 0x24]
test eax, eax
je 0x100a7a4a
add eax, eax
push 2
push eax
push dword [esp + 0x94]
call sym.___rust_dealloc
add esp, 0xc
test edi, edi
je 0x100a7a5f
add edi, edi
push 2
push edi
push dword [esp + 0x18]
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [esp + 0x104]
test eax, eax
je 0x100a7a7e
add eax, eax
push 2
push eax
push dword [esp + 0x110]
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [esp + 0x28]
test eax, eax
je 0x100a7a9a
add eax, eax
push 2
push eax
push dword [esp + 0xf8]
call sym.___rust_dealloc
add esp, 0xc
cmp byte [esp + 0x1c], 0
je 0x100a4b19
xor ebx, ebx
jmp 0x100a691d
mov eax, dword [esp + 0xa8]
mov ebx, dword [esp + 0xa4]
test edi, edi
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x20], eax
je 0x100a63a1
push 1
push edi
push dword [esp + 0x20]
call sym.___rust_dealloc
add esp, 0xc
jmp 0x100a63a1
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x3c]
cmp esi, eax
jne 0x100a7af7
lea ecx, [esp + 0x3c]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::hb3bae065834a38fe
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x40]
mov word [edi + esi*2], 0x22
inc esi
mov ebx, edi
jmp 0x100a6bd7
mov edi, dword [esp + 0x14c]
mov esi, dword [esp + 0x150]
mov ebx, edi
mov eax, dword [esp + 0x3c]
test eax, eax
jne 0x100a6bc1
jmp 0x100a6bd2
movzx esi, bl
jmp 0x100a6c97
call sub.kernel32.dll_GetLastError
mov byte [esp + 0xc4], 0
mov dword [esp + 0xc8], eax
lea eax, [esp + 0xc4]
mov dword [esp + 0x3c], 0x10163188
mov dword [esp + 0x40], 1
mov dword [esp + 0x4c], 0
mov dword [esp + 0xa0], eax
lea eax, [esp + 0xa0]
mov dword [esp + 0xa4], sym.__LT_std..io..error..Error_u20_as_u20_core..fmt..Display_GT_::fmt::h62d66a0e473f1718
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], 1
push 0x101631b4
lea eax, [esp + 0x40]
push eax
call sym.core::panicking::panic_fmt::hced28cb7137b21e1
add esp, 8
jmp 0x100a7d52
xor eax, eax
jmp 0x100a7bd8
mov eax, 2
push ebx
push eax
call sym.alloc::raw_vec::handle_error::he63c9115d026ec98
add esp, 8
jmp 0x100a7d52
mov dword [esp + 0x2c], 1
push edi
push dword [esp + 0x30]
call sym.alloc::raw_vec::handle_error::he63c9115d026ec98
add esp, 8
jmp 0x100a7d52
mov eax, 1
push ebx
push eax
call sym.alloc::raw_vec::handle_error::he63c9115d026ec98
add esp, 8
jmp 0x100a7d52
push 0x101637a0
push 0x28
push str.internal_error:_entered_unreachable_code
call sym.core::panicking::panic::hf6244c8fb5815825
add esp, 0xc
jmp 0x100a7d52
push 0x1015ffe4
push 0x21
push str.assertion_failed:_self.height___0
call sym.core::panicking::panic::hf6244c8fb5815825
add esp, 0xc
jmp 0x100a7d52
mov dword [esp + 0x1c], 4
mov eax, 1
push dword [esp + 0x1c]
push eax
call sym.alloc::raw_vec::handle_error::he63c9115d026ec98
add esp, 8
jmp 0x100a7d52
push 0x101637a0
push 0x28
push str.internal_error:_entered_unreachable_code
call sym.core::panicking::panic::hf6244c8fb5815825
add esp, 0xc
jmp 0x100a7d52
push 0x101637a0
push 0x28
push str.internal_error:_entered_unreachable_code
call sym.core::panicking::panic::hf6244c8fb5815825
add esp, 0xc
jmp 0x100a7d52
push 0x101637a0
push 0x28
push str.internal_error:_entered_unreachable_code
call sym.core::panicking::panic::hf6244c8fb5815825
add esp, 0xc
jmp 0x100a7d52
call sub.kernel32.dll_GetLastError
mov byte [esp + 0x3c], 0
mov dword [esp + 0x40], eax
lea esi, [esp + 0x3c]
lea eax, [esp + 0xc4]
mov dword [esp + str.failure_getting_env_string_from_OS:_L0], 0x10163070
mov dword [esp + 0x150], 1
mov dword [esp + 0x15c], 0
mov dword [esp + 0xc4], esi
mov dword [esp + 0x154], eax
mov dword [esp + 0xc8], sym.__LT_std..io..error..Error_u20_as_u20_core..fmt..Display_GT_::fmt::h62d66a0e473f1718
mov dword [esp + 0x158], 1
lea eax, [esp + 0x14c]
push 0x10163078
push eax
call sym.core::panicking::panic_fmt::hced28cb7137b21e1
add esp, 8
jmp 0x100a7d52
xor eax, eax
jmp 0x100a7c26
push 0x10163790
push ecx
push eax
call sym.core::slice::index::slice_end_index_len_fail::h31017dc9c470f2c8
add esp, 0xc
jmp 0x100a7d52
push 0x10163790
push eax
push edi
call sym.core::slice::index::slice_end_index_len_fail::h31017dc9c470f2c8
add esp, 0xc
jmp 0x100a7d52
push 0x10163790
push eax
push esi
call sym.core::slice::index::slice_end_index_len_fail::h31017dc9c470f2c8
add esp, 0xc
jmp 0x100a7d52
push 0x10163790
push eax
push esi
call sym.core::slice::index::slice_end_index_len_fail::h31017dc9c470f2c8
add esp, 0xc
jmp 0x100a7d52
mov eax, 2
push esi
push eax
call sym.alloc::raw_vec::handle_error::he63c9115d026ec98
add esp, 8
ud2