Function at 0x52cd60
Capabilities:
Create a process with modified i/o handles and window
Create process on windows
Encode data using base64
Get common file path
Parse credit card information
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
call 0x52cd74
pop eax
mov dword [esp + 0xa0], edx
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x10c], 0
mov dword [esp + 0xe8], eax
movzx eax, byte [edx + 0x54]
mov edx, dword [edx + 0x50]
test edx, edx
setne cl
or cl, al
je 0x52cf8b
test al, al
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf8], 0
jne 0x52cfc9
mov dword [esp + 8], edx
call sub.kernel32.dll_GetEnvironmentStringsW
test eax, eax
je 0x530be2
mov ebx, eax
mov dword [esp + 0x38], eax
jmp 0x52cde4
mov ebx, dword [esp + 0xc]
cmp word [ebx], 0
je 0x52cfbc
mov esi, 0xffffffff
mov ecx, 0xfffffffe
nop dword [eax + eax]
cmp word [ebx + esi*2 + 2], 0
mov eax, ecx
lea esi, [esi + 1]
lea ecx, [ecx + 2]
jne 0x52ce00
test esi, esi
je 0x530a9a
lea edx, [esi + esi]
lea ecx, [ebx + esi*2 + 2]
cmp edx, 2
mov dword [esp + 0xc], ecx
je 0x52cde0
xor edi, edi
nop word [eax + eax]
cmp word [ebx + edi*2 + 2], 0x3d
je 0x52ce40
inc edi
add eax, 0xfffffffe
jne 0x52ce30
jmp 0x52cde0
lea eax, [edi + 1]
cmp edi, esi
jae 0x530af3
mov edx, ebx
lea ecx, [esp + 0x58]
push eax
call sym.__LT_std..ffi..os_str..OsString_u20_as_u20_std..os..windows..ffi..OsStringExt_GT_::from_wide::h63b25de594ca01f2
add esp, 4
add edi, 2
mov eax, esi
sub eax, edi
jb 0x530b09
lea edx, [ebx + edi*2]
lea ecx, [esp + 0x12c]
push eax
call sym.__LT_std..ffi..os_str..OsString_u20_as_u20_std..os..windows..ffi..OsStringExt_GT_::from_wide::h63b25de594ca01f2
add esp, 4
mov ebx, dword [esp + 0x58]
mov eax, ebx
neg eax
jo 0x52cfbc
mov eax, dword [esp + 0x12c]
movq xmm0, qword [esp + 0x60]
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x130]
movd edi, xmm0
mov dword [esp + 0x58], esi
movdqa xmmword [esp + 0x20], xmm0
add edi, esi
mov dword [esp + 0x5c], edi
mov edi, dword [esp + 0x134]
mov word [esp + 0x60], 0
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x138]
mov dword [esp + 0x14], eax
lea ecx, [esp + 0xbc]
lea edx, [esp + 0x58]
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 + 0x20]
mov eax, dword [esp + 0xc4]
lea ecx, [esp + 0x13c]
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x130], esi
movlps qword [esp + 0x134], xmm0
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x10]
movsd xmm0, qword [esp + 0xbc]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x1c]
movsd qword [ecx], xmm0
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x60], edi
mov dword [esp + 0x64], eax
lea edx, [esp + 0xf0]
lea eax, [esp + 0x58]
lea ecx, [esp + 0xbc]
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 + 0xbc], 0x7fffffff
mov ebx, dword [esp + 0xc]
je 0x52cde4
push dword [esp + 0xc0]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
jmp 0x52cde4
mov dword [esp + 0x114], 0
mov dword [esp + 0x38], 0
lea ecx, [esp + 0x118]
mov eax, dword [esp + 0xa0]
mov edx, dword [eax + 0x20]
test edx, edx
jne 0x52d8b1
jmp 0x52d907
push dword [esp + 0x38]
call sub.kernel32.dll_FreeEnvironmentStringsW
mov edx, dword [esp + 8]
mov eax, dword [esp + 0xa0]
mov ebx, dword [eax + 0x48]
mov ecx, dword [eax + 0x4c]
xor eax, eax
test ebx, ebx
setne al
cmove edx, ebx
xor esi, esi
mov dword [esp + 0x10], eax
jmp 0x52cff2
xor ebx, ebx
test edx, edx
je 0x52d6d2
test esi, esi
jne 0x52d030
test byte [esp + 0x10], 1
je 0x52d030
mov esi, ebx
test ecx, ecx
mov dword [esp + 0x10], 1
je 0x52d029
nop word cs:[eax + eax]
nop dword [eax]
mov esi, dword [esi + 0x1ec]
dec ecx
jne 0x52d020
xor ebx, ebx
xor ecx, ecx
jmp 0x52d03b
test byte [esp + 0x10], 1
je 0x530a8b
movzx eax, word [esi + 0x1ea]
cmp ecx, eax
jae 0x52d050
mov eax, ecx
mov edi, esi
jmp 0x52d071
mov edi, dword [esi + 0xb0]
test edi, edi
je 0x530816
movzx eax, word [esi + 0x1e8]
inc ebx
mov esi, edi
cmp ax, word [edi + 0x1ea]
jae 0x52d050
lea ecx, [eax + 1]
test ebx, ebx
je 0x52d0a0
lea ecx, [edi + ecx*4 + 0x1ec]
nop
mov esi, dword [ecx]
dec ebx
lea ecx, [esi + 0x1ec]
jne 0x52d080
mov dword [esp + 0xc], 0
jmp 0x52d0a6
mov dword [esp + 0xc], ecx
mov esi, edi
lea ecx, [eax + eax*8]
dec edx
lea ecx, [ecx + ecx*2]
add ecx, eax
shl eax, 4
lea ebx, [edi + ecx + 0xb4]
xor ecx, ecx
cmp ecx, dword [edi + eax]
jno 0x52d120
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xc]
mov edi, ebx
xor ebx, ebx
test eax, eax
mov dword [esp + 0x1c], eax
je 0x52cff2
mov eax, dword [esp + 0xf4]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x44]
push dword [edi + 0x18]
push dword [edi + 0x14]
mov dword [esp + 0x1c], 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 + 0x44], 1
jne 0x52d2ff
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0xc]
jmp 0x52cff2
mov ecx, dword [ebx + 8]
add edi, eax
test ecx, ecx
mov dword [esp + 0x1c], ecx
js 0x530a87
mov dword [esp + 0x20], ebx
mov ebx, dword [ebx + 4]
mov dword [esp + 8], edx
je 0x52d15d
movzx eax, byte [0x5e1184]
mov edx, dword [esp + 0x1c]
xor ecx, ecx
call sym.std::sys::alloc::windows::process_heap_alloc::hc2bfe060f1f208f4
mov ecx, dword [esp + 0x1c]
test eax, eax
jne 0x52d162
jmp 0x530ab3
mov eax, 1
push ecx
push ebx
mov dword [esp + 0x40], eax
push eax
call sym._memcpy
add esp, 0xc
mov eax, dword [esp + 0x20]
xor ecx, ecx
mov edx, dword [eax + 0x18]
lea ebx, [edx + edx]
test edx, edx
js 0x530acd
cmp ebx, 0x7ffffffe
ja 0x530acd
movzx ecx, byte [eax + 0xc]
mov eax, dword [eax + 0x14]
test ebx, ebx
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], edx
mov byte [esp + 0x3c], cl
je 0x52d1df
mov dword [esp + 0xb0], eax
movzx eax, byte [0x5e1184]
xor ecx, ecx
mov edx, ebx
call sym.std::sys::alloc::windows::process_heap_alloc::hc2bfe060f1f208f4
mov ecx, ebx
mov ebx, eax
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0xb0]
test ebx, ebx
mov dword [esp + 0x20], edx
jne 0x52d1ee
jmp 0x530ac6
mov ecx, ebx
mov ebx, 2
mov dword [esp + 0x20], 0
push ecx
push eax
push ebx
call sym._memcpy
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x12c], eax
mov dword [esp + 0x130], ecx
mov dword [esp + 0x134], eax
movzx eax, byte [esp + 0x3c]
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x138], al
mov dword [esp + 0x13c], edx
mov dword [esp + 0x140], ebx
mov dword [esp + 0x144], ecx
mov ebx, dword [edi + 8]
test ebx, ebx
js 0x530ae3
mov eax, dword [edi + 4]
je 0x52d274
mov dword [esp + 0x14], eax
movzx eax, byte [0x5e1184]
xor ecx, ecx
mov edx, ebx
call sym.std::sys::alloc::windows::process_heap_alloc::hc2bfe060f1f208f4
mov ecx, ebx
mov ebx, eax
mov eax, dword [esp + 0x14]
test ebx, ebx
jne 0x52d27b
jmp 0x530ad9
mov ecx, ebx
mov ebx, 1
mov dword [esp + 0x1c], ecx
push ecx
push eax
push ebx
call sym._memcpy
add esp, 0xc
movzx eax, byte [edi + 0xc]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ecx
mov byte [esp + 0x64], al
lea edx, [esp + 0xf0]
lea eax, [esp + 0x58]
lea ecx, [esp + 0xbc]
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 + 0xbc], 0x7fffffff
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0xc]
je 0x52cff0
push dword [esp + 0xc0]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
jmp 0x52cff0
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x50]
mov byte [esp + 0xfc], 0
test ecx, ecx
je 0x52d52b
nop dword [eax + eax]
mov eax, dword [eax + edx*4 + 0x1ec]
dec ecx
je 0x52d33b
movzx edx, word [eax + 0x1ea]
mov eax, dword [eax + edx*4 + 0x1ec]
dec ecx
jne 0x52d32a
movzx ecx, word [eax + 0x1ea]
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], 0
dec ecx
mov dword [esp + 0xac], ecx
lea edx, [esp + 0xa4]
lea eax, [esp + 0xfc]
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]
movsd xmm0, qword [esp + 0x14c]
mov ecx, dword [esp + 0x160]
movsd qword [esp + 0xd4], xmm2
movsd qword [esp + 0xcc], xmm1
movsd xmm2, qword [esp + 0x12c]
movsd xmm1, qword [esp + 0x134]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x158]
movsd qword [esp + 0xdc], xmm0
movsd qword [esp + 0xc4], xmm1
movsd qword [esp + 0xbc], xmm2
movzx edx, word [eax + 0x1ea]
cmp ecx, edx
jb 0x52d416
nop dword [eax + eax]
movzx ecx, word [eax + 0x1e8]
mov eax, dword [eax + 0xb0]
cmp cx, word [eax + 0x1ea]
jae 0x52d400
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 + 0x70], edi
mov edi, dword [esp + 0xd4]
movsd xmm0, qword [eax + edx + 0xc4]
movsd qword [esp + 0x68], xmm0
movsd xmm0, qword [eax + edx + 0xb4]
movsd xmm1, qword [eax + edx + 0xbc]
movsd qword [esp + 0x60], xmm1
movsd qword [esp + 0x58], xmm0
mov dword [eax + edx + 0xcc], edi
lea edi, [esp + 0xd8]
movsd xmm0, qword [esp + 0xcc]
movsd qword [eax + edx + 0xc4], xmm0
movsd xmm0, qword [esp + 0xbc]
movsd xmm1, qword [esp + 0xc4]
movsd qword [eax + edx + 0xbc], xmm1
movsd qword [eax + edx + 0xb4], xmm0
lea edx, [esp + 0x74]
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 + 0x60]
mov eax, dword [esp + 0x80]
movsd xmm0, qword [esp + 0x58]
movsd xmm2, qword [esp + 0x70]
movsd qword [esp + 0x134], xmm1
movsd xmm1, qword [esp + 0x68]
mov dword [esp + 0x154], eax
movsd qword [esp + 0x12c], xmm0
movsd qword [esp + 0x144], xmm2
movsd qword [esp + 0x13c], xmm1
movsd xmm1, qword [esp + 0x78]
movsd qword [esp + 0x14c], xmm1
jmp 0x52d556
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], edx
lea edx, [esp + 0x58]
lea eax, [esp + 0xfc]
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]
movsd xmm0, qword [esp + 0x14c]
dec dword [esp + 0xf8]
cmp byte [esp + 0xfc], 0
mov edx, dword [esp + 8]
movsd qword [esp + 0x70], xmm2
movsd qword [esp + 0x68], xmm1
movsd xmm2, qword [esp + 0x12c]
movsd xmm1, qword [esp + 0x134]
mov dword [esp + 0x80], eax
movsd qword [esp + 0x78], xmm0
movsd qword [esp + 0x60], xmm1
movsd qword [esp + 0x58], xmm2
je 0x52d63a
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x530b3b
mov edx, dword [esp + 0x1c]
dec ecx
mov eax, dword [edx + 0x1ec]
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], ecx
mov dword [eax + 0xb0], 0
push edx
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
mov edi, dword [esp + 0x68]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 8]
mov dword [esp + 0x14], eax
neg ecx
mov ecx, dword [esp + 0xc]
jno 0x52d66e
jmp 0x52cff2
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
mov edi, dword [esp + 0x68]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x38], eax
neg ecx
mov ecx, dword [esp + 0xc]
jo 0x52cff2
jae 0x52d689
push dword [esp + 0x20]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
test edi, edi
je 0x52d6a6
push dword [esp + 0x14]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
test dword [esp + 0x1c], 0x7fffffff
je 0x52cff2
push dword [esp + 0x38]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
jmp 0x52cff2
mov eax, dword [esp + 0xf8]
movsd xmm0, qword [esp + 0xf0]
mov dword [esp + 0x120], eax
movsd qword [esp + 0x118], xmm0
mov dword [esp + 0x114], 1
movzx eax, byte [0x5e1184]
xor ecx, ecx
mov edx, 4
call sym.std::sys::alloc::windows::process_heap_alloc::hc2bfe060f1f208f4
test eax, eax
je 0x530b73
mov esi, eax
mov dword [eax], 0x48544150
add eax, 4
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], eax
mov word [esp + 0x60], 0
lea ecx, [esp + 0xbc]
lea edx, [esp + 0x58]
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 + 0xc4]
movsd xmm0, qword [esp + 0xbc]
mov dword [esp + 0x12c], 4
mov dword [esp + 0x130], esi
mov dword [esp + 0x134], 4
mov dword [esp + 0x138], 0
mov edx, dword [esp + 0x118]
movsd qword [esp + 0x13c], xmm0
mov dword [esp + 0x144], eax
mov dword [esp + 8], eax
test edx, edx
mov eax, dword [esp + 0x140]
mov dword [esp + 0xc], eax
je 0x52d86b
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x20], esi
mov dword [esp + 0x38], 0
mov dword [esp + 0x1c], eax
lea ecx, [edx + 0xb4]
mov dword [esp + 0x10], edx
movzx edx, word [edx + 0x1ea]
mov ebx, 0xffffffff
lea eax, [edx + edx*8]
mov dword [esp + 0x14], edx
lea edi, [eax + eax*2]
add edi, edx
nop word cs:[eax + eax]
nop dword [eax + eax]
test edi, edi
je 0x52d820
lea esi, [ecx + 0x1c]
push 1
push dword [ecx + 0x18]
push dword [ecx + 0x14]
push dword [esp + 0x14]
push dword [esp + 0x1c]
call sub.kernel32.dll_CompareStringOrdinal
add edi, 0xffffffe4
inc ebx
cmp eax, 3
mov ecx, esi
je 0x52d7f0
cmp eax, 1
jne 0x52d845
jmp 0x52d824
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
sub eax, 1
jb 0x52dd60
mov edx, dword [esp + 0x10]
mov dword [esp + 0x1c], eax
mov edx, dword [edx + ebx*4 + 0x1ec]
jmp 0x52d7bf
cmp eax, 2
jne 0x530a25
mov ecx, dword [esp + 0x10]
shl ebx, 4
mov eax, dword [ecx + ebx + 4]
mov ecx, dword [ecx + ebx + 8]
mov dword [esp + 0x38], eax
mov dword [esp + 8], ecx
mov esi, dword [esp + 0x20]
jmp 0x52d873
mov dword [esp + 0x38], 0
push esi
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x13c], 0
je 0x52d89c
push dword [esp + 0xc]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
lea ecx, [esp + 0x118]
mov eax, dword [esp + 0xa0]
mov edx, dword [eax + 0x20]
test edx, edx
je 0x52d907
mov dword [esp + 0xb0], ecx
mov ecx, dword [eax + 0x1c]
mov eax, sym.std::sys::path::windows::is_sep_byte::h1da9d8a504a7fa8f
cmp edx, 4
mov dword [esp + 0x14], ecx
jb 0x52d8f0
mov eax, dword [ecx]
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
mov ecx, dword [esp + 0x14]
movzx ebx, byte [edx + ecx - 1]
mov dword [esp + 0x20], edx
push ebx
call eax
add esp, 4
test al, al
je 0x52d9a2
mov byte [esp + 0xa8], 2
mov dword [esp + 0xac], 0x5b2a7c
mov esi, dword [esp + 0xa8]
mov edi, dword [esp + 0xac]
mov eax, dword [esp + 0x9c]
mov dword [eax + 4], edi
mov dword [eax], esi
mov dword [eax + 8], 2
cmp dword [esp + 0x114], 0
je 0x52da75
mov ecx, dword [esp + 0x118]
test ecx, ecx
je 0x52da50
mov edx, dword [esp + 0x11c]
mov eax, dword [esp + 0x120]
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 0x52da54
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
lea esi, [ecx + eax]
cmp eax, 3
mov dword [esp + 0x3c], esi
jbe 0x52da30
movzx eax, byte [esi - 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 0x52daa0
movzx ecx, byte [esi - 3]
mov edx, ecx
add dl, 0xbf
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, cl
cmp dl, 0x65
jne 0x52da93
movzx ecx, byte [esi - 2]
mov edx, ecx
add dl, 0xbf
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, cl
cmp dl, 0x78
jne 0x52da97
mov ecx, ebx
add cl, 0xbf
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, bl
cmp cl, 0x65
sete cl
jmp 0x52daa0
test eax, eax
je 0x52dbe4
movzx edx, byte [ecx]
cmp edx, 0x2f
je 0x52db15
inc ecx
dec eax
cmp edx, 0x5c
jne 0x52da30
jmp 0x52db15
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 + 0x10c], 4
jb 0x52da8b
push dword [esp + 0x110]
call sub.kernel32.dll_CloseHandle
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor ecx, ecx
jmp 0x52daa0
xor ecx, ecx
nop dword [eax]
cmp dword [esp + 0x20], eax
je 0x52dbe4
mov edx, dword [esp + 0x14]
movzx edx, byte [edx + eax]
cmp edx, 0x2f
je 0x52dabd
inc eax
cmp edx, 0x5c
jne 0x52daa0
test cl, cl
je 0x52db15
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x12c]
push dword [esp + 0x20]
call sym.std::sys::pal::windows::to_u16s::inner::h36c7c454f9caa61a
add esp, 4
mov edx, dword [esp + 0x12c]
mov eax, dword [esp + 0x130]
mov ecx, edx
neg ecx
mov ecx, dword [esp + 0x134]
jno 0x52dd33
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], ecx
mov dword [esp + 0xa4], 0x80000000
jmp 0x52e437
mov edi, dword [esp + 0x20]
test edi, edi
js 0x530c53
movzx eax, byte [0x5e1184]
xor ecx, ecx
mov edx, edi
call sym.std::sys::alloc::windows::process_heap_alloc::hc2bfe060f1f208f4
test eax, eax
je 0x530b7b
mov esi, eax
push edi
push dword [esp + 0x18]
push eax
call sym._memcpy
add esp, 0xc
mov dword [esp + 0x12c], edi
mov dword [esp + 0x130], esi
mov dword [esp + 0x134], edi
mov dword [esp + 0x138], 0
mov edx, str..exeprogram_not_found
lea ecx, [esp + 0x12c]
push 4
call sym.std::sys::os_str::wtf8::Buf::push_slice::h4f16565ba27f87b2
add esp, 4
mov edi, dword [esp + 0x12c]
mov esi, dword [esp + 0x130]
mov ebx, dword [esp + 0x134]
mov edx, esi
lea ecx, [esp + 0x58]
push ebx
call sym.std::sys::pal::windows::process::program_exists::h95b868495f4c10d1
add esp, 4
xor eax, eax
cmp eax, dword [esp + 0x58]
jno 0x52dcb5
mov ecx, esi
mov edx, ebx
call sym.std::path::Path::file_name::h056b0b4cd934bc5c
test eax, eax
je 0x52e3b5
cmp edx, 2
mov dword [esp + 0xc], edi
jne 0x52dcd4
cmp word [eax], 0x2e2e
jne 0x52dcd4
mov edi, 2
xor ecx, ecx
jmp 0x52e363
mov eax, dword [esp + 0x14]
xor edi, edi
jmp 0x52dbfb
xor edi, edi
test cx, cx
je 0x52dc9a
mov cx, 1
test di, di
jne 0x52dbf0
cmp eax, esi
je 0x52dd0b
movzx edx, byte [eax]
test dl, dl
js 0x52dc16
inc eax
jmp 0x52dc6b
movzx esi, byte [eax + 1]
mov edi, edx
and edi, 0x1f
and esi, 0x3f
cmp dl, 0xdf
jbe 0x52dc5d
movzx ebx, byte [eax + 2]
shl esi, 6
and ebx, 0x3f
or ebx, esi
cmp dl, 0xf0
jb 0x52dc71
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 esi, dword [esp + 0x3c]
cmp edx, 0xffff
jbe 0x52dc6b
jmp 0x52dc87
shl edi, 6
add eax, 2
or edi, esi
mov esi, dword [esp + 0x3c]
mov edx, edi
xor edi, edi
mov ecx, edx
jmp 0x52dbf2
shl edi, 0xc
add eax, 3
or ebx, edi
mov edx, ebx
mov esi, dword [esp + 0x3c]
cmp edx, 0xffff
jbe 0x52dc6b
and edx, 0x3ff
or edx, 0xdc00
mov edi, edx
jmp 0x52dbf2
mov dword [esp + 0xa8], 2
mov dword [esp + 0xac], 0x5b2a50
jmp 0x52d91a
mov eax, dword [esp + 0x60]
movsd xmm0, qword [esp + 0x58]
mov dword [esp + 0xac], eax
movsd qword [esp + 0xa4], xmm0
jmp 0x52e425
mov edi, edx
mov dword [esp + 8], edx
nop word [eax + eax]
test edi, edi
je 0x52dd65
mov edx, edi
dec edi
cmp byte [eax + edx - 1], 0x2e
jne 0x52dce0
test edi, edi
je 0x52e35b
mov ecx, eax
sub dword [esp + 8], edx
add ecx, edx
mov edx, dword [esp + 8]
jmp 0x52e363
mov edx, dword [esp + 0x20]
cmp edx, 7
ja 0x52dd72
mov ecx, edx
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 8]
nop
cmp byte [eax], 0x2e
je 0x52dd90
inc eax
dec ecx
jne 0x52dd20
mov dword [esp + 0x40], 0
jmp 0x52dd98
mov dword [esp + 0x12c], edx
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], ecx
lea ecx, [esp + 0xa4]
lea edx, [esp + 0x12c]
call sym.std::sys::pal::windows::args::from_wide_to_user_path::h8367ae1feee68ae3
jmp 0x52e437
jmp 0x52d865
mov edx, dword [esp + 8]
mov ecx, eax
xor eax, eax
jmp 0x52e361
mov eax, edx
mov edx, dword [esp + 0x14]
mov ecx, 0x2e
push eax
call sym.core::slice::memchr::memchr_aligned::h97ffafdd5a81ec4e
add esp, 4
mov edx, dword [esp + 8]
mov dword [esp + 0x40], eax
jmp 0x52dd98
mov dword [esp + 0x40], 1
mov eax, dword [esp + 0x38]
test eax, eax
je 0x52e128
add edx, eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], edx
mov word [esp + 0xc4], 0
mov byte [esp + 0xc8], 1
lea ecx, [esp + 0x58]
lea edx, [esp + 0xbc]
call sym.__ZN97__LT_std..sys..pal..windows..os..SplitPaths_u20_as_u20_core..iter..traits..iterator..Iterator_GT_4next17he5885939c0be9f4
mov eax, dword [esp + 0x58]
mov ecx, eax
neg ecx
jo 0x52e128
movzx ecx, word [esp + 0xc4]
mov edx, dword [esp + 0xc0]
movzx ebx, byte [esp + 0xc8]
mov edi, dword [esp + 0xbc]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
jmp 0x52de3a
mov dword [esp + 0x58], 0x80000000
cmp dword [esp + 0x44], 0
je 0x52de2c
push dword [esp + 0x48]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
mov eax, dword [esp + 0x58]
mov ecx, eax
neg ecx
jo 0x52e128
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
test edx, edx
jne 0x52e06d
test eax, eax
mov byte [esp + 0x18], bl
je 0x52de60
push ecx
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
xor ecx, ecx
mov esi, dword [esp + 0xc]
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 2
mov dword [esp + 0x38], 2
mov dword [esp + 0x10], 0
jmp 0x52de9d
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x38]
mov word [eax + ecx*2], bx
inc ecx
mov eax, dword [esp + 0x10]
mov ebx, esi
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x4c], ecx
test bx, bx
je 0x52ded0
mov dword [esp + 0xc], 0
xor esi, esi
cmp bx, 0x22
je 0x52dfa0
jmp 0x52dfc0
cmp edi, dword [esp + 8]
je 0x52e010
movzx ebx, byte [edi]
test bl, bl
js 0x52df00
inc edi
xor esi, esi
cmp bx, 0x22
je 0x52dfa0
jmp 0x52dfc0
movzx esi, byte [edi + 1]
mov ecx, ebx
and ecx, 0x1f
and esi, 0x3f
cmp bl, 0xdf
jbe 0x52df4b
movzx edx, byte [edi + 2]
shl esi, 6
and edx, 0x3f
or edx, esi
cmp bl, 0xf0
jb 0x52df5f
movzx ebx, byte [edi + 3]
and ecx, 7
shl edx, 6
add edi, 4
shl ecx, 0x12
and ebx, 0x3f
or ebx, edx
or ebx, ecx
cmp ebx, 0xffff
ja 0x52df71
xor esi, esi
cmp bx, 0x22
je 0x52dfa0
jmp 0x52dfc0
shl ecx, 6
add edi, 2
or ecx, esi
xor esi, esi
mov ebx, ecx
cmp bx, 0x22
je 0x52dfa0
jmp 0x52dfc0
shl ecx, 0xc
add edi, 3
or edx, ecx
mov ebx, edx
cmp ebx, 0xffff
jbe 0x52df41
lea ecx, [ebx + 0xff0000]
and ebx, 0x3ff
shr ecx, 0xa
or ebx, 0xdc00
or ecx, 0xd800
mov edx, ebx
mov esi, ebx
mov ebx, ecx
mov dword [esp + 0xc], edx
cmp bx, 0x22
jne 0x52dfc0
nop dword [eax]
xor al, 1
mov ebx, esi
test bx, bx
jne 0x52deb0
jmp 0x52ded0
movzx ecx, bx
mov dword [esp + 0x10], eax
cmp ecx, 0x3b
jne 0x52dfdf
test byte [esp + 0x10], 1
mov bl, 1
je 0x52e012
mov bx, 0x3b
mov al, 1
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [esp + 0x44]
jne 0x52de90
lea ecx, [esp + 0x44]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::h9d8f87f058dc2a2e
mov eax, dword [esp + 0x48]
mov dword [esp + 0x38], eax
jmp 0x52de90
xor ebx, ebx
mov esi, dword [esp + 0x1c]
movzx ecx, byte [esp + 0x18]
test esi, esi
setne al
or cl, al
test cl, 1
je 0x52de0c
mov edx, dword [esp + 0x48]
lea ecx, [esp + 0x12c]
push esi
call sym.__LT_std..ffi..os_str..OsString_u20_as_u20_std..os..windows..ffi..OsStringExt_GT_::from_wide::h63b25de594ca01f2
add esp, 4
movsd xmm0, qword [esp + 0x12c]
movsd xmm1, qword [esp + 0x134]
movsd qword [esp + 0x60], xmm1
movsd qword [esp + 0x58], xmm0
cmp dword [esp + 0x44], 0
jne 0x52de1b
jmp 0x52de2c
mov dword [esp + 0x12c], eax
mov eax, dword [esp + 0x64]
mov esi, dword [esp + 0xc]
mov byte [esp + 0xc8], bl
mov dword [esp + 0x130], ecx
mov dword [esp + 0x134], edx
mov word [esp + 0xc4], si
mov dword [esp + 0xbc], edi
mov dword [esp + 0x138], eax
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x12c]
push dword [esp + 0x20]
call sym.std::path::PathBuf::_push::ha56d6a1011698711
add esp, 4
cmp dword [esp + 0x40], 1
je 0x52e0d1
lea ecx, [esp + 0x12c]
call sym.std::path::PathBuf::_set_extension::h501fcaef8a777b49
mov edi, dword [esp + 0x130]
mov edx, edi
lea ecx, [esp + 0x58]
push dword [esp + 0x134]
call sym.std::sys::pal::windows::process::program_exists::h95b868495f4c10d1
add esp, 4
cmp dword [esp + 0x12c], 0
je 0x52e105
push edi
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
mov ecx, dword [esp + 0x58]
mov eax, ecx
neg eax
jno 0x53068a
lea ecx, [esp + 0x58]
lea edx, [esp + 0xbc]
call sym.__ZN97__LT_std..sys..pal..windows..os..SplitPaths_u20_as_u20_core..iter..traits..iterator..Iterator_GT_4next17he5885939c0be9f4
jmp 0x52ddd6
mov esi, 0x200
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 2
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 2
cmp esi, 0x201
jb 0x52e17e
jmp 0x52e1a0
jbe 0x52e23a
cmp esi, 0x201
jae 0x52e1a0
mov dword [esp + 8], 0x200
lea ebx, [esp + 0x12c]
mov edi, esi
jmp 0x52e1e3
mov edi, dword [esp + 0xc]
sub esi, edi
je 0x52e1d0
mov edx, edi
lea ecx, [esp + 0xbc]
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 + 0xbc]
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xc4], edi
mov dword [esp + 8], edi
mov dword [esp + 0xc], edi
push 0
call sub.kernel32.dll_SetLastError
push edi
push ebx
push 0
call sub.kernel32.dll_GetModuleFileNameW
mov esi, eax
test eax, eax
jne 0x52e206
call sub.kernel32.dll_GetLastError
test eax, eax
jne 0x52e2ea
cmp esi, edi
jne 0x52e170
call sub.kernel32.dll_GetLastError
cmp eax, 0x7a
jne 0x530b57
lea esi, [edi + edi]
test edi, edi
mov eax, 0xffffffff
cmovs esi, eax
cmp esi, 0x201
jb 0x52e17e
jmp 0x52e1a0
mov edx, dword [esp + 8]
cmp esi, edx
ja 0x530c6b
mov edx, ebx
lea ecx, [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, 4
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov esi, dword [esp + 0x60]
mov ebx, dword [esp + 0x64]
cmp dword [esp + 0xbc], 0
je 0x52e297
push dword [esp + 0xc0]
push 0
push dword [0x5e1120]
mov dword [esp + 0x18], esi
mov esi, edi
mov edi, ebx
mov ebx, ecx
call sub.kernel32.dll_HeapFree
mov ecx, ebx
mov ebx, edi
mov edi, esi
mov esi, dword [esp + 0xc]
mov eax, edi
neg eax
jo 0x52e311
mov edx, esi
mov dword [esp + 0xc], ecx
call sym.std::path::Path::parent::he69992ed5d482ff2
test eax, eax
je 0x52f4f6
test edx, edx
je 0x52f4e7
cmp esi, edx
jbe 0x52f4eb
mov eax, dword [esp + 0xc]
cmp byte [eax + edx], 0xbf
jg 0x52f4f1
mov edx, 0x37
mov ecx, 0x5b1f26
push 0x5b1f60
call sym.core::panicking::panic::hf6244c8fb5815825
add esp, 4
jmp 0x530cbe
call sub.kernel32.dll_GetLastError
cmp dword [esp + 0xbc], 0
mov esi, eax
je 0x52e30f
push dword [esp + 0xc0]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
xor ecx, ecx
cmp cl, 3
jne 0x52f584
mov ebx, dword [esi + 4]
mov edi, dword [esi]
mov eax, dword [ebx]
test eax, eax
je 0x52e32b
push edi
call eax
add esp, 4
cmp dword [ebx + 4], 0
je 0x52e348
cmp dword [ebx + 8], 9
jb 0x52e33a
mov edi, dword [edi - 4]
push edi
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
push esi
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
jmp 0x52f584
mov edx, dword [esp + 8]
xor ecx, ecx
mov edi, edx
test eax, eax
cmovne ecx, eax
test ecx, ecx
je 0x52e3a1
test eax, eax
cmove edi, edx
add ecx, edi
sub ecx, esi
je 0x52e3a7
mov edi, dword [esp + 0xc]
cmp ebx, ecx
jbe 0x52e3ad
cmp byte [esi + ecx], 0xbf
jg 0x52e3af
mov edx, 0x37
mov ecx, 0x5b1f26
push 0x5b1f60
call sym.core::panicking::panic::hf6244c8fb5815825
add esp, 4
jmp 0x530cbe
mov edi, dword [esp + 0xc]
jmp 0x52e3b5
mov edi, dword [esp + 0xc]
jmp 0x52e3b3
jne 0x52e385
cmp ebx, ecx
jb 0x52e3b5
mov ebx, ecx
mov edx, esi
lea ecx, [esp + 0x12c]
push ebx
call sym.std::sys::pal::windows::to_u16s::inner::h36c7c454f9caa61a
add esp, 4
mov edx, dword [esp + 0x12c]
mov eax, dword [esp + 0x130]
mov ecx, edx
neg ecx
mov ecx, dword [esp + 0x134]
jno 0x52e3fd
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], ecx
mov dword [esp + 0xa4], 0x80000000
jmp 0x52e425
mov dword [esp + 0x12c], edx
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], ecx
lea ecx, [esp + 0xa4]
lea edx, [esp + 0x12c]
call sym.std::sys::pal::windows::args::from_wide_to_user_path::h8367ae1feee68ae3
test edi, edi
je 0x52e437
push esi
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
mov eax, dword [esp + 0xa4]
mov esi, dword [esp + 0xa8]
mov edi, dword [esp + 0xac]
mov dword [esp + 0x38], eax
neg eax
jo 0x52d928
cmp edi, 4
mov dword [esp + 0xc], esi
mov dword [esp + 0x18], edi
jb 0x52e498
mov edx, dword [esp + 0xc]
mov ecx, 0x5c005c
mov eax, 0x5c003f
xor ecx, dword [edx]
mov edx, dword [edx + 4]
xor edx, eax
or edx, ecx
je 0x52e73a
mov edx, dword [esp + 0xc]
mov ecx, 0x3f005c
xor ecx, dword [edx]
xor eax, dword [edx + 4]
or eax, ecx
je 0x52e73a
mov esi, 0x200
xor edi, edi
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 2
mov dword [esp + 0x60], 0
mov dword [esp + 0x1c], 2
cmp esi, 0x201
jb 0x52e4de
jmp 0x52e500
jbe 0x52e590
cmp esi, 0x201
jae 0x52e500
lea eax, [esp + 0x12c]
mov ebx, esi
mov dword [esp + 8], 0x200
mov esi, eax
jmp 0x52e531
sub esi, edi
je 0x52e523
mov edx, edi
lea ecx, [esp + 0x58]
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 + 0x58]
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x1c], eax
mov esi, dword [esp + 0x1c]
mov ebx, edi
mov dword [esp + 0x60], edi
mov dword [esp + 8], edi
push 0
call sub.kernel32.dll_SetLastError
push 0
mov dword [esp + 0x14], esi
push esi
push ebx
push dword [esp + 0x18]
call sub.kernel32.dll_GetFullPathNameW
mov esi, eax
test eax, eax
jne 0x52e55c
call sub.kernel32.dll_GetLastError
test eax, eax
jne 0x52ed9c
cmp esi, ebx
jne 0x52e4d0
call sub.kernel32.dll_GetLastError
cmp eax, 0x7a
jne 0x530b1f
lea esi, [ebx + ebx]
test ebx, ebx
mov eax, 0xffffffff
cmovs esi, eax
cmp esi, 0x201
jae 0x52e500
jmp 0x52e4de
mov edx, dword [esp + 8]
cmp esi, edx
ja 0x530c5a
cmp esi, 4
jb 0x52e619
mov eax, dword [esp + 0x10]
cmp word [eax + esi*2 - 8], 0x2e
jne 0x52e619
movzx eax, word [eax + esi*2 - 6]
xor ebx, ebx
lea ecx, [eax - 0x42]
cmp ecx, 0x21
ja 0x52e61b
mov edx, dword [esp + 0xe8]
add edx, dword [ecx*4 + 0x5312cc]
jmp edx
xor ebx, ebx
cmp dword [esp + 0x58], 0
je 0x52e633
push dword [esp + 0x5c]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
test bl, bl
je 0x52e7c4
lea eax, [esp + 0x5c]
mov esi, 0x200
xor ebx, ebx
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 2
mov dword [esp + 0x60], 0
mov dword [esp + 0x1c], 2
mov dword [esp + 0x14], eax
cmp esi, 0x201
jb 0x52e68e
jmp 0x52e6b0
jbe 0x52ee04
cmp esi, 0x201
jae 0x52e6b0
lea eax, [esp + 0x12c]
mov edi, esi
mov dword [esp + 8], 0x200
mov esi, eax
jmp 0x52e6e1
sub esi, ebx
je 0x52e6d3
mov edx, ebx
lea ecx, [esp + 0x58]
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 + 0x58]
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x1c], eax
mov esi, dword [esp + 0x1c]
mov edi, ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 8], ebx
push 0
call sub.kernel32.dll_SetLastError
push edi
mov dword [esp + 0x14], esi
push esi
call sub.kernel32.dll_GetSystemDirectoryW
mov esi, eax
test eax, eax
jne 0x52e706
call sub.kernel32.dll_GetLastError
test eax, eax
jne 0x52eec5
cmp esi, edi
jne 0x52e680
call sub.kernel32.dll_GetLastError
cmp eax, 0x7a
jne 0x530b8e
lea esi, [edi + edi]
test edi, edi
mov eax, 0xffffffff
cmovs esi, eax
cmp esi, 0x201
jae 0x52e6b0
jmp 0x52e68e
cmp edi, 4
je 0x52e7c4
mov eax, dword [esp + 0xc]
cmp word [eax + edi*2 - 0xa], 0x2e
jne 0x52e7c4
mov eax, dword [esp + 0xc]
movzx eax, word [eax + edi*2 - 8]
lea ecx, [eax - 0x42]
cmp ecx, 0x21
ja 0x52e7c4
mov edx, dword [esp + 0xe8]
add edx, dword [ecx*4 + 0x531354]
jmp edx
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 2
mov dword [esp + 0x60], 0
mov ebx, dword [eax + 0x2c]
mov esi, dword [eax + 0x30]
movzx eax, byte [eax + 0x69]
mov byte [esp + 8], al
lea ecx, [esp + 0x58]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::h9d8f87f058dc2a2e
mov eax, dword [esp + 0x5c]
mov edi, dword [esp + 0x3c]
mov word [eax], 0x22
mov eax, dword [esp + 0x14]
mov dword [esp + 0x60], 1
mov dword [esp + 0x12c], eax
mov dword [esp + 0x130], edi
mov word [esp + 0x134], 0
lea ecx, [esp + 0x58]
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 + 0x60]
cmp edi, dword [esp + 0x58]
jne 0x52e84e
lea ecx, [esp + 0x58]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::h9d8f87f058dc2a2e
mov eax, dword [esp + 0x5c]
mov word [eax + edi*2], 0x22
inc edi
test esi, esi
mov dword [esp + 0x60], edi
je 0x52e8c0
movzx eax, byte [esp + 8]
shl esi, 2
lea edi, [esi + esi*4]
mov dword [esp + 8], eax
mov esi, dword [esp + 0x60]
cmp esi, dword [esp + 0x58]
jne 0x52e883
lea ecx, [esp + 0x58]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::h9d8f87f058dc2a2e
mov eax, dword [esp + 0x5c]
mov word [eax + esi*2], 0x20
inc esi
mov dword [esp + 0x60], esi
lea edx, [esp + 0x58]
lea ecx, [esp + 0xbc]
push dword [esp + 8]
push ebx
call sym.std::sys::pal::windows::args::append_arg::hc75ff91adb8fed24
add esp, 8
cmp byte [esp + 0xbc], 4
jne 0x52edcd
add ebx, 0x14
add edi, 0xffffffec
jne 0x52e870
mov eax, dword [esp + 0x58]
mov ebx, dword [esp + 0x5c]
mov edi, dword [esp + 0x60]
mov ecx, eax
neg ecx
jo 0x52edf3
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], edx
cmp eax, edi
mov dword [esp + 0xfc], eax
mov dword [esp + 0x100], ebx
mov dword [esp + 0x104], edi
jne 0x52e91a
lea ecx, [esp + 0xfc]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::h9d8f87f058dc2a2e
mov ebx, dword [esp + 0x100]
mov ecx, dword [esp + 0xa0]
mov word [ebx + edi*2], 0
inc edi
mov eax, 0x608
mov esi, 0x400
mov dword [esp + 0x104], edi
cmp byte [ecx + 0x68], 0
cmovne esi, eax
or esi, dword [ecx + 0x58]
test byte [esp + 0x114], 1
mov dword [esp + 0xe8], esi
je 0x52ee54
mov eax, dword [esp + 0xb0]
mov esi, 2
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 2
mov dword [esp + 0x4c], 0
mov dword [esp + 8], 0
mov dword [esp + 0xb8], 0
mov edi, dword [eax + 8]
movsd xmm0, qword [eax]
test edi, edi
mov dword [esp + 0xac], edi
movsd qword [esp + 0xa4], xmm0
jne 0x52e9d1
mov bl, 1
lea ecx, [esp + 0x44]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::h9d8f87f058dc2a2e
mov esi, dword [esp + 0x48]
mov dword [esp + 0xb8], 1
mov word [esi], 0
mov dword [esp + 0x4c], 1
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa8]
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 + 0x58]
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 + 0x58]
mov dword [esp + 0x20], esi
test eax, eax
je 0x53019d
mov edx, dword [esp + 0x60]
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 0x53019d
shl edx, 4
mov dword [esp + 0xb4], edi
mov esi, dword [eax + edx]
mov dword [esp + 0x18], esi
mov esi, dword [eax + edx + 4]
mov edx, dword [eax + edx + 8]
mov dword [esp + 0x3c], esi
mov esi, dword [eax + ecx + 0xc4]
mov dword [esp + 0x108], edx
mov edx, dword [eax + ecx + 0xb8]
mov dword [esp + 0x40], esi
mov esi, dword [eax + ecx + 0xc8]
mov dword [esp + 0x54], edx
mov dword [esp + 0xec], esi
mov esi, dword [eax + ecx + 0xcc]
mov eax, dword [eax + ecx + 0xbc]
mov dword [esp + 0x124], esi
add eax, edx
xor esi, esi
mov dword [esp + 0xb0], eax
jmp 0x52eae4
xor esi, esi
test di, di
je 0x52eeeb
mov di, 1
test si, si
jne 0x52ead9
cmp edx, eax
je 0x52eb7b
movzx ebx, byte [edx]
test bl, bl
js 0x52eaff
inc edx
jmp 0x52eb72
movzx ecx, byte [edx + 1]
mov esi, ebx
and esi, 0x1f
and ecx, 0x3f
cmp bl, 0xdf
jbe 0x52eb3a
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
cmp bl, 0xf0
jb 0x52eb46
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 0x52eb50
shl esi, 6
add edx, 2
or esi, ecx
mov ebx, esi
jmp 0x52eb72
shl esi, 0xc
add edx, 3
or eax, esi
mov ebx, eax
mov eax, dword [esp + 0xb0]
cmp ebx, 0xffff
jbe 0x52eb72
and ebx, 0x3ff
or ebx, 0xdc00
mov esi, ebx
jmp 0x52eadb
xor esi, esi
mov edi, ebx
jmp 0x52eadb
cmp dword [esp + 0xb4], 0
mov edx, dword [esp + 0x20]
je 0x52eb9e
push dword [esp + 0x54]
push 0
push dword [0x5e1120]
mov esi, edx
call sub.kernel32.dll_HeapFree
mov edx, esi
mov eax, dword [esp + 0x44]
mov ebx, dword [esp + 0xb8]
mov esi, dword [esp + 0x124]
sub eax, ebx
cmp eax, esi
jae 0x52ebd8
mov edx, ebx
lea ecx, [esp + 0x44]
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 edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
mov esi, dword [esp + 0x124]
lea eax, [esi + esi]
mov dword [esp + 0x20], edx
lea ecx, [edx + ebx*2]
push eax
mov edi, dword [esp + 0xf0]
push edi
push ecx
call sym._memcpy
add esp, 0xc
add ebx, esi
cmp dword [esp + 0x40], 0
mov esi, ebx
mov dword [esp + 0x4c], ebx
je 0x52ec11
push edi
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
cmp esi, dword [esp + 0x44]
mov eax, dword [esp + 0x20]
lea edi, [esp + 0x58]
jne 0x52ec2c
lea ecx, [esp + 0x44]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::h9d8f87f058dc2a2e
mov eax, dword [esp + 0x48]
mov word [eax + esi*2], 0x3d
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x3c]
and dword [esp + 0x54], 0xffffff00
inc esi
mov dword [esp + 0x4c], esi
xor esi, esi
add eax, ecx
mov dword [esp + 8], eax
mov eax, ecx
jmp 0x52ec61
xor esi, esi
test dx, dx
je 0x52f465
mov dx, 1
test si, si
jne 0x52ec56
cmp ecx, dword [esp + 8]
je 0x52ecff
movzx ebx, byte [ecx]
test bl, bl
js 0x52ec7e
inc ecx
jmp 0x52ecf6
movzx eax, byte [ecx + 1]
mov esi, ebx
and esi, 0x1f
and eax, 0x3f
cmp bl, 0xdf
jbe 0x52ecb9
movzx edi, byte [ecx + 2]
shl eax, 6
and edi, 0x3f
or edi, eax
cmp bl, 0xf0
jb 0x52ecc9
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 0x52ecd3
shl esi, 6
add ecx, 2
or esi, eax
mov eax, dword [esp + 0x3c]
mov ebx, esi
jmp 0x52ecf6
shl esi, 0xc
add ecx, 3
or edi, esi
mov ebx, edi
mov eax, dword [esp + 0x3c]
cmp ebx, 0xffff
lea edi, [esp + 0x58]
jbe 0x52ecf6
and ebx, 0x3ff
or ebx, 0xdc00
mov esi, ebx
jmp 0x52ec58
xor esi, esi
mov edx, ebx
jmp 0x52ec58
mov edx, dword [esp + 0x18]
mov esi, eax
mov ecx, eax
shr esi, 8
mov dword [esp + 0x128], esi
neg edx
jo 0x530a1d
mov eax, dword [esp + 8]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], eax
mov word [esp + 0xc4], 0
lea ecx, [esp + 0x44]
lea edx, [esp + 0xbc]
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 + 0x18], 0
je 0x52ed5d
push dword [esp + 0x3c]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
mov eax, dword [esp + 0x4c]
cmp eax, dword [esp + 0x44]
mov ebx, eax
jne 0x52ed72
lea ecx, [esp + 0x44]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::h9d8f87f058dc2a2e
mov esi, dword [esp + 0x48]
mov eax, dword [esp + 0x54]
lea edx, [esp + 0x12c]
mov word [esi + ebx*2], 0
inc ebx
mov dword [esp + 8], eax
mov dword [esp + 0xb8], ebx
mov dword [esp + 0x4c], ebx
jmp 0x52ea3b
call sub.kernel32.dll_GetLastError
cmp dword [esp + 0x58], 0
mov esi, eax
je 0x52edbb
push dword [esp + 0x5c]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
mov eax, dword [esp + 0x9c]
mov byte [eax], 0
mov dword [eax + 4], esi
jmp 0x52f133
mov ebx, dword [esp + 0xbc]
mov edi, dword [esp + 0xc0]
cmp dword [esp + 0x58], 0
je 0x52edf3
push dword [esp + 0x5c]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
mov eax, dword [esp + 0x9c]
mov dword [eax], ebx
mov dword [eax + 4], edi
jmp 0x52f133
mov edx, dword [esp + 8]
cmp esi, edx
ja 0x530c7c
xor ecx, ecx
lea ebx, [esi + esi]
test esi, esi
js 0x52ee48
cmp ebx, 0x7ffffffe
ja 0x52ee48
test ebx, ebx
je 0x52ef4c
movzx eax, byte [0x5e1184]
xor ecx, ecx
mov edx, ebx
call sym.std::sys::alloc::windows::process_heap_alloc::hc2bfe060f1f208f4
test eax, eax
mov edi, esi
jne 0x52ef53
mov ecx, 2
mov edx, ebx
call sym.alloc::raw_vec::handle_error::he63c9115d026ec98
jmp 0x530cbe
mov dword [esp + 0x3c], 0
mov dword [esp + 8], 2
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0xa0]
xor ebx, ebx
cmp ebx, dword [eax + 0x34]
jno 0x530542
xor edi, edi
mov dword [esp + 0x18], 2
xorps xmm0, xmm0
mov cl, 1
xor eax, eax
movups xmmword [esp + 0x44], xmm0
lock cmpxchg byte [0x5e1114], cl
jne 0x53020b
mov dword [esp + 0xb0], edi
mov eax, dword [0x5e1180]
test eax, 0x7fffffff
je 0x53022c
call sym.std::panicking::panic_count::is_zero_slow_path::h8d6729d981530f26
xor al, 1
jmp 0x53022e
call sub.kernel32.dll_GetLastError
cmp dword [esp + 0x58], 0
mov esi, eax
je 0x52eee4
push dword [esp + 0x5c]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
xor edx, edx
jmp 0x52f127
cmp dword [esp + 0xb4], 0
je 0x52ef06
push dword [esp + 0x54]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x18], 0
je 0x52ef1e
push dword [esp + 0x3c]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
or dword [esp + 8], 2
cmp dword [esp + 0x40], 0
mov esi, 0x5b2a50
je 0x52f4a1
push dword [esp + 0xec]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
jmp 0x52f4a1
mov eax, 2
xor edi, edi
push ebx
push dword [esp + 0x14]
mov ebx, eax
push eax
call sym._memcpy
add esp, 0xc
cmp dword [esp + 0x58], 0
je 0x52ef7b
push dword [esp + 0x5c]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
mov dword [esp + 0xbc], edi
lea eax, [esp + 0xc0]
mov edx, ebx
mov edi, str.cmd.exestd_src_syspalwindows_stdio.rs
xor ecx, ecx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], esi
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], eax
jmp 0x52efbe
mov eax, dword [esp + 8]
mov word [edx + esi*2], ax
inc esi
mov dword [esp + 0xc4], esi
test edi, edi
je 0x52f020
test cx, cx
je 0x52effd
mov ebx, ecx
xor ecx, ecx
cmp esi, dword [esp + 0xbc]
mov dword [esp + 8], ebx
jne 0x52efae
mov eax, str.cmd.exestd_src_syspalwindows_stdio.rs
mov edx, 0xaaaaaaab
mov ebx, dword [esp + 0x10]
sub eax, edi
add eax, 0xa
mul edx
mov eax, edx
shr eax, 1
cmp cx, 1
adc ebx, 0xffffffff
sub eax, ebx
inc eax
jmp 0x52f054
lea eax, [0x5b2ad4]
cmp edi, eax
je 0x52f020
movzx ebx, byte [edi]
test bl, bl
js 0x52f07f
inc edi
xor ecx, ecx
jmp 0x52efcb
cmp dword [esp + 0x10], 1
mov edi, dword [esp + 0xbc]
je 0x52f113
cmp esi, edi
mov edi, 0
mov eax, 0
mov dword [esp + 8], 0
mov dword [esp + 0x10], 1
jne 0x52efae
mov ebx, edi
mov edi, ecx
inc eax
mov edx, esi
lea ecx, [esp + 0xbc]
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 + 0xc0]
mov ecx, edi
mov edi, ebx
jmp 0x52efae
mov dword [esp + 8], edx
movzx edx, byte [edi + 1]
mov eax, ebx
and eax, 0x1f
and edx, 0x3f
cmp bl, 0xdf
jbe 0x52f0be
movzx ecx, byte [edi + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp bl, 0xf0
jb 0x52f0d3
movzx ebx, byte [edi + 3]
and eax, 7
shl ecx, 6
add edi, 4
shl eax, 0x12
and ebx, 0x3f
or ebx, ecx
or ebx, eax
jmp 0x52f0dd
shl eax, 6
add edi, 2
xor ecx, ecx
or eax, edx
mov edx, dword [esp + 8]
mov ebx, eax
jmp 0x52efcb
shl eax, 0xc
add edi, 3
or ecx, eax
mov ebx, ecx
mov edx, dword [esp + 8]
cmp ebx, 0xffff
jbe 0x52f10c
lea eax, [ebx + 0xff0000]
and ebx, 0x3ff
shr eax, 0xa
or ebx, 0xdc00
or eax, 0xd800
mov ecx, ebx
mov ebx, eax
jmp 0x52efcb
xor ecx, ecx
jmp 0x52efcb
mov edx, dword [esp + 0xc0]
mov eax, edi
neg eax
jno 0x52f162
mov esi, dword [esp + 0xc4]
mov eax, dword [esp + 0x9c]
mov dword [eax + 4], esi
mov dword [eax], edx
mov dword [eax + 8], 2
mov bl, 1
cmp dword [esp + 0x38], 0
mov eax, dword [esp + 0xc]
je 0x52f155
push eax
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
test bl, bl
jne 0x52d93b
jmp 0x52da75
xor ecx, ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], edi
test cl, cl
jne 0x530cb4
mov eax, dword [esp + 0xa0]
mov ecx, dword [eax + 0x2c]
mov dword [esp + 0x3c], ecx
mov ecx, dword [eax + 0x30]
movzx eax, byte [eax + 0x69]
mov dword [esp + 0x20], ecx
mov byte [esp + 0xe8], al
movzx eax, byte [0x5e1184]
xor ecx, ecx
mov edx, 0x14
call sym.std::sys::alloc::windows::process_heap_alloc::hc2bfe060f1f208f4
test eax, eax
je 0x530caf
lea esi, [0x5b268d]
lea edi, [esp + 0x130]
mov ecx, 0xa
xor edx, edx
mov word [eax], 0x63
mov dword [esp + 8], esi
mov esi, 1
mov dword [esp + 0x12c], ecx
mov dword [esp + 0x130], eax
mov dword [esp + 0x40], edi
mov dword [esp + 0x134], 1
jmp 0x52f24e
mov ecx, dword [esp + 8]
mov eax, 0x5b268c
mov dword [esp + 0x10], edx
mov edi, 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, esi
mov edx, esi
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 + 0x10]
mov esi, ebx
mov ebx, edi
mov word [eax + esi*2], dx
inc esi
mov edx, ebx
mov dword [esp + 0x134], esi
test dx, dx
je 0x52f260
xor ebx, ebx
cmp esi, dword [esp + 0x12c]
jne 0x52f240
jmp 0x52f1f0
lea ecx, [0x5b26a8]
cmp dword [esp + 8], ecx
je 0x52f357
mov ecx, dword [esp + 8]
movzx edx, byte [ecx]
test dl, dl
js 0x52f28f
inc dword [esp + 8]
xor ebx, ebx
cmp esi, dword [esp + 0x12c]
jne 0x52f240
jmp 0x52f1f0
mov edi, dword [esp + 8]
mov ecx, edx
and ecx, 0x1f
movzx ebx, byte [edi + 1]
and ebx, 0x3f
cmp dl, 0xdf
jbe 0x52f2f0
mov edi, edx
mov edx, dword [esp + 8]
shl ebx, 6
movzx edx, byte [edx + 2]
and edx, 0x3f
or edx, ebx
mov ebx, edi
cmp bl, 0xf0
jb 0x52f310
mov edi, dword [esp + 8]
mov ebx, esi
shl edx, 6
and ecx, 7
shl ecx, 0x12
movzx esi, byte [edi + 3]
add edi, 4
mov dword [esp + 8], edi
and esi, 0x3f
or esi, edx
mov edx, esi
mov esi, ebx
or edx, ecx
cmp edx, 0xffff
jbe 0x52f253
jmp 0x52f326
add dword [esp + 8], 2
shl ecx, 6
or ecx, ebx
xor ebx, ebx
mov edx, ecx
cmp esi, dword [esp + 0x12c]
jne 0x52f240
jmp 0x52f1f0
add dword [esp + 8], 3
shl ecx, 0xc
or edx, ecx
cmp edx, 0xffff
jbe 0x52f253
lea ecx, [edx + 0xff0000]
and edx, 0x3ff
shr ecx, 0xa
or edx, 0xdc00
or ecx, 0xd800
mov ebx, edx
mov edx, ecx
cmp esi, dword [esp + 0x12c]
jne 0x52f240
jmp 0x52f1f0
movsd xmm0, qword [esp + 0x12c]
mov edi, dword [esp + 0x134]
movsd qword [esp + 0x58], xmm0
mov dword [esp + 0x60], edi
cmp edi, dword [esp + 0x58]
jne 0x52f380
lea ecx, [esp + 0x58]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::h9d8f87f058dc2a2e
mov esi, dword [esp + 0x5c]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0xc]
xor ecx, ecx
mov word [esi + edi*2], 0x22
inc edi
add eax, eax
mov dword [esp + 0x60], edi
cmp eax, ecx
je 0x52f419
cmp word [edx + ecx], 0x22
lea ecx, [ecx + 2]
jne 0x52f39b
xor esi, esi
mov edi, 0x5b270c
mov ebx, 2
cmp dword [esp + 0x58], 0
je 0x52f3cd
push dword [esp + 0x5c]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
mov eax, 0x80000000
and esi, 0xffffff00
movzx ebx, bl
mov ecx, eax
or ebx, esi
neg ecx
jno 0x52f45a
mov eax, dword [esp + 0x9c]
cmp dword [esp + 0x1c], 0
mov dword [eax], ebx
mov bl, 1
mov dword [eax + 4], edi
mov dword [eax + 8], 2
je 0x52f13c
push dword [esp + 0x14]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
jmp 0x52f13c
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0xc]
xor edx, edx
mov ebx, ecx
sub ebx, 1
jb 0x52fb3f
mov ecx, eax
movzx eax, word [eax + ebx*2]
cmp ax, 0x5c
jne 0x52fb31
mov edi, 0x5b270c
mov ebx, 2
xor esi, esi
cmp dword [esp + 0x58], 0
jne 0x52f3bc
jmp 0x52f3cd
mov cl, 1
mov dword [esp + 0x10], ecx
jmp 0x52e8ee
cmp dword [esp + 0x18], 0
mov esi, 2
mov dword [esp + str.nul_byte_found_in_provided_data], 0x5b2a50
je 0x52f48a
push eax
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
mov eax, dword [esp + 0x128]
shl eax, 8
or eax, esi
mov esi, dword [esp + 0x108]
mov dword [esp + 8], 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 + 0x44], 0
je 0x52f4c7
push dword [esp + 0x48]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 8]
mov edi, dword [esp + 0x14]
mov dword [eax + 4], esi
mov dword [eax], ecx
mov dword [eax + 8], 2
jmp 0x530960
mov esi, edx
jmp 0x52f4f6
jne 0x52e2ce
cmp esi, edx
cmovae esi, edx
mov eax, dword [esp + 0xc]
mov dword [esp + 0x12c], edi
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], esi
mov dword [esp + 0x138], ebx
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x12c]
push dword [esp + 0x20]
call sym.std::path::PathBuf::_push::ha56d6a1011698711
add esp, 4
cmp dword [esp + 0x40], 1
je 0x52f540
lea ecx, [esp + 0x12c]
call sym.std::path::PathBuf::_set_extension::h501fcaef8a777b49
mov esi, dword [esp + 0x130]
mov edx, esi
lea ecx, [esp + 0x58]
push dword [esp + 0x134]
call sym.std::sys::pal::windows::process::program_exists::h95b868495f4c10d1
add esp, 4
cmp dword [esp + 0x12c], 0
je 0x52f574
push esi
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
mov eax, dword [esp + 0x58]
mov dword [esp + 0x38], eax
neg eax
jno 0x53068e
mov esi, 0x200
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 2
mov dword [esp + 0x4c], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 2
cmp esi, 0x201
jb 0x52f5ce
jmp 0x52f5f0
jbe 0x52f67c
cmp esi, 0x201
jae 0x52f5f0
mov dword [esp + 8], 0x200
lea ebx, [esp + 0x12c]
mov edi, esi
jmp 0x52f627
mov edi, dword [esp + 0xc]
sub esi, edi
je 0x52f617
mov edx, edi
lea ecx, [esp + 0x44]
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 + 0x44]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x4c], edi
mov dword [esp + 8], edi
mov dword [esp + 0xc], edi
push 0
call sub.kernel32.dll_SetLastError
push edi
push ebx
call sub.kernel32.dll_GetSystemDirectoryW
mov esi, eax
test eax, eax
jne 0x52f648
call sub.kernel32.dll_GetLastError
test eax, eax
jne 0x52f730
cmp esi, edi
jne 0x52f5c0
call sub.kernel32.dll_GetLastError
cmp eax, 0x7a
jne 0x530baa
lea esi, [edi + edi]
test edi, edi
mov eax, 0xffffffff
cmovs esi, eax
cmp esi, 0x201
jae 0x52f5f0
jmp 0x52f5ce
mov edx, dword [esp + 8]
cmp esi, edx
ja 0x530c8d
mov edx, ebx
lea ecx, [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, 4
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x58]
push dword [esp + 0x20]
call sym.std::path::PathBuf::_push::ha56d6a1011698711
add esp, 4
cmp dword [esp + 0x40], 1
je 0x52f6bb
lea ecx, [esp + 0x58]
call sym.std::path::PathBuf::_set_extension::h501fcaef8a777b49
mov esi, dword [esp + 0x5c]
mov edx, esi
lea ecx, [esp + 0xbc]
push dword [esp + 0x60]
call sym.std::sys::pal::windows::process::program_exists::h95b868495f4c10d1
add esp, 4
cmp dword [esp + 0x58], 0
je 0x52f6e9
push esi
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
mov eax, dword [esp + 0xbc]
mov edi, dword [esp + 0xc4]
cmp dword [esp + 0x44], 0
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xc0]
je 0x52f71e
push dword [esp + 0x48]
push 0
push dword [0x5e1120]
mov esi, eax
call sub.kernel32.dll_HeapFree
mov eax, esi
cmp dword [esp + 0x38], 0x80000001
jg 0x52fae8
je 0x52f751
jmp 0x52f793
call sub.kernel32.dll_GetLastError
cmp dword [esp + 0x44], 0
mov edi, eax
je 0x52f74f
push dword [esp + 0x48]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
xor eax, eax
cmp al, 3
jne 0x52f793
mov esi, dword [edi]
mov ebx, edi
mov edi, dword [edi + 4]
mov eax, dword [edi]
test eax, eax
je 0x52f768
push esi
call eax
add esp, 4
cmp dword [edi + 4], 0
je 0x52f785
cmp dword [edi + 8], 9
jb 0x52f777
mov esi, dword [esi - 4]
push esi
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
push ebx
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
mov esi, 0x200
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 2
mov dword [esp + 0x4c], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 2
cmp esi, 0x201
jb 0x52f7de
jmp 0x52f800
jbe 0x52f88c
cmp esi, 0x201
jae 0x52f800
mov dword [esp + 8], 0x200
lea ebx, [esp + 0x12c]
mov edi, esi
jmp 0x52f837
mov edi, dword [esp + 0xc]
sub esi, edi
je 0x52f827
mov edx, edi
lea ecx, [esp + 0x44]
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 + 0x44]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x4c], edi
mov dword [esp + 8], edi
mov dword [esp + 0xc], edi
push 0
call sub.kernel32.dll_SetLastError
push edi
push ebx
call sub.kernel32.dll_GetWindowsDirectoryW
mov esi, eax
test eax, eax
jne 0x52f858
call sub.kernel32.dll_GetLastError
test eax, eax
jne 0x52f990
cmp esi, edi
jne 0x52f7d0
call sub.kernel32.dll_GetLastError
cmp eax, 0x7a
jne 0x530bc6
lea esi, [edi + edi]
test edi, edi
mov eax, 0xffffffff
cmovs esi, eax
cmp esi, 0x201
jae 0x52f800
jmp 0x52f7de
mov edx, dword [esp + 8]
cmp esi, edx
ja 0x530c9e
mov edx, ebx
lea ecx, [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, 4
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x58]
push dword [esp + 0x20]
call sym.std::path::PathBuf::_push::ha56d6a1011698711
add esp, 4
cmp dword [esp + 0x40], 1
je 0x52f8cb
lea ecx, [esp + 0x58]
call sym.std::path::PathBuf::_set_extension::h501fcaef8a777b49
mov esi, dword [esp + 0x5c]
mov edx, esi
lea ecx, [esp + 0xbc]
push dword [esp + 0x60]
call sym.std::sys::pal::windows::process::program_exists::h95b868495f4c10d1
add esp, 4
cmp dword [esp + 0x58], 0
je 0x52f8f9
push esi
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
mov eax, dword [esp + 0xbc]
movzx esi, byte [esp + 0xc0]
movzx edi, byte [esp + 0xc3]
cmp dword [esp + 0x44], 0
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x18], eax
movzx eax, word [esp + 0xc1]
je 0x52f943
push dword [esp + 0x48]
push 0
push dword [0x5e1120]
mov ebx, eax
call sub.kernel32.dll_HeapFree
mov eax, ebx
cmp dword [esp + 0x38], 0x80000001
jg 0x52fb1c
jne 0x52f9ad
cmp esi, 3
jne 0x52f9ad
mov eax, dword [esp + 0x18]
mov edi, dword [eax + 4]
mov esi, dword [eax]
mov eax, dword [edi]
test eax, eax
je 0x52f96d
push esi
call eax
add esp, 4
cmp dword [edi + 4], 0
je 0x52f98a
cmp dword [edi + 8], 9
jb 0x52f97c
mov esi, dword [esi - 4]
push esi
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
push dword [esp + 0x18]
jmp 0x52f9a0
call sub.kernel32.dll_GetLastError
cmp dword [esp + 0x44], 0
je 0x52f9ad
push dword [esp + 0x48]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
mov edx, str.PATHstd_src_sys_commonwtf8.rsassertion_failed:_is_code_point_boundary_self__new_len_
lea ecx, [esp + 0xbc]
push 4
call sym.std::env::_var_os::h51f55a83741f426c
add esp, 4
mov edi, dword [esp + 0xbc]
mov eax, edi
neg eax
jo 0x52fb04
mov ecx, dword [esp + 0xc0]
mov eax, dword [esp + 0xc4]
lea esi, [esp + 0x12c]
lea ebx, [esp + 0x58]
mov dword [esp + 0xc], edi
add eax, ecx
mov dword [esp + 0x58], ecx
mov dword [esp + 8], ecx
mov dword [esp + 0x5c], eax
mov word [esp + 0x60], 0
mov byte [esp + 0x64], 1
mov ecx, esi
mov edx, ebx
call sym.__ZN97__LT_std..sys..pal..windows..os..SplitPaths_u20_as_u20_core..iter..traits..iterator..Iterator_GT_4next17he5885939c0be9f4
jmp 0x52fa1f
mov ecx, esi
mov edx, ebx
call sym.__ZN97__LT_std..sys..pal..windows..os..SplitPaths_u20_as_u20_core..iter..traits..iterator..Iterator_GT_4next17he5885939c0be9f4
mov eax, dword [esp + 0x12c]
mov ecx, eax
neg ecx
jo 0x52faef
mov edx, dword [esp + 0x134]
mov ecx, dword [esp + 0x130]
test edx, edx
jne 0x52fa56
test eax, eax
je 0x52fa16
push ecx
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
jmp 0x52fa16
mov edi, ebx
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
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 0x20]
call sym.std::path::PathBuf::_push::ha56d6a1011698711
add esp, 4
cmp dword [esp + 0x40], 1
je 0x52fa9b
mov ecx, esi
call sym.std::path::PathBuf::_set_extension::h501fcaef8a777b49
mov ebx, dword [esp + 0x130]
mov edx, ebx
lea ecx, [esp + 0x44]
push dword [esp + 0x134]
call sym.std::sys::pal::windows::process::program_exists::h95b868495f4c10d1
add esp, 4
cmp dword [esp + 0x12c], 0
je 0x52facf
push ebx
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
mov ecx, dword [esp + 0x44]
mov eax, ecx
neg eax
jno 0x5309a5
mov ebx, edi
mov edi, dword [esp + 0xc]
jmp 0x52fa0b
mov esi, eax
jmp 0x52e458
test edi, edi
je 0x52fb04
push dword [esp + 8]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
mov byte [esp + 0xa8], 2
mov dword [esp + 0xac], 0x5b2aa0
jmp 0x52d91a
shl edi, 0x10
or eax, edi
mov edi, dword [esp + 0x18]
shl eax, 8
or eax, esi
mov esi, eax
jmp 0x52e458
xor edx, edx
test ax, ax
mov eax, ecx
cmove edx, ecx
mov ecx, dword [esp + 0x18]
test edx, edx
cmove ebx, ecx
mov ecx, dword [esp + 0x58]
cmove edx, eax
mov dword [esp + 8], edx
mov eax, ecx
sub eax, edi
cmp eax, ebx
jae 0x52fb7c
mov edx, edi
lea ecx, [esp + 0x58]
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 + 0x58]
mov edi, dword [esp + 0x60]
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x10], eax
jmp 0x52fb80
mov dword [esp + 0x10], ecx
lea eax, [ebx + ebx]
lea ecx, [esi + edi*2]
push eax
push dword [esp + 0xc]
push ecx
call sym._memcpy
add esp, 0xc
add edi, ebx
cmp edi, dword [esp + 0x10]
mov dword [esp + 0x60], edi
jne 0x52fbad
lea ecx, [esp + 0x58]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::h9d8f87f058dc2a2e
mov esi, dword [esp + 0x5c]
mov eax, dword [esp + 0x20]
mov word [esi + edi*2], 0x22
inc edi
mov dword [esp + 0x60], edi
test eax, eax
je 0x5309d6
mov esi, dword [esp + 0x3c]
movzx ecx, byte [esp + 0xe8]
lea eax, [eax + eax*4]
lea eax, [esi + eax*4]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0x40], eax
mov edi, dword [esp + 0x60]
cmp edi, dword [esp + 0x58]
jne 0x52fbf4
lea ecx, [esp + 0x58]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::h9d8f87f058dc2a2e
mov eax, dword [esp + 0x5c]
lea ebx, [edi + 1]
mov dword [esp + 8], edi
mov dword [esp + 0x3c], esi
mov word [eax + edi*2], 0x20
mov dword [esp + 0x60], ebx
cmp dword [esi], 1
jne 0x52fc4d
lea edx, [esp + 0x58]
lea ecx, [esp + 0x12c]
push dword [esp + 0xb4]
push esi
call sym.std::sys::pal::windows::args::append_arg::hc75ff91adb8fed24
add esp, 8
cmp byte [esp + 0x12c], 4
jne 0x5309fd
mov esi, dword [esp + 0x3c]
add esi, 0x14
cmp esi, dword [esp + 0x40]
jne 0x52fbe1
jmp 0x5309d2
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0xc]
mov edi, dword [esi + 8]
mov dword [esp + 0xb8], eax
add eax, edi
mov dword [esp + 0x10], eax
mov eax, edi
jmp 0x52fc71
inc eax
cmp dl, cl
je 0x530181
cmp eax, dword [esp + 0x10]
je 0x52fc94
movzx ecx, byte [eax]
mov esi, 0xffffffff
nop
movzx edx, byte [esi + 0x5b2719]
cmp dl, cl
je 0x52fc68
test esi, esi
lea esi, [esi + 1]
jne 0x52fc80
jmp 0x52fc68
mov ecx, edi
xor edi, edi
mov dword [esp + 0x18], ecx
jmp 0x52fca9
xor edi, edi
test dx, dx
je 0x5301f1
xor esi, esi
mov dx, 1
test di, di
jne 0x52fc9e
cmp ecx, dword [esp + 0x10]
je 0x52fd4a
movzx eax, byte [ecx]
test al, al
js 0x52fcc8
inc ecx
jmp 0x52fd41
movzx esi, byte [ecx + 1]
mov edi, eax
and edi, 0x1f
and esi, 0x3f
cmp al, 0xdf
jbe 0x52fd0b
mov dword [esp + 0x54], ecx
movzx ecx, byte [ecx + 2]
shl esi, 6
and ecx, 0x3f
or ecx, esi
cmp al, 0xf0
mov esi, ecx
jb 0x52fd19
mov ecx, dword [esp + 0x54]
and edi, 7
shl esi, 6
shl edi, 0x12
movzx eax, byte [ecx + 3]
add ecx, 4
and eax, 0x3f
or eax, esi
or eax, edi
jmp 0x52fd27
shl edi, 6
add ecx, 2
or edi, esi
xor esi, esi
mov eax, edi
jmp 0x52fd41
mov ecx, dword [esp + 0x54]
shl edi, 0xc
or esi, edi
mov eax, esi
add ecx, 3
xor esi, esi
cmp eax, 0xffff
jbe 0x52fd41
and eax, 0x3ff
or eax, 0xdc00
mov edi, eax
jmp 0x52fca0
xor edi, edi
mov edx, eax
jmp 0x52fca0
mov eax, dword [esp + 0xb8]
mov edx, dword [esp + 0x20]
test eax, eax
je 0x52fe6b
mov edi, dword [esp + 0x18]
cmp byte [eax + edi - 1], 0x5c
sete al
or al, byte [esp + 0xe8]
mov byte [esp + 0x54], al
jmp 0x52fd80
cmp edi, dword [esp + 0x10]
je 0x52fe64
movzx ecx, byte [edi]
test cl, cl
js 0x52fd8a
inc edi
jmp 0x52fde5
movzx edx, byte [edi + 1]
mov eax, ecx
and eax, 0x1f
and edx, 0x3f
cmp cl, 0xdf
jbe 0x52fdc9
mov esi, ecx
movzx ecx, byte [edi + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov edx, esi
cmp dl, 0xf0
jb 0x52fdd9
movzx edx, byte [edi + 3]
shl ecx, 6
and eax, 7
add edi, 4
shl eax, 0x12
and edx, 0x3f
or edx, ecx
mov ecx, edx
jmp 0x52fddf
shl eax, 6
add edi, 2
or eax, edx
mov edx, dword [esp + 0x20]
mov ecx, eax
jmp 0x52fde5
add edi, 3
shl eax, 0xc
mov edx, dword [esp + 0x20]
or ecx, eax
mov eax, ecx
mov esi, ecx
and eax, 0x1ff800
cmp eax, 0xd800
sete al
cmp ecx, 0x110000
sete cl
or cl, al
jne 0x52fd76
mov ecx, esi
cmp esi, 0x80
jae 0x52fe42
lea eax, [ecx - 0x30]
cmp eax, 0xa
jb 0x52fe42
mov eax, ecx
and eax, 0x5f
add eax, 0xffffffbf
cmp eax, 0x19
jbe 0x52fe42
mov ecx, esi
mov edx, 0x5b2680
push 0xc
call sym.core::slice::memchr::memchr_aligned::h97ffafdd5a81ec4e
mov edx, dword [esp + 0x24]
mov ecx, esi
add esp, 4
cmp eax, 1
jne 0x52fe53
cmp ecx, 0x20
jb 0x52fe53
add ecx, 0xffffff81
cmp ecx, 0x21
jae 0x52fd76
cmp edi, dword [esp + 0x10]
mov byte [esp + 0x54], 1
jne 0x52fd80
jmp 0x52fe6b
test byte [esp + 0x54], 1
je 0x52fe9c
cmp ebx, dword [esp + 0x58]
mov ebx, dword [esp + 8]
mov edi, dword [esp + 0x18]
jne 0x52fe86
lea ecx, [esp + 0x58]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::h9d8f87f058dc2a2e
mov edx, dword [esp + 0x5c]
mov word [edx + ebx*2 + 2], 0x22
add ebx, 2
mov al, 1
mov dword [esp + 0x60], ebx
mov dword [esp + 0x54], eax
jmp 0x52fea8
mov edi, dword [esp + 0x18]
mov dword [esp + 0x54], 0
xor eax, eax
xor esi, esi
jmp 0x52fec3
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 8]
mov word [edx + ebx*2], ax
inc ebx
mov eax, dword [esp + 0x20]
mov dword [esp + 0x60], ebx
test ax, ax
mov dword [esp + 8], eax
jne 0x52fee6
cmp edi, dword [esp + 0x10]
je 0x5300e2
movzx eax, byte [edi]
test al, al
js 0x52ff97
mov dword [esp + 8], eax
inc edi
mov dword [esp + 0x20], 0
movzx eax, word [esp + 8]
cmp eax, 0x24
jg 0x52ff36
cmp eax, 0xd
je 0x52ff4a
cmp eax, 0x22
jne 0x53005b
mov eax, dword [esp + 0x58]
mov ecx, eax
sub ecx, ebx
cmp ecx, esi
jae 0x52ffed
mov edx, ebx
lea ecx, [esp + 0x58]
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 edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x60]
jmp 0x52fff1
cmp eax, 0x25
je 0x52ff4a
cmp eax, 0x5c
jne 0x53005b
inc esi
jmp 0x53005d
mov eax, dword [esp + 0x58]
sub eax, ebx
cmp eax, 6
ja 0x52ff71
mov edx, ebx
lea ecx, [esp + 0x58]
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 + 0x5c]
mov ebx, dword [esp + 0x60]
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 0x530057
mov dword [esp + 0x20], edx
movzx edx, byte [edi + 1]
mov ecx, eax
and ecx, 0x1f
and edx, 0x3f
cmp al, 0xdf
jbe 0x530075
mov dword [esp + 0x18], edi
movzx edi, byte [edi + 2]
shl edx, 6
and edi, 0x3f
or edi, edx
cmp al, 0xf0
mov edx, edi
jb 0x530092
mov edi, dword [esp + 0x18]
and ecx, 7
shl edx, 6
shl ecx, 0x12
movzx eax, byte [edi + 3]
add edi, 4
mov dword [esp + 0x18], edi
and eax, 0x3f
or eax, edx
or eax, ecx
jmp 0x53009e
test esi, esi
je 0x53003b
xor eax, eax
cmp esi, 0x10
jb 0x53002b
movaps xmm0, xmmword [0x576da0]
mov eax, esi
mov dword [esp + 0x18], edi
mov edi, edx
lea ecx, [edx + ebx*2 + 0x10]
and eax, 0xfffffff0
mov edx, eax
movups xmmword [ecx - 0x10], xmm0
movups xmmword [ecx], xmm0
add ecx, 0x20
add edx, 0xfffffff0
jne 0x530010
mov edx, edi
mov edi, dword [esp + 0x18]
add ebx, eax
cmp esi, eax
je 0x530037
sub esi, eax
mov word [edx + ebx*2], 0x5c
inc ebx
dec esi
jne 0x53002d
mov eax, dword [esp + 0x58]
cmp ebx, eax
mov dword [esp + 0x60], ebx
jne 0x530050
lea ecx, [esp + 0x58]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::h9d8f87f058dc2a2e
mov edx, dword [esp + 0x5c]
mov word [edx + ebx*2], 0x22
inc ebx
mov dword [esp + 0x60], ebx
xor esi, esi
cmp ebx, dword [esp + 0x58]
jne 0x52feb2
lea ecx, [esp + 0x58]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::h9d8f87f058dc2a2e
jmp 0x52feae
shl ecx, 6
add edi, 2
or ecx, edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x20], 0
mov dword [esp + 8], ecx
jmp 0x52feee
add dword [esp + 0x18], 3
shl ecx, 0xc
or edx, ecx
mov eax, edx
mov edx, dword [esp + 0x20]
cmp eax, 0xffff
jbe 0x5300d5
mov edi, dword [esp + 0x18]
mov ecx, eax
add eax, 0xff0000
shr eax, 0xa
and ecx, 0x3ff
or eax, 0xd800
or ecx, 0xdc00
mov dword [esp + 0x20], ecx
mov dword [esp + 8], eax
jmp 0x52feee
mov edi, dword [esp + 0x18]
mov dword [esp + 8], eax
jmp 0x52fee6
cmp byte [esp + 0x54], 0
je 0x52fc3b
mov eax, dword [esp + 0x58]
mov ecx, eax
sub ecx, ebx
cmp ecx, esi
jae 0x530116
mov edx, ebx
lea ecx, [esp + 0x58]
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 edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x60]
jmp 0x53011a
test esi, esi
je 0x53015c
xor eax, eax
cmp esi, 0x10
jb 0x53014c
movaps xmm0, xmmword [0x576da0]
mov eax, esi
mov edi, edx
lea ecx, [edx + ebx*2 + 0x10]
and eax, 0xfffffff0
mov edx, eax
movups xmmword [ecx - 0x10], xmm0
movups xmmword [ecx], xmm0
add ecx, 0x20
add edx, 0xfffffff0
jne 0x530135
add ebx, eax
cmp esi, eax
mov edx, edi
je 0x530158
sub esi, eax
mov word [edx + ebx*2], 0x5c
inc ebx
dec esi
jne 0x53014e
mov eax, dword [esp + 0x58]
cmp ebx, eax
mov dword [esp + 0x60], ebx
jne 0x530171
lea ecx, [esp + 0x58]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::h9d8f87f058dc2a2e
mov edx, dword [esp + 0x5c]
mov word [edx + ebx*2], 0x22
inc ebx
mov dword [esp + 0x60], ebx
jmp 0x52fc3b
xor esi, esi
mov edi, 0x5b26c8
mov ebx, 2
cmp dword [esp + 0x58], 0
jne 0x52f3bc
jmp 0x52f3cd
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 + 0xb8]
cmp esi, dword [esp + 0x44]
mov edx, dword [esp + 0x20]
jne 0x5301cb
xor ebx, ebx
lea ecx, [esp + 0x44]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::h9d8f87f058dc2a2e
mov edx, dword [esp + 0x48]
mov word [edx + esi*2], 0
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x3c], ecx
mov ecx, ecx
mov dword [esp + 8], eax
neg ecx
jno 0x53052c
inc esi
jmp 0x52f4c7
mov edi, 0x5b2a50
mov ebx, 2
cmp dword [esp + 0x58], 0
jne 0x52f3bc
jmp 0x52f3cd
mov ecx, 0x5e1114
call sym.std::sys::sync::mutex::futex::Mutex::lock_contended::h7bd09c01afe60157
mov dword [esp + 0xb0], edi
mov eax, dword [0x5e1180]
test eax, 0x7fffffff
jne 0x52eeb9
xor eax, eax
movzx ecx, byte [0x5e1115]
xor edx, edx
mov dword [esp + 0xf4], 0x5e1114
mov byte [esp + 0xf8], al
lea eax, [esp + 0x10c]
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xcc], 0
test cl, cl
mov ecx, dword [esp + 0xa0]
setne dl
mov dword [esp + 0xf0], edx
cmp dword [ecx], 6
mov edx, ecx
lea edi, [ecx + 8]
lea esi, [ecx + 0x10]
cmove edx, eax
cmp dword [ecx + 8], 6
cmove edi, eax
cmp dword [ecx + 0x10], 6
cmove esi, eax
lea eax, [esp + 0xbc]
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 0x5303e4
mov ecx, dword [esp + 0x130]
lea eax, [esp + 0xc4]
mov dword [esp + 0x40], 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 + 0x14]
cmp al, 4
jne 0x53041e
mov ecx, dword [esp + 0x130]
lea eax, [esp + 0xcc]
mov dword [esp + 0xb4], 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 esi, dword [esp + 0x20]
cmp al, 4
jne 0x530454
mov ecx, dword [esp + 0x130]
cmp dword [esp + 0x40], 0
xorps xmm0, xmm0
mov dword [esp + 0x98], 0
movups xmmword [esp + 0x88], xmm0
movups xmmword [esp + 0x78], xmm0
movups xmmword [esp + 0x68], xmm0
movups xmmword [esp + 0x58], xmm0
jne 0x53048a
cmp dword [esp + 0xb4], 0
jne 0x53048a
mov eax, 1
test ecx, ecx
jne 0x53048a
mov edx, dword [esp + 0xa0]
mov dword [esp + 0x54], ecx
cmp byte [edx + 0x44], 1
jne 0x5304cf
movzx ecx, word [edx + 0x46]
mov dword [esp + 0x84], eax
mov word [esp + 0x88], cx
mov eax, dword [edx + 0x64]
test eax, eax
mov dword [esp + 0xb8], eax
jne 0x5304e1
mov edx, dword [esp + 0xe8]
mov dword [esp + 0x58], 0x44
lea ecx, [esp + 0x58]
jmp 0x5306e2
mov edx, dword [esp + 0x9c]
movzx edi, word [esp + 0x12d]
movzx ecx, byte [esp + 0x12f]
mov esi, dword [esp + 0x130]
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 0x53088f
movzx ecx, byte [esp + 0x12f]
mov edx, dword [esp + 0x9c]
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
jmp 0x530886
movzx ecx, byte [esp + 0x12f]
mov edx, dword [esp + 0x9c]
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
jmp 0x53087a
mov eax, dword [esp + 0x40]
mov dword [esp + 0x84], 0x100
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x94], eax
mov eax, 0x101
mov dword [esp + 0x98], ecx
mov edx, dword [esp + 0xa0]
mov dword [esp + 0x54], ecx
cmp byte [edx + 0x44], 1
je 0x5303a7
mov eax, dword [edx + 0x64]
test eax, eax
mov dword [esp + 0xb8], eax
je 0x5303cc
add edx, 0x5c
mov dword [esp + 0x58], 0x48
lea ecx, [esp + 0xa4]
call sym.std::sys::pal::windows::process::make_proc_thread_attribute_list::h907a121766d142cc
mov edx, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
test byte [esp + 0xa4], 1
je 0x53069b
mov eax, dword [esp + 0x9c]
mov dword [eax], edx
mov dword [eax + 4], ecx
mov dword [eax + 8], 2
jmp 0x530871
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0xa0]
xor ebx, ebx
cmp ebx, dword [eax + 0x34]
jo 0x52ee7e
mov edx, dword [eax + 0x38]
mov eax, dword [eax + 0x3c]
xor edi, edi
add eax, edx
mov dword [esp + 0x18], edx
mov dword [esp + 0xb0], eax
jmp 0x530564
xor edi, edi
test si, si
je 0x5305fb
mov si, 1
test di, di
jne 0x530559
cmp edx, eax
je 0x530621
movzx ebx, byte [edx]
test bl, bl
js 0x53057f
inc edx
jmp 0x5305f2
movzx ecx, byte [edx + 1]
mov edi, ebx
and edi, 0x1f
and ecx, 0x3f
cmp bl, 0xdf
jbe 0x5305ba
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
cmp bl, 0xf0
jb 0x5305c6
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 0x5305d0
shl edi, 6
add edx, 2
or edi, ecx
mov ebx, edi
jmp 0x5305f2
shl edi, 0xc
add edx, 3
or eax, edi
mov ebx, eax
mov eax, dword [esp + 0xb0]
cmp ebx, 0xffff
jbe 0x5305f2
and ebx, 0x3ff
or ebx, 0xdc00
mov edi, ebx
jmp 0x53055b
xor edi, edi
mov esi, ebx
jmp 0x53055b
mov edi, dword [esp + 0x14]
mov esi, 0x5b2a50
mov ebx, 2
mov eax, dword [esp + 0x9c]
mov dword [eax + 4], esi
mov dword [eax], ebx
mov dword [eax + 8], 2
jmp 0x530948
mov esi, dword [esp + 0x18]
mov ecx, eax
mov dword [esp + 0x12c], esi
mov dword [esp + 0x130], ecx
mov word [esp + 0x134], 0
mov edi, dword [esp + 0x14]
lea ecx, [esp + 0x58]
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 + 0x58]
mov esi, dword [esp + 0x60]
cmp esi, eax
jne 0x53066c
lea ecx, [esp + 0x58]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::h9d8f87f058dc2a2e
mov eax, dword [esp + 0x58]
mov ebx, dword [esp + 0x5c]
mov ecx, eax
neg eax
mov word [ebx + esi*2], 0
jno 0x53067f
inc esi
jmp 0x530609
mov dword [esp + 0x18], ebx
mov edi, ecx
jmp 0x52ee88
mov dword [esp + 0x38], ecx
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x60]
jmp 0x52e458
lea eax, [esp + 0x12c]
mov dword [esp + 0xec], ecx
mov dword [esp + 0xa0], edx
lea esi, [esp + 0x58]
mov ecx, 0x11
mov edx, dword [esp + 0xe8]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0xa0]
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x14]
or edx, 0x80000
mov dword [esp + 0x170], eax
lea eax, [esp + 0x44]
push eax
push ecx
push ebx
push esi
push edx
push 1
push 0
push 0
push dword [esp + 0x120]
push edi
call sub.kernel32.dll_CreateProcessW
test eax, eax
je 0x530825
mov eax, dword [esp + 0x9c]
movsd xmm1, qword [esp + 0xc4]
cmp dword [esp + 0xb8], 0
movsd xmm0, qword [esp + 0xcc]
movsd xmm2, qword [esp + 0xbc]
movsd qword [eax + 0x10], xmm1
movsd xmm1, qword [esp + 0x44]
movsd qword [eax + 0x18], xmm0
movsd qword [eax + 8], xmm2
movsd qword [eax], xmm1
je 0x53075e
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0xec]
call sym.core::ptr::drop_in_place_LT_std..sys..pal..windows..process..ProcThreadAttributeList_GT_::hcea0056f1d93723a
push dword [esp + 0x54]
call sub.kernel32.dll_CloseHandle
push dword [esp + 0xb4]
call sub.kernel32.dll_CloseHandle
push dword [esp + 0x40]
call sub.kernel32.dll_CloseHandle
lea ecx, [esp + 0xf0]
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 + 0xb0], 0
je 0x5307a3
push dword [esp + 0x18]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x3c], 0
je 0x5307bb
push dword [esp + 8]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0xfc], 0
je 0x5307d9
push dword [esp + 0x100]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x1c], 0
je 0x5307ee
push edi
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x38], 0
setne al
test byte [esp + 0x10], al
je 0x52da75
push dword [esp + 0xc]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
jmp 0x52da75
mov ecx, 0x5b0f1c
call sym.core::option::unwrap_failed::h4002a2165d665d64
jmp 0x530cbe
call sub.kernel32.dll_GetLastError
movzx ecx, word [esp + 0xa4]
mov edx, dword [esp + 0x9c]
cmp dword [esp + 0xb8], 0
mov word [edx + 1], cx
mov ch, byte [esp + 0xa6]
mov byte [edx + 3], ch
mov byte [edx], 0
mov dword [edx + 4], eax
mov dword [edx + 8], 2
je 0x530871
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0xec]
call sym.core::ptr::drop_in_place_LT_std..sys..pal..windows..process..ProcThreadAttributeList_GT_::hcea0056f1d93723a
push dword [esp + 0x54]
call sub.kernel32.dll_CloseHandle
push dword [esp + 0xb4]
call sub.kernel32.dll_CloseHandle
push dword [esp + 0x40]
call sub.kernel32.dll_CloseHandle
cmp dword [esp + 0xbc], 0
je 0x5308a5
push dword [esp + 0xc0]
call sub.kernel32.dll_CloseHandle
cmp dword [esp + 0xc4], 0
je 0x5308bb
push dword [esp + 0xc8]
call sub.kernel32.dll_CloseHandle
cmp dword [esp + 0xcc], 0
je 0x5308d1
push dword [esp + 0xd0]
call sub.kernel32.dll_CloseHandle
mov esi, dword [esp + 0xf4]
movzx eax, byte [esp + 0xf8]
test byte [esp + 0xf0], 1
je 0x530901
test al, al
jne 0x53091e
mov eax, dword [0x5e1180]
test eax, 0x7fffffff
je 0x53091e
call sym.std::panicking::panic_count::is_zero_slow_path::h8d6729d981530f26
jmp 0x530916
test al, al
jne 0x53091e
mov eax, dword [0x5e1180]
test eax, 0x7fffffff
je 0x53091e
call sym.std::panicking::panic_count::is_zero_slow_path::h8d6729d981530f26
test al, al
jne 0x53091e
mov byte [esi + 1], 1
xor eax, eax
xchg byte [esi], al
cmp al, 2
jne 0x53092d
push esi
call dword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
cmp dword [esp + 0xb0], 0
je 0x530948
push dword [esp + 0x18]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x3c], 0
je 0x530960
push dword [esp + 8]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0xfc], 0
je 0x53097e
push dword [esp + 0x100]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x1c], 0
je 0x530993
push edi
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
cmp byte [esp + 0x10], 0
je 0x52da75
xor ebx, ebx
jmp 0x52f13c
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x4c]
cmp dword [esp + 0xc], 0
mov dword [esp + 0x38], ecx
je 0x52e458
push dword [esp + 8]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
jmp 0x52e458
mov edi, dword [esp + 0x60]
mov eax, dword [esp + 0x58]
cmp edi, eax
jne 0x5309eb
lea ecx, [esp + 0x58]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::h9d8f87f058dc2a2e
mov eax, dword [esp + 0x58]
mov esi, dword [esp + 0x5c]
mov word [esi + edi*2], 0x22
inc edi
mov ebx, esi
jmp 0x52f3d2
mov esi, dword [esp + 0x12c]
mov edi, dword [esp + 0x130]
mov ebx, esi
cmp dword [esp + 0x58], 0
jne 0x52f3bc
jmp 0x52f3cd
movzx esi, cl
jmp 0x52f48a
call sub.kernel32.dll_GetLastError
lea edi, [esp + 0xbc]
lea esi, [esp + 0x44]
mov byte [esp + 0xbc], 0
mov dword [esp + 0x58], 0x5b29f4
mov dword [esp + 0x5c], 1
mov dword [esp + 0x68], 0
mov dword [esp + 0xc0], eax
mov dword [esp + 0x44], edi
mov dword [esp + 0x60], esi
mov dword [esp + 0x48], sym.__LT_std..io..error..Error_u20_as_u20_core..fmt..Display_GT_::fmt::h62d66a0e473f1718
mov dword [esp + 0x64], 1
lea ecx, [esp + 0x58]
mov edx, 0x5b2a20
call sym.core::panicking::panic_fmt::hced28cb7137b21e1
jmp 0x530cbe
xor ecx, ecx
jmp 0x530ab8
mov ecx, 0x5b065c
call sym.core::option::unwrap_failed::h4002a2165d665d64
jmp 0x530cbe
xor edx, edx
mov ecx, 1
push 0x5b28c4
call sym.core::slice::index::slice_start_index_len_fail::hb6088e54b0b075d5
add esp, 4
jmp 0x530cbe
mov ecx, 1
mov edx, dword [esp + 0x1c]
call sym.alloc::raw_vec::handle_error::he63c9115d026ec98
jmp 0x530cbe
mov ebx, ecx
mov ecx, 2
mov edx, ebx
call sym.alloc::raw_vec::handle_error::he63c9115d026ec98
jmp 0x530cbe
mov ebx, ecx
mov dword [esp + 0x18], 1
mov ecx, dword [esp + 0x18]
mov edx, ebx
call sym.alloc::raw_vec::handle_error::he63c9115d026ec98
jmp 0x530cbe
mov edx, esi
mov ecx, eax
push 0x5b28d4
call sym.core::slice::index::slice_end_index_len_fail::h31017dc9c470f2c8
add esp, 4
jmp 0x530cbe
mov edx, esi
mov ecx, edi
push 0x5b28e4
call sym.core::slice::index::slice_start_index_len_fail::hb6088e54b0b075d5
add esp, 4
jmp 0x530cbe
mov edx, 0x28
mov ecx, str.internal_error:_entered_unreachable_code_usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_tokio_1.41.1_src_runtime_blocking_schedule.rsP__
push 0x5b2f8c
call sym.core::panicking::panic::hf6244c8fb5815825
add esp, 4
jmp 0x530cbe
mov edx, 0x21
mov ecx, str.assertion_failed:_self.height___0
push 0x5b0c68
call sym.core::panicking::panic::hf6244c8fb5815825
add esp, 4
jmp 0x530cbe
mov edx, 0x28
mov ecx, str.internal_error:_entered_unreachable_code_usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_tokio_1.41.1_src_runtime_blocking_schedule.rsP__
push 0x5b2f8c
call sym.core::panicking::panic::hf6244c8fb5815825
add esp, 4
jmp 0x530cbe
mov dword [esp + 0x20], 4
mov ecx, 1
mov edx, dword [esp + 0x20]
call sym.alloc::raw_vec::handle_error::he63c9115d026ec98
jmp 0x530cbe
mov edx, 0x28
mov ecx, str.internal_error:_entered_unreachable_code_usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_tokio_1.41.1_src_runtime_blocking_schedule.rsP__
push 0x5b2f8c
call sym.core::panicking::panic::hf6244c8fb5815825
add esp, 4
jmp 0x530cbe
mov edx, 0x28
mov ecx, str.internal_error:_entered_unreachable_code_usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_tokio_1.41.1_src_runtime_blocking_schedule.rsP__
push 0x5b2f8c
call sym.core::panicking::panic::hf6244c8fb5815825
add esp, 4
jmp 0x530cbe
mov edx, 0x28
mov ecx, str.internal_error:_entered_unreachable_code_usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_tokio_1.41.1_src_runtime_blocking_schedule.rsP__
push 0x5b2f8c
call sym.core::panicking::panic::hf6244c8fb5815825
add esp, 4
jmp 0x530cbe
call sub.kernel32.dll_GetLastError
mov byte [esp + 0x58], 0
mov dword [esp + 0x5c], eax
lea esi, [esp + 0x58]
lea eax, [esp + 0xbc]
mov dword [esp + str.failure_getting_env_string_from_OS:], 0x5b2918
mov dword [esp + 0x130], 1
mov dword [esp + 0x13c], 0
mov dword [esp + 0xbc], esi
mov dword [esp + 0x134], eax
mov dword [esp + 0xc0], sym.__LT_std..io..error..Error_u20_as_u20_core..fmt..Display_GT_::fmt::h62d66a0e473f1718
mov dword [esp + 0x138], 1
lea ecx, [esp + 0x12c]
mov edx, 0x5b2920
call sym.core::panicking::panic_fmt::hced28cb7137b21e1
jmp 0x530cbe
xor ecx, ecx
jmp 0x530b80
mov ecx, esi
push 0x5b2f7c
call sym.core::slice::index::slice_end_index_len_fail::h31017dc9c470f2c8
add esp, 4
jmp 0x530cbe
mov ecx, esi
push 0x5b2f7c
call sym.core::slice::index::slice_end_index_len_fail::h31017dc9c470f2c8
add esp, 4
jmp 0x530cbe
mov ecx, esi
push 0x5b2f7c
call sym.core::slice::index::slice_end_index_len_fail::h31017dc9c470f2c8
add esp, 4
jmp 0x530cbe
mov ecx, esi
push 0x5b2f7c
call sym.core::slice::index::slice_end_index_len_fail::h31017dc9c470f2c8
add esp, 4
jmp 0x530cbe
mov ecx, esi
push 0x5b2f7c
call sym.core::slice::index::slice_end_index_len_fail::h31017dc9c470f2c8
add esp, 4
jmp 0x530cbe
mov ecx, 2
mov edx, 0x14
call sym.alloc::raw_vec::handle_error::he63c9115d026ec98
ud2