Function at 0x405ed0
Capabilities:
Create process on windows
Get common file path

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x854
push ebx
push esi
push edi
call sym.MeowPlayer1.0.0.6.exe_bool___cdecl_InitYmComm_void_
push 0x1e
call sym.MeowPlayer1.0.0.6.exe_bool___cdecl_ExitAllYmProcess_int_
add esp, 4
test al, al
jne 0x405f0c
push str.UpdatePlayer.exe
call sym.MeowPlayer1.0.0.6.exe_bool___cdecl_CloseProcess_wchar_t_const__
add esp, 4
push str.MeowPlayer.exe
call sym.MeowPlayer1.0.0.6.exe_bool___cdecl_CloseProcess_wchar_t_const__
add esp, 4
push str.MeowUpMgr.exe
call sym.MeowPlayer1.0.0.6.exe_bool___cdecl_CloseProcess_wchar_t_const__
xor ebx, ebx
add esp, 4
mov byte [esp + 0x13], bl
call fcn.00405e20
test al, al
je 0x405f35
lea eax, [esp + 0x13]
push eax
call sym.MeowPlayer1.0.0.6.exe_bool___cdecl_SetupSubmit_bool__
add esp, 4
push 0x20019
mov dword [esp + 0x18], ebx
push ebx
mov eax, str.HKEY_CURRENT_USERSOFTWAREMicrosoftWindowsCurrentVersionUninstallMeowPlayer
lea ebx, [esp + 0x1c]
call fcn.0040de20
test eax, eax
je 0x405fff
lea esi, [esp + 0x18]
call fcn.0040c270
push str.DisplayVersion
mov ecx, ebx
push ecx
mov edi, esi
call fcn.0040e1c0
test al, al
je 0x405fea
push str.1.0.0.6
mov ecx, esi
call sym.MeowPlayer1.0.0.6.exe_public:_bool___thiscall_base::String::operator_wchar_t_const__
test al, al
je 0x405fd6
cmp byte [esp + 0x13], 0
jne 0x405fd6
push 0x430f28
push 0x4314d8
mov eax, esi
call fcn.0040c410
mov edx, dword [esp + 0x20]
add esp, 8
push 0x24
push 0x43150c
push edx
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
je 0x405fd6
mov eax, esi
call fcn.0040c3a0
mov eax, dword [esp + 0x14]
test eax, eax
je 0x405fcb
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push str.InstallLocation
lea eax, [esp + 0x18]
push eax
mov edi, 0x44922c
call fcn.0040e1c0
mov esi, dword [esp + 0x18]
test esi, esi
je 0x405fff
mov ecx, dword [esp + 0x24]
push ecx
call fcn.00408b50
add esp, 4
cmp dword [0x449230], 0
jne 0x406064
push 1
mov ecx, 0x104
mov esi, 0x44922c
call fcn.0040c550
mov edx, dword [0x44922c]
push 1
push 0x1c
push edx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x406055
mov ecx, dword [0x44922c]
test ecx, ecx
je 0x406055
mov eax, ecx
lea esp, [esp]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x406040
sub eax, ecx
sar eax, 1
dec eax
mov dword [0x449230], eax
mov esi, str.MeowPlayer
mov edi, 0x44922c
call fcn.00408350
mov edi, dword [0x449230]
test edi, edi
jne 0x406089
cmp dword [0x449268], edi
je 0x4060c3
mov ecx, dword [sym.MeowPlayer1.0.0.6.exe_class_base::String_InstallFolder]
xor eax, eax
mov dword [0x449268], edi
mov word [ecx], ax
jmp 0x4060c3
cmp edi, dword [0x44926c]
jbe 0x40609f
push 1
mov ecx, edi
mov esi, sym.MeowPlayer1.0.0.6.exe_class_base::String_InstallFolder
call fcn.0040c550
mov eax, dword [sym.MeowPlayer1.0.0.6.exe_class_base::String_InstallFolder]
mov dword [0x449268], edi
test eax, eax
je 0x4060c3
mov ecx, dword [0x44922c]
lea edx, [edi + edi + 2]
push edx
push ecx
push eax
call fcn.00426530
add esp, 0xc
cmp byte [esp + 0x13], 0
je 0x4061c4
mov ecx, dword [0x44922c]
call fcn.00404cc0
test al, al
je 0x4061a6
call fcn.00404fa0
test al, al
je 0x4061a6
mov edx, dword [0x44922c]
push edx
call sym.MeowPlayer1.0.0.6.exe_bool___cdecl_SetUninstallReg_wchar_t_const__
add esp, 4
mov ebx, 0x44920c
lea esi, [esp + 0x28]
call fcn.0040c340
mov esi, str.MeowUpMgr.exe
lea edi, [esp + 0x28]
call fcn.00408350
mov esi, dword [esp + 0x28]
push esi
push str.MewoPlay_Up
call sym.MeowPlayer1.0.0.6.exe_bool___cdecl_SetAutoRun_wchar_t_const___wchar_t_const__
mov eax, dword [0x44920c]
add esp, 8
xor edi, edi
push edi
push eax
push edi
push esi
push str.open
push edi
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], edi
cmp dword [0x449220], edi
jne 0x406165
push str.success
mov eax, 0x44921c
call fcn.0040c770
mov ecx, dword [0x44921c]
push ecx
push str.install_success
lea ecx, [esp + 0x20]
call sym.MeowPlayer1.0.0.6.exe_public:_class_base::Json____thiscall_base::Json::SetPropertyStr_wchar_t_const___wchar_t_const__
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x18]
push eax
call sym.MeowPlayer1.0.0.6.exe_bool___cdecl_SetupResultSubmit_class_base::Registry___class_base::Json__
add esp, 8
lea ecx, [esp + 0x18]
call fcn.0040b480
cmp esi, edi
je 0x4061a6
mov ecx, dword [esp + 0x34]
push ecx
call fcn.00408b50
add esp, 4
mov eax, dword [esp + 0x14]
test eax, eax
je 0x405fcb
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
lea edx, [esp + 0x38]
push edx
call fcn.00405ac0
lea eax, [esp + 0x38]
call fcn.00416120
call fcn.0040ea80
lea ebx, [esp + 0x38]
mov esi, eax
call fcn.00406210
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4061f6
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10