Function at 0x438871
Capabilities:
Create process on windows

Disassembly:
push 0x680
mov eax, 0x5b474c
call fcn.00581d08
mov eax, ecx
mov dword [ebp - 0x5b8], eax
lea edi, [eax + 4]
mov dword [ebp - 0x5e0], eax
mov eax, dword [edi]
xor ebx, ebx
push ebx
mov dword [ebp - 0x5c4], edi
mov byte [eax + 0xb7c], 1
mov ecx, dword [edi]
add ecx, 0x110
call fcn.00402fd0
sub esp, 0x18
mov esi, eax
mov ecx, esp
push str.assets
call fcn.00403568
mov ecx, esi
call fcn.00405002
mov ecx, eax
call fcn.00410bde
cmp eax, 2
jae 0x4389b8
push 0x290
lea eax, [ebp - 0x324]
push ebx
push eax
call fcn.00583340
add esp, 0xc
lea ecx, [ebp - 0x4c]
push str.ytdlp_interface_update_error
call fcn.00403568
mov dword [ebp - 4], ebx
mov ecx, dword [ebp - 0x5b8]
mov ecx, dword [ecx]
mov eax, dword [ecx]
call dword [eax + 4]
push ebx
lea ecx, [ebp - 0x4c]
push ecx
push eax
lea ecx, [ebp - 0x324]
call fcn.0041a05a
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 2
call fcn.004039ad
push 3
lea ecx, [ebp - 0x324]
call fcn.00419ea0
mov esi, str.The_latest_release_on_GitHub_doesnt_seem_to_contain_a_32_bit_build_
lea ecx, [ebp - 0x5dc]
push esi
call fcn.00403568
lea ecx, [ebp - 0x5dc]
mov byte [ebp - 4], 3
call fcn.004e4850
lea ecx, [ebp - 0x5dc]
mov byte [ebp - 4], 2
call fcn.004039ad
lea eax, [ebp - 0x24c]
push esi
push eax
call fcn.0042b358
pop ecx
pop ecx
lea ecx, [ebp - 0x324]
call fcn.0041a572
mov ecx, dword [edi]
add ecx, 0x74c
push ecx
push ecx
mov eax, esp
mov dword [eax], str.Update
mov dword [eax + 4], 6
call fcn.0047f940
mov ecx, dword [edi]
add ecx, 0x29c
call fcn.00419d53
lea ecx, [ebp - 0x324]
call fcn.0041a6ed
jmp 0x438f62
mov ecx, dword [edi]
add ecx, 0x110
push ebx
call fcn.00402fd0
sub esp, 0x18
mov esi, eax
mov ecx, esp
push str.assets
call fcn.00403568
mov ecx, esi
call fcn.00405002
push 1
mov ecx, eax
call fcn.00402fd0
sub esp, 0x18
mov esi, eax
mov ecx, esp
push 0x6126e0
call fcn.00403568
mov ecx, esi
call fcn.00405002
lea edx, [ebp - 0x5b8]
mov dword [ebp - 0x5b8], ebx
mov ecx, eax
call fcn.00428c1c
mov ecx, dword [edi]
mov eax, dword [ebp - 0x5b8]
add ecx, 0x110
push ebx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], ebx
call fcn.00402fd0
sub esp, 0x18
mov esi, eax
mov ecx, esp
push str.assets
call fcn.00403568
mov ecx, esi
call fcn.00405002
push 1
mov ecx, eax
call fcn.00402fd0
sub esp, 0x18
mov esi, eax
mov ecx, esp
push str.browser_download_url
call fcn.00403568
mov ecx, esi
call fcn.00405002
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040430a
mov dword [ebp - 4], 4
mov esi, 0x8a8
mov ecx, dword [edi]
push dword [ebp - 0x18]
add ecx, esi
call fcn.004fc630
mov ecx, dword [edi]
add ecx, esi
push ebx
call fcn.004fc490
mov ecx, dword [edi]
sub esp, 0x28
mov eax, esp
mov dword [ebp - 0x5bc], esp
lea esi, [ecx + 0xb7c]
mov dword [eax], vtable.std::_Func_impl_no_alloc_class__public:_void___thiscall__private:_void___thiscall_GUI::updater_update_self_class_themed_form__::_5::_lambda_1_::operator___void_const::_2::_lambda_1___void__unsigned_int_.0
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x1c]
mov dword [eax + 8], ecx
lea ecx, [ebp - 0x18]
mov dword [eax + 0xc], ecx
mov dword [eax + 0x24], eax
sub esp, 0x18
mov byte [ebp - 4], 5
mov dword [ebp - 0x5b8], esp
mov ecx, esp
push 0x651b68
mov dword [ebp - 0x5c0], ecx
call fcn.0041f95c
sub esp, 0x18
mov byte [ebp - 4], 6
lea eax, [ebp - 0x4c]
mov ecx, esp
push eax
call fcn.004035a1
mov edx, esi
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x94]
call fcn.0046e1ba
add esp, 0x58
mov byte [ebp - 4], 7
mov esi, dword [edi]
cmp byte [esi + 0xb7c], 0
je 0x438f4f
cmp dword [ebp - 0x84], 0
jne 0x438ed6
lea eax, [ebp - 0x674]
lea ecx, [esi + 0x120]
push eax
call fcn.0042f795
mov esi, eax
lea ecx, [ebp - 0x65c]
mov byte [ebp - 4], 8
call fcn.00430700
push esi
mov edx, eax
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x34]
call fcn.0042f80b
pop ecx
lea ecx, [ebp - 0x65c]
call fcn.00410c77
lea ecx, [ebp - 0x674]
mov byte [ebp - 4], 0xc
call fcn.00410c77
lea ecx, [ebp - 0x34]
call fcn.00430323
test al, al
je 0x438b82
lea ecx, [ebp - 0x34]
call fcn.0043038d
sub esp, 0x18
mov byte [ebp - 4], 0xd
mov esi, dword [edi]
mov ecx, esp
push str.Unpacking_archive_and_restarting...
call fcn.00403568
lea ecx, [esi + 0x8a8]
call fcn.00430754
mov ecx, dword [edi]
lea edx, [ebp - 0x34]
add ecx, 0x120
call fcn.004302f1
mov byte [ebp - 0x5b8], bl
lea ecx, [ebp - 0x5dc]
push dword [ebp - 0x5b8]
call fcn.0043b3fe
pop ecx
lea ecx, [ebp - 0x68c]
mov byte [ebp - 4], 0xe
call fcn.00430700
lea ecx, [ebp - 0x5dc]
mov byte [ebp - 4], 0xf
push ecx
mov edx, eax
lea ecx, [ebp - 0x7c]
call fcn.0042f80b
pop ecx
lea ecx, [ebp - 0x68c]
call fcn.00410c77
lea ecx, [ebp - 0x5dc]
mov byte [ebp - 4], 0x12
call fcn.00410c77
cmp dword [ebp - 0x68], 8
lea eax, [ebp - 0x7c]
cmovae eax, dword [ebp - 0x7c]
push eax
call fcn.0056dc2b
mov byte [ebp - 0x5b8], bl
lea ecx, [ebp - 0x614]
push dword [ebp - 0x5b8]
call fcn.0043b3fe
pop ecx
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0x614]
mov edx, dword [edi]
lea ecx, [ebp - 0x5f8]
mov esi, 0x138
push eax
add edx, esi
call fcn.0042f80b
pop ecx
lea edx, [ebp - 0x7c]
mov byte [ebp - 4], 0x14
mov ecx, eax
call fcn.004302f1
lea ecx, [ebp - 0x5f8]
call fcn.00410c77
lea ecx, [ebp - 0x614]
mov byte [ebp - 4], 0x12
call fcn.00410c77
mov eax, dword [edi]
lea ecx, [ebp - 0x5f8]
add eax, esi
push eax
call fcn.0041f95c
push 0x651b68
lea ecx, [ebp - 0x62c]
mov byte [ebp - 4], 0x15
call fcn.0041f95c
push 0x612720
mov byte [ebp - 4], 0x16
push ebx
lea ecx, [ebp - 0x62c]
call fcn.0043ac99
push eax
lea ecx, [ebp - 0x644]
call fcn.00410607
push 0x612718
lea ecx, [ebp - 0x644]
mov byte [ebp - 4], 0x17
call fcn.0043a2f5
push eax
lea ecx, [ebp - 0x5dc]
call fcn.00410607
lea eax, [ebp - 0x5f8]
mov byte [ebp - 4], 0x18
push eax
lea eax, [ebp - 0x5dc]
push eax
push dword [ebp - 0x5c0]
lea ecx, [ebp - 0x614]
call fcn.0042855e
push 0x612714
lea ecx, [ebp - 0x614]
mov byte [ebp - 4], 0x19
call fcn.0043a2f5
push eax
lea ecx, [ebp - 0x64]
call fcn.00410607
lea ecx, [ebp - 0x614]
call fcn.00410c77
lea ecx, [ebp - 0x5dc]
call fcn.00410c77
lea ecx, [ebp - 0x644]
call fcn.00410c77
lea ecx, [ebp - 0x62c]
call fcn.00410c77
lea ecx, [ebp - 0x5f8]
mov byte [ebp - 4], 0x1f
call fcn.00410c77
cmp byte [0x67c99a], 0
je 0x438d70
push str._self_only
lea ecx, [ebp - 0x64]
call fcn.0043a2f5
cmp dword [ebp - 0x50], 8
lea eax, [ebp - 0x34]
lea esi, [ebp - 0x64]
cmovae esi, dword [ebp - 0x64]
lea ecx, [ebp - 0x5dc]
push eax
call fcn.0041f95c
cmp dword [ebp - 0x5c8], 8
lea eax, [ebp - 0x5dc]
push 5
cmovae eax, dword [ebp - 0x5dc]
push ebx
push esi
push eax
push str.runas
push ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
lea ecx, [ebp - 0x5dc]
call fcn.00410c77
mov eax, dword [edi]
mov byte [eax + 0xb7c], bl
mov ecx, dword [edi]
add ecx, 0x29c
call fcn.00419d53
mov ecx, dword [edi]
mov eax, dword [ecx]
call dword [eax + 0x24]
lea ecx, [ebp - 0x64]
call fcn.00410c77
lea ecx, [ebp - 0x7c]
call fcn.00410c77
lea ecx, [ebp - 0x34]
call fcn.00410c77
jmp 0x438f4f
sub esp, 0x18
lea eax, [ebp - 0x94]
mov ecx, esp
push eax
call fcn.004035a1
lea ecx, [esi + 0x8a8]
call fcn.00430754
mov ecx, dword [edi]
add ecx, 0x74c
push ecx
push ecx
mov eax, esp
mov dword [eax], str.Update
mov dword [eax + 4], 6
call fcn.0047f940
mov ecx, dword [edi]
movzx eax, byte [0x67d7a4]
add ecx, 0x7b4
push eax
mov edx, dword [ecx]
call dword [edx + 0x28]
mov ecx, dword [edi]
movzx eax, byte [0x67d782]
add ecx, 0x780
push eax
mov edx, dword [ecx]
call dword [edx + 0x28]
mov eax, dword [edi]
mov byte [eax + 0xb7c], bl
mov ecx, dword [edi]
add ecx, 0x29c
call fcn.00419d53
lea ecx, [ebp - 0x94]
call fcn.004039ad
lea ecx, [ebp - 0x4c]
call fcn.004039ad
call fcn.00581c5a
ret