Function at 0x54b1c0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x400
mov esi, esp
mov dword [esi + 0x3e8], ebp
lea eax, [esi + 0x3f0]
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x220], edx
mov dword [eax - 4], esp
or dword [eax + 8], 0xffffffff
mov dword [eax + 4], 0x586e70
mov ecx, dword fs:[0]
mov dword [eax], ecx
mov dword fs:[0], eax
mov eax, dword [0x673b84]
cmp eax, 3
jb 0x54b240
lea ecx, [esi + 0xc0]
mov dword [ecx], str.Checking_application_pre_requisites...
mov dword [ecx + 4], 1
and dword [ecx + 0x10], 0
mov dword [ecx + 8], str._rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrary_std_srcioimpls.rs
and dword [ecx + 0xc], 0
push 3
pop edx
push 9
push 0x64eb1c
call fcn.00465135
pop eax
pop ecx
mov eax, dword [esi + 0x220]
lea edx, [esi + 0xc0]
and dword [esi + 0xa4], 0
mov dword [esi + 0xa8], 4
and dword [esi + 0xac], 0
mov dword [esi + 0x3f8], 0x28
and dword [edx], 0
mov ecx, dword [eax + 0x68]
mov eax, dword [eax + 0x6c]
mov dword [esi + 0x18], ecx
mov dword [esi + 4], eax
push 0x2c
pop ecx
call fcn.004fbf7d
mov eax, dword [esi + 0x18]
lea ecx, [esi + 0x320]
mov edi, dword [esi + 4]
mov dword [ecx - 0x18], 0x2c
mov dword [ecx - 0x14], eax
lea eax, [esi + 0xcc]
mov dword [ecx - 0x10], edi
and dword [ecx - 0xc], 0
mov dword [ecx - 8], edi
mov dword [ecx - 4], edx
mov eax, dword [eax - 0xc]
mov dword [ecx], eax
and dword [ecx + 4], 0
xor eax, eax
mov dword [ecx + 8], edi
mov word [ecx + 0xc], 1
test al, al
jne 0x54bfaa
mov ecx, dword [esi + 0x30c]
mov dword [esi + 0x1f0], ecx
mov edi, dword [esi + 0x31c]
mov eax, dword [esi + 0x310]
mov edx, dword [esi + 0x318]
mov dword [esi + 0x14], ecx
mov dword [esi + 4], eax
mov dword [esi + 0x18], edx
mov dword [esi + 0xc], edi
mov edx, dword [esi + 0x18]
mov ebx, dword [esi + 0x314]
mov eax, edx
sub eax, ebx
jb 0x54b3a8
cmp edx, dword [esi + 4]
ja 0x54b3a8
lea edx, [ecx + ebx]
movzx ecx, byte [esi + edi + 0x31f]
cmp eax, 8
jae 0x54b328
push eax
call fcn.0044142e
jmp 0x54b32e
push eax
call fcn.0044c2b0
pop ecx
mov ecx, dword [esi + 0x14]
cmp eax, 1
jne 0x54b39f
mov edi, dword [esi + 0xc]
lea eax, [edx + ebx + 1]
mov edx, eax
mov dword [esi + 0x314], eax
sub edx, edi
jb 0x54b2f4
cmp eax, dword [esi + 4]
ja 0x54b2f4
mov dword [esi + 4], edx
mov edx, edi
mov dword [esi + 0x3f8], 0x28
xor ecx, ecx
push 0x651f5c
push 4
lea eax, [esi + 0x320]
push eax
call fcn.004091c1
add esp, 0xc
mov ecx, dword [esi + 0x14]
mov ebx, dword [esi + 4]
mov edi, edx
mov edx, dword [esi + 0xc]
add ecx, ebx
push edi
push eax
call fcn.004ae91f
pop ecx
pop edx
test al, al
jne 0x54b9dd
mov ecx, dword [esi + 0x30c]
jmp 0x54b2d6
mov eax, dword [esi + 0x18]
mov dword [esi + 0x314], eax
cmp byte [esi + 0x32d], 0
jne 0x54bfaa
mov byte [esi + 0x32d], 1
cmp byte [esi + 0x32c], 0
je 0x54b3d3
mov eax, dword [esi + 0x324]
mov ebx, dword [esi + 0x328]
jmp 0x54b3e7
mov eax, dword [esi + 0x324]
mov ebx, dword [esi + 0x328]
cmp ebx, eax
je 0x54bfaa
add ecx, eax
sub ebx, eax
mov edx, ebx
call fcn.005797e3
test edx, edx
je 0x54bd66
mov edi, eax
mov ebx, edx
mov ecx, eax
push 8
push 0x64f37b
call fcn.004ceab4
pop ecx
pop edx
test al, al
je 0x54b43e
xor ecx, ecx
xor edx, edx
mov dword [esi + 0x3f8], 0x28
inc edx
call fcn.0042029e
lea ecx, [esi + 0xa4]
mov edx, eax
push 0x64f3e4
call fcn.00550cbc
pop eax
jmp 0x54bd66
mov dword [esi + 0x18], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x188], 0x673be0
mov eax, dword [0x673c00]
cmp eax, 3
je 0x54b49b
lea eax, [esi + 0x188]
mov dword [esi + 0x3f8], 0x28
lea ecx, [0x673c00]
xor edx, edx
mov dword [esi + 0x248], eax
lea eax, [esi + 0x248]
mov dword [esi + 0xc0], eax
push 0x648558
push 0x64a760
lea eax, [esi + 0xc0]
push eax
call fcn.0059d210
add esp, 0xc
mov edi, dword [esi + 0x188]
cmp dword [edi + 0xc], 0
je 0x54b677
mov ecx, dword [edi + 0x10]
mov edx, dword [edi + 0x14]
push dword [esi + 0x18]
push dword [esi + 4]
push dword [edi + 0x1c]
push dword [edi + 0x18]
call fcn.004834fe
add esp, 0x10
mov edx, dword [edi + 4]
mov ecx, dword [edi]
mov dword [esi + 0x1c], 0
mov dword [esi + 0xc], edx
and edx, eax
shr eax, 0x19
mov dword [esi + 0x14], ecx
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm1, xmm0, 0
movdqa xmmword [esi + 0x200], xmm1
movdqu xmm0, xmmword [ecx + edx]
mov ebx, edx
movdqa xmmword [esi + 0x1f0], xmm0
pcmpeqb xmm0, xmm1
pmovmskb eax, xmm0
mov word [esi + 0xc0], ax
lea ecx, [esi + 0xc0]
call fcn.0047bded
test eax, eax
je 0x54b54b
add edx, ebx
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 4]
and edx, dword [esi + 0xc]
neg edx
imul edi, edx, 0x28
mov edx, dword [esi + 0x18]
push dword [eax + edi - 0x20]
push dword [eax + edi - 0x24]
call fcn.004ceab4
pop ecx
pop edx
test al, al
je 0x54b514
jmp 0x54b589
movdqa xmm1, xmmword [esi + 0x1f0]
pcmpeqd xmm0, xmm0
pcmpeqb xmm1, xmm0
pmovmskb eax, xmm1
test eax, eax
jne 0x54b677
mov eax, dword [esi + 0x1c]
mov edx, ebx
mov ecx, dword [esi + 0x14]
movdqa xmm1, xmmword [esi + 0x200]
lea edx, [ebx + eax + 0x10]
add eax, 0x10
and edx, dword [esi + 0xc]
mov dword [esi + 0x1c], eax
jmp 0x54b4f6
mov eax, dword [esi + 0x14]
lea ecx, [esi + 0x188]
add eax, edi
mov edx, dword [eax - 0x18]
mov dword [esi + 0x14], eax
mov eax, dword [eax - 0x14]
mov dword [esi + 0x3f8], 0x28
push eax
call fcn.00416040
pop eax
mov eax, dword [esi + 0x14]
lea ecx, [esi + 0x248]
mov edx, dword [eax - 0xc]
mov eax, dword [eax - 8]
mov dword [esi + 0x3f8], 0x2e
push eax
call fcn.00416040
pop eax
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x190]
movsd xmm0, qword [esi + 0x188]
lea edx, [esi + 0xcc]
mov eax, dword [eax - 4]
mov dword [esi + 0xc8], ecx
movsd qword [esi + 0xc0], xmm0
mov ecx, dword [esi + 0x250]
movq xmm0, qword [esi + 0x248]
mov dword [esi + 0x3f8], 0x2d
mov dword [edx + 8], ecx
movq qword [edx], xmm0
mov dword [esi + 0xd8], eax
push 0x1c
pop ecx
push 4
pop edx
call fcn.0042029e
mov ecx, dword [esi + 0xd8]
mov edx, eax
mov dword [eax + 0x18], ecx
lea ecx, [esi + 0xa4]
movsd xmm0, qword [esi + 0xd0]
movsd qword [eax + 0x10], xmm0
movq xmm0, qword [esi + 0xc0]
movq xmm1, qword [esi + 0xc8]
movq qword [eax + 8], xmm1
movq qword [eax], xmm0
mov dword [esi + 0x3f8], 0x28
push 0x64f384
call fcn.00550cbc
pop eax
jmp 0x54bd66
mov dword [esi + 0x188], 0x673c08
mov eax, dword [0x673c28]
cmp eax, 3
je 0x54b6ce
lea eax, [esi + 0x188]
mov dword [esi + 0x3f8], 0x28
lea ecx, [0x673c28]
xor edx, edx
mov dword [esi + 0x248], eax
lea eax, [esi + 0x248]
mov dword [esi + 0xc0], eax
push 0x648558
push 0x64a7c4
lea eax, [esi + 0xc0]
push eax
call fcn.0059d210
add esp, 0xc
mov ebx, dword [esi + 0x188]
cmp dword [ebx + 0xc], 0
je 0x54b81b
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 0x14]
push dword [esi + 0x18]
push dword [esi + 4]
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
call fcn.004834fe
add esp, 0x10
mov ecx, dword [ebx + 4]
mov edi, dword [ebx]
mov dword [esi + 0x1c], 0
mov dword [esi + 0xc], ecx
and ecx, eax
shr eax, 0x19
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm1, xmm0, 0
movdqa xmmword [esi + 0x200], xmm1
movdqu xmm0, xmmword [edi + ecx]
mov dword [esi + 0x14], ecx
movdqa xmmword [esi + 0x1f0], xmm0
pcmpeqb xmm0, xmm1
pmovmskb eax, xmm0
mov word [esi + 0xc0], ax
lea ecx, [esi + 0xc0]
call fcn.0047bded
test eax, eax
je 0x54b77a
add edx, dword [esi + 0x14]
mov ecx, dword [esi + 4]
and edx, dword [esi + 0xc]
neg edx
imul ebx, edx, 0x34
mov edx, dword [esi + 0x18]
push dword [edi + ebx - 0x2c]
push dword [edi + ebx - 0x30]
call fcn.004ceab4
pop ecx
pop edx
test al, al
je 0x54b745
jmp 0x54b7b6
movdqa xmm1, xmmword [esi + 0x1f0]
pcmpeqd xmm0, xmm0
pcmpeqb xmm1, xmm0
pmovmskb eax, xmm1
test eax, eax
jne 0x54b81b
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 0x1c]
movdqa xmm1, xmmword [esi + 0x200]
lea ecx, [ecx + eax + 0x10]
add eax, 0x10
and ecx, dword [esi + 0xc]
mov dword [esi + 0x1c], eax
jmp 0x54b726
add edi, ebx
lea ecx, [esi + 0xc0]
mov dword [esi + 0x3f8], 0x28
add edi, 0xffffffd8
mov edx, edi
call fcn.00550d3c
mov dword [esi + 0x3f8], 0x2a
push 0x28
pop ecx
push 4
pop edx
call fcn.0042029e
mov edi, eax
push 0x28
pop ebx
push ebx
lea eax, [esi + 0xc0]
push eax
push edi
call fcn.0058a110
add esp, 0xc
mov dword [esi + 0x3f8], ebx
lea ecx, [esi + 0xa4]
mov edx, edi
push 0x64f3a4
call fcn.00550cbc
pop eax
jmp 0x54bd66
mov edi, dword [esi + 4]
mov ebx, dword [esi + 0x18]
mov dword [esi + 0x60], 0x673c30
mov dword [esi + 0x54], edi
mov dword [esi + 0x58], ebx
mov eax, dword [0x673c40]
mov dword [esi + 0x3f8], 0x28
cmp eax, 3
je 0x54b878
lea eax, [esi + 0x60]
lea ecx, [0x673c40]
xor edx, edx
mov dword [esi + 0x70], eax
lea eax, [esi + 0x70]
mov dword [esi + 0x188], eax
push 0x648558
push 0x64a74c
lea eax, [esi + 0x188]
push eax
call fcn.0059d210
mov ebx, dword [esi + 0x18]
mov edi, dword [esi + 4]
add esp, 0xc
mov eax, dword [esi + 0x60]
lea ecx, [esi + 0xc0]
mov edx, dword [eax]
push ebx
push edi
push dword [eax + 4]
call fcn.00550e21
add esp, 0xc
mov eax, dword [esi + 0xc0]
cmp eax, 2
jne 0x54b901
mov dword [esi + str.Invalid_dotnet_version_string:_], 0x64f2a4
mov dword [esi + 0x18c], 2
and dword [esi + 0x198], 0
lea eax, [esi + 0x54]
lea ecx, [esi + 0x70]
lea edx, [esi + 0x188]
mov dword [esi + 0x60], eax
lea eax, [esi + 0x60]
mov dword [esi + 0x64], fcn.0041a414
mov dword [esi + 0x190], eax
mov dword [esi + 0x194], 1
call fcn.00401eab
lea ecx, [esi + 0x70]
call fcn.0059a011
mov dword [esi + 0xc4], eax
mov dword [esi + 0xc0], 0x80000000
jmp 0x54bd47
lea edx, [esi + 0xcc]
lea edi, [esi + 0x250]
mov ecx, dword [esi + 0xc4]
mov dword [esi + 0x3f8], 0x2b
movsd xmm1, qword [edx + 0xc]
movq xmm0, qword [edx + 0x14]
movsd xmm2, qword [edx - 4]
movsd qword [edi + 0x10], xmm1
movq xmm1, qword [edx + 4]
movq qword [edi + 0x18], xmm0
movsd qword [edi], xmm2
lea edx, [esi + 0x248]
movq qword [edi + 8], xmm1
mov dword [esi + 0x248], eax
mov dword [esi + 0x24c], ecx
lea ecx, [esi + 0x188]
push 7
push 0x64df00
call fcn.00550ff6
pop eax
pop ecx
mov eax, dword [esi + 0x188]
test eax, eax
je 0x54ba00
mov ecx, dword [esi + 0x194]
mov edx, dword [esi + 0x18c]
mov edi, dword [esi + 0x190]
mov dword [esi + 0x70], eax
mov dword [esi + 0x74], edx
mov dword [esi + 0x7c], ecx
lea ecx, [esi + 0x70]
mov dword [esi + 0x78], edi
call fcn.00551056
mov dword [esi + 4], eax
mov dword [esi + 0x18], edx
lea ecx, [esi + 0xc0]
lea edx, [esi + 0x248]
push 4
push str.archtype.NET
call fcn.00550ff6
pop eax
pop ecx
cmp dword [esi + 0xc0], 0
je 0x54ba5f
lea ecx, [esi + 0xc0]
call fcn.00551056
mov ecx, eax
jmp 0x54ba61
mov ecx, dword [esi + 0x324]
mov edx, dword [esi + 0x1f0]
mov eax, dword [esi + 0x314]
add edx, ecx
sub ebx, ecx
mov dword [esi + 0x324], eax
mov ecx, edx
jmp 0x54b3eb
mov dword [esi + 0xc0], str.Invalid_dotnet_version_string:_
mov dword [esi + 0xc4], 2
and dword [esi + 0xd0], 0
lea eax, [esi + 0x54]
lea ecx, [esi + 0x60]
lea edx, [esi + 0xc0]
mov dword [esi + 0x80], eax
lea eax, [esi + 0x80]
mov dword [esi + 0x84], fcn.0041a414
mov dword [esi + 0xc8], eax
mov dword [esi + 0xcc], 1
call fcn.00401eab
lea ecx, [esi + 0x60]
call fcn.0059a011
jmp 0x54bd2c
xor ecx, ecx
test ecx, ecx
mov eax, 0x64eca7
cmove ecx, eax
mov dword [esi + 0x14], ecx
push 3
pop eax
cmove edx, eax
lea ecx, [esi + 0xc0]
mov dword [esi + 0xc], edx
lea edx, [esi + 0x248]
push 4
push 0x64f260
call fcn.00550ff6
pop eax
pop ecx
cmp dword [esi + 0xc0], 0
je 0x54baa9
lea ecx, [esi + 0xc0]
call fcn.00551056
mov ecx, eax
jmp 0x54baab
xor ecx, ecx
test ecx, ecx
mov eax, 0x64ef69
cmove ecx, eax
mov dword [esi + 0x1f0], ecx
push 7
pop eax
cmove edx, eax
lea ecx, [esi + 0xc0]
mov dword [esi + 0x1c], edx
mov edx, dword [esi + 4]
push dword [esi + 0x18]
call fcn.00551071
pop eax
cmp dword [esi + 0xc0], 0
je 0x54baea
mov eax, dword [esi + 0xc4]
jmp 0x54bd2c
mov ecx, dword [esi + 0xc4]
mov edx, dword [esi + 0xc8]
mov edi, dword [esi + 0xcc]
mov eax, dword [esi + 0xd0]
cmp ecx, 5
mov dword [esi + 0x44], ecx
mov dword [esi + 0x94], edx
mov dword [esi + 0x80], edi
jae 0x54bb52
mov dword [esi + 0xc0], str.Only_dotnet_5_and_greater_is_supported.
mov dword [esi + 0xc4], 1
and dword [esi + 0xd0], 0
mov dword [esi + 0xc8], str._rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrary_std_srcioimpls.rs
and dword [esi + 0xcc], 0
lea ecx, [esi + 0xc0]
call fcn.0059e764
jmp 0x54bd2c
test eax, eax
je 0x54bbbb
mov dword [esi + 0xc0], str.Invalid_dotnet_version_string:_
mov dword [esi + 0xc4], 2
and dword [esi + 0xd0], 0
lea eax, [esi + 0x54]
lea ecx, [esi + 0xb4]
lea edx, [esi + 0xc0]
mov dword [esi + 0x188], eax
lea eax, [esi + 0x188]
mov dword [esi + 0x18c], fcn.0041a414
mov dword [esi + 0xc8], eax
mov dword [esi + 0xcc], 1
call fcn.00401eab
lea ecx, [esi + 0xb4]
call fcn.0059a011
jmp 0x54bd2c
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0xc]
call fcn.00551402
mov edi, dword [esi + 0x1c]
mov edx, dword [esi + 0x1f0]
cmp al, 3
jne 0x54bc2f
mov dword [esi + 0xc0], str.Invalid_dotnet_version_string:_
mov dword [esi + 0xc4], 2
and dword [esi + 0xd0], 0
lea eax, [esi + 0x54]
lea ecx, [esi + 0x188]
lea edx, [esi + 0xc0]
mov dword [esi + 0x70], eax
lea eax, [esi + 0x70]
mov dword [esi + 0x74], fcn.0041a414
mov dword [esi + 0xc8], eax
mov dword [esi + 0xcc], 1
call fcn.00401eab
lea ecx, [esi + 0x188]
call fcn.0059a011
jmp 0x54bd2c
mov byte [esi + 0x1d4], al
lea ecx, [esi + 0xc0]
push edi
call fcn.00415830
pop eax
mov edi, dword [esi + 0xc4]
mov ebx, dword [esi + 0xc8]
mov ecx, edi
mov edx, ebx
push 7
push str.runtimeaspnetcoreaspaspcorewindowsdesktopdesktopsharedMicrosoft.NETCore.AppsharedMicrosoft.AspNetCore.AppsharedMicrosoft.WindowsDesktop.AppProgramW6432Unable_to_determine_ProgramFilesX64_path.
call fcn.004ae91f
pop ecx
pop edx
xor edx, edx
test al, al
mov ecx, 0
jne 0x54bcbb
mov ecx, edi
mov edx, ebx
push 0xa
push 0x64ef47
call fcn.004ae91f
pop ecx
pop edx
mov cl, 1
test al, al
je 0x54bc87
xor edx, edx
jmp 0x54bcbb
mov ecx, edi
mov edx, ebx
push 3
push 0x64ef51
call fcn.004ae91f
pop ecx
pop edx
test al, al
jne 0x54bcb7
mov ecx, edi
mov edx, ebx
push 7
push 0x64ef54
call fcn.004ae91f
pop ecx
pop edx
test al, al
je 0x54bf6c
xor edx, edx
mov cl, 1
mov dword [esi + 4], ecx
mov ecx, dword [esi + 0xc0]
mov ebx, edx
mov edx, edi
call fcn.0041b0e1
test bl, bl
je 0x54bd71
mov dword [esi + 0xc0], str.Invalid_dotnet_version_string:_
mov dword [esi + 0xc4], 2
and dword [esi + 0xd0], 0
lea eax, [esi + 0x54]
lea ecx, [esi + 0x188]
lea edx, [esi + 0xc0]
mov dword [esi + 0x70], eax
lea eax, [esi + 0x70]
mov dword [esi + 0x74], fcn.0041a414
mov dword [esi + 0xc8], eax
mov dword [esi + 0xcc], 1
call fcn.00401eab
lea ecx, [esi + 0x188]
call fcn.0059a011
lea ecx, [esi + 0x248]
mov dword [esi + 0xc4], eax
mov dword [esi + 0xc0], 0x80000000
call fcn.0053499c
mov dword [esi + 0x3f8], 0x28
lea ecx, [esi + 0xc0]
mov dword [esi + 0x3f8], 0x28
call fcn.005514e1
mov al, byte [esi + 0x32d]
jmp 0x54b2c2
mov eax, dword [esi + 4]
mov ecx, fcn.004465e0
mov dword [esi + str._rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrary_std_srcioimpls.rs], 0x64ddc4
mov byte [esi + 0x228], al
lea eax, [esi + 0x44]
mov dword [esi + 0xc0], eax
lea eax, [esi + 0x94]
mov dword [esi + 0xc4], ecx
mov dword [esi + 0xc8], eax
lea eax, [esi + 0x80]
mov dword [esi + 0xcc], ecx
mov dword [esi + 0xd0], eax
mov dword [esi + 0xd4], ecx
push 3
pop ecx
mov dword [esi + 0x18c], ecx
and dword [esi + 0x198], 0
lea eax, [esi + 0xc0]
lea edx, [esi + 0x188]
mov dword [esi + 0x190], eax
mov dword [esi + 0x194], ecx
lea ecx, [esi + 0x70]
call fcn.00401eab
mov eax, dword [esi + 0x78]
movq xmm0, qword [esi + 0x70]
mov dword [esi + 0x188], 0x64f26c
mov dword [esi + 0x68], eax
lea eax, [esi + 0x60]
movq qword [esi + 0x60], xmm0
mov dword [esi + 0xc0], eax
lea eax, [esi + 0x1d4]
mov dword [esi + 0xc4], fcn.0041a314
mov dword [esi + 0xc8], eax
lea eax, [esi + 0x228]
mov dword [esi + 0xcc], 0x551479
mov dword [esi + 0xd0], eax
mov dword [esi + 0xd4], 0x55149f
push 3
pop ecx
mov dword [esi + 0x18c], ecx
and dword [esi + 0x198], 0
lea eax, [esi + 0xc0]
lea edx, [esi + 0x188]
mov dword [esi + 0x3f8], 0x2c
mov dword [esi + 0x190], eax
mov dword [esi + 0x194], ecx
lea ecx, [esi + 0x1e4]
call fcn.00401eab
mov eax, dword [esi + 0x68]
movq xmm0, qword [esi + 0x60]
mov edx, dword [esi + 0x1ec]
movsd xmm1, qword [esi + 0x1e4]
lea ecx, [esi + 0x194]
mov dword [ecx + 8], eax
movq qword [ecx], xmm0
mov dword [esi + 0x190], edx
movsd qword [esi + 0xc0], xmm1
mov al, byte [esi + 0x1d4]
mov cl, byte [esi + 0x228]
movsd xmm2, qword [esi + 0x198]
movq xmm1, qword [esi + 0x190]
movsd qword [esi + 0xd0], xmm2
movq qword [esi + 0xc8], xmm1
mov byte [esi + 0xd8], al
mov byte [esi + 0xd9], cl
lea ecx, [esi + 0x248]
call fcn.0053499c
cmp dword [esi + 0xc0], 0x80000000
je 0x54bd51
mov dword [esi + 0x3f8], 0x29
push 0x1c
pop ecx
push 4
pop edx
call fcn.0042029e
mov ecx, dword [esi + 0xd8]
mov edx, eax
mov dword [eax + 0x18], ecx
lea ecx, [esi + 0xa4]
movsd xmm0, qword [esi + 0xd0]
movsd qword [eax + 0x10], xmm0
movq xmm0, qword [esi + 0xc0]
movq xmm1, qword [esi + 0xc8]
movq qword [eax + 8], xmm1
movq qword [eax], xmm0
mov dword [esi + 0x3f8], 0x28
push 0x64f3c4
call fcn.00550cbc
pop eax
jmp 0x54bd66
mov ecx, edi
mov edx, ebx
push 0xe
push 0x64ef5b
call fcn.004ae91f
pop ecx
pop edx
test al, al
je 0x54bf89
mov cl, 2
jmp 0x54bc83
mov ecx, edi
mov edx, ebx
push 7
push 0x64ef69
call fcn.004ae91f
pop ecx
pop edx
mov ecx, eax
mov edx, eax
xor dl, 1
xor cl, 3
jmp 0x54bcbb
mov eax, dword [esi + 0xac]
movsd xmm0, qword [esi + 0xa4]
lea ecx, [esi + 0xb4]
lea edx, [esi + 0x1e4]
mov dword [esi + 0x1f0], 0
mov dword [esi + 0x14], 0
and dword [ecx], 0
mov dword [ecx + 4], 4
and dword [ecx + 8], 0
and dword [edx], 0
mov dword [edx + 4], 1
and dword [edx + 8], 0
movsd qword [esi + 0x238], xmm0
mov dword [esi + 0x240], eax
mov dword [esi + 0xc], eax
mov ecx, dword [esi + 0x23c]
mov dword [esi + 0x18], ecx
mov edx, dword [esi + 0x14]
cmp edx, dword [esi + 0xc]
jae 0x54c1df
mov ecx, dword [esi + 0x18]
mov eax, dword [ecx + edx*8]
mov ecx, dword [ecx + edx*8 + 4]
and dword [esi + 0x3f8], 0
push eax
mov dword [esi + 4], edx
call dword [ecx + 0x14]
add esp, 4
mov edi, dword [esi + 4]
mov ecx, dword [0x673b84]
test al, al
lea edx, [edi + 1]
je 0x54c0cd
cmp ecx, 3
jb 0x54c00e
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x14], edx
mov eax, dword [ecx + edi*8 + 4]
push dword [ecx + edi*8]
call dword [eax + 0x10]
add esp, 4
mov dword [esi + 0xc0], 0x64ec94
mov dword [esi + 0xc4], 2
and dword [esi + 0xd0], 0
mov dword [esi + 0x248], eax
lea eax, [esi + 0x248]
mov dword [esi + 0x24c], edx
lea ecx, [esi + 0xc0]
mov dword [esi + 0x308], eax
lea eax, [esi + 0x308]
mov dword [esi + 0x30c], fcn.0041a414
mov dword [esi + 0xc8], eax
mov dword [esi + 0xcc], 1
push 3
pop edx
push 0x11
push 0x64eb1c
call fcn.00465135
pop eax
pop ecx
jmp 0x54c00b
cmp ecx, 3
mov dword [esi + 0x14], edx
jb 0x54c14f
mov ecx, dword [esi + 0x18]
mov eax, dword [ecx + edi*8 + 4]
push dword [ecx + edi*8]
call dword [eax + 0x10]
add esp, 4
mov dword [esi + 0xc0], 0x64ec84
mov dword [esi + 0xc4], 2
and dword [esi + 0xd0], 0
mov dword [esi + 0x248], eax
lea eax, [esi + 0x248]
mov dword [esi + 0x24c], edx
lea ecx, [esi + 0xc0]
mov dword [esi + 0x308], eax
lea eax, [esi + 0x308]
mov dword [esi + 0x30c], fcn.0041a414
mov dword [esi + 0xc8], eax
mov dword [esi + 0xcc], 1
push 3
pop edx
push 0x14
push 0x64eb1c
call fcn.00465135
pop eax
pop ecx
mov eax, dword [esi + 0x1f0]
test eax, eax
je 0x54c17a
mov edx, 0x648252
lea ecx, [esi + 0x1e4]
mov dword [esi + 0x1f0], eax
push 2
call fcn.00456708
pop eax
mov edx, dword [esi + 0x1f0]
jmp 0x54c17c
xor edx, edx
cmp edx, dword [esi + 0xb4]
jne 0x54c199
lea ecx, [esi + 0xb4]
call fcn.0053c9a0
mov edi, dword [esi + 0xbc]
mov edx, edi
jmp 0x54c19f
mov edi, dword [esi + 0x1f0]
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 4]
inc edi
mov dword [esi + 0x1f0], edi
lea eax, [eax + ecx*8]
mov ecx, dword [esi + 0xb8]
mov dword [ecx + edx*4], eax
mov dword [esi + 0xbc], edi
mov ecx, dword [eax + 4]
push dword [eax]
call dword [ecx + 0x10]
add esp, 4
mov edi, edx
lea ecx, [esi + 0x1e4]
mov edx, eax
push edi
call fcn.00456708
pop eax
jmp 0x54c00b
cmp dword [esi + 0x1f0], 0
mov edx, dword [esi + 0x1e8]
je 0x54d82e
mov eax, dword [esi + 0x1ec]
mov dword [esi + 0x70], edx
mov dword [esi + 0x74], eax
mov al, byte [0x673b88]
test al, al
je 0x54c255
and dword [esi + 0x3f8], 0
and dword [esi + 0x3f8], 0
lea ecx, [esi + 0xc0]
mov edx, 0x64eb68
call fcn.00576ff2
mov eax, dword [esi + 0xc0]
cmp eax, 0x80000000
mov dword [esi + 0x218], eax
jne 0x54c473
mov ecx, dword [esi + 0xc4]
call fcn.0059e6cb
mov ecx, dword [esi + 0x4c]
mov dword [ecx + 4], eax
mov byte [ecx], 1
jmp 0x54da10
push 2
pop ecx
mov eax, dword [esi + 0x220]
and dword [esi + 0x3f8], 0
lea edx, [eax + 0x34]
mov dword [esi + 0x248], edx
mov dword [esi + 4], edx
lea edx, [esi + 0xc0]
mov dword [esi + 0x24c], fcn.0041a314
mov dword [esi + 0x250], eax
lea eax, [esi + 0x248]
mov dword [esi + 0x254], fcn.004cefd0
mov dword [edx], str._rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrary_std_srcioimpls.rs
mov dword [edx + 4], ecx
and dword [edx + 0x10], 0
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
lea ecx, [esi + 0x188]
call fcn.00401eab
mov ecx, dword [esi + 0x190]
mov edx, dword [esi + 4]
mov eax, dword [esi + 0x18c]
mov dword [esi + 0x308], edx
mov dword [esi + 0x200], ecx
lea edx, [esi + 0xc0]
lea ecx, [esi + 0x308]
mov dword [esi + 0x18], eax
mov dword [esi + 0x30c], fcn.0041a314
mov dword [edx], str._rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrary_std_srcioimpls.rs
mov dword [edx + 4], 2
and dword [edx + 0x10], 0
mov dword [edx + 8], ecx
xor ecx, ecx
inc ecx
mov dword [edx + 0xc], ecx
mov dword [esi + 0x3f8], ecx
lea ecx, [esi + 0x248]
call fcn.00401eab
mov eax, dword [esi + 0x248]
lea edx, [esi + 0xc0]
mov dword [edx], str._rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrary_std_srcioimpls.rs
mov dword [edx + 4], 3
and dword [edx + 0x10], 0
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x24c]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x250]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 4]
mov dword [esi + 0x248], eax
lea eax, [esi + 0x70]
mov dword [esi + 0x24c], fcn.0041a314
mov dword [esi + 0x250], eax
lea eax, [esi + 0x248]
mov dword [edx + 8], eax
push 2
pop eax
lea ecx, [esi + 0x308]
mov dword [edx + 0xc], eax
mov dword [esi + 0x3f8], eax
mov dword [esi + 0x254], fcn.0041a414
call fcn.00401eab
mov eax, dword [esi + 0x308]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x30c]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x310]
mov cl, byte [0x673b88]
test cl, cl
jne 0x54c400
mov edx, dword [esi + 0x18]
mov dword [esi + 0x3f8], 3
lea ecx, [esi + 0xc0]
push 1
push 8
push str.Install__A__is_already_installed.
push eax
push dword [esi + 4]
push dword [esi + 0x3c]
push dword [esi + 0x14]
push dword [esi + 0x200]
call fcn.0054e6dc
add esp, 0x20
mov edx, dword [esi + 4]
cmp byte [esi + 0xc0], 0
je 0x54d97b
mov eax, dword [esi + 0xc4]
mov ecx, dword [eax]
push eax
call dword [ecx]
add esp, 4
mov ecx, dword [esi + 0x1c]
mov edx, dword [esi + 4]
call fcn.0041b0e1
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x14]
call fcn.0041b0e1
mov ecx, dword [esi + 0x188]
mov edx, dword [esi + 0x18]
call fcn.0041b0e1
mov eax, dword [0x673b84]
test eax, eax
je 0x54c467
lea ecx, [esi + 0xc0]
and dword [esi + 0x3f8], 0
mov dword [ecx], str.User_cancelled_pre_requisite_installation.
mov dword [ecx + 4], 1
and dword [ecx + 0x10], 0
mov dword [ecx + 8], str._rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrary_std_srcioimpls.rs
and dword [ecx + 0xc], 0
xor edx, edx
inc edx
push 0x24
push 0x64eb1c
call fcn.00465135
pop eax
pop ecx
mov eax, dword [esi + 0x4c]
and word [eax], 0
jmp 0x54da09
mov eax, dword [esi + 0xc4]
mov dword [esi + 0x1c8], eax
mov eax, dword [esi + 0xc8]
mov dword [esi + 0x244], eax
mov eax, dword [0x673b84]
cmp eax, 3
lea eax, [esi + 0x248]
jb 0x54c4f9
mov ecx, dword [esi + 0x1f0]
mov dword [esi + 0x3f8], 4
mov dword [esi + 0x308], ecx
lea ecx, [esi + 0x308]
mov dword [esi + 0x248], ecx
lea ecx, [esi + 0xc0]
mov dword [esi + 0x24c], fcn.004465e0
mov dword [ecx], 0x64eba0
mov dword [ecx + 4], 2
and dword [ecx + 0x10], 0
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], 1
push 3
pop edx
push 0x2c
push 0x64eb1c
call fcn.00465135
pop eax
pop ecx
mov al, byte [0x673b88]
xor edi, edi
mov byte [esi + 0x5f], al
mov eax, dword [esi + 0x1f0]
cmp edi, eax
jae 0x54d810
mov edx, dword [esi + 0xbc]
mov dword [esi + 0x3f8], 4
cmp edx, edi
jbe 0x54da58
mov eax, dword [esi + 0xb8]
mov dword [esi + 0x18], edi
mov dword [esi + 0x14], eax
mov eax, dword [eax + edi*4]
mov ecx, dword [eax + 4]
push dword [eax]
lea eax, [esi + 0xc0]
push eax
call dword [ecx + 0x18]
add esp, 8
mov ecx, dword [esi + 0xc0]
mov eax, dword [esi + 0xc4]
cmp ecx, 0x80000000
mov dword [esi + 0x9c], eax
je 0x54d841
mov eax, dword [esi + 0xc8]
mov dword [esi + 0x224], ecx
mov ecx, dword [esi + 0x14]
mov dword [esi + 0x200], eax
mov eax, dword [esi + 0x18]
mov eax, dword [ecx + eax*4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esi + 0x3f8], 5
push ecx
lea ecx, [esi + 0xc0]
push ecx
call dword [eax + 0xc]
add esp, 8
mov edx, dword [esi + 0x1c8]
lea eax, [esi + 0xc0]
lea ecx, [esi + 0x70]
push eax
push dword [esi + 0x244]
call fcn.00535773
pop eax
pop ecx
mov ecx, dword [esi + 0x74]
mov edx, dword [esi + 0x78]
mov dword [esi + 0x3f8], 6
mov dword [esi + 0x50], ecx
mov dword [esi + 0xa0], edx
call fcn.00531046
test al, al
jne 0x54d34e
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
mov eax, dword [ecx + eax*4]
mov ecx, dword [eax + 4]
push dword [eax]
call dword [ecx + 0x10]
add esp, 4
mov dword [esi + 0xc0], 0x64ebc8
mov dword [esi + 0xc4], 2
and dword [esi + 0xd0], 0
mov dword [esi + 0x308], eax
lea eax, [esi + 0x308]
mov dword [esi + 0x30c], edx
lea ecx, [esi + 0x248]
lea edx, [esi + 0xc0]
mov dword [esi + 0x188], eax
lea eax, [esi + 0x188]
mov dword [esi + 0x18c], fcn.0041a414
mov dword [esi + 0xc8], eax
mov dword [esi + 0xcc], 1
call fcn.00401eab
mov eax, dword [esi + 0x248]
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0x250]
mov dword [esi + 0x21c], eax
mov eax, dword [esi + 0x24c]
mov dword [esi + 4], edx
mov dword [esi + 0x1cc], eax
mov eax, dword [esi + 0x18]
mov eax, dword [ecx + eax*4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov byte [esi + 0x25], 1
mov dword [esi + 0x3f8], 8
push ecx
call dword [eax + 0x10]
add esp, 4
mov dword [esi + 0xc0], 0x64ebd8
mov dword [esi + 0xc4], 2
and dword [esi + 0xd0], 0
mov dword [esi + 0x308], eax
lea eax, [esi + 0x308]
mov dword [esi + 0x30c], edx
lea ecx, [esi + 0x248]
lea edx, [esi + 0xc0]
mov byte [esi + 0x25], 1
mov dword [esi + 0x188], eax
lea eax, [esi + 0x188]
mov dword [esi + 0x18c], fcn.0041a414
mov dword [esi + 0xc8], eax
mov dword [esi + 0xcc], 1
call fcn.00401eab
movsd xmm0, qword [esi + 0x248]
mov eax, dword [esi + 0x250]
movsd qword [esi + 0x60], xmm0
mov dword [esi + 0x68], eax
mov eax, dword [0x673b84]
cmp eax, 3
jb 0x54c78f
xor ecx, ecx
mov dword [esi + 0xc0], 0x64ebe8
lea eax, [esi + 0x60]
mov byte [esi + 0x22], 0
mov byte [esi + 0x23], 1
mov dword [esi + 0x3f8], 9
inc ecx
mov dword [esi + 0x248], eax
lea eax, [esi + 0x248]
mov dword [esi + 0x24c], fcn.0041a314
mov dword [esi + 0xc4], ecx
and dword [esi + 0xd0], 0
mov dword [esi + 0xc8], eax
mov dword [esi + 0xcc], ecx
lea ecx, [esi + 0xc0]
push 3
pop edx
push 0x37
push 0x64eb1c
call fcn.00465135
pop eax
pop ecx
mov eax, dword [esi + 0x60]
mov ecx, dword [esi + 4]
mov dword [esi + 0x3f8], 0xa
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x64]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x68]
mov dword [esi + 0xc], eax
call fcn.004ce3e6
mov dword [esi + 0x30], eax
push dword [esi + 4]
push dword [esi + 0x1cc]
mov dword [esi + 0x50], edx
push edx
call fcn.0058a110
add esp, 0xc
mov ecx, dword [esi + 0xc]
mov byte [esi + 0x27], 1
mov dword [esi + 0x3f8], 0xb
call fcn.004ce3e6
mov dword [esi + 0xa0], eax
push dword [esi + 0xc]
push dword [esi + 0x1c]
push edx
mov dword [esi + 0x3c], edx
call fcn.0058a110
add esp, 0xc
lea ecx, [esi + 0xc0]
mov byte [esi + 0x34], 0
mov byte [esi + 0x35], 1
mov dword [esi + 0x3f8], 0xc
call fcn.0053ff22
mov eax, dword [esi + 0xc8]
and dword [esi + 0x44], 0
mov dword [esi + 0x3f8], 0xf
mov dword [esi + 0x248], eax
mov eax, dword [esi + 0xcc]
mov dword [esi + 0x24c], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 0x250], eax
mov eax, dword [esi + 0x50]
mov dword [esi + 0x254], eax
mov eax, dword [esi + 4]
mov dword [esi + 0x258], eax
mov eax, dword [esi + 0xc0]
mov dword [esi + 0x8c], eax
mov eax, dword [esi + 0xa0]
mov dword [esi + 0x25c], eax
mov eax, dword [esi + 0x3c]
mov dword [esi + 0x260], eax
mov eax, dword [esi + 0xc]
mov dword [esi + 0x264], eax
mov eax, dword [esi + 0xc4]
mov dword [esi + 0x90], eax
mov al, 1
mov byte [esi + 0x28], al
mov byte [esi + 0x29], al
mov byte [esi + 0x2a], al
call fcn.004ef490
mov dword [esi + 0x40], eax
mov al, 1
xor ecx, ecx
mov byte [esi + 0x28], 0
mov byte [esi + 0x29], al
mov byte [esi + 0x2a], al
call fcn.004d6d60
mov dword [esi + 0x94], eax
lock inc dword [eax]
jle 0x54da65
and dword [esi + 0xc0], 0
and dword [esi + 0xc4], 0
lea ecx, [esi + 0xc0]
mov dword [esi + 0xc], eax
mov dword [esi + 0x54], eax
mov byte [esi + 0x36], 1
mov dword [esi + 0x3f8], 0x11
call fcn.005405e7
mov dword [esi + 0x80], eax
lock inc dword [eax]
jle 0x54da65
xor ecx, ecx
mov dword [esi + 4], eax
mov dword [esi + 0xa4], eax
mov byte [esi + 0x2b], 1
mov dword [esi + 0x3f8], 0x13
call fcn.004e6350
test eax, eax
mov dword [esi + 0x188], eax
je 0x54c92f
lock inc dword [eax]
jle 0x54da65
mov ecx, eax
mov byte [esi + 0x2c], 0
mov byte [esi + 0x2d], 1
mov dword [esi + 0x3f8], 0x14
mov dword [esi + 0x88], eax
call fcn.004e6350
lea ecx, [esi + 0xc0]
mov dword [esi + 0xc0], eax
call fcn.005402b8
movsd xmm1, qword [esi + 0x258]
lea eax, [esi + 0xcc]
movsd xmm0, qword [esi + 0x260]
movsd xmm2, qword [esi + 0x248]
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x88]
movsd qword [eax + 0x10], xmm1
movq xmm1, qword [esi + 0x250]
movsd qword [eax + 0x18], xmm0
movsd qword [eax], xmm2
movq qword [eax + 8], xmm1
mov dword [esi + 0xc0], ecx
mov ecx, dword [esi + 4]
mov dword [esi + 0xc8], edx
mov dword [esi + 0xc4], ecx
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x54c9d3
add ecx, 8
mov byte [esi + 0x26], 1
mov dword [esi + 0x3f8], 0x15
call fcn.004d9a50
mov dword [esi + 0x3f8], 0x16
push 0x2c
pop ecx
push 4
pop edx
call fcn.0042029e
mov edi, eax
push 0x2c
lea eax, [esi + 0xc0]
push eax
push edi
call fcn.0058a110
add esp, 0xc
mov edx, dword [esi + 0x40]
mov byte [esi + 0x26], 0
mov dword [esi + 0x3f8], 0x15
lea ecx, [esi + 0x308]
push 0x64a92c
push edi
call fcn.004ef7f0
pop eax
pop ecx
movzx eax, byte [esi + 0x308]
cmp eax, 4
jne 0x54ca3a
mov edi, dword [esi + 0x30c]
mov eax, dword [esi + 4]
mov edx, dword [esi + 0xc]
jmp 0x54ca98
movzx ecx, byte [esi + 0x30b]
movzx edx, word [esi + 0x309]
mov dword [esi + 0x40], eax
mov dword [esi + 0x3f8], 0x17
mov dword [esi + 0x88], ecx
mov ecx, dword [esi + 0x30c]
mov dword [esi + 4], edx
mov dword [esi + 0xc], ecx
lea ecx, [esi + 0x80]
call fcn.0054068b
mov eax, dword [esi + 0x88]
mov edi, dword [esi + 4]
lea ecx, [esi + 0x94]
shl eax, 0x10
or edi, eax
shl edi, 8
add edi, dword [esi + 0x40]
call fcn.005400ae
mov eax, edi
mov edi, dword [esi + 0xc]
xor edx, edx
lea ecx, [esi + 0x308]
mov dword [esi + 0xc4], eax
mov dword [esi + 0xc8], edi
mov dword [esi + 0xc0], edx
lea edx, [esi + 0xc0]
mov dword [esi + 0x3f8], 0xd
call fcn.00540554
lea ecx, [esi + 0x308]
call fcn.0054fd91
mov ecx, dword [esi + 0x38]
mov edx, dword [esi + 0x1c]
call fcn.0041b0e1
mov ecx, dword [esi + 0x21c]
mov edx, dword [esi + 0x1cc]
call fcn.0041b0e1
mov ecx, dword [esi + 0x74]
mov edx, dword [esi + 0x78]
mov dword [esi + 0x50], ecx
mov dword [esi + 0xa0], edx
call fcn.0040171a
mov dword [esi + 0x3f8], 0x18
mov ecx, eax
push 0x64ebf0
call fcn.004c1ac3
pop ecx
lea ecx, [esi + 0xc0]
mov dword [esi + 0x1d4], eax
mov dword [esi + 0x1d8], edx
call fcn.0054ff25
mov edx, dword [esi + 0xc0]
mov eax, dword [esi + 0xc4]
test edx, edx
je 0x54cc24
mov dword [esi + 0x228], edx
mov dword [esi + 0x22c], eax
mov dword [esi + 0x3f8], 0x19
lea ecx, [esi + 0x188]
push dword [esi + 0x200]
push dword [esi + 0x9c]
push eax
call fcn.00506cb4
add esp, 0xc
lea ecx, [esi + 0xc0]
lea edx, [esi + 0x188]
call fcn.00507116
mov eax, dword [esi + 0xc0]
mov dword [esi + 4], eax
push 0xc0
lea edi, [esi + 0xc4]
push edi
lea ebx, [esi + 0x248]
push ebx
call fcn.0058a110
add esp, 0xc
mov eax, dword [esi + 4]
cmp eax, 3
jne 0x54cc2c
push 0xc0
lea eax, [esi + 0x248]
push eax
lea eax, [esi + 0x308]
push eax
call fcn.0058a110
add esp, 0xc
mov edx, dword [esi + 0x364]
mov ecx, dword [esi + 0x360]
mov byte [esi + 0xb], 1
mov dword [esi + 0x3f8], 0x1a
push 0xe
push str.Content_Lengthsrc_shareddownload.rs
call fcn.0050b380
pop ecx
pop edi
mov ecx, eax
test eax, eax
je 0x54cc71
mov edi, edx
test edx, edx
mov dword [esi + 0x88], 0
je 0x54cd19
movzx eax, byte [ecx]
cmp eax, 0x2d
je 0x54cc8a
cmp eax, 0x2b
jne 0x54cc93
dec edi
je 0x54cd19
inc ecx
jmp 0x54cc93
mov dword [esi + 0x1c], eax
jmp 0x54d2ff
mov ebx, eax
push 0xc0
lea eax, [esi + 0x248]
push eax
push edi
call fcn.0058a110
add esp, 0xc
lea ecx, [esi + 0xc0]
mov dword [esi + 0xc0], ebx
call fcn.0059ef76
mov dword [esi + 0x1c], eax
lea ecx, [esi + 0x228]
mov dword [esi + 0x3f8], 0x18
call fcn.00550aea
jmp 0x54d2ff
mov dword [esi + 0x230], 0
mov dword [esi + 0x88], 0
jmp 0x54cd2e
cmp edi, 1
je 0x54cd19
xor eax, eax
xor edx, edx
cmp edi, 0x11
jae 0x54ccd6
movzx ebx, byte [ecx]
add ebx, 0xffffffd0
cmp ebx, 9
ja 0x54cd19
mov dword [esi + 0xc], edx
push 0xa
pop edx
mul edx
inc ecx
mov dword [esi + 4], edx
mov edx, edi
mov edi, dword [esi + 0xc]
imul edi, edi, 0xa
add eax, ebx
mov dword [esi + 0xc], edi
mov edi, edx
mov edx, dword [esi + 4]
adc dword [esi + 0xc], edx
dec edi
mov edx, dword [esi + 0xc]
jne 0x54cc9c
mov dword [esi + 0x1c], eax
jmp 0x54d809
test edi, edi
mov dword [esi + 0x1c], eax
je 0x54d806
mov eax, edx
push 0xa
pop ebx
mul ebx
mov edx, ebx
mov dword [esi + 4], eax
mov eax, dword [esi + 0x1c]
seto bl
mul edx
add edx, dword [esi + 4]
mov dword [esi + 0xc], edx
movzx edx, byte [ecx]
setb bh
add edx, 0xffffffd0
cmp edx, 9
ja 0x54cd19
or bl, bh
jne 0x54cd19
inc ecx
dec edi
add eax, edx
mov edx, dword [esi + 0xc]
adc edx, 0
jae 0x54ccd6
xor eax, eax
movzx eax, al
mov dword [esi + 0x3f8], 0x1a
mov dword [esi + 0x230], eax
lea ecx, [esi + 0x94]
lea edx, [esi + 0x1d4]
mov byte [esi + 0xb], 1
call fcn.00550b5a
cmp byte [esi + 0x94], 4
jne 0x54cd86
movsd xmm0, qword [esi + 0x94]
lea ecx, [esi + 0xc0]
mov edx, 0x64e6e0
mov byte [esi + 0x11], 0
mov dword [esi + 0x3f8], 0x1f
movsd qword [esi + 0xc0], xmm0
call fcn.0054f251
mov dword [esi + 0x48], eax
mov byte [esi + 0x44], 4
jmp 0x54d02c
mov eax, dword [0x673b84]
mov bl, 1
cmp eax, 2
mov dword [esi + 4], eax
jb 0x54ce4b
movsd xmm0, qword [esi + 0x94]
lea ecx, [esi + 0x248]
lea edx, [esi + 0xc0]
mov byte [esi + 0x11], 0
mov dword [esi + 0x3f8], 0x1f
movsd qword [esi + 0xc0], xmm0
call fcn.0054f2d7
mov dword [esi + 0xc0], 0x64e5a4
mov dword [esi + 0xc4], 2
and dword [esi + 0xd0], 0
lea eax, [esi + 0x248]
mov dword [esi + 0x3f8], 0x26
lea ecx, [esi + 0xc0]
mov dword [esi + 0x188], eax
lea eax, [esi + 0x188]
mov dword [esi + 0x18c], 0x536380
mov dword [esi + 0xc8], eax
mov dword [esi + 0xcc], 1
push 2
pop edx
push 0x17
push 0x64e5ec
call fcn.00465135
pop eax
pop ecx
lea ecx, [esi + 0x248]
mov byte [esi + 0x11], 0
mov dword [esi + 0x3f8], 0x1f
call fcn.00504bef
xor ebx, ebx
xor ecx, ecx
xor edx, edx
push 0x13d92d40
call fcn.004d9ba0
pop eax
lea ecx, [esi + 0x54]
lea edx, [esi + 0x1d4]
mov dword [esi + 0x200], ebx
mov byte [esi + 0x11], bl
mov dword [esi + 0x3f8], 0x1f
call fcn.00550b5a
cmp byte [esi + 0x54], 4
jne 0x54ceb8
movsd xmm0, qword [esi + 0x54]
lea ecx, [esi + 0xc0]
mov edx, 0x64e6d0
mov byte [esi + 0x12], 0
mov dword [esi + 0x3f8], 0x20
movsd qword [esi + 0xc0], xmm0
call fcn.0054f251
mov dword [esi + 0x48], eax
mov byte [esi + 0x44], 4
jmp 0x54d00d
mov eax, dword [0x673b84]
mov bl, 1
cmp eax, 2
mov dword [esi + 0x3c], eax
jb 0x54cf7a
movsd xmm0, qword [esi + 0x54]
lea ecx, [esi + 0x248]
lea edx, [esi + 0xc0]
mov byte [esi + 0x12], 0
mov dword [esi + 0x3f8], 0x20
movsd qword [esi + 0xc0], xmm0
call fcn.0054f2d7
mov dword [esi + 0xc0], 0x64e630
mov dword [esi + 0xc4], 2
and dword [esi + 0xd0], 0
lea eax, [esi + 0x248]
mov dword [esi + 0x3f8], 0x25
lea ecx, [esi + 0xc0]
mov dword [esi + 0x188], eax
lea eax, [esi + 0x188]
mov dword [esi + 0x18c], 0x536380
mov dword [esi + 0xc8], eax
mov dword [esi + 0xcc], 1
push 2
pop edx
push 0x1f
push 0x64e5ec
call fcn.00465135
pop eax
pop ecx
lea ecx, [esi + 0x248]
mov byte [esi + 0x12], 0
mov dword [esi + 0x3f8], 0x20
call fcn.00504bef
xor ebx, ebx
xor ecx, ecx
xor edx, edx
push 0x27b25a80
call fcn.004d9ba0
pop eax
lea ecx, [esi + 0x80]
lea edx, [esi + 0x1d4]
mov dword [esi + 0x30], ebx
mov byte [esi + 0x12], bl
mov dword [esi + 0x3f8], 0x20
call fcn.00550b5a
cmp byte [esi + 0x80], 4
jne 0x54d4ed
movsd xmm0, qword [esi + 0x80]
lea ecx, [esi + 0xc0]
mov edx, 0x64e6c0
mov byte [esi + 0x13], 0
mov dword [esi + 0x3f8], 0x21
movsd qword [esi + 0xc0], xmm0
call fcn.0054f251
mov dword [esi + 0x48], eax
mov byte [esi + 0x44], 4
cmp dword [esi + 0x3c], 1
ja 0x54d00d
mov eax, dword [esi + 0x200]
lea ecx, [esi + 0x54]
mov dword [esi + 0x3f8], 0x1f
mov byte [esi + 0x11], al
call fcn.005318f4
cmp dword [esi + 4], 1
ja 0x54d02c
lea ecx, [esi + 0x94]
mov byte [esi + 0xb], 1
mov dword [esi + 0x3f8], 0x1a
call fcn.005318f4
mov edx, dword [esi + 0x48]
mov dword [esi + 0x3f8], 0x1b
lea ecx, [esi + 0xc0]
mov dword [esi + 4], edx
mov dword [esi + 0x234], edx
mov edx, 0x200000
mov byte [esi + 0x37], 1
mov dword [esi + 0x3f8], 0x1b
call fcn.005739d0
mov eax, dword [esi + 4]
lea ecx, [esi + 0x308]
mov dword [esi + 0x3f8], 0x1c
mov dword [esi + 0x1dc], eax
call fcn.00511ea7
mov dword [esi + 0x38], eax
movss xmm0, dword [esi + 0x1c]
movss xmm1, dword [esi + 0xc]
mov eax, dword [esi + 0xc4]
mov dword [esi + 0x214], edx
mov dword [esi + 0x1d0], 0
mov dword [esi + 0x3c], 0
mov dword [esi + 0x200], 0
unpcklps xmm0, xmm1
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc8]
unpcklps xmm0, xmmword [0x5a2910]
mov dword [esi + 0x1c], eax
mov eax, dword [edx + 0xc]
subpd xmm0, xmmword [0x5a2920]
mov dword [esi + 0x40], eax
movapd xmm1, xmm0
unpckhpd xmm1, xmm0
addsd xmm1, xmm0
movapd xmmword [esi + 0x3d0], xmm1
mov eax, dword [esi + 4]
mov dword [esi + 0x3f8], 0x1d
mov dword [esi + 0xb0], eax
push dword [esi + 0x1c]
push dword [esi + 0xc]
push dword [esi + 0x38]
lea eax, [esi + 0x188]
push eax
call dword [esi + 0x40]
add esp, 0x10
cmp byte [esi + 0x188], 4
jne 0x54d289
mov eax, dword [esi + 0x18c]
test eax, eax
je 0x54d289
mov ecx, dword [esi + 4]
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x3f8], 0x1e
mov dword [esi + 0x1e0], ecx
mov ecx, dword [esi + 0xc]
push 0x64e0d4
mov dword [esi + 0x30], eax
push eax
call fcn.004fa277
pop ecx
pop edi
mov edi, edx
mov edx, dword [esi + 4]
lea ecx, [esi + 0x248]
mov dword [esi + 0x1e0], edx
push edi
push eax
call fcn.004591a8
pop eax
pop ecx
cmp byte [esi + 0x248], 4
jne 0x54d185
mov edx, dword [esi + 0x200]
mov eax, dword [esi + 0x30]
jmp 0x54d19d
mov ecx, dword [esi + 0x248]
mov edx, dword [esi + 0x200]
mov eax, dword [esi + 0x30]
cmp cl, 4
jne 0x54d46d
mov ecx, dword [esi + 0x3c]
mov edi, dword [esi + 0x230]
add ecx, eax
adc edx, 0
or edi, dword [esi + 0x88]
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x200], edx
je 0x54d266
movd xmm0, ecx
movd xmm1, edx
punpckldq xmm0, xmm1
punpckldq xmm0, xmmword [0x5a2910]
subpd xmm0, xmmword [0x5a2920]
movapd xmm1, xmm0
unpckhpd xmm1, xmm0
addsd xmm1, xmm0
divsd xmm1, qword [esi + 0x3d0]
mulsd xmm1, qword [0x5a2b08]
sub esp, 8
movsd qword [esp], xmm1
call fcn.0058dca0
pop eax
pop ecx
movsd xmm0, qword [0x5a2b10]
fstp qword [esi + 0x3c8]
movsd xmm1, qword [0x5a2b18]
maxsd xmm0, qword [esi + 0x3c8]
minsd xmm1, xmm0
cvttsd2si eax, xmm1
lea edi, [eax + eax*4]
mov eax, dword [esi + 4]
cmp di, word [esi + 0x1d0]
jle 0x54d269
mov ecx, dword [esi + 0x8c]
mov edx, dword [esi + 0x90]
mov dword [esi + 0x1e0], eax
push edi
mov dword [esi + 0x30], edi
call fcn.0053f1fa
pop eax
mov eax, dword [esi + 0x30]
mov dword [esi + 0x1d0], eax
mov eax, dword [esi + 4]
jmp 0x54d269
mov eax, dword [esi + 4]
lea ecx, [esi + 0x188]
mov dword [esi + 0xb0], eax
mov dword [esi + 0x3f8], 0x1d
call fcn.00504bef
jmp 0x54d0ea
mov eax, dword [esi + 4]
lea ecx, [esi + 0x188]
mov dword [esi + 0xb0], eax
call fcn.00504bef
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x38]
mov edx, dword [esi + 0x214]
mov dword [esi + 0x3f8], 0x1c
mov dword [esi + 0x1dc], eax
call fcn.004218ac
mov ecx, dword [esi + 0xc0]
mov edx, dword [esi + 0xc]
call fcn.0041b0e1
mov byte [esi + 0xb], 0
mov dword [esi + 0x3f8], 0x1a
push dword [esi + 4]
call dword [sym.imp.kernel32.dll_CloseHandle]
lea ecx, [esi + 0x228]
mov dword [esi + 0x3f8], 0x18
call fcn.00550aea
mov dword [esi + 0x1c], 0
mov ecx, dword [esi + 0x8c]
mov edx, dword [esi + 0x90]
mov dword [esi + 0x3f8], 0x27
push 0xffff
call fcn.0053f1fa
pop eax
mov eax, dword [esi + 0x1c]
test eax, eax
jne 0x54d9b0
mov ecx, dword [esi + 0x8c]
mov edx, dword [esi + 0x90]
mov byte [esi + 0x22], 1
mov byte [esi + 0x23], 0
mov dword [esi + 0x3f8], 9
call fcn.00547149
mov eax, dword [0x673b84]
mov dword [esi + 0x3f8], 6
cmp eax, 3
mov eax, dword [esi + 0x18]
jb 0x54d3e3
mov ecx, dword [esi + 0x14]
mov eax, dword [ecx + eax*4]
mov ecx, dword [eax + 4]
push dword [eax]
call dword [ecx + 0x10]
add esp, 4
mov dword [esi + 0xc0], 0x64ec10
mov dword [esi + 0xc4], 2
and dword [esi + 0xd0], 0
mov dword [esi + 0x248], eax
lea eax, [esi + 0x248]
mov dword [esi + 0x24c], edx
lea ecx, [esi + 0xc0]
mov dword [esi + 0x308], eax
lea eax, [esi + 0x308]
mov dword [esi + 0x30c], fcn.0041a414
mov dword [esi + 0xc8], eax
mov dword [esi + 0xcc], 1
push 3
pop edx
push 0x42
push 0x64eb1c
call fcn.00465135
pop eax
pop ecx
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0xa0]
mov eax, dword [ecx + eax*4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esi + 0xc], ecx
mov ecx, dword [esi + 0x50]
mov dword [esi + 4], eax
call fcn.0040171a
mov ecx, eax
push 0x64ec20
call fcn.004c1ac3
pop ecx
xor ecx, ecx
cmp byte [esi + 0x5f], 0
setne cl
push ecx
push edx
push eax
push dword [esi + 0xc]
lea eax, [esi + 0xc0]
push eax
mov eax, dword [esi + 4]
call dword [eax + 0x1c]
add esp, 0x14
cmp byte [esi + 0xc0], 0
jne 0x54d855
cmp byte [esi + 0xc1], 0
jne 0x54d869
mov edi, dword [esi + 0x18]
mov ecx, dword [esi + 0x70]
mov edx, dword [esi + 0x50]
inc edi
call fcn.0041b0e1
mov ecx, dword [esi + 0x224]
mov edx, dword [esi + 0x9c]
call fcn.0041b0e1
jmp 0x54c503
mov edx, dword [esi + 0x24c]
mov eax, dword [esi + 4]
mov dword [esi + 0x1e0], eax
call fcn.0053618f
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
lea ecx, [esi + 0x188]
mov dword [esi + 0x3f8], 0x1d
mov dword [esi + 0xb0], eax
call fcn.00504bef
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x38]
mov edx, dword [esi + 0x214]
mov dword [esi + 0x3f8], 0x1c
mov dword [esi + 0x1dc], eax
call fcn.004218ac
mov ecx, dword [esi + 0xc0]
mov edx, dword [esi + 0xc]
call fcn.0041b0e1
mov byte [esi + 0xb], 0
mov dword [esi + 0x3f8], 0x1a
push dword [esi + 4]
call dword [sym.imp.kernel32.dll_CloseHandle]
jmp 0x54cc57
mov eax, dword [0x673b84]
mov bl, 1
cmp eax, 2
mov dword [esi + 0x38], eax
jb 0x54d5b2
movsd xmm0, qword [esi + 0x80]
lea ecx, [esi + 0x248]
lea edx, [esi + 0xc0]
mov byte [esi + 0x13], 0
mov dword [esi + 0x3f8], 0x21
movsd qword [esi + 0xc0], xmm0
call fcn.0054f2d7
mov dword [esi + 0xc0], 0x64e66c
mov dword [esi + 0xc4], 2
and dword [esi + 0xd0], 0
lea eax, [esi + 0x248]
mov dword [esi + 0x3f8], 0x24
lea ecx, [esi + 0xc0]
mov dword [esi + 0x188], eax
lea eax, [esi + 0x188]
mov dword [esi + 0x18c], 0x536380
mov dword [esi + 0xc8], eax
mov dword [esi + 0xcc], 1
push 2
pop edx
push 0x27
push 0x64e5ec
call fcn.00465135
pop eax
pop ecx
lea ecx, [esi + 0x248]
mov byte [esi + 0x13], 0
mov dword [esi + 0x3f8], 0x21
call fcn.00504bef
xor ebx, ebx
xor ecx, ecx
xor edx, edx
inc ecx
push 0
call fcn.004d9ba0
pop eax
lea ecx, [esi + 0xa4]
lea edx, [esi + 0x1d4]
mov dword [esi + 0x40], ebx
mov byte [esi + 0x13], bl
mov dword [esi + 0x3f8], 0x21
call fcn.00550b5a
cmp byte [esi + 0xa4], 4
jne 0x54d648
movsd xmm0, qword [esi + 0xa4]
lea ecx, [esi + 0xc0]
mov edx, 0x64e6b0
mov byte [esi + 0x24], 0
mov dword [esi + 0x3f8], 0x22
movsd qword [esi + 0xc0], xmm0
call fcn.0054f251
cmp dword [esi + 0x38], 1
mov dword [esi + 0x48], eax
mov byte [esi + 0x44], 4
ja 0x54cfec
mov eax, dword [esi + 0x30]
lea ecx, [esi + 0x80]
mov dword [esi + 0x3f8], 0x20
mov byte [esi + 0x12], al
call fcn.005318f4
jmp 0x54cfec
mov eax, dword [0x673b84]
mov bl, 1
cmp eax, 2
mov dword [esi + 0x1d0], eax
jb 0x54d710
movsd xmm0, qword [esi + 0xa4]
lea ecx, [esi + 0x248]
lea edx, [esi + 0xc0]
mov byte [esi + 0x24], 0
mov dword [esi + 0x3f8], 0x22
movsd qword [esi + 0xc0], xmm0
call fcn.0054f2d7
mov dword [esi + 0xc0], 0x64e6a0
mov dword [esi + 0xc4], 2
and dword [esi + 0xd0], 0
lea eax, [esi + 0x248]
mov dword [esi + 0x3f8], 0x23
lea ecx, [esi + 0xc0]
mov dword [esi + 0x188], eax
lea eax, [esi + 0x188]
mov dword [esi + 0x18c], 0x536380
mov dword [esi + 0xc8], eax
mov dword [esi + 0xcc], 1
push 2
pop edx
push 0x2f
push 0x64e5ec
call fcn.00465135
pop eax
pop ecx
lea ecx, [esi + 0x248]
mov byte [esi + 0x24], 0
mov dword [esi + 0x3f8], 0x22
call fcn.00504bef
xor ebx, ebx
xor ecx, ecx
xor edx, edx
inc ecx
push 0
call fcn.004d9ba0
pop eax
lea ecx, [esi + 0x44]
lea edx, [esi + 0x1d4]
mov byte [esi + 0x24], bl
mov dword [esi + 0x3f8], 0x22
call fcn.00550b5a
cmp dword [esi + 0x1d0], 2
jae 0x54d75c
mov eax, dword [esi + 0x40]
lea ecx, [esi + 0xa4]
mov dword [esi + 0x3f8], 0x21
mov byte [esi + 0x13], al
call fcn.005318f4
cmp dword [esi + 0x38], 1
ja 0x54d77d
mov eax, dword [esi + 0x30]
lea ecx, [esi + 0x80]
mov dword [esi + 0x3f8], 0x20
mov byte [esi + 0x12], al
call fcn.005318f4
cmp dword [esi + 0x3c], 1
ja 0x54d79e
mov eax, dword [esi + 0x200]
lea ecx, [esi + 0x54]
mov dword [esi + 0x3f8], 0x1f
mov byte [esi + 0x11], al
call fcn.005318f4
cmp dword [esi + 4], 1
ja 0x54d7bd
lea ecx, [esi + 0x94]
mov byte [esi + 0xb], 1
mov dword [esi + 0x3f8], 0x1a
call fcn.005318f4
cmp byte [esi + 0x44], 4
je 0x54d02c
mov ecx, dword [esi + 0x44]
mov edx, dword [esi + 0x48]
cmp cl, 4
je 0x54d039
mov byte [esi + 0xb], 1
mov dword [esi + 0x3f8], 0x1a
call fcn.0053618f
mov dword [esi + 0x1c], eax
lea ecx, [esi + 0x308]
mov dword [esi + 0x3f8], 0x19
call fcn.005469a0
jmp 0x54cc57
mov dword [esi + 0xc], edx
mov al, 1
jmp 0x54cd1b
mov ecx, dword [esi + 0x218]
mov edx, dword [esi + 0x1c8]
call fcn.0041b0e1
mov edx, dword [esi + 0x1e8]
or dword [esi + 0x3f8], 0xffffffff
mov eax, dword [esi + 0x4c]
mov ecx, dword [esi + 0x1e4]
mov word [eax], pe_nt_image_headers32
jmp 0x54da1c
mov eax, dword [esi + 0x4c]
mov ecx, dword [esi + 0x9c]
mov dword [eax + 4], ecx
mov byte [eax], 1
jmp 0x54d9f8
mov eax, dword [esi + 0xc4]
mov ecx, dword [esi + 0x4c]
mov dword [ecx + 4], eax
mov byte [ecx], 1
jmp 0x54d9dc
mov eax, dword [0x673b84]
cmp eax, 2
mov eax, dword [esi + 0x18]
jb 0x54d8e1
mov ecx, dword [esi + 0x14]
mov eax, dword [ecx + eax*4]
mov ecx, dword [eax + 4]
push dword [eax]
call dword [ecx + 0x10]
add esp, 4
lea ecx, [esi + 0xc0]
mov dword [esi + 0x248], eax
lea eax, [esi + 0x248]
mov dword [esi + 0x24c], edx
mov dword [ecx], 0x64ec68
mov dword [ecx + 4], 2
and dword [ecx + 0x10], 0
mov dword [esi + 0x308], eax
lea eax, [esi + 0x308]
mov dword [esi + 0x30c], fcn.0041a414
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], 1
push 2
pop edx
push 0x45
push 0x64eb1c
call fcn.00465135
pop eax
pop ecx
mov ecx, dword [esi + 0x220]
lea edx, [esi + 0xc0]
mov dword [edx], str._rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrary_std_srcioimpls.rs
lea eax, [ecx + 0x34]
mov dword [esi + 0x248], eax
mov dword [esi + 0x24c], fcn.0041a314
mov dword [esi + 0x250], ecx
mov dword [esi + 0x254], fcn.004cefd0
push 2
pop ecx
mov dword [edx + 4], ecx
and dword [edx + 0x10], 0
lea eax, [esi + 0x248]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
lea ecx, [esi + 0x308]
call fcn.00401eab
mov ecx, dword [esi + 0x30c]
mov edx, dword [esi + 0x310]
mov dword [esi + 0x3f8], 7
mov dword [esi + 4], ecx
push 0x5c
push 0x64e180
push str.Restart_RequiredA_restart_is_required_before_Setup_can_continue._Please_restart_your_computer_and_try_again._to___would_you_like_to_continue_src_shareddialogs_windows.rs_has_missing_system_dependencies.
call fcn.0054fef8
add esp, 0xc
mov ecx, dword [esi + 0x308]
mov edx, dword [esi + 4]
call fcn.0041b0e1
mov eax, dword [esi + 0x4c]
and word [eax], 0
jmp 0x54d9dc
mov ecx, dword [esi + 0x1c]
mov bl, byte [esi + 0xc1]
call fcn.0041b0e1
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x14]
call fcn.0041b0e1
mov ecx, dword [esi + 0x188]
mov edx, dword [esi + 0x18]
call fcn.0041b0e1
cmp bl, 1
je 0x54c20e
jmp 0x54c424
mov ecx, dword [esi + 0x4c]
mov dl, 1
mov byte [esi + 0x23], 0
mov dword [esi + 0x3f8], 9
mov byte [esi + 0x22], dl
mov dword [ecx + 4], eax
mov byte [ecx], dl
mov ecx, dword [esi + 0x8c]
mov edx, dword [esi + 0x90]
call fcn.00547149
mov ecx, dword [esi + 0x70]
mov edx, dword [esi + 0x50]
call fcn.0041b0e1
mov ecx, dword [esi + 0x224]
mov edx, dword [esi + 0x9c]
call fcn.0041b0e1
mov ecx, dword [esi + 0x218]
mov edx, dword [esi + 0x1c8]
call fcn.0041b0e1
or dword [esi + 0x3f8], 0xffffffff
mov ecx, dword [esi + 0x1e4]
mov edx, dword [esi + 0x1e8]
call fcn.0041b0e1
mov ecx, dword [esi + 0xb4]
mov edx, dword [esi + 0xb8]
call fcn.004257e7
or dword [esi + 0x3f8], 0xffffffff
lea ecx, [esi + 0x238]
call fcn.0054fe47
mov eax, dword [esi + 0x3f0]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, edi
push 0x64ebb0
call fcn.0059a1e0
pop eax
ud2