Function at 0x446450
Capabilities:
Accept command line arguments
Create process on windows
Delete registry value
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x22c
mov eax, dword [0x589bb4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 0x10]
push esi
push edi
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
push 0
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_DefWindowProcW]
lea eax, [ebp - 0x214]
mov dword [ebp - 0x214], 8
push eax
mov dword [ebp - 0x210], 4
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
push str.Start_run__cmd___s
call fcn.00446c40
push ebx
push str.lpstrCmdLine_s
call fcn.00446c40
add esp, 0x10
mov ecx, 0x58efc8
push 0
push dword [ebp + 8]
push 0
call fcn.00442850
lea ecx, [ebp - 0x22c]
call fcn.00413400
mov eax, dword [0x58e868]
test eax, eax
jne 0x446502
push 0x10
call fcn.0049ad99
add esp, 4
test eax, eax
je 0x4464fb
mov ecx, eax
call fcn.00412f00
jmp 0x4464fd
xor eax, eax
mov dword [0x58e868], eax
mov ecx, eax
call fcn.00413290
push 1
call fcn.0045e130
push ebx
call fcn.0043ec20
mov ecx, eax
call fcn.004387a0
lea ecx, [ebp - 0x228]
call fcn.00449e80
call fcn.0043ec20
mov ecx, eax
call fcn.00438410
push eax
lea ecx, [ebp - 0x228]
call fcn.00449ed0
call fcn.0043ec20
mov ecx, eax
call fcn.0043a030
push dword [eax]
call fcn.0045e160
mov ecx, 0x58f004
call fcn.00415880
test eax, eax
jne 0x4465a0
push str.CheckSingleInstance_failed__exit
call fcn.00446c40
add esp, 4
push 1
push 0
push 0
push 0
push 0x54aed4
push 0
call fcn.0045e180
push 1
lea ecx, [ebp - 0x228]
mov dword [0x58efc4], 1
call fcn.00449ee0
xor ebx, ebx
jmp 0x446c0c
call fcn.0043ec20
mov ecx, eax
call fcn.00438630
push eax
call fcn.0042f5c0
mov ecx, eax
call fcn.0042bdc0
call fcn.0043ec20
mov ecx, eax
call fcn.00438440
push eax
call fcn.0042f5c0
mov ecx, eax
call fcn.0042bdb0
call fcn.0043ec20
mov ecx, eax
call fcn.00438640
push eax
call fcn.0042f5c0
mov ecx, eax
call fcn.0042bdd0
call fcn.0043ec20
mov ecx, eax
call fcn.00438670
push eax
call fcn.0042f5c0
mov ecx, eax
call fcn.0042be40
call fcn.0042f5c0
mov ecx, eax
call fcn.00429d90
push str.instnew
call fcn.0042f5c0
mov ecx, eax
call fcn.0042bdf0
call fcn.0043ec20
cmp dword [eax + 0x40], 0
je 0x44663d
push str.lite_pack
call fcn.0042f5c0
mov ecx, eax
call fcn.0042bdf0
push 0x208
lea eax, [ebp - 0x20c]
push 0
push eax
call fcn.004d5e40
add esp, 0xc
lea eax, [ebp - 0x20c]
push 0x104
push eax
push 0x400000
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x20c]
push eax
call fcn.0042f5c0
mov ecx, eax
call fcn.0042bd10
call fcn.0045f9f0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x28]
neg eax
sbb eax, eax
inc eax
push eax
call fcn.0042f5c0
mov ecx, eax
call fcn.0042bda0
push 0
sub esp, 0x28
mov eax, esp
push 0
push 0
mov dword [eax], vtable.std::_Func_impl_no_alloc_void____cdecl___int___void__int_.0
mov dword [eax + 4], 0x442670
push 0x549bd8
mov dword [eax + 0x24], eax
call fcn.0042f5c0
mov ecx, eax
call fcn.0042b770
sub esp, 0x28
mov eax, esp
push 0
mov dword [eax], vtable.std::_Func_impl_no_alloc_void____cdecl___int___void__int_.0
mov dword [eax + 4], 0x442670
push 0x549bd8
mov dword [eax + 0x24], eax
call fcn.0042f5c0
mov ecx, eax
call fcn.0042b370
call fcn.0043ec20
mov ecx, eax
call fcn.00438620
push eax
call fcn.0042f5c0
mov ecx, eax
call fcn.0042bdb0
push 0
sub esp, 0x28
mov eax, esp
push 0
push 0
push str.setup_pid
mov dword [eax + 0x24], 0
call fcn.0042f5c0
mov ecx, eax
call fcn.0042b770
lea eax, [ebp - 0x210]
push eax
call fcn.0043ec20
mov ecx, eax
call fcn.00438580
push eax
call fcn.0042f5c0
mov ecx, eax
call fcn.0042bdb0
mov edx, dword [ebp - 0x210]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x446768
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0
sub esp, 0x28
mov eax, esp
push 0
push 0
push str.res_pid
mov dword [eax + 0x24], 0
call fcn.0042f5c0
mov ecx, eax
call fcn.0042b770
call fcn.0043ec20
mov ecx, eax
call fcn.00438440
push eax
call fcn.0042f5c0
mov ecx, eax
call fcn.0042bdb0
cmp dword [0x5893fc], 0
je 0x446850
push str.ntdll.dll
mov dword [ebp - 0x21c], 0
xor edi, edi
mov dword [ebp - 0x210], 0
mov dword [ebp - 0x218], 0
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
test esi, esi
je 0x446846
push str.RtlGetNtVersionNumbers
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x44681b
lea ecx, [ebp - 0x218]
push ecx
lea ecx, [ebp - 0x210]
push ecx
lea ecx, [ebp - 0x21c]
push ecx
call eax
movzx eax, word [ebp - 0x218]
mov edi, 1
mov dword [ebp - 0x218], eax
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
test edi, edi
je 0x446846
cmp dword [ebp - 0x21c], 6
jne 0x44683a
cmp dword [ebp - 0x210], 1
jae 0x44683c
jmp 0x446846
jbe 0x446846
mov dword [0x58f040], 1
mov dword [0x5893fc], 0
cmp dword [0x58f040], 0
jne 0x4468d8
push 0
sub esp, 0x28
mov eax, esp
push 0
push 0
push str.install_os_fail
mov dword [eax + 0x24], 0
call fcn.0042f5c0
mov ecx, eax
call fcn.0042b770
push 1
push 0
push 0x54a40c
push 0
push str.S_MRHr_g
push 0
call fcn.0045e180
cmp eax, 1
jne 0x4468af
push eax
push 0
push 0
push str.https:__cdn_file_ssl.ludashi.com_pc_appstore_ludashi_ludashisetup.exe
push 0x54651c
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
push 2
lea ecx, [ebp - 0x228]
call fcn.00449ee0
mov ecx, 0x58f004
call fcn.00416010
push 0xbb8
call dword [sym.imp.KERNEL32.dll_Sleep]
xor ebx, ebx
jmp 0x446c0c
call fcn.00442970
test eax, eax
jne 0x44691a
push dword [0x58efc4]
lea ecx, [ebp - 0x228]
call fcn.00449ee0
call fcn.0043ecb0
mov ecx, eax
call fcn.0043c5a0
mov ecx, 0x58f004
call fcn.00416010
push 0xbb8
call dword [sym.imp.KERNEL32.dll_Sleep]
xor ebx, ebx
jmp 0x446c0c
push 0
sub esp, 0x28
mov eax, esp
push 0
push 0
push str.install_init_packinfo
mov dword [eax + 0x24], 0
call fcn.0042f5c0
mov ecx, eax
call fcn.0042b770
call fcn.00443550
push 0
sub esp, 0x28
test eax, eax
mov eax, esp
push 0
mov dword [eax + 0x24], 0
push 0
jne 0x44696d
push str.install_file_fail
call fcn.0042f5c0
mov ecx, eax
call fcn.0042b770
push 5
jmp 0x446989
push str.install_version_cmp
call fcn.0042f5c0
mov ecx, eax
call fcn.0042b770
call fcn.00440e50
test eax, eax
jne 0x4469c9
push 6
lea ecx, [ebp - 0x228]
call fcn.00449ee0
mov ecx, 0x58f004
call fcn.00416010
call fcn.0045f9f0
push 1
push eax
mov ecx, dword [eax]
call dword [ecx + 0x38]
call fcn.0043ecb0
mov ecx, eax
call fcn.0043c5a0
push 0xbb8
call dword [sym.imp.KERNEL32.dll_Sleep]
xor ebx, ebx
jmp 0x446c0c
push 0
sub esp, 0x28
mov eax, esp
push 0
push 0
push str.install_check_se_sf
mov dword [eax + 0x24], 0
call fcn.0042f5c0
mov ecx, eax
call fcn.0042b770
call fcn.00441b60
push 0
sub esp, 0x28
mov eax, esp
push 0
push 0
push str.install_will_msgloop
mov dword [eax + 0x24], 0
call fcn.0042f5c0
mov ecx, eax
call fcn.0042b770
call fcn.0043ec20
cmp dword [eax + 0x94], 0
je 0x446a4e
push 4
lea eax, [ebp - 0x210]
mov dword [ebp - 0x210], 1
push eax
push 4
push str.extension_tag
push str.SoftwareLudashi
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHSetValueW]
jmp 0x446a63
push str.extension_tag
push str.SoftwareLudashi
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHDeleteValueW]
push dword [ebp + 0x14]
push ebx
call fcn.00444f70
add esp, 8
lea ecx, [ebp - 0x218]
mov ebx, eax
call fcn.0040a950
push dword [0x58f050]
lea eax, [ebp - 0x218]
push str.ex_ary_result_result__d
push eax
call fcn.0040aeb0
add esp, 0xc
push 0
sub esp, 0x28
mov eax, esp
push 1
push dword [ebp - 0x218]
mov dword [eax + 0x24], 0
push str.install_result
call fcn.0042f5c0
mov ecx, eax
call fcn.0042b770
call fcn.0043ecb0
mov ecx, eax
call fcn.0043c5a0
push dword [0x58f050]
lea ecx, [ebp - 0x228]
call fcn.00449ef0
mov edi, dword [0x58efb4]
add edi, 0x10
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov esi, dword [0x58f000]
test esi, esi
je 0x446b3c
cmp dword [esi + 4], 0
jle 0x446b0a
mov eax, dword [esi]
push dword [eax]
call dword [sym.imp.USER32.dll_DestroyWindow]
mov esi, dword [0x58f000]
test esi, esi
je 0x446b3c
mov eax, dword [esi]
test eax, eax
je 0x446b23
push eax
call fcn.004f2d8b
add esp, 4
mov dword [esi], 0
push 0xc
push esi
mov dword [esi + 4], 0
mov dword [esi + 8], 0
call fcn.0049a80e
add esp, 8
push edi
mov dword [0x58f000], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [0x58effc]
test esi, esi
je 0x446b95
mov eax, dword [esi]
test eax, eax
je 0x446b6c
push eax
call fcn.004f2d8b
add esp, 4
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x446b83
push eax
call fcn.004f2d8b
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
mov dword [esi + 8], 0
call fcn.0049a80e
add esp, 8
mov esi, dword [0x58eff4]
test esi, esi
je 0x446bc7
cmp dword [esi], 0
je 0x446bc7
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x446bb1
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [esi + 0x20]
push 0
mov dword [esi + 0x10], 0
call eax
add esi, 0x24
cmp dword [esi], 0
jne 0x446ba4
mov esi, dword [0x5893dc]
mov ecx, dword [0x5893e0]
cmp esi, ecx
jae 0x446bf1
mov eax, dword [esi]
test eax, eax
je 0x446bea
mov eax, dword [eax + 0x1c]
push 0
call eax
mov ecx, dword [0x5893e0]
add esi, 4
cmp esi, ecx
jb 0x446bd7
mov ecx, 0x58efc8
call fcn.004456b0
call dword [sym.imp.ole32.dll_CoUninitialize]
lea ecx, [ebp - 0x218]
call fcn.0040aa30
lea ecx, [ebp - 0x228]
call fcn.00449ea0
lea ecx, [ebp - 0x22c]
call fcn.00413440
mov ecx, dword [ebp - 4]
mov eax, ebx
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0049a7f8
mov esp, ebp
pop ebp
ret 0x10