Function at 0x1004c630
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, 0x530
mov dword [esp + 0x94], ecx
mov ecx, dword [edx + 0x50]
call 0x1004c64e
pop eax
mov esi, edx
mov dword [esp + 0x100], 3
mov dword [esp + 0x28], edx
mov dword [esp + 0x20], eax
movzx eax, byte [edx + 0x54]
test ecx, ecx
mov dword [esp + 0x18], ecx
setne cl
or cl, al
je 0x1004c7e7
test al, al
mov dword [esp + 0xd4], 0
mov dword [esp + 0xdc], 0
jne 0x1004c81e
call sub.kernel32.dll_GetEnvironmentStringsW
test eax, eax
je 0x100502dd
lea ebx, [esp + 0x30]
lea esi, [esp + 0xa0]
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
nop word [eax + eax]
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x130]
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 edi, dword [esp + 0x12c]
mov eax, edi
neg eax
jo 0x1004c811
mov edx, dword [esp + 0x13c]
movq xmm0, qword [esp + 0x134]
mov ecx, ebx
mov ebx, dword [esp + 0x130]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x140]
movd eax, xmm0
mov dword [esp + 0xa0], ebx
movdqa xmmword [esp + 0xe0], xmm0
add eax, ebx
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x144]
mov word [esp + 0xa8], 0
mov dword [esp + 4], edx
mov edx, dword [esp + 0x148]
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], edx
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
movaps xmm0, xmmword [esp + 0xe0]
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0x60]
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], ebx
movlps qword [esp + 0x58], xmm0
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x10]
movq xmm0, qword [esp + 0x30]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 4]
movq qword [ecx], xmm0
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0xa8], eax
lea ebx, [esp + 0x30]
lea edx, [esp + 0xd4]
mov ecx, ebx
push esi
lea eax, [esp + 0x54]
push eax
call sym.alloc::collections::btree::map::BTreeMap_LT_K_C_V_C_A_GT_::insert::hd39545c2c7d140ec
add esp, 8
test dword [esp + 0x30], 0x7fffffff
je 0x1004c6c0
push dword [esp + 0x34]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
jmp 0x1004c6c0
mov dword [esp + 0x108], 0
mov dword [esp + 0x2c], 0
lea eax, [esp + 0x10c]
mov edi, dword [esi + 0x20]
test edi, edi
jne 0x1004d0b7
jmp 0x1004d106
push dword [esp + 0x44]
call sub.kernel32.dll_FreeEnvironmentStringsW
mov esi, dword [esp + 0x28]
mov eax, dword [esi + 0x48]
test eax, eax
setne cl
cmp dword [esp + 0x18], 0
setne dl
and dl, cl
cmp dl, 1
jne 0x1004cebe
mov edx, dword [esp + 0x28]
xor esi, esi
mov edi, dword [edx + 0x4c]
jmp 0x1004c86b
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
xor eax, eax
dec dword [esp + 0x18]
mov cl, 1
je 0x1004cebe
test cl, 1
je 0x100501de
test esi, esi
je 0x1004c890
mov ecx, edi
movzx edx, word [esi + 0x1ea]
cmp ecx, edx
jae 0x1004c8c0
mov ebx, esi
jmp 0x1004c8e1
xor ecx, ecx
mov esi, eax
test edi, edi
je 0x1004c8a9
nop dword [eax + eax]
mov esi, dword [esi + 0x1ec]
dec edi
jne 0x1004c8a0
xor eax, eax
movzx edx, word [esi + 0x1ea]
cmp ecx, edx
jb 0x1004c885
nop word cs:[eax + eax]
mov ebx, dword [esi + 0xb0]
test ebx, ebx
je 0x1005010c
movzx ecx, word [esi + 0x1e8]
inc eax
mov esi, ebx
cmp cx, word [ebx + 0x1ea]
jae 0x1004c8c0
lea edi, [ecx + 1]
test eax, eax
je 0x1004c900
lea edx, [ebx + edi*4 + 0x1ec]
nop
mov esi, dword [edx]
dec eax
lea edx, [esi + 0x1ec]
jne 0x1004c8f0
xor edi, edi
jmp 0x1004c902
mov esi, ebx
lea eax, [ecx + ecx*8]
lea eax, [eax + eax*2]
add eax, ecx
shl ecx, 4
lea edx, [ebx + eax + 0xb4]
xor eax, eax
cmp eax, dword [ebx + ecx]
jno 0x1004cb80
mov eax, dword [esp + 0xd4]
test eax, eax
mov dword [esp + 0x10], eax
je 0x1004c85d
mov eax, dword [esp + 0xd8]
mov ebx, edx
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x30]
push dword [ebx + 0x18]
push dword [ebx + 0x14]
mov dword [esp + 0xc], eax
push eax
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 + 0x30], 1
je 0x1004c85d
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x3c]
mov byte [esp + 0xf4], 0
test ecx, ecx
je 0x1004cd87
nop dword [eax]
mov eax, dword [eax + edx*4 + 0x1ec]
dec ecx
je 0x1004c99b
movzx edx, word [eax + 0x1ea]
mov eax, dword [eax + edx*4 + 0x1ec]
dec ecx
jne 0x1004c98a
movzx ecx, word [eax + 0x1ea]
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], 0
dec ecx
mov dword [esp + 0x4c], ecx
lea edx, [esp + 0x44]
lea eax, [esp + 0xf4]
lea ecx, [esp + 0x12c]
push eax
call sym.__ZN5alloc11collections5btree6remove259__LT_impl_u20_alloc..collections..btree..node..Handle_LT_alloc..collections..btree..nod
add esp, 4
movsd xmm2, qword [esp + 0x144]
movsd xmm1, qword [esp + 0x13c]
mov eax, dword [esp + 0x154]
movq xmm0, qword [esp + 0x14c]
mov ecx, dword [esp + 0x160]
movsd qword [esp + 0xb8], xmm2
movsd qword [esp + 0xb0], xmm1
movsd xmm2, qword [esp + 0x12c]
movsd xmm1, qword [esp + 0x134]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x158]
movq qword [esp + 0xc0], xmm0
movsd qword [esp + 0xa8], xmm1
movsd qword [esp + 0xa0], xmm2
movzx edx, word [eax + 0x1ea]
cmp ecx, edx
jb 0x1004ca66
nop
movzx ecx, word [eax + 0x1e8]
mov eax, dword [eax + 0xb0]
cmp cx, word [eax + 0x1ea]
jae 0x1004ca50
lea edx, [ecx + ecx*8]
lea edx, [edx + edx*2]
add edx, ecx
shl ecx, 4
mov ebx, dword [eax + edx + 0xcc]
mov dword [esp + 0x68], ebx
mov ebx, dword [esp + 0xb8]
movsd xmm0, qword [eax + edx + 0xc4]
movsd qword [esp + 0x60], xmm0
movsd xmm0, qword [eax + edx + 0xb4]
movsd xmm1, qword [eax + edx + 0xbc]
movsd qword [esp + 0x58], xmm1
movsd qword [esp + 0x50], xmm0
mov dword [eax + edx + 0xcc], ebx
lea ebx, [esp + 0xbc]
movsd xmm0, qword [esp + 0xb0]
movsd qword [eax + edx + 0xc4], xmm0
movsd xmm0, qword [esp + 0xa0]
movsd xmm1, qword [esp + 0xa8]
movsd qword [eax + edx + 0xbc], xmm1
movsd qword [eax + edx + 0xb4], xmm0
lea edx, [esp + 0x6c]
movsd xmm0, qword [eax + ecx]
movsd xmm1, qword [eax + ecx + 8]
movsd qword [edx + 8], xmm1
movsd qword [edx], xmm0
movsd xmm0, qword [ebx]
movsd xmm1, qword [ebx + 8]
movsd qword [eax + ecx], xmm0
movsd qword [eax + ecx + 8], xmm1
movsd xmm1, qword [esp + 0x58]
mov eax, dword [esp + 0x78]
movq xmm0, qword [esp + 0x50]
movsd xmm2, qword [esp + 0x68]
movsd qword [esp + 0x134], xmm1
movsd xmm1, qword [esp + 0x60]
mov dword [esp + 0x154], eax
movq qword [esp + 0x12c], xmm0
movsd qword [esp + 0x144], xmm2
movsd qword [esp + 0x13c], xmm1
movsd xmm1, qword [esp + 0x70]
movsd qword [esp + 0x14c], xmm1
jmp 0x1004cdb2
add ebx, ecx
mov ecx, dword [edx + 8]
test ecx, ecx
mov dword [esp + 0x10], ecx
js 0x100501f0
mov dword [esp + 0xc], edx
mov edx, dword [edx + 4]
je 0x1004cbce
mov eax, dword [0x100f2e44]
movzx eax, byte [eax]
sub esp, 0xc
mov dword [esp + 8], ecx
mov dword [esp + 4], 0
mov dword [esp + 0x10], edx
call sym.std::sys::alloc::windows::process_heap_alloc::hc2bfe060f1f208f4
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
jne 0x1004cbd3
jmp 0x1005020e
mov eax, 1
push ecx
push edx
mov dword [esp + 0xe8], eax
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x14], 0
mov edx, dword [ecx + 0x18]
lea eax, [edx + edx]
test edx, edx
js 0x1005022f
cmp eax, 0x7ffffffe
mov dword [esp + 4], edx
ja 0x1005022f
movzx edx, byte [ecx + 0xc]
mov ecx, dword [ecx + 0x14]
test eax, eax
mov dword [esp + 0x40], 0
mov dword [esp + 0xc], ecx
mov ecx, eax
mov byte [esp + 0x14], dl
je 0x1004cc63
mov eax, dword [0x100f2e44]
movzx eax, byte [eax]
sub esp, 0xc
mov dword [esp + 8], ecx
mov dword [esp + 4], 0
mov dword [esp + 0x14], ecx
call sym.std::sys::alloc::windows::process_heap_alloc::hc2bfe060f1f208f4
mov ecx, dword [esp + 0x14]
add esp, 0xc
mov edx, dword [esp + 4]
test eax, eax
mov dword [esp + 0x2c], edx
jne 0x1004cc70
jmp 0x10050225
mov eax, 2
mov dword [esp + 0x2c], 0
mov dword [esp + 8], eax
push ecx
push dword [esp + 0x10]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 8]
mov dword [esp + 0x12c], eax
mov dword [esp + 0x130], ecx
mov dword [esp + 0x134], eax
movzx eax, byte [esp + 0x14]
mov ecx, dword [esp + 0x2c]
mov byte [esp + 0x138], al
mov dword [esp + 0x13c], ecx
mov ecx, dword [esp + 4]
mov dword [esp + 0x140], edx
mov dword [esp + 0x144], ecx
mov ecx, dword [ebx + 8]
test ecx, ecx
js 0x100501fc
mov edx, dword [ebx + 4]
mov dword [esp + 0x10], ecx
je 0x1004cd17
mov eax, dword [0x100f2e44]
mov dword [esp + 4], edx
movzx eax, byte [eax]
sub esp, 0xc
mov dword [esp + 8], ecx
mov dword [esp + 4], 0
call sym.std::sys::alloc::windows::process_heap_alloc::hc2bfe060f1f208f4
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov edx, dword [esp + 4]
test eax, eax
jne 0x1004cd1c
jmp 0x100501f4
mov eax, 1
mov dword [esp + 4], eax
push ecx
push edx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
movzx eax, byte [ebx + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 4]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], ecx
mov byte [esp + 0x5c], al
lea edx, [esp + 0xd4]
lea eax, [esp + 0x50]
lea ecx, [esp + 0xa0]
push eax
lea eax, [esp + 0x130]
push eax
call sym.alloc::collections::btree::map::BTreeMap_LT_K_C_V_C_A_GT_::insert::hd39545c2c7d140ec
add esp, 8
test dword [esp + 0xa0], 0x7fffffff
je 0x1004c85d
push dword [esp + 0xa4]
jmp 0x1004c850
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], edx
lea edx, [esp + 0x50]
lea eax, [esp + 0xf4]
lea ecx, [esp + 0x12c]
push eax
call sym.__ZN5alloc11collections5btree6remove259__LT_impl_u20_alloc..collections..btree..node..Handle_LT_alloc..collections..btree..nod
add esp, 4
movsd xmm2, qword [esp + 0x144]
movsd xmm1, qword [esp + 0x13c]
mov eax, dword [esp + 0x154]
movq xmm0, qword [esp + 0x14c]
dec dword [esp + 0xdc]
cmp byte [esp + 0xf4], 0
movsd qword [esp + 0x68], xmm2
movsd qword [esp + 0x60], xmm1
movsd xmm2, qword [esp + 0x12c]
movsd xmm1, qword [esp + 0x134]
mov dword [esp + 0x78], eax
movq qword [esp + 0x70], xmm0
movsd qword [esp + 0x58], xmm1
movsd qword [esp + 0x50], xmm2
je 0x1004ce56
mov ecx, dword [esp + 4]
test ecx, ecx
je 0x1005025a
mov edx, dword [esp + 0x10]
dec ecx
mov eax, dword [edx + 0x1ec]
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], ecx
mov dword [eax + 0xb0], 0
push edx
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
mov ebx, dword [esp + 0x60]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x6c]
neg ecx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x70]
mov dword [esp + 0xc], edx
jo 0x1004c85d
jae 0x1004ce92
push eax
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
test ebx, ebx
je 0x1004cea7
push dword [esp + 4]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
test dword [esp + 0x10], 0x7fffffff
je 0x1004c85d
push dword [esp + 0xc]
jmp 0x1004c850
mov eax, dword [esp + 0xdc]
movq xmm0, qword [esp + 0xd4]
mov dword [esp + 0x114], eax
mov eax, dword [0x100f2e44]
movq qword [esp + 0x10c], xmm0
mov dword [esp + 0x108], 1
movzx eax, byte [eax]
sub esp, 0xc
mov dword [esp + 8], 4
mov dword [esp + 4], 0
call sym.std::sys::alloc::windows::process_heap_alloc::hc2bfe060f1f208f4
add esp, 0xc
test eax, eax
je 0x10050273
mov edi, eax
mov dword [eax], 0x48544150
add eax, 4
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], eax
mov word [esp + 0x58], 0
lea ecx, [esp + 0xa0]
lea edx, [esp + 0x50]
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 + 0x28]
mov eax, dword [esp + 0xa8]
movq xmm0, qword [esp + 0xa0]
mov dword [esp + 0x12c], 4
mov dword [esp + 0x130], edi
mov dword [esp + 0x134], 4
mov dword [esp + 0x138], 0
mov edx, dword [esp + 0x10c]
movq qword [esp + 0x13c], xmm0
mov dword [esp + 0x144], eax
mov dword [esp + 0xc], eax
test edx, edx
mov eax, dword [esp + 0x140]
mov dword [esp + 4], eax
je 0x1004d078
mov eax, dword [esp + 0x110]
mov dword [esp + 8], edi
mov dword [esp + 0x2c], 0
mov dword [esp + 0x14], eax
movzx edi, word [edx + 0x1ea]
lea ecx, [edx + 0xb4]
lea ebx, [edx - 8]
mov dword [esp + 0xe0], edx
lea eax, [edi + edi*8]
mov dword [esp + 0x18], edi
lea esi, [eax + eax*2]
add esi, edi
mov edi, 0xffffffff
nop word [eax + eax]
test esi, esi
je 0x1004d030
lea eax, [ecx + 0x1c]
mov dword [esp + 0x10], eax
push 1
push dword [ecx + 0x18]
push dword [ecx + 0x14]
push dword [esp + 0x18]
push dword [esp + 0x14]
call sub.kernel32.dll_CompareStringOrdinal
mov ecx, dword [esp + 0x10]
add esi, 0xffffffe4
add ebx, 0x10
inc edi
cmp eax, 3
je 0x1004cff0
mov esi, dword [esp + 0x28]
cmp eax, 1
jne 0x1004d05c
jmp 0x1004d038
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0xe0]
sub eax, 1
jb 0x1004d55d
mov edx, dword [edx + edi*4 + 0x1ec]
mov dword [esp + 0x14], eax
jmp 0x1004cfbf
cmp eax, 2
jne 0x10050178
mov eax, dword [ebx - 4]
mov ecx, dword [ebx]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x10], ecx
mov edi, dword [esp + 8]
jmp 0x1004d080
mov dword [esp + 0x2c], 0
push edi
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x13c], 0
je 0x1004d0a9
push dword [esp + 4]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
lea eax, [esp + 0x10c]
mov edi, dword [esi + 0x20]
test edi, edi
je 0x1004d106
mov edx, dword [esi + 0x1c]
mov dword [esp + 0x40], eax
mov eax, sym.std::sys::path::windows::is_sep_byte::h1da9d8a504a7fa8f
cmp edi, 4
jb 0x1004d0eb
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 + 0x14], edx
mov dword [esp + 0x18], edi
push ebx
call eax
add esp, 4
test al, al
je 0x1004d195
mov byte [esp + 0x48], 2
mov dword [esp + 0x4c], 0x100f0f88
mov edi, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x94]
mov dword [eax + 4], ecx
mov dword [eax], edi
mov dword [eax + 8], 2
cmp dword [esp + 0x108], 0
je 0x1004d24c
mov ecx, dword [esp + 0x10c]
test ecx, ecx
je 0x1004d227
mov edx, dword [esp + 0x110]
mov eax, dword [esp + 0x114]
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], ecx
mov dword [esp + 0x138], edx
mov dword [esp + 0x140], 0
mov dword [esp + 0x144], ecx
mov ecx, 1
mov dword [esp + 0x148], edx
jmp 0x1004d22b
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
lea eax, [ecx + edx]
cmp edx, 3
mov dword [esp + 8], eax
jbe 0x1004d26a
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 0x1004d28b
mov edi, dword [esp + 8]
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 0x1004d289
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 0x1004d289
mov ecx, ebx
add cl, 0xbf
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, bl
cmp cl, 0x65
sete cl
jmp 0x1004d28b
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x12c], ecx
mov dword [esp + 0x13c], ecx
mov dword [esp + 0x14c], eax
lea ecx, [esp + 0x12c]
call sym.__ZN4core3ptr137drop_in_place_LT_alloc..collections..btree..map..IntoIter_LT_std..sys..pal..windows..process..EnvKey_C_std..ff
cmp dword [esp + 0x100], 4
jb 0x1004d262
push dword [esp + 0x104]
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
test eax, eax
je 0x1004d3dd
movzx edx, byte [ecx]
cmp edx, 0x2f
je 0x1004d2f7
inc ecx
dec eax
cmp edx, 0x5c
jne 0x1004d270
jmp 0x1004d2f7
xor ecx, ecx
mov ebx, dword [esp + 0x18]
nop
cmp ebx, eax
je 0x1004d3dd
mov edx, dword [esp + 0x14]
movzx edx, byte [edx + eax]
cmp edx, 0x2f
je 0x1004d2ab
inc eax
cmp edx, 0x5c
jne 0x1004d290
test cl, cl
je 0x1004d2f7
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x12c]
push ebx
call sym.__ZN3std3sys3pal7windows7to_u16s5inner17h36c7c454f9caa61aE.llvm.10150728606014878797
add esp, 4
mov edx, dword [esp + 0x12c]
mov eax, dword [esp + 0x130]
mov ecx, edx
neg ecx
mov ecx, dword [esp + 0x134]
jno 0x1004d533
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x44], 0x80000000
jmp 0x1004d65e
test ebx, ebx
js 0x10050352
mov eax, dword [0x100f2e44]
movzx eax, byte [eax]
sub esp, 0xc
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
call sym.std::sys::alloc::windows::process_heap_alloc::hc2bfe060f1f208f4
add esp, 0xc
test eax, eax
je 0x1005027b
mov esi, eax
push ebx
push dword [esp + 0x18]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x130], esi
mov dword [esp + 0x134], ebx
mov dword [esp + 0x138], 0
lea eax, [esp + 0x12c]
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 + 0x12c]
mov edi, dword [esp + 0x130]
mov ebx, dword [esp + 0x134]
mov dword [esp + 0x10], eax
mov edx, edi
lea ecx, [esp + 0x50]
push ebx
call sym.std::sys::pal::windows::process::program_exists::h95b868495f4c10d1
add esp, 4
mov esi, dword [esp + 0x28]
xor eax, eax
cmp eax, dword [esp + 0x50]
jno 0x1004d4ad
mov dword [esp + 4], ebx
push ebx
push edi
call sym.std::path::Path::file_name::h056b0b4cd934bc5c
add esp, 8
test eax, eax
je 0x1004d52a
mov ebx, edx
cmp edx, 2
jne 0x1004d4c6
cmp word [eax], 0x2e2e
jne 0x1004d4c6
mov edx, 2
xor ecx, ecx
jmp 0x1004d592
mov eax, dword [esp + 0x14]
xor edi, edi
jmp 0x1004d3fb
xor edi, edi
test cx, cx
je 0x1004d498
mov cx, 1
test di, di
jne 0x1004d3f0
cmp eax, dword [esp + 8]
je 0x1004d4fc
movzx edx, byte [eax]
test dl, dl
js 0x1004d418
inc eax
jmp 0x1004d469
movzx esi, byte [eax + 1]
mov edi, edx
and edi, 0x1f
and esi, 0x3f
cmp dl, 0xdf
jbe 0x1004d45f
movzx ebx, byte [eax + 2]
shl esi, 6
and ebx, 0x3f
or ebx, esi
cmp dl, 0xf0
jb 0x1004d46f
movzx edx, byte [eax + 3]
and edi, 7
shl ebx, 6
add eax, 4
shl edi, 0x12
and edx, 0x3f
or edx, ebx
or edx, edi
mov ebx, dword [esp + 0x18]
cmp edx, 0xffff
jbe 0x1004d469
jmp 0x1004d485
shl edi, 6
add eax, 2
or edi, esi
mov edx, edi
xor edi, edi
mov ecx, edx
jmp 0x1004d3f2
shl edi, 0xc
add eax, 3
or ebx, edi
mov edx, ebx
mov ebx, dword [esp + 0x18]
cmp edx, 0xffff
jbe 0x1004d469
and edx, 0x3ff
or edx, 0xdc00
mov edi, edx
jmp 0x1004d3f2
mov dword [esp + 0x48], 2
mov dword [esp + 0x4c], 0x100f0f5c
jmp 0x1004d113
mov eax, dword [esp + 0x58]
movq xmm0, qword [esp + 0x50]
mov dword [esp + 0x4c], eax
movq qword [esp + 0x44], xmm0
jmp 0x1004d649
xor edx, edx
mov ecx, eax
mov dword [esp + 0xc], edi
nop
cmp ebx, edx
je 0x1004d562
cmp byte [ecx + ebx - 1], 0x2e
lea edi, [ecx - 1]
mov esi, edx
lea edx, [edx + 1]
mov ecx, edi
jne 0x1004d4d0
mov ecx, ebx
sub ecx, edx
jne 0x1004d588
xor ecx, ecx
mov edx, ebx
jmp 0x1004d58e
cmp ebx, 7
ja 0x1004d56c
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ecx, ebx
nop dword [eax + eax]
cmp byte [eax], 0x2e
je 0x1004de29
inc eax
dec ecx
jne 0x1004d510
mov dword [esp + 0x24], 0
jmp 0x1004de31
mov ebx, dword [esp + 4]
jmp 0x1004d5e5
mov dword [esp + 0x12c], edx
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], ecx
lea ecx, [esp + 0x44]
lea edx, [esp + 0x12c]
call sym.std::sys::pal::windows::args::from_wide_to_user_path::h8367ae1feee68ae3
jmp 0x1004d65e
jmp 0x1004d072
mov ecx, eax
mov esi, ebx
mov edx, ebx
xor eax, eax
jmp 0x1004d58e
push ebx
push dword [esp + 0x18]
push 0x2e
call sym.core::slice::memchr::memchr_aligned::h97ffafdd5a81ec4e
add esp, 0xc
mov edx, dword [esp + 0x10]
mov dword [esp + 0x24], eax
jmp 0x1004de31
mov edx, ecx
lea ecx, [edi + ebx + 1]
mov edi, dword [esp + 0xc]
mov ebx, dword [esp + 4]
test eax, eax
cmovne ecx, eax
test ecx, ecx
je 0x1004d5d1
test eax, eax
cmove edx, esi
add ecx, edx
sub ecx, edi
je 0x1004d5d7
mov esi, dword [esp + 0x28]
cmp ebx, ecx
jbe 0x1004d5dd
cmp byte [edi + ecx], 0xbf
jg 0x1004d5df
push 0x100f0574
push 0x37
push 0x100f053a
call sym.core::panicking::panic::hf6244c8fb5815825
add esp, 0xc
jmp 0x100503ac
mov esi, dword [esp + 0x28]
jmp 0x1004d5e5
mov esi, dword [esp + 0x28]
jmp 0x1004d5e3
jne 0x1004d5b8
cmp ebx, ecx
jb 0x1004d5e5
mov ebx, ecx
mov edx, edi
lea ecx, [esp + 0x12c]
push ebx
call sym.__ZN3std3sys3pal7windows7to_u16s5inner17h36c7c454f9caa61aE.llvm.10150728606014878797
add esp, 4
mov edx, dword [esp + 0x12c]
mov eax, dword [esp + 0x130]
mov ecx, edx
neg ecx
mov ecx, dword [esp + 0x134]
jno 0x1004d624
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x44], 0x80000000
jmp 0x1004d649
mov dword [esp + 0x12c], edx
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], ecx
lea ecx, [esp + 0x44]
lea edx, [esp + 0x12c]
call sym.std::sys::pal::windows::args::from_wide_to_user_path::h8367ae1feee68ae3
cmp dword [esp + 0x10], 0
je 0x1004d65e
push edi
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
mov eax, dword [esp + 0x44]
mov edi, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x2c], eax
neg eax
jo 0x1004d11b
cmp ecx, 4
mov dword [esp + 0x10], edi
mov dword [esp + 0x1c], ecx
jb 0x1004ea2c
mov edx, dword [esp + 0x10]
mov ecx, 0x5c005c
mov eax, 0x5c003f
xor ecx, dword [edx]
mov edx, dword [edx + 4]
xor edx, eax
or edx, ecx
je 0x1004d6b6
mov edx, dword [esp + 0x10]
mov ecx, 0x3f005c
xor ecx, dword [edx]
xor eax, dword [edx + 4]
or eax, ecx
jne 0x1004ea2c
cmp dword [esp + 0x1c], 4
je 0x1004d75b
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
cmp word [eax + ecx*2 - 0xa], 0x2e
jne 0x1004d75b
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
movzx eax, word [eax + ecx*2 - 8]
lea ecx, [eax - 0x42]
cmp ecx, 0x21
ja 0x1004d75b
mov edx, dword [esp + 0x20]
add edx, dword [ecx*4 + 0x10050a10]
jmp edx
mov eax, esi
mov ebx, dword [esi + 0x2c]
mov esi, dword [esi + 0x30]
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 2
mov dword [esp + 0x58], 0
movzx eax, byte [eax + 0x69]
mov byte [esp + 4], al
lea ecx, [esp + 0x50]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::hb3bae065834a38fe
mov eax, dword [esp + 0x54]
mov edi, dword [esp + 8]
mov word [eax], 0x22
mov eax, dword [esp + 0x14]
mov dword [esp + 0x58], 1
mov dword [esp + 0x12c], eax
mov dword [esp + 0x130], edi
mov word [esp + 0x134], 0
lea ecx, [esp + 0x50]
lea edx, [esp + 0x12c]
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 + 0x58]
cmp edi, dword [esp + 0x50]
jne 0x1004d7e0
lea ecx, [esp + 0x50]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::hb3bae065834a38fe
mov eax, dword [esp + 0x54]
mov word [eax + edi*2], 0x22
inc edi
test esi, esi
mov dword [esp + 0x58], edi
je 0x1004d860
movzx eax, byte [esp + 4]
shl esi, 2
lea edi, [esi + esi*4]
mov dword [esp + 4], eax
nop word cs:[eax + eax]
nop dword [eax]
mov esi, dword [esp + 0x58]
cmp esi, dword [esp + 0x50]
jne 0x1004d823
lea ecx, [esp + 0x50]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::hb3bae065834a38fe
mov eax, dword [esp + 0x54]
mov word [eax + esi*2], 0x20
inc esi
mov dword [esp + 0x58], esi
lea edx, [esp + 0x50]
lea ecx, [esp + 0xa0]
push dword [esp + 4]
push ebx
call sym.std::sys::pal::windows::args::append_arg::hc75ff91adb8fed24
add esp, 8
cmp byte [esp + 0xa0], 4
jne 0x1004dd21
add ebx, 0x14
add edi, 0xffffffec
jne 0x1004d810
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x54]
mov esi, dword [esp + 0x58]
mov ecx, eax
neg ecx
jo 0x1004dd47
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], ecx
mov dword [esp + 0xe0], edx
cmp eax, esi
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], ebx
mov dword [esp + 0xfc], esi
jne 0x1004d8bd
lea ecx, [esp + 0xf4]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::hb3bae065834a38fe
mov ebx, dword [esp + 0xf8]
mov word [ebx + esi*2], 0
inc esi
mov eax, 0x608
mov ecx, 0x400
mov dword [esp + 0xfc], esi
mov esi, dword [esp + 0x28]
cmp byte [esi + 0x68], 0
cmovne ecx, eax
or ecx, dword [esi + 0x58]
test byte [esp + 0x108], 1
mov dword [esp + 0x1c], ecx
je 0x1004dd55
mov eax, dword [esp + 0x40]
mov esi, 2
mov ebx, 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 2
mov dword [esp + 0x38], 0
mov dword [esp + 0xc], 0
mov edi, dword [eax + 8]
movq xmm0, qword [eax]
test edi, edi
mov dword [esp + 0x4c], edi
movq qword [esp + 0x44], xmm0
jne 0x1004d959
mov bl, 1
lea ecx, [esp + 0x30]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::hb3bae065834a38fe
mov esi, dword [esp + 0x34]
mov ebx, 1
mov word [esi], 0
mov dword [esp + 0x38], 1
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
xor edx, edx
test eax, eax
setne dl
cmove edi, eax
mov dword [esp + 0x12c], edx
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], eax
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], edx
mov dword [esp + 0x140], 0
mov dword [esp + 0x144], eax
mov dword [esp + 0x148], ecx
mov dword [esp + 0x14c], edi
lea edi, [esp + 0x50]
lea edx, [esp + 0x12c]
mov ecx, edi
call sym.alloc::collections::btree::map::IntoIter_LT_K_C_V_C_A_GT_::dying_next::h76c1b045a1ff606b
mov eax, dword [esp + 0x50]
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
test eax, eax
je 0x1004fa18
mov edx, dword [esp + 0x58]
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 0x1004fa18
shl edx, 4
mov dword [esp + 0xd0], edi
mov esi, dword [eax + edx]
mov dword [esp + 0x24], esi
mov esi, dword [eax + edx + 4]
mov edx, dword [eax + edx + 8]
mov dword [esp + 0x40], esi
mov esi, dword [eax + ecx + 0xc4]
mov dword [esp + 0x118], edx
mov edx, dword [eax + ecx + 0xb8]
mov dword [esp + 0x98], esi
mov esi, dword [eax + ecx + 0xc8]
mov dword [esp + 0xcc], edx
mov dword [esp + 0x9c], esi
mov esi, dword [eax + ecx + 0xcc]
mov eax, dword [eax + ecx + 0xbc]
mov dword [esp + 0x128], esi
add eax, edx
xor esi, esi
mov dword [esp + 0x20], eax
jmp 0x1004da6d
xor esi, esi
test di, di
je 0x1004ddc1
mov di, 1
test si, si
jne 0x1004da62
cmp edx, eax
je 0x1004db0b
movzx ebx, byte [edx]
test bl, bl
js 0x1004da88
inc edx
jmp 0x1004daf5
movzx ecx, byte [edx + 1]
mov esi, ebx
and esi, 0x1f
and ecx, 0x3f
cmp bl, 0xdf
jbe 0x1004dac3
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
cmp bl, 0xf0
jb 0x1004dacf
movzx ebx, byte [edx + 3]
and esi, 7
shl eax, 6
add edx, 4
shl esi, 0x12
and ebx, 0x3f
or ebx, eax
or ebx, esi
jmp 0x1004dad9
shl esi, 6
add edx, 2
or esi, ecx
mov ebx, esi
jmp 0x1004daf5
shl esi, 0xc
add edx, 3
or eax, esi
mov ebx, eax
mov eax, dword [esp + 0x20]
cmp ebx, 0xffff
jbe 0x1004daf5
and ebx, 0x3ff
or ebx, 0xdc00
mov esi, ebx
jmp 0x1004daf9
xor esi, esi
mov edi, ebx
mov ebx, dword [esp + 4]
test di, di
jne 0x1004da6d
jmp 0x1004ddc1
cmp dword [esp + 0xd0], 0
mov edi, dword [esp + 8]
mov esi, dword [esp + 0x128]
je 0x1004db34
push dword [esp + 0xcc]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
mov eax, dword [esp + 0x30]
sub eax, ebx
cmp eax, esi
jae 0x1004db59
mov edx, ebx
lea ecx, [esp + 0x30]
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 edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x38]
lea eax, [esi + esi]
mov dword [esp + 8], edi
lea ecx, [edi + ebx*2]
push eax
mov edi, esi
mov esi, dword [esp + 0xa0]
push esi
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
add ebx, edi
cmp dword [esp + 0x98], 0
mov dword [esp + 0x38], ebx
je 0x1004db95
push esi
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
cmp ebx, dword [esp + 0x30]
lea edi, [esp + 0x50]
jne 0x1004dbb0
lea ecx, [esp + 0x30]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::hb3bae065834a38fe
mov eax, dword [esp + 0x34]
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x40]
and dword [esp + 0xcc], 0xffffff00
xor esi, esi
mov word [eax + ebx*2], 0x3d
mov eax, dword [esp + 0x118]
inc ebx
mov dword [esp + 0x38], ebx
add eax, ecx
mov dword [esp + 4], eax
mov eax, ecx
jmp 0x1004dbec
xor esi, esi
test dx, dx
je 0x1004f2b4
mov dx, 1
test si, si
jne 0x1004dbe1
cmp ecx, dword [esp + 4]
je 0x1004dc8a
movzx ebx, byte [ecx]
test bl, bl
js 0x1004dc09
inc ecx
jmp 0x1004dc81
movzx eax, byte [ecx + 1]
mov esi, ebx
and esi, 0x1f
and eax, 0x3f
cmp bl, 0xdf
jbe 0x1004dc44
movzx edi, byte [ecx + 2]
shl eax, 6
and edi, 0x3f
or edi, eax
cmp bl, 0xf0
jb 0x1004dc54
movzx ebx, byte [ecx + 3]
and esi, 7
shl edi, 6
add ecx, 4
shl esi, 0x12
and ebx, 0x3f
or ebx, edi
or ebx, esi
jmp 0x1004dc5e
shl esi, 6
add ecx, 2
or esi, eax
mov eax, dword [esp + 0x40]
mov ebx, esi
jmp 0x1004dc81
shl esi, 0xc
add ecx, 3
or edi, esi
mov ebx, edi
mov eax, dword [esp + 0x40]
cmp ebx, 0xffff
lea edi, [esp + 0x50]
jbe 0x1004dc81
and ebx, 0x3ff
or ebx, 0xdc00
mov esi, ebx
jmp 0x1004dbe3
xor esi, esi
mov edx, ebx
jmp 0x1004dbe3
mov edx, dword [esp + 0x24]
mov esi, eax
mov ecx, eax
shr esi, 8
mov dword [esp + 0x124], esi
neg edx
jo 0x10050169
mov eax, dword [esp + 4]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], eax
mov word [esp + 0xa8], 0
lea ecx, [esp + 0x30]
lea edx, [esp + 0xa0]
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
cmp dword [esp + 0x24], 0
je 0x1004dce8
push dword [esp + 0x40]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
mov ebx, dword [esp + 0x38]
cmp ebx, dword [esp + 0x30]
jne 0x1004dcfb
lea ecx, [esp + 0x30]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::hb3bae065834a38fe
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0xcc]
lea edx, [esp + 0x12c]
mov word [esi + ebx*2], 0
inc ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x38], ebx
jmp 0x1004d9bd
mov ebx, dword [esp + 0xa0]
mov esi, dword [esp + 0xa4]
cmp dword [esp + 0x50], 0
je 0x1004dd47
push dword [esp + 0x54]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
mov eax, dword [esp + 0x94]
mov dword [eax], ebx
jmp 0x1004ecf9
mov dword [esp + 4], 0
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0
xor ebx, ebx
cmp ebx, dword [esi + 0x34]
jno 0x1004e2b5
mov edi, 2
mov dword [esp + 0x40], 0
pxor xmm0, xmm0
mov cl, 1
xor eax, eax
movdqu xmmword [esp + 0x30], xmm0
lock cmpxchg byte [0x100ff0c4], cl
jne 0x1004fa91
mov eax, dword [0x100ff0ac]
mov dword [esp + 0x20], edi
test eax, 0x7fffffff
je 0x1004fab2
call sym.std::panicking::panic_count::is_zero_slow_path::h8d6729d981530f26
xor al, 1
jmp 0x1004fab4
cmp dword [esp + 0xd0], 0
je 0x1004dddf
push dword [esp + 0xcc]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x24], 0
mov esi, dword [esp + 0x9c]
je 0x1004ddfe
push dword [esp + 0x40]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
or dword [esp + 0xc], 2
cmp dword [esp + 0x98], 0
mov edi, 0x100f0f5c
je 0x1004f2e3
push esi
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
jmp 0x1004f2e3
mov dword [esp + 0x24], 1
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x1004de7e
add edx, eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], edx
mov word [esp + 0xa8], 0
mov byte [esp + 0xac], 1
lea eax, [esp + 0xa0]
lea ecx, [esp + 0x50]
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 + 0x50]
mov edi, dword [esp + 0x18]
mov ecx, eax
neg ecx
jno 0x1004dee5
lea ecx, [esp + 0x50]
call sym.__ZN3std3sys3pal7windows2os11current_exe17ha4f316e9c806e5b5E.llvm.10150728606014878797
mov esi, dword [esp + 0x50]
mov eax, esi
neg eax
jno 0x1004e260
cmp byte [esp + 0x54], 3
jne 0x1004e42f
mov esi, dword [esp + 0x58]
mov ebx, dword [esi + 4]
mov edi, dword [esi]
mov eax, dword [ebx]
test eax, eax
je 0x1004deb5
push edi
call eax
add esp, 4
cmp dword [ebx + 4], 0
je 0x1004ded2
cmp dword [ebx + 8], 9
jb 0x1004dec4
mov edi, dword [edi - 4]
push edi
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
push esi
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
jmp 0x1004e42f
movzx ecx, word [esp + 0xa8]
mov edx, dword [esp + 0xa4]
movzx ebx, byte [esp + 0xac]
mov esi, dword [esp + 0xa0]
mov dword [esp + 0x10], ecx
mov dword [esp + 4], edx
jmp 0x1004df3b
mov dword [esp + 0x50], 0x80000000
cmp dword [esp + 0x30], 0
je 0x1004df2d
push dword [esp + 0x34]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
mov eax, dword [esp + 0x50]
mov ecx, eax
neg ecx
jo 0x1004de7e
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x54]
test edx, edx
jne 0x1004e189
test eax, eax
mov byte [esp + 0x1c], bl
je 0x1004df61
push ecx
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
xor ecx, ecx
mov edi, dword [esp + 0x10]
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 2
mov dword [esp + 0x2c], 2
mov dword [esp + 0xc], 0
jmp 0x1004dfa0
mov ecx, dword [esp + 0xe0]
mov eax, dword [esp + 0x2c]
mov word [eax + ecx*2], bx
inc ecx
mov eax, dword [esp + 0xc]
mov ebx, edi
mov dword [esp + 0xe0], ecx
mov dword [esp + 0x38], ecx
test bx, bx
je 0x1004dfe0
nop word cs:[eax + eax]
mov dword [esp + 0x10], 0
xor edi, edi
cmp bx, 0x22
je 0x1004e0b0
jmp 0x1004e0d0
cmp esi, dword [esp + 4]
je 0x1004e120
movzx ebx, byte [esi]
test bl, bl
js 0x1004e010
inc esi
xor edi, edi
cmp bx, 0x22
je 0x1004e0b0
jmp 0x1004e0d0
movzx edi, byte [esi + 1]
mov ecx, ebx
and ecx, 0x1f
and edi, 0x3f
cmp bl, 0xdf
jbe 0x1004e05b
movzx edx, byte [esi + 2]
shl edi, 6
and edx, 0x3f
or edx, edi
cmp bl, 0xf0
jb 0x1004e06f
movzx ebx, byte [esi + 3]
and ecx, 7
shl edx, 6
add esi, 4
shl ecx, 0x12
and ebx, 0x3f
or ebx, edx
or ebx, ecx
cmp ebx, 0xffff
ja 0x1004e081
xor edi, edi
cmp bx, 0x22
je 0x1004e0b0
jmp 0x1004e0d0
shl ecx, 6
add esi, 2
or ecx, edi
xor edi, edi
mov ebx, ecx
cmp bx, 0x22
je 0x1004e0b0
jmp 0x1004e0d0
shl ecx, 0xc
add esi, 3
or edx, ecx
mov ebx, edx
cmp ebx, 0xffff
jbe 0x1004e051
lea ecx, [ebx + 0xff0000]
and ebx, 0x3ff
shr ecx, 0xa
or ebx, 0xdc00
or ecx, 0xd800
mov edx, ebx
mov edi, ebx
mov ebx, ecx
mov dword [esp + 0x10], edx
cmp bx, 0x22
jne 0x1004e0d0
nop dword [eax]
xor al, 1
mov ebx, edi
test bx, bx
jne 0x1004dfc0
jmp 0x1004dfe0
movzx ecx, bx
mov dword [esp + 0xc], eax
cmp ecx, 0x3b
jne 0x1004e0ed
test byte [esp + 0xc], 1
je 0x1004e185
mov al, 1
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0xe0]
cmp ecx, dword [esp + 0x30]
jne 0x1004df90
lea ecx, [esp + 0x30]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::hb3bae065834a38fe
mov eax, dword [esp + 0x34]
mov dword [esp + 0x2c], eax
jmp 0x1004df90
xor ebx, ebx
mov edx, dword [esp + 0xe0]
movzx ecx, byte [esp + 0x1c]
mov edi, dword [esp + 0x18]
test edx, edx
setne al
or cl, al
test cl, 1
je 0x1004df0d
push edx
push dword [esp + 0x38]
lea eax, [esp + 0x134]
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 + 0x12c]
movsd xmm1, qword [esp + 0x134]
movsd qword [esp + 0x58], xmm1
movq qword [esp + 0x50], xmm0
cmp dword [esp + 0x30], 0
jne 0x1004df1c
jmp 0x1004df2d
mov bl, 1
jmp 0x1004e122
mov dword [esp + 0x12c], eax
mov byte [esp + 0xac], bl
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x130], ecx
mov dword [esp + 0x134], edx
mov word [esp + 0xa8], bx
mov dword [esp + 0xa0], esi
mov dword [esp + 0x138], eax
push edi
push dword [esp + 0x18]
lea eax, [esp + 0x134]
push eax
call sym.std::path::PathBuf::_push::ha56d6a1011698711
add esp, 0xc
cmp dword [esp + 0x24], 1
je 0x1004e1f6
push 3
push str.exe.NULcmd.exestd_src_syspalwindows_stdio.rs
lea eax, [esp + 0x134]
push eax
call sym.std::path::PathBuf::_set_extension::h501fcaef8a777b49
add esp, 0xc
mov esi, dword [esp + 0x130]
mov edx, esi
lea ecx, [esp + 0x50]
push dword [esp + 0x134]
call sym.std::sys::pal::windows::process::program_exists::h95b868495f4c10d1
add esp, 4
cmp dword [esp + 0x12c], 0
je 0x1004e22a
push esi
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
mov ecx, dword [esp + 0x50]
mov eax, ecx
neg eax
jno 0x1004fdaa
lea eax, [esp + 0xa0]
push eax
lea eax, [esp + 0x54]
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
mov eax, dword [esp + 0x50]
mov ecx, eax
neg ecx
jno 0x1004dee5
jmp 0x1004de7e
mov eax, dword [esp + 0x5c]
mov edi, dword [esp + 0x54]
mov ebx, dword [esp + 0x58]
mov dword [esp + 0x10], eax
push ebx
push edi
call sym.std::path::Path::parent::he69992ed5d482ff2
add esp, 8
test eax, eax
je 0x1004e396
test edx, edx
je 0x1004e394
cmp ebx, edx
jbe 0x1004e38a
cmp byte [edi + edx], 0xbf
jg 0x1004e390
push 0x100f0574
push 0x37
push 0x100f053a
call sym.core::panicking::panic::hf6244c8fb5815825
add esp, 0xc
jmp 0x100503ac
mov edx, dword [esi + 0x38]
mov eax, dword [esi + 0x3c]
xor edi, edi
add eax, edx
mov dword [esp + 0x20], edx
mov dword [esp + 0x40], eax
jmp 0x1004e2d4
xor edi, edi
test si, si
je 0x1004e368
mov si, 1
test di, di
jne 0x1004e2c9
cmp edx, eax
je 0x1004f325
movzx ebx, byte [edx]
test bl, bl
js 0x1004e2ef
inc edx
jmp 0x1004e35f
movzx ecx, byte [edx + 1]
mov edi, ebx
and edi, 0x1f
and ecx, 0x3f
cmp bl, 0xdf
jbe 0x1004e32a
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
cmp bl, 0xf0
jb 0x1004e336
movzx ebx, byte [edx + 3]
and edi, 7
shl eax, 6
add edx, 4
shl edi, 0x12
and ebx, 0x3f
or ebx, eax
or ebx, edi
jmp 0x1004e340
shl edi, 6
add edx, 2
or edi, ecx
mov ebx, edi
jmp 0x1004e35f
shl edi, 0xc
add edx, 3
or eax, edi
mov ebx, eax
mov eax, dword [esp + 0x40]
cmp ebx, 0xffff
jbe 0x1004e35f
and ebx, 0x3ff
or ebx, 0xdc00
mov edi, ebx
jmp 0x1004e2cb
xor edi, edi
mov esi, ebx
jmp 0x1004e2cb
mov esi, 0x100f0f5c
mov edi, 2
mov eax, dword [esp + 0x94]
mov dword [eax + 4], esi
mov dword [eax], edi
mov dword [eax + 8], 2
jmp 0x1005007b
jne 0x1004e29c
cmp ebx, edx
jb 0x1004e396
mov ebx, edx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x12c], esi
mov dword [esp + 0x130], edi
mov dword [esp + 0x134], ebx
mov dword [esp + 0x138], eax
lea esi, [esp + 0x12c]
push dword [esp + 0x18]
push dword [esp + 0x18]
push esi
call sym.std::path::PathBuf::_push::ha56d6a1011698711
add esp, 0xc
cmp dword [esp + 0x24], 1
je 0x1004e3e5
push 3
push str.exe.NULcmd.exestd_src_syspalwindows_stdio.rs
push esi
call sym.std::path::PathBuf::_set_extension::h501fcaef8a777b49
add esp, 0xc
mov esi, dword [esp + 0x130]
mov edx, esi
lea ecx, [esp + 0xa0]
push dword [esp + 0x134]
call sym.std::sys::pal::windows::process::program_exists::h95b868495f4c10d1
add esp, 4
cmp dword [esp + 0x12c], 0
je 0x1004e41c
push esi
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x2c], eax
neg eax
jno 0x1004e868
mov esi, 0x200
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 2
mov dword [esp + 0x38], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 2
cmp esi, 0x201
jb 0x1004e482
jmp 0x1004e4a0
mov ebx, dword [esp + 0x18]
jbe 0x1004e52c
cmp esi, 0x201
jae 0x1004e4a0
mov dword [esp + 4], 0x200
lea edi, [esp + 0x12c]
mov ebx, esi
jmp 0x1004e4d7
mov ebx, dword [esp + 0x10]
sub esi, ebx
je 0x1004e4c7
mov edx, ebx
lea ecx, [esp + 0x30]
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 + 0x30]
mov eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
mov edi, dword [esp + 0xc]
mov dword [esp + 0x38], ebx
mov dword [esp + 4], ebx
mov dword [esp + 0x10], ebx
push 0
call sub.kernel32.dll_SetLastError
push ebx
push edi
call sub.kernel32.dll_GetSystemDirectoryW
mov esi, eax
test eax, eax
jne 0x1004e4f8
call sub.kernel32.dll_GetLastError
test eax, eax
jne 0x1004e5e5
cmp esi, ebx
jne 0x1004e470
call sub.kernel32.dll_GetLastError
cmp eax, 0x7a
jne 0x100502ab
lea esi, [ebx + ebx]
test ebx, ebx
mov eax, 0xffffffff
cmovs esi, eax
cmp esi, 0x201
jae 0x1004e4a0
jmp 0x1004e482
mov eax, dword [esp + 4]
cmp esi, eax
ja 0x1005037b
push esi
push edi
lea esi, [esp + 0x58]
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 + 0x18]
push esi
call sym.std::path::PathBuf::_push::ha56d6a1011698711
add esp, 0xc
cmp dword [esp + 0x24], 1
je 0x1004e56c
push 3
push str.exe.NULcmd.exestd_src_syspalwindows_stdio.rs
push esi
call sym.std::path::PathBuf::_set_extension::h501fcaef8a777b49
add esp, 0xc
mov esi, dword [esp + 0x54]
mov edx, esi
lea ecx, [esp + 0xa0]
push dword [esp + 0x58]
call sym.std::sys::pal::windows::process::program_exists::h95b868495f4c10d1
add esp, 4
cmp dword [esp + 0x50], 0
je 0x1004e59a
push esi
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
mov eax, dword [esp + 0xa0]
mov esi, dword [esp + 0xa8]
cmp dword [esp + 0x30], 0
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0xa4]
je 0x1004e5d3
push dword [esp + 0x34]
push 0
push dword [0x100ff0c8]
mov edi, esi
mov esi, eax
call sub.kernel32.dll_HeapFree
mov eax, esi
mov esi, edi
cmp dword [esp + 0x2c], 0x80000001
jg 0x1004e9da
je 0x1004e606
jmp 0x1004e64a
call sub.kernel32.dll_GetLastError
cmp dword [esp + 0x30], 0
mov esi, eax
je 0x1004e604
push dword [esp + 0x34]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
xor eax, eax
cmp al, 3
jne 0x1004e64a
mov eax, esi
mov esi, dword [esi]
mov edi, dword [eax + 4]
mov ebx, eax
mov eax, dword [edi]
test eax, eax
je 0x1004e61f
push esi
call eax
add esp, 4
cmp dword [edi + 4], 0
je 0x1004e63c
cmp dword [edi + 8], 9
jb 0x1004e62e
mov esi, dword [esi - 4]
push esi
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
push ebx
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
mov esi, 0x200
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 2
mov dword [esp + 0x38], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 2
cmp esi, 0x201
jb 0x1004e6a2
jmp 0x1004e6c0
mov ebx, dword [esp + 0x18]
jbe 0x1004e74c
cmp esi, 0x201
jae 0x1004e6c0
mov dword [esp + 4], 0x200
lea edi, [esp + 0x12c]
mov ebx, esi
jmp 0x1004e6f7
mov ebx, dword [esp + 0x10]
sub esi, ebx
je 0x1004e6e7
mov edx, ebx
lea ecx, [esp + 0x30]
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 + 0x30]
mov eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
mov edi, dword [esp + 0xc]
mov dword [esp + 0x38], ebx
mov dword [esp + 4], ebx
mov dword [esp + 0x10], ebx
push 0
call sub.kernel32.dll_SetLastError
push ebx
push edi
call sub.kernel32.dll_GetWindowsDirectoryW
mov esi, eax
test eax, eax
jne 0x1004e718
call sub.kernel32.dll_GetLastError
test eax, eax
jne 0x1004e87f
cmp esi, ebx
jne 0x1004e690
call sub.kernel32.dll_GetLastError
cmp eax, 0x7a
jne 0x100502c4
lea esi, [ebx + ebx]
test ebx, ebx
mov eax, 0xffffffff
cmovs esi, eax
cmp esi, 0x201
jae 0x1004e6c0
jmp 0x1004e6a2
mov eax, dword [esp + 4]
cmp esi, eax
ja 0x1005038c
push esi
push edi
lea esi, [esp + 0x58]
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 + 0x18]
push esi
call sym.std::path::PathBuf::_push::ha56d6a1011698711
add esp, 0xc
cmp dword [esp + 0x24], 1
mov ebx, esi
je 0x1004e78e
push 3
push str.exe.NULcmd.exestd_src_syspalwindows_stdio.rs
push ebx
call sym.std::path::PathBuf::_set_extension::h501fcaef8a777b49
add esp, 0xc
mov esi, dword [esp + 0x54]
mov edx, esi
lea ecx, [esp + 0xa0]
push dword [esp + 0x58]
call sym.std::sys::pal::windows::process::program_exists::h95b868495f4c10d1
add esp, 4
cmp dword [esp + 0x50], 0
je 0x1004e7bc
push esi
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
mov eax, dword [esp + 0xa0]
movzx esi, byte [esp + 0xa4]
movzx edi, byte [esp + 0xa7]
cmp dword [esp + 0x30], 0
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x1c], eax
movzx eax, word [esp + 0xa5]
je 0x1004e80a
push dword [esp + 0x34]
push 0
push dword [0x100ff0c8]
mov ebx, eax
call sub.kernel32.dll_HeapFree
mov eax, ebx
lea ebx, [esp + 0x50]
cmp dword [esp + 0x2c], 0x80000001
jg 0x1004ea07
jne 0x1004e8a0
cmp esi, 3
jne 0x1004e8a0
mov eax, dword [esp + 0x1c]
mov edi, dword [eax + 4]
mov esi, dword [eax]
mov eax, dword [edi]
test eax, eax
je 0x1004e838
push esi
call eax
add esp, 4
cmp dword [edi + 4], 0
je 0x1004e855
cmp dword [edi + 8], 9
jb 0x1004e847
mov esi, dword [esi - 4]
push esi
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
push dword [esp + 0x1c]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
jmp 0x1004e8a0
mov eax, dword [esp + 0xa8]
mov edi, dword [esp + 0xa4]
mov dword [esp + 0x1c], eax
jmp 0x1004ea13
call sub.kernel32.dll_GetLastError
cmp dword [esp + 0x30], 0
je 0x1004e89c
push dword [esp + 0x34]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
lea ebx, [esp + 0x50]
lea eax, [esp + 0xa0]
push 4
push str.PATHstd_src_sys_commonprocess.rs
push eax
call sym.std::env::_var_os::h51f55a83741f426c
add esp, 0xc
mov esi, dword [esp + 0xa0]
mov eax, esi
neg eax
jo 0x1004e9f5
mov ecx, dword [esp + 0xa4]
mov eax, dword [esp + 0xa8]
lea edi, [esp + 0x12c]
add eax, ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x54], eax
mov word [esp + 0x58], 0
mov byte [esp + 0x5c], 1
push ebx
push edi
call sym.__ZN97__LT_std..sys..pal..windows..os..SplitPaths_u20_as_u20_core..iter..traits..iterator..Iterator_GT_4next17he5885939c0be9f4
add esp, 8
jmp 0x1004e90d
push ebx
push edi
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 + 0x12c]
mov ecx, eax
neg ecx
jo 0x1004e9e0
mov edx, dword [esp + 0x134]
mov ecx, dword [esp + 0x130]
test edx, edx
jne 0x1004e944
test eax, eax
je 0x1004e903
push ecx
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
jmp 0x1004e903
mov ebx, dword [esp + 0x138]
mov dword [esp + 0x12c], eax
mov dword [esp + 0x130], ecx
mov dword [esp + 0x134], edx
mov dword [esp + 0x138], ebx
push dword [esp + 0x18]
push dword [esp + 0x18]
push edi
call sym.std::path::PathBuf::_push::ha56d6a1011698711
add esp, 0xc
cmp dword [esp + 0x24], 1
je 0x1004e98f
push 3
push str.exe.NULcmd.exestd_src_syspalwindows_stdio.rs
push edi
call sym.std::path::PathBuf::_set_extension::h501fcaef8a777b49
add esp, 0xc
mov ebx, dword [esp + 0x130]
mov edx, ebx
lea ecx, [esp + 0x30]
push dword [esp + 0x134]
call sym.std::sys::pal::windows::process::program_exists::h95b868495f4c10d1
add esp, 4
cmp dword [esp + 0x12c], 0
je 0x1004e9c3
push ebx
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
mov ecx, dword [esp + 0x30]
mov eax, ecx
neg eax
jno 0x100500de
lea ebx, [esp + 0x50]
jmp 0x1004e8f7
mov dword [esp + 0x1c], esi
jmp 0x1004ea11
test esi, esi
je 0x1004e9f5
push dword [esp + 0x10]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
mov byte [esp + 0x48], 2
mov dword [esp + 0x4c], 0x100f0fac
jmp 0x1004d113
shl edi, 0x10
or eax, edi
shl eax, 8
or eax, esi
mov edi, eax
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x1c]
cmp ecx, 4
mov dword [esp + 0x10], edi
mov dword [esp + 0x1c], ecx
jae 0x1004d687
mov eax, 0x200
xor esi, esi
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 2
mov dword [esp + 0x58], 0
mov dword [esp + 0xe0], 2
cmp eax, 0x201
jb 0x1004ea6d
jmp 0x1004ea80
jbe 0x1004eb21
cmp eax, 0x201
jae 0x1004ea80
mov dword [esp + 0xc], 0x200
lea edi, [esp + 0x12c]
mov ebx, eax
jmp 0x1004eab7
sub eax, esi
je 0x1004eaa6
mov edx, esi
lea ecx, [esp + 0x50]
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 + 0x50]
mov eax, dword [esp + 0x54]
mov dword [esp + 0xe0], eax
mov edi, dword [esp + 0xe0]
mov ebx, esi
mov dword [esp + 0x58], esi
mov dword [esp + 0xc], esi
push 0
call sub.kernel32.dll_SetLastError
push 0
mov dword [esp + 8], edi
push edi
push ebx
push dword [esp + 0x1c]
call sub.kernel32.dll_GetFullPathNameW
test eax, eax
jne 0x1004eaee
mov dword [esp + 0x18], esi
mov edi, eax
call sub.kernel32.dll_GetLastError
mov esi, dword [esp + 0x18]
mov ecx, eax
mov eax, edi
test ecx, ecx
jne 0x1004ecd0
cmp eax, ebx
jne 0x1004ea60
call sub.kernel32.dll_GetLastError
cmp eax, 0x7a
jne 0x10050241
lea eax, [ebx + ebx]
test ebx, ebx
mov ecx, 0xffffffff
cmovs eax, ecx
cmp eax, 0x201
jae 0x1004ea80
jmp 0x1004ea6d
mov ecx, dword [esp + 0xc]
cmp eax, ecx
ja 0x10050359
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 4]
cmp eax, 4
jb 0x1004ebab
cmp word [ecx + eax*2 - 8], 0x2e
jne 0x1004ebab
movzx ecx, word [ecx + eax*2 - 6]
xor ebx, ebx
lea edx, [ecx - 0x42]
cmp edx, 0x21
ja 0x1004ebad
mov edi, dword [esp + 0x20]
add edi, dword [edx*4 + 0x10050988]
jmp edi
xor ebx, ebx
cmp dword [esp + 0x50], 0
je 0x1004ebc5
push dword [esp + 0x54]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
test bl, bl
je 0x1004d75b
lea eax, [esp + 0x54]
mov edi, 0x200
xor ebx, ebx
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 2
mov dword [esp + 0x58], 0
mov dword [esp + 0xe0], 2
mov dword [esp + 0x14], eax
cmp edi, 0x201
jb 0x1004ec1e
jmp 0x1004ec40
jbe 0x1004ed01
cmp edi, 0x201
jae 0x1004ec40
lea eax, [esp + 0x12c]
mov esi, edi
mov dword [esp + 0xc], 0x200
mov edi, eax
jmp 0x1004ec77
sub edi, ebx
je 0x1004ec66
mov edx, ebx
lea ecx, [esp + 0x50]
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 + 0x50]
mov eax, dword [esp + 0x54]
mov dword [esp + 0xe0], eax
mov edi, dword [esp + 0xe0]
mov esi, ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0xc], ebx
push 0
call sub.kernel32.dll_SetLastError
push esi
mov dword [esp + 8], edi
push edi
call sub.kernel32.dll_GetSystemDirectoryW
mov edi, eax
test eax, eax
jne 0x1004ec9c
call sub.kernel32.dll_GetLastError
test eax, eax
jne 0x1004ed5b
cmp edi, esi
jne 0x1004ec10
call sub.kernel32.dll_GetLastError
cmp eax, 0x7a
jne 0x10050292
lea edi, [esi + esi]
test esi, esi
mov eax, 0xffffffff
cmovs edi, eax
cmp edi, 0x201
jae 0x1004ec40
jmp 0x1004ec1e
call sub.kernel32.dll_GetLastError
cmp dword [esp + 0x50], 0
mov esi, eax
je 0x1004ecef
push dword [esp + 0x54]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
mov eax, dword [esp + 0x94]
mov byte [eax], 0
mov dword [eax + 4], esi
jmp 0x1004ef80
mov eax, dword [esp + 0xc]
cmp edi, eax
ja 0x1005036a
xor eax, eax
lea ebx, [edi + edi]
test edi, edi
js 0x1004ed4c
cmp ebx, 0x7ffffffe
ja 0x1004ed4c
test ebx, ebx
je 0x1004ed81
mov eax, dword [0x100f2e44]
movzx eax, byte [eax]
sub esp, 0xc
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
call sym.std::sys::alloc::windows::process_heap_alloc::hc2bfe060f1f208f4
add esp, 0xc
test eax, eax
mov esi, edi
jne 0x1004ed88
mov eax, 2
push ebx
push eax
call sym.alloc::raw_vec::handle_error::he63c9115d026ec98
add esp, 8
jmp 0x100503ac
call sub.kernel32.dll_GetLastError
cmp dword [esp + 0x50], 0
mov esi, eax
je 0x1004ed7a
push dword [esp + 0x54]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
xor ecx, ecx
jmp 0x1004ef74
mov eax, 2
xor esi, esi
push ebx
push dword [esp + 8]
mov ebx, eax
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
cmp dword [esp + 0x50], 0
je 0x1004edb0
push dword [esp + 0x54]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
mov dword [esp + 0xa0], esi
lea eax, [esp + 0xa4]
mov dword [esp + 0xa4], ebx
mov edx, ebx
mov ecx, 0x100f0fc2
xor ebx, ebx
mov dword [esp + 0xa8], edi
mov dword [esp + 0xc], 0
mov dword [esp + 0x14], eax
jmp 0x1004edfb
mov dword [esp + 4], ecx
mov ecx, edx
mov edx, esi
mov word [edx + edi*2], bx
mov ebx, dword [esp + 4]
inc edi
mov dword [esp + 0xa8], edi
test ecx, ecx
je 0x1004ee60
test bx, bx
je 0x1004ee40
mov esi, edx
mov edx, ecx
xor ecx, ecx
cmp edi, dword [esp + 0xa0]
jne 0x1004ede3
mov eax, 0x100f0fc2
mov esi, edx
sub eax, edx
mov edx, 0xaaaaaaab
add eax, 0xa
mul edx
mov eax, edx
mov edx, dword [esp + 0xc]
shr eax, 1
cmp cx, 1
mov dword [esp + 4], ecx
mov ecx, esi
adc edx, 0xffffffff
sub eax, edx
inc eax
jmp 0x1004ee92
lea eax, [0x100f0fca]
cmp ecx, eax
je 0x1004ee60
movzx ebx, byte [ecx]
test bl, bl
js 0x1004eeb9
inc ecx
mov esi, edx
mov edx, ecx
xor ecx, ecx
jmp 0x1004ee0a
cmp dword [esp + 0xc], 1
mov ecx, dword [esp + 0xa0]
je 0x1004ef51
mov dword [esp + 4], ebx
xor ebx, ebx
cmp edi, ecx
mov ecx, 0
mov eax, 0
mov dword [esp + 0xc], 1
jne 0x1004edeb
mov esi, ecx
inc eax
mov edx, edi
lea ecx, [esp + 0xa0]
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 + 0xa4]
mov ecx, esi
jmp 0x1004edeb
movzx esi, byte [ecx + 1]
mov eax, ebx
mov dword [esp + 4], edx
and eax, 0x1f
and esi, 0x3f
cmp bl, 0xdf
jbe 0x1004eefa
mov edx, ecx
movzx ecx, byte [ecx + 2]
shl esi, 6
and ecx, 0x3f
or ecx, esi
cmp bl, 0xf0
jb 0x1004ef11
movzx ebx, byte [edx + 3]
and eax, 7
shl ecx, 6
add edx, 4
shl eax, 0x12
and ebx, 0x3f
or ebx, ecx
or ebx, eax
jmp 0x1004ef1b
shl eax, 6
add ecx, 2
or eax, esi
mov esi, dword [esp + 4]
mov edx, ecx
xor ecx, ecx
mov ebx, eax
jmp 0x1004ee0a
shl eax, 0xc
add edx, 3
or ecx, eax
mov ebx, ecx
mov esi, dword [esp + 4]
cmp ebx, 0xffff
jbe 0x1004ef4a
lea eax, [ebx + 0xff0000]
and ebx, 0x3ff
shr eax, 0xa
or ebx, 0xdc00
or eax, 0xd800
mov ecx, ebx
mov ebx, eax
jmp 0x1004ee0a
xor ecx, ecx
jmp 0x1004ee0a
mov eax, dword [esp + 0xa4]
mov dword [esp + 0xe0], ecx
mov ecx, ecx
neg ecx
mov dword [esp + 0x14], eax
jno 0x1004efaf
mov esi, dword [esp + 0xa8]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x94]
mov dword [eax + 4], esi
mov dword [eax], ecx
mov dword [eax + 8], 2
mov bl, 1
cmp dword [esp + 0x2c], 0
mov eax, dword [esp + 0x10]
je 0x1004efa2
push eax
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
test bl, bl
jne 0x1004d12e
jmp 0x1004d24c
xor eax, eax
mov esi, 0x14
test al, al
jne 0x100503a2
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 0x2c]
mov edx, dword [eax + 0x30]
movzx eax, byte [eax + 0x69]
mov byte [esp + 0x24], al
mov eax, dword [0x100f2e44]
mov dword [esp + 8], ecx
mov dword [esp + 0x18], edx
movzx eax, byte [eax]
sub esp, 0xc
mov dword [esp + 8], esi
mov dword [esp + 4], 0
call sym.std::sys::alloc::windows::process_heap_alloc::hc2bfe060f1f208f4
add esp, 0xc
test eax, eax
je 0x1005039d
lea edi, [esp + 0x130]
lea esi, [0x100f0bf9]
mov ecx, 0xa
xor edx, edx
mov word [eax], 0x63
mov dword [esp + 0x20], edi
mov edi, 1
mov dword [esp + 0x12c], ecx
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], 1
mov dword [esp + 4], esi
jmp 0x1004f04e
mov word [eax + edi*2], dx
inc edi
mov edx, ebx
mov dword [esp + 0x134], edi
test dx, dx
je 0x1004f070
xor ebx, ebx
cmp edi, dword [esp + 0x12c]
jne 0x1004f040
jmp 0x1004f160
lea ecx, [0x100f0c14]
cmp dword [esp + 4], ecx
je 0x1004f1b5
mov ecx, dword [esp + 4]
movzx edx, byte [ecx]
test dl, dl
js 0x1004f09f
inc dword [esp + 4]
xor ebx, ebx
cmp edi, dword [esp + 0x12c]
jne 0x1004f040
jmp 0x1004f160
mov esi, dword [esp + 4]
mov ecx, edx
and ecx, 0x1f
movzx ebx, byte [esi + 1]
and ebx, 0x3f
cmp dl, 0xdf
jbe 0x1004f100
mov esi, edx
mov edx, dword [esp + 4]
shl ebx, 6
movzx edx, byte [edx + 2]
and edx, 0x3f
or edx, ebx
mov ebx, esi
cmp bl, 0xf0
jb 0x1004f11c
mov esi, dword [esp + 4]
mov ebx, edi
shl edx, 6
and ecx, 7
shl ecx, 0x12
movzx edi, byte [esi + 3]
add esi, 4
mov dword [esp + 4], esi
and edi, 0x3f
or edi, edx
mov edx, edi
mov edi, ebx
or edx, ecx
cmp edx, 0xffff
jbe 0x1004f053
jmp 0x1004f132
add dword [esp + 4], 2
shl ecx, 6
or ecx, ebx
xor ebx, ebx
mov edx, ecx
cmp edi, dword [esp + 0x12c]
je 0x1004f160
jmp 0x1004f040
add dword [esp + 4], 3
shl ecx, 0xc
or edx, ecx
cmp edx, 0xffff
jbe 0x1004f053
lea ecx, [edx + 0xff0000]
and edx, 0x3ff
shr ecx, 0xa
or edx, 0xdc00
or ecx, 0xd800
mov ebx, edx
mov edx, ecx
cmp edi, dword [esp + 0x12c]
jne 0x1004f040
nop
mov ecx, dword [esp + 4]
mov eax, 0x100f0bf8
mov dword [esp + 0xc], edx
mov esi, ebx
sub eax, ecx
mov ecx, 0xaaaaaaab
add eax, 0x1e
mul ecx
mov eax, edx
shr eax, 1
cmp bx, 1
sbb eax, 0
add eax, 2
mov ebx, edi
mov edx, edi
lea ecx, [esp + 0x12c]
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 + 0x130]
mov edx, dword [esp + 0xc]
mov edi, ebx
mov ebx, esi
jmp 0x1004f040
movq xmm0, qword [esp + 0x12c]
mov esi, dword [esp + 0x134]
movq qword [esp + 0x50], xmm0
mov dword [esp + 0x58], esi
cmp esi, dword [esp + 0x50]
jne 0x1004f1de
lea ecx, [esp + 0x50]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::hb3bae065834a38fe
mov edi, dword [esp + 0x54]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
xor ecx, ecx
mov word [edi + esi*2], 0x22
inc esi
add eax, eax
mov dword [esp + 0x58], esi
cmp eax, ecx
je 0x1004f27a
cmp word [edx + ecx], 0x22
lea ecx, [ecx + 2]
jne 0x1004f1f9
xor edi, edi
mov esi, 0x100f0c7c
mov ebx, 2
cmp dword [esp + 0x50], 0
je 0x1004f22b
push dword [esp + 0x54]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
mov eax, 0x80000000
and edi, 0xffffff00
movzx ebx, bl
mov ecx, eax
or ebx, edi
neg ecx
jno 0x1004f2a9
mov eax, dword [esp + 0x94]
cmp dword [esp + 0xe0], 0
mov dword [eax], ebx
mov bl, 1
mov dword [eax + 4], esi
mov dword [eax + 8], 2
je 0x1004ef89
push dword [esp + 0x14]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
jmp 0x1004ef89
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
xor edx, edx
mov ebx, ecx
sub ebx, 1
jb 0x1004f396
mov ecx, eax
movzx eax, word [eax + ebx*2]
cmp ax, 0x5c
jne 0x1004f388
mov esi, 0x100f0c7c
jmp 0x1004fa7a
mov cl, 1
mov dword [esp + 0x18], ecx
jmp 0x1004d891
cmp dword [esp + 0x24], 0
mov edi, 0x100f0f5c
mov esi, 2
je 0x1004f2d3
push eax
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
mov eax, dword [esp + 0x124]
shl eax, 8
or eax, esi
mov dword [esp + 0xc], eax
xor ebx, ebx
lea ecx, [esp + 0x12c]
call sym.__ZN4core3ptr137drop_in_place_LT_alloc..collections..btree..map..IntoIter_LT_std..sys..pal..windows..process..EnvKey_C_std..ff
cmp dword [esp + 0x30], 0
je 0x1004f309
push dword [esp + 0x34]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0xc]
mov dword [eax + 4], edi
mov dword [eax], ecx
mov dword [eax + 8], 2
jmp 0x10050093
mov esi, dword [esp + 0x20]
mov ecx, eax
mov dword [esp + 0x12c], esi
mov dword [esp + 0x130], ecx
mov word [esp + 0x134], 0
lea ecx, [esp + 0x50]
lea edx, [esp + 0x12c]
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 + 0x50]
mov esi, dword [esp + 0x58]
cmp esi, eax
jne 0x1004f36c
lea ecx, [esp + 0x50]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::hb3bae065834a38fe
mov eax, dword [esp + 0x50]
mov edi, dword [esp + 0x54]
mov dword [esp + 0x40], eax
neg eax
mov word [edi + esi*2], 0
jno 0x1004fa0d
inc esi
jmp 0x1004e372
xor edx, edx
test ax, ax
mov eax, ecx
cmove edx, ecx
mov ecx, dword [esp + 0x1c]
test edx, edx
cmove ebx, ecx
mov ecx, dword [esp + 0x50]
cmove edx, eax
mov dword [esp + 4], edx
mov eax, ecx
sub eax, esi
cmp eax, ebx
jae 0x1004f3d3
mov edx, esi
lea ecx, [esp + 0x50]
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 + 0x50]
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x54]
mov dword [esp + 0xc], eax
jmp 0x1004f3d7
mov dword [esp + 0xc], ecx
lea eax, [ebx + ebx]
lea ecx, [edi + esi*2]
push eax
push dword [esp + 8]
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
add esi, ebx
cmp esi, dword [esp + 0xc]
mov dword [esp + 0x58], esi
jne 0x1004f404
lea ecx, [esp + 0x50]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::hb3bae065834a38fe
mov edi, dword [esp + 0x54]
mov eax, dword [esp + 0x18]
mov word [edi + esi*2], 0x22
inc esi
mov dword [esp + 0x58], esi
test eax, eax
je 0x10050122
mov esi, dword [esp + 8]
movzx ecx, byte [esp + 0x24]
lea eax, [eax + eax*4]
lea eax, [esi + eax*4]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x1c], eax
mov edi, dword [esp + 0x58]
cmp edi, dword [esp + 0x50]
jne 0x1004f448
lea ecx, [esp + 0x50]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::hb3bae065834a38fe
mov eax, dword [esp + 0x54]
lea ebx, [edi + 1]
mov dword [esp + 8], esi
mov word [eax + edi*2], 0x20
mov dword [esp + 0x58], ebx
cmp dword [esi], 1
jne 0x1004f49d
lea edx, [esp + 0x50]
lea ecx, [esp + 0x12c]
push dword [esp + 0x9c]
push esi
call sym.std::sys::pal::windows::args::append_arg::hc75ff91adb8fed24
add esp, 8
cmp byte [esp + 0x12c], 4
jne 0x10050149
mov esi, dword [esp + 8]
add esi, 0x14
cmp esi, dword [esp + 0x1c]
jne 0x1004f435
jmp 0x1005011e
mov dword [esp + 0xc], eax
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [esp + 0xd0], edi
lea edi, [eax + ecx]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x20], eax
jmp 0x1004f4c7
inc eax
cmp dl, cl
je 0x1004f9f1
cmp eax, edi
je 0x1004f4f4
movzx ecx, byte [eax]
mov esi, 0xffffffff
nop word cs:[eax + eax]
nop dword [eax]
movzx edx, byte [esi + 0x100f0c89]
cmp dl, cl
je 0x1004f4be
test esi, esi
lea esi, [esi + 1]
jne 0x1004f4e0
jmp 0x1004f4be
mov ecx, dword [esp + 0x20]
xor esi, esi
mov dword [esp + 0x18], edi
jmp 0x1004f50b
xor esi, esi
test dx, dx
je 0x1004fa75
mov dx, 1
test si, si
jne 0x1004f500
cmp ecx, edi
je 0x1004f5ac
movzx eax, byte [ecx]
test al, al
js 0x1004f526
inc ecx
jmp 0x1004f5a3
movzx edi, byte [ecx + 1]
mov esi, eax
and esi, 0x1f
and edi, 0x3f
cmp al, 0xdf
jbe 0x1004f569
mov dword [esp + 4], ecx
movzx ecx, byte [ecx + 2]
shl edi, 6
and ecx, 0x3f
or ecx, edi
cmp al, 0xf0
mov edi, ecx
jb 0x1004f579
mov ecx, dword [esp + 4]
and esi, 7
shl edi, 6
shl esi, 0x12
movzx eax, byte [ecx + 3]
add ecx, 4
and eax, 0x3f
or eax, edi
or eax, esi
jmp 0x1004f587
shl esi, 6
add ecx, 2
or esi, edi
mov edi, dword [esp + 0x18]
mov eax, esi
jmp 0x1004f5a3
mov ecx, dword [esp + 4]
shl esi, 0xc
or edi, esi
mov eax, edi
add ecx, 3
mov edi, dword [esp + 0x18]
cmp eax, 0xffff
jbe 0x1004f5a3
and eax, 0x3ff
or eax, 0xdc00
mov esi, eax
jmp 0x1004f502
xor esi, esi
mov edx, eax
jmp 0x1004f502
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0xc]
test eax, eax
je 0x1004f6c9
mov esi, dword [esp + 0x20]
cmp byte [eax + esi - 1], 0x5c
sete al
or al, byte [esp + 0x24]
mov byte [esp + 4], al
jmp 0x1004f5df
cmp esi, dword [esp + 0x18]
je 0x1004f6c2
movzx ecx, byte [esi]
test cl, cl
js 0x1004f5e9
inc esi
jmp 0x1004f644
movzx edx, byte [esi + 1]
mov eax, ecx
and eax, 0x1f
and edx, 0x3f
cmp cl, 0xdf
jbe 0x1004f628
mov edi, ecx
movzx ecx, byte [esi + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov edx, edi
cmp dl, 0xf0
jb 0x1004f638
movzx edx, byte [esi + 3]
shl ecx, 6
and eax, 7
add esi, 4
shl eax, 0x12
and edx, 0x3f
or edx, ecx
mov ecx, edx
jmp 0x1004f63e
shl eax, 6
add esi, 2
or eax, edx
mov edx, dword [esp + 0xc]
mov ecx, eax
jmp 0x1004f644
add esi, 3
shl eax, 0xc
mov edx, dword [esp + 0xc]
or ecx, eax
mov eax, ecx
mov edi, ecx
and eax, 0x1ff800
cmp eax, 0xd800
sete al
cmp ecx, 0x110000
sete cl
or cl, al
jne 0x1004f5d5
mov ecx, edi
cmp edi, 0x80
jae 0x1004f6a0
lea eax, [ecx - 0x30]
cmp eax, 0xa
jb 0x1004f6a0
mov eax, ecx
and eax, 0x5f
add eax, 0xffffffbf
cmp eax, 0x19
jbe 0x1004f6a0
push 0xc
push 0x100f0bec
push ecx
call sym.core::slice::memchr::memchr_aligned::h97ffafdd5a81ec4e
mov edx, dword [esp + 0x18]
mov ecx, edi
add esp, 0xc
cmp eax, 1
jne 0x1004f6b1
cmp ecx, 0x20
jb 0x1004f6b1
add ecx, 0xffffff81
cmp ecx, 0x21
jae 0x1004f5d5
cmp esi, dword [esp + 0x18]
mov byte [esp + 4], 1
jne 0x1004f5df
jmp 0x1004f6c9
test byte [esp + 4], 1
je 0x1004f700
cmp ebx, dword [esp + 0x50]
mov ebx, dword [esp + 0xd0]
mov esi, dword [esp + 0x20]
jne 0x1004f6e7
lea ecx, [esp + 0x50]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::hb3bae065834a38fe
mov edx, dword [esp + 0x54]
mov word [edx + ebx*2 + 2], 0x22
add ebx, 2
mov al, 1
mov dword [esp + 0x58], ebx
mov dword [esp + 0x98], eax
jmp 0x1004f70f
mov esi, dword [esp + 0x20]
mov dword [esp + 0x98], 0
xor eax, eax
xor edi, edi
jmp 0x1004f72a
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 4]
mov word [edx + ebx*2], ax
inc ebx
mov eax, dword [esp + 0xc]
mov dword [esp + 0x58], ebx
test ax, ax
mov dword [esp + 4], eax
jne 0x1004f74d
cmp esi, dword [esp + 0x18]
je 0x1004f94c
movzx eax, byte [esi]
test al, al
js 0x1004f7fe
mov dword [esp + 4], eax
inc esi
mov dword [esp + 0xc], 0
movzx eax, word [esp + 4]
cmp eax, 0x24
jg 0x1004f79d
cmp eax, 0xd
je 0x1004f7b1
cmp eax, 0x22
jne 0x1004f8c5
mov eax, dword [esp + 0x50]
mov ecx, eax
sub ecx, ebx
cmp ecx, edi
jae 0x1004f854
mov edx, ebx
lea ecx, [esp + 0x50]
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 edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x58]
jmp 0x1004f858
cmp eax, 0x25
je 0x1004f7b1
cmp eax, 0x5c
jne 0x1004f8c5
inc edi
jmp 0x1004f8c7
mov eax, dword [esp + 0x50]
sub eax, ebx
cmp eax, 6
ja 0x1004f7d8
mov edx, ebx
lea ecx, [esp + 0x50]
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 edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x58]
mov word [edx + ebx*2 + 0xc], 0x2c
mov dword [edx + ebx*2 + 8], 0x7e003a
mov dword [edx + ebx*2 + 4], 0x640063
mov dword [edx + ebx*2], 0x250025
add ebx, 7
jmp 0x1004f8c1
mov dword [esp + 0xc], edx
movzx edx, byte [esi + 1]
mov ecx, eax
and ecx, 0x1f
and edx, 0x3f
cmp al, 0xdf
jbe 0x1004f8df
mov dword [esp + 0x20], esi
movzx esi, byte [esi + 2]
shl edx, 6
and esi, 0x3f
or esi, edx
cmp al, 0xf0
mov edx, esi
jb 0x1004f8fc
mov esi, dword [esp + 0x20]
and ecx, 7
shl edx, 6
shl ecx, 0x12
movzx eax, byte [esi + 3]
add esi, 4
mov dword [esp + 0x20], esi
and eax, 0x3f
or eax, edx
or eax, ecx
jmp 0x1004f908
test edi, edi
je 0x1004f8a5
xor eax, eax
cmp edi, 0x10
jb 0x1004f895
movdqa xmm0, xmmword [0x100eec20]
mov eax, edi
mov dword [esp + 0x20], esi
mov esi, edx
lea ecx, [edx + ebx*2 + 0x10]
and eax, 0xfffffff0
mov edx, eax
movdqu xmmword [ecx - 0x10], xmm0
movdqu xmmword [ecx], xmm0
add ecx, 0x20
add edx, 0xfffffff0
jne 0x1004f878
mov edx, esi
mov esi, dword [esp + 0x20]
add ebx, eax
cmp edi, eax
je 0x1004f8a1
sub edi, eax
mov word [edx + ebx*2], 0x5c
inc ebx
dec edi
jne 0x1004f897
mov eax, dword [esp + 0x50]
cmp ebx, eax
mov dword [esp + 0x58], ebx
jne 0x1004f8ba
lea ecx, [esp + 0x50]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::hb3bae065834a38fe
mov edx, dword [esp + 0x54]
mov word [edx + ebx*2], 0x22
inc ebx
mov dword [esp + 0x58], ebx
xor edi, edi
cmp ebx, dword [esp + 0x50]
jne 0x1004f719
lea ecx, [esp + 0x50]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::hb3bae065834a38fe
jmp 0x1004f715
shl ecx, 6
add esi, 2
or ecx, edx
mov edx, dword [esp + 0xc]
mov dword [esp + 0xc], 0
mov dword [esp + 4], ecx
jmp 0x1004f755
add dword [esp + 0x20], 3
shl ecx, 0xc
or edx, ecx
mov eax, edx
mov edx, dword [esp + 0xc]
cmp eax, 0xffff
jbe 0x1004f93f
mov esi, dword [esp + 0x20]
mov ecx, eax
add eax, 0xff0000
shr eax, 0xa
and ecx, 0x3ff
or eax, 0xd800
or ecx, 0xdc00
mov dword [esp + 0xc], ecx
mov dword [esp + 4], eax
jmp 0x1004f755
mov esi, dword [esp + 0x20]
mov dword [esp + 4], eax
jmp 0x1004f74d
cmp byte [esp + 0x98], 0
je 0x1004f48b
mov eax, dword [esp + 0x50]
mov ecx, eax
sub ecx, ebx
cmp ecx, edi
jae 0x1004f983
mov edx, ebx
lea ecx, [esp + 0x50]
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 edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x58]
jmp 0x1004f987
test edi, edi
je 0x1004f9cc
xor eax, eax
cmp edi, 0x10
jb 0x1004f9bc
movdqa xmm0, xmmword [0x100eec20]
mov eax, edi
mov esi, edx
lea ecx, [edx + ebx*2 + 0x10]
and eax, 0xfffffff0
mov edx, eax
movdqu xmmword [ecx - 0x10], xmm0
movdqu xmmword [ecx], xmm0
add ecx, 0x20
add edx, 0xfffffff0
jne 0x1004f9a3
add ebx, eax
cmp edi, eax
mov edx, esi
je 0x1004f9c8
sub edi, eax
mov word [edx + ebx*2], 0x5c
inc ebx
dec edi
jne 0x1004f9be
mov eax, dword [esp + 0x50]
cmp ebx, eax
mov dword [esp + 0x58], ebx
jne 0x1004f9e1
lea ecx, [esp + 0x50]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::hb3bae065834a38fe
mov edx, dword [esp + 0x54]
mov word [edx + ebx*2], 0x22
inc ebx
mov dword [esp + 0x58], ebx
jmp 0x1004f48b
xor edi, edi
mov esi, 0x100f0c38
mov ebx, 2
cmp dword [esp + 0x50], 0
jne 0x1004f21a
jmp 0x1004f22b
mov esi, dword [esp + 0x28]
mov ebx, edi
jmp 0x1004dd85
xor ebx, ebx
lea ecx, [esp + 0x12c]
call sym.__ZN4core3ptr137drop_in_place_LT_alloc..collections..btree..map..IntoIter_LT_std..sys..pal..windows..process..EnvKey_C_std..ff
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 4]
cmp edi, dword [esp + 0x30]
jne 0x1004fa4b
xor ebx, ebx
lea ecx, [esp + 0x30]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::hb3bae065834a38fe
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 4]
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
mov word [eax + edi*2], 0
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
mov dword [esp + 4], ecx
mov ecx, ecx
mov dword [esp + 0xc], eax
neg ecx
jno 0x1004dd6d
inc edi
jmp 0x1004f309
mov esi, 0x100f0f5c
mov ebx, 2
xor edi, edi
cmp dword [esp + 0x50], 0
jne 0x1004f21a
jmp 0x1004f22b
push 0x100ff0c4
call sym.std::sys::sync::mutex::futex::Mutex::lock_contended::h7bd09c01afe60157
add esp, 4
mov eax, dword [0x100ff0ac]
mov dword [esp + 0x20], edi
test eax, 0x7fffffff
jne 0x1004ddb5
xor eax, eax
movzx ecx, byte [0x100ff0c5]
xor edx, edx
mov dword [esp + 0xd8], 0x100ff0c4
mov byte [esp + 0xdc], al
lea edi, [esi + 8]
lea eax, [esp + 0x100]
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0x11c], 2
test cl, cl
mov ecx, esi
setne dl
cmp dword [esi], 6
mov dword [esp + 0xd4], edx
lea edx, [esp + 0x11c]
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 + 0xa0]
lea ecx, [esp + 0x12c]
push eax
push 0xfffffffffffffff6
call sym.std::sys::pal::windows::process::Stdio::to_handle::ha2afeffdfb8e0585
add esp, 8
movzx eax, byte [esp + 0x12c]
cmp al, 4
jne 0x1004fc70
mov ecx, dword [esp + 0x130]
lea eax, [esp + 0xa8]
mov dword [esp + 0x24], ecx
mov edx, edi
lea ecx, [esp + 0x12c]
push eax
push 0xfffffffffffffff5
call sym.std::sys::pal::windows::process::Stdio::to_handle::ha2afeffdfb8e0585
add esp, 8
movzx eax, byte [esp + 0x12c]
mov edi, dword [esp + 0x20]
cmp al, 4
jne 0x1004fcaa
mov ecx, dword [esp + 0x130]
lea eax, [esp + 0xb0]
mov dword [esp + 0x9c], ecx
mov edx, esi
lea ecx, [esp + 0x12c]
push eax
push 0xfffffffffffffff4
call sym.std::sys::pal::windows::process::Stdio::to_handle::ha2afeffdfb8e0585
add esp, 8
movzx eax, byte [esp + 0x12c]
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x1c]
cmp al, 4
jne 0x1004fce4
mov ecx, dword [esp + 0x130]
cmp dword [esp + 0x24], 0
pxor xmm0, xmm0
mov dword [esp + 0x90], 0
movdqu xmmword [esp + 0x80], xmm0
movdqu xmmword [esp + 0x70], xmm0
movdqu xmmword [esp + 0x60], xmm0
movdqu xmmword [esp + 0x50], xmm0
jne 0x1004fd1f
cmp dword [esp + 0x9c], 0
jne 0x1004fd1f
mov eax, 1
test ecx, ecx
jne 0x1004fd1f
cmp byte [edx + 0x44], 1
mov dword [esp + 0x98], ecx
jne 0x1004fd5d
movzx ecx, word [edx + 0x46]
mov dword [esp + 0x7c], eax
mov word [esp + 0x80], cx
mov eax, dword [edx + 0x64]
test eax, eax
mov dword [esp + 0xd0], eax
jne 0x1004fd6f
mov dword [esp + 0x50], 0x44
lea ecx, [esp + 0x50]
jmp 0x1004fdfc
mov edx, dword [esp + 0x94]
movzx edi, word [esp + 0x12d]
movzx ecx, byte [esp + 0x12f]
mov esi, dword [esp + 0x130]
mov word [edx + 1], di
mov edi, dword [esp + 0x20]
mov byte [edx + 3], cl
mov byte [edx], al
mov dword [edx + 4], esi
mov dword [edx + 8], 2
jmp 0x1004ffc8
movzx ecx, byte [esp + 0x12f]
mov edx, dword [esp + 0x94]
movzx ebx, word [esp + 0x12d]
mov esi, dword [esp + 0x130]
mov byte [edx + 3], cl
mov word [edx + 1], bx
mov byte [edx], al
mov dword [edx + 4], esi
mov dword [edx + 8], 2
push dword [esp + 0x24]
jmp 0x1004ffc3
movzx ecx, byte [esp + 0x12f]
mov edx, dword [esp + 0x94]
movzx ebx, word [esp + 0x12d]
mov esi, dword [esp + 0x130]
mov byte [edx + 3], cl
mov word [edx + 1], bx
mov byte [edx], al
mov dword [edx + 4], esi
mov esi, 2
mov dword [edx + 8], 2
jmp 0x1004ffa2
mov eax, dword [esp + 0x24]
mov dword [esp + 0x7c], 0x100
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x8c], eax
mov eax, 0x101
mov dword [esp + 0x90], ecx
cmp byte [edx + 0x44], 1
mov dword [esp + 0x98], ecx
je 0x1004fc3d
mov eax, dword [edx + 0x64]
test eax, eax
mov dword [esp + 0xd0], eax
je 0x1004fc5f
add edx, 0x5c
mov dword [esp + 0x50], 0x48
lea ecx, [esp + 0x44]
call sym.std::sys::pal::windows::process::make_proc_thread_attribute_list::h907a121766d142cc
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
test byte [esp + 0x44], 1
je 0x1004fdbf
mov eax, dword [esp + 0x94]
mov dword [eax], edx
mov dword [eax + 4], ecx
mov dword [eax + 8], 2
jmp 0x1004ff8f
mov eax, dword [esp + 0x58]
mov edi, dword [esp + 0x54]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x1c], eax
jmp 0x1004ea13
or esi, 0x80000
mov dword [esp + 0x28], ecx
mov eax, edi
mov ecx, 0x11
lea edi, [esp + 0x12c]
mov dword [esp + 0x1c], esi
lea esi, [esp + 0x50]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x12c]
mov edi, eax
mov dword [esp + 0xcc], edx
mov dword [esp + 0x170], edx
mov esi, dword [esp + 0x1c]
lea eax, [esp + 0x30]
push eax
push ecx
push ebx
push dword [esp + 0x14]
push esi
push 1
push 0
push 0
push dword [esp + 0x118]
push dword [esp + 0x38]
call sub.kernel32.dll_CreateProcessW
test eax, eax
je 0x1004ff4c
mov eax, dword [esp + 0x94]
movsd xmm1, qword [esp + 0xa8]
cmp dword [esp + 0xd0], 0
movq xmm0, qword [esp + 0xb0]
movsd xmm2, qword [esp + 0xa0]
movsd qword [eax + 0x10], xmm1
movsd xmm1, qword [esp + 0x30]
movq qword [eax + 0x18], xmm0
movsd qword [eax + 8], xmm2
movsd qword [eax], xmm1
je 0x1004fe7b
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0x28]
call sym.core::ptr::drop_in_place_LT_std..sys..pal..windows..process..ProcThreadAttributeList_GT_::hcea0056f1d93723a
push dword [esp + 0x98]
call sub.kernel32.dll_CloseHandle
push dword [esp + 0x9c]
call sub.kernel32.dll_CloseHandle
push dword [esp + 0x24]
call sub.kernel32.dll_CloseHandle
cmp dword [esp + 0x11c], 4
jb 0x1004feb2
push dword [esp + 0x120]
call sub.kernel32.dll_CloseHandle
lea ecx, [esp + 0xd4]
call sym.__ZN4core3ptr178drop_in_place_LT_core..result..Result_LT_std..sync..mutex..MutexGuard_LT__LP__RP__GT__C_std..sync..poison..Poi
cmp dword [esp + 0x40], 0
je 0x1004fed3
push edi
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 4], 0
je 0x1004feeb
push dword [esp + 0xc]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0xf4], 0
je 0x1004ff09
push dword [esp + 0xf8]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0xe0], 0
je 0x1004ff24
push dword [esp + 0x14]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x2c], 0
setne al
test byte [esp + 0x18], al
je 0x1004d24c
push dword [esp + 0x10]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
jmp 0x1004d24c
call sub.kernel32.dll_GetLastError
movzx ecx, word [esp + 0x44]
mov edx, dword [esp + 0x94]
cmp dword [esp + 0xd0], 0
mov word [edx + 1], cx
mov ch, byte [esp + 0x46]
mov byte [edx + 3], ch
mov byte [edx], 0
mov dword [edx + 4], eax
mov dword [edx + 8], 2
je 0x1004ff8f
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0x28]
call sym.core::ptr::drop_in_place_LT_std..sys..pal..windows..process..ProcThreadAttributeList_GT_::hcea0056f1d93723a
push dword [esp + 0x98]
call sub.kernel32.dll_CloseHandle
mov esi, dword [esp + 0x11c]
push dword [esp + 0x9c]
call sub.kernel32.dll_CloseHandle
push dword [esp + 0x24]
call sub.kernel32.dll_CloseHandle
cmp esi, 4
jb 0x1004ffc8
push dword [esp + 0x120]
call sub.kernel32.dll_CloseHandle
cmp dword [esp + 0xa0], 0
je 0x1004ffde
push dword [esp + 0xa4]
call sub.kernel32.dll_CloseHandle
cmp dword [esp + 0xa8], 0
je 0x1004fff4
push dword [esp + 0xac]
call sub.kernel32.dll_CloseHandle
cmp dword [esp + 0xb0], 0
je 0x1005000a
push dword [esp + 0xb4]
call sub.kernel32.dll_CloseHandle
mov esi, dword [esp + 0xd8]
movzx eax, byte [esp + 0xdc]
test byte [esp + 0xd4], 1
je 0x1005003a
test al, al
jne 0x10050057
mov eax, dword [0x100ff0ac]
test eax, 0x7fffffff
je 0x10050057
call sym.std::panicking::panic_count::is_zero_slow_path::h8d6729d981530f26
jmp 0x1005004f
test al, al
jne 0x10050057
mov eax, dword [0x100ff0ac]
test eax, 0x7fffffff
je 0x10050057
call sym.std::panicking::panic_count::is_zero_slow_path::h8d6729d981530f26
test al, al
jne 0x10050057
mov byte [esi + 1], 1
xor eax, eax
xchg byte [esi], al
cmp al, 2
jne 0x10050066
push esi
call dword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
cmp dword [esp + 0x40], 0
je 0x1005007b
push edi
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 4], 0
je 0x10050093
push dword [esp + 0xc]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0xf4], 0
je 0x100500b1
push dword [esp + 0xf8]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0xe0], 0
je 0x100500cc
push dword [esp + 0x14]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
cmp byte [esp + 0x18], 0
je 0x1004d24c
xor ebx, ebx
jmp 0x1004ef89
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0x34]
test esi, esi
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x1c], eax
je 0x1004ea13
push dword [esp + 0x10]
push 0
push dword [0x100ff0c8]
call sub.kernel32.dll_HeapFree
jmp 0x1004ea13
push 0x100ef538
call sym.core::option::unwrap_failed::h4002a2165d665d64
add esp, 4
jmp 0x100503ac
mov esi, dword [esp + 0x58]
mov eax, dword [esp + 0x50]
cmp esi, eax
jne 0x10050137
lea ecx, [esp + 0x50]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::hb3bae065834a38fe
mov eax, dword [esp + 0x50]
mov edi, dword [esp + 0x54]
mov word [edi + esi*2], 0x22
inc esi
mov ebx, edi
jmp 0x1004f230
mov edi, dword [esp + 0x12c]
mov esi, dword [esp + 0x130]
mov ebx, edi
cmp dword [esp + 0x50], 0
jne 0x1004f21a
jmp 0x1004f22b
mov edi, dword [esp + 0x118]
movzx esi, cl
jmp 0x1004f2d3
call sub.kernel32.dll_GetLastError
mov byte [esp + 0xa0], 0
mov dword [esp + 0xa4], eax
lea eax, [esp + 0xa0]
mov dword [esp + 0x50], 0x100f0f00
mov dword [esp + 0x54], 1
mov dword [esp + 0x60], 0
mov dword [esp + 0x30], eax
lea eax, [esp + 0x30]
mov dword [esp + 0x34], sym.__LT_std..io..error..Error_u20_as_u20_core..fmt..Display_GT_::fmt::h62d66a0e473f1718
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], 1
push 0x100f0f2c
lea eax, [esp + 0x54]
push eax
call sym.core::panicking::panic_fmt::hced28cb7137b21e1
add esp, 8
jmp 0x100503ac
push 0x100eed48
call sym.core::option::unwrap_failed::h4002a2165d665d64
add esp, 4
jmp 0x100503ac
xor eax, eax
jmp 0x10050213
mov dword [esp + 0x40], 1
push ecx
push dword [esp + 0x44]
call sym.alloc::raw_vec::handle_error::he63c9115d026ec98
add esp, 8
jmp 0x100503ac
mov eax, 1
push dword [esp + 0x10]
push eax
call sym.alloc::raw_vec::handle_error::he63c9115d026ec98
add esp, 8
jmp 0x100503ac
mov eax, ecx
mov dword [esp + 0x14], 2
push eax
push dword [esp + 0x18]
call sym.alloc::raw_vec::handle_error::he63c9115d026ec98
add esp, 8
jmp 0x100503ac
push 0x100f1330
push 0x28
push str.internal_error:_entered_unreachable_codeD
call sym.core::panicking::panic::hf6244c8fb5815825
add esp, 0xc
jmp 0x100503ac
push 0x100ef25c
push 0x21
push str.assertion_failed:_self.height___0
call sym.core::panicking::panic::hf6244c8fb5815825
add esp, 0xc
jmp 0x100503ac
mov dword [esp + 0x18], 4
mov eax, 1
push dword [esp + 0x18]
push eax
call sym.alloc::raw_vec::handle_error::he63c9115d026ec98
add esp, 8
jmp 0x100503ac
push 0x100f1330
push 0x28
push str.internal_error:_entered_unreachable_codeD
call sym.core::panicking::panic::hf6244c8fb5815825
add esp, 0xc
jmp 0x100503ac
push 0x100f1330
push 0x28
push str.internal_error:_entered_unreachable_codeD
call sym.core::panicking::panic::hf6244c8fb5815825
add esp, 0xc
jmp 0x100503ac
push 0x100f1330
push 0x28
push str.internal_error:_entered_unreachable_codeD
call sym.core::panicking::panic::hf6244c8fb5815825
add esp, 0xc
jmp 0x100503ac
call sub.kernel32.dll_GetLastError
mov byte [esp + 0x50], 0
mov dword [esp + 0x54], eax
lea esi, [esp + 0x50]
lea eax, [esp + 0xa0]
mov dword [esp + str.failure_getting_env_string_from_OS:], 0x100f0e24
mov dword [esp + 0x130], 1
mov dword [esp + 0x13c], 0
mov dword [esp + 0xa0], esi
mov dword [esp + 0x134], eax
mov dword [esp + 0xa4], sym.__LT_std..io..error..Error_u20_as_u20_core..fmt..Display_GT_::fmt::h62d66a0e473f1718
mov dword [esp + 0x138], 1
lea eax, [esp + 0x12c]
push 0x100f0e2c
push eax
call sym.core::panicking::panic_fmt::hced28cb7137b21e1
add esp, 8
jmp 0x100503ac
xor eax, eax
jmp 0x10050280
push 0x100f1320
push ecx
push eax
call sym.core::slice::index::slice_end_index_len_fail::h31017dc9c470f2c8
add esp, 0xc
jmp 0x100503ac
push 0x100f1320
push eax
push edi
call sym.core::slice::index::slice_end_index_len_fail::h31017dc9c470f2c8
add esp, 0xc
jmp 0x100503ac
push 0x100f1320
push eax
push esi
call sym.core::slice::index::slice_end_index_len_fail::h31017dc9c470f2c8
add esp, 0xc
jmp 0x100503ac
push 0x100f1320
push eax
push esi
call sym.core::slice::index::slice_end_index_len_fail::h31017dc9c470f2c8
add esp, 0xc
jmp 0x100503ac
mov eax, 2
push esi
push eax
call sym.alloc::raw_vec::handle_error::he63c9115d026ec98
add esp, 8
ud2