Function at 0x414730
Capabilities:
Copy file
Delete file
Delete registry key
Get common file path
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4c6099
mov eax, dword fs:[0]
push eax
sub esp, 0x2d8
mov eax, dword [0x5094d8]
xor eax, esp
mov dword [esp + 0x2d0], eax
push ebx
push esi
push edi
mov eax, dword [0x5094d8]
xor eax, esp
push eax
lea eax, [esp + 0x2e8]
mov dword fs:[0], eax
mov esi, ecx
xor eax, eax
mov dword [esp + 0x50], 7
push eax
push 0x4e6c88
lea ecx, [esp + 0x44]
mov dword [esp + 0x54], 0
mov word [esp + 0x44], ax
call fcn.00407a10
mov dword [esp + 0x2f0], 0
lea ecx, [esp + 0x54]
push 0x11
xor eax, eax
mov dword [esp + 0x6c], 7
push str._F__IM_adb.exe__T
mov dword [esp + 0x6c], 0
mov word [esp + 0x5c], ax
call fcn.00407a10
mov byte [esp + 0x2f0], 1
lea ecx, [esp + 0x6c]
push 8
xor eax, eax
mov dword [esp + 0x84], 7
push str.taskkill
mov dword [esp + 0x84], 0
mov word [esp + 0x74], ax
call fcn.00407a10
sub esp, 0x10
mov byte [esp + 0x300], 2
lea eax, [esp + 0x4c]
lea edx, [esp + 0x64]
lea ecx, [esp + 0x7c]
push eax
call fcn.004108e0
add esp, 0x14
cmp dword [esp + 0x80], 8
jb 0x414835
push dword [esp + 0x6c]
call fcn.00470760
add esp, 4
xor eax, eax
mov dword [esp + 0x80], 7
cmp dword [esp + 0x68], 8
mov dword [esp + 0x7c], 0
mov word [esp + 0x6c], ax
jb 0x414862
push dword [esp + 0x54]
call fcn.00470760
add esp, 4
xor eax, eax
mov dword [esp + 0x2f0], 0xffffffff
cmp dword [esp + 0x50], 8
mov dword [esp + 0x68], 7
mov dword [esp + 0x64], 0
mov word [esp + 0x54], ax
jb 0x414897
push dword [esp + 0x3c]
call fcn.00470760
add esp, 4
xor eax, eax
mov dword [esp + 0x50], 7
push eax
push 0x4e6c88
lea ecx, [esp + 0x44]
mov dword [esp + 0x54], 0
mov word [esp + 0x44], ax
call fcn.00407a10
mov dword [esp + 0x2f0], 3
lea ecx, [esp + 0x6c]
push 0xf
xor eax, eax
mov dword [esp + 0x84], 7
push str._F__IM_aapt.exe
mov dword [esp + 0x84], 0
mov word [esp + 0x74], ax
call fcn.00407a10
mov byte [esp + 0x2f0], 4
lea ecx, [esp + 0x54]
push 8
xor eax, eax
mov dword [esp + 0x6c], 7
push str.taskkill
mov dword [esp + 0x6c], 0
mov word [esp + 0x5c], ax
call fcn.00407a10
sub esp, 0x10
mov byte [esp + 0x300], 5
lea eax, [esp + 0x4c]
lea edx, [esp + 0x7c]
lea ecx, [esp + 0x64]
push eax
call fcn.004108e0
add esp, 0x14
cmp dword [esp + 0x68], 8
jb 0x414957
push dword [esp + 0x54]
call fcn.00470760
add esp, 4
xor eax, eax
mov dword [esp + 0x68], 7
cmp dword [esp + 0x80], 8
mov dword [esp + 0x64], 0
mov word [esp + 0x54], ax
jb 0x414984
push dword [esp + 0x6c]
call fcn.00470760
add esp, 4
xor eax, eax
mov dword [esp + 0x2f0], 0xffffffff
cmp dword [esp + 0x50], 8
mov dword [esp + 0x80], 7
mov dword [esp + 0x7c], 0
mov word [esp + 0x6c], ax
jb 0x4149bc
push dword [esp + 0x3c]
call fcn.00470760
add esp, 4
xor eax, eax
mov dword [esp + 0x50], 7
push eax
push 0x4e6c88
lea ecx, [esp + 0x44]
mov dword [esp + 0x54], 0
mov word [esp + 0x44], ax
call fcn.00407a10
mov dword [esp + 0x2f0], 6
lea ecx, [esp + 0x6c]
push 0x13
xor eax, eax
mov dword [esp + 0x84], 7
push str._F__IM_ldrecord.exe
mov dword [esp + 0x84], 0
mov word [esp + 0x74], ax
call fcn.00407a10
mov byte [esp + 0x2f0], 7
lea ecx, [esp + 0x54]
push 8
xor eax, eax
mov dword [esp + 0x6c], 7
push str.taskkill
mov dword [esp + 0x6c], 0
mov word [esp + 0x5c], ax
call fcn.00407a10
sub esp, 0x10
mov byte [esp + 0x300], 8
lea eax, [esp + 0x4c]
lea edx, [esp + 0x7c]
lea ecx, [esp + 0x64]
push eax
call fcn.004108e0
add esp, 0x14
cmp dword [esp + 0x68], 8
jb 0x414a7c
push dword [esp + 0x54]
call fcn.00470760
add esp, 4
xor eax, eax
mov dword [esp + 0x68], 7
cmp dword [esp + 0x80], 8
mov dword [esp + 0x64], 0
mov word [esp + 0x54], ax
jb 0x414aa9
push dword [esp + 0x6c]
call fcn.00470760
add esp, 4
xor eax, eax
mov dword [esp + 0x2f0], 0xffffffff
cmp dword [esp + 0x50], 8
mov dword [esp + 0x80], 7
mov dword [esp + 0x7c], 0
mov word [esp + 0x6c], ax
jb 0x414ae1
push dword [esp + 0x3c]
call fcn.00470760
add esp, 4
xor eax, eax
mov dword [esp + 0x50], 7
push eax
push 0x4e6c88
lea ecx, [esp + 0x44]
mov dword [esp + 0x54], 0
mov word [esp + 0x44], ax
call fcn.00407a10
mov dword [esp + 0x2f0], 9
lea ecx, [esp + 0x6c]
push 0x11
xor eax, eax
mov dword [esp + 0x84], 7
push str._F__IM_fynews.exe
mov dword [esp + 0x84], 0
mov word [esp + 0x74], ax
call fcn.00407a10
mov byte [esp + 0x2f0], 0xa
lea ecx, [esp + 0x54]
push 8
xor eax, eax
mov dword [esp + 0x6c], 7
push str.taskkill
mov dword [esp + 0x6c], 0
mov word [esp + 0x5c], ax
call fcn.00407a10
sub esp, 0x10
mov byte [esp + 0x300], 0xb
lea eax, [esp + 0x4c]
lea edx, [esp + 0x7c]
lea ecx, [esp + 0x64]
push eax
call fcn.004108e0
add esp, 0x14
cmp dword [esp + 0x68], 8
jb 0x414ba1
push dword [esp + 0x54]
call fcn.00470760
add esp, 4
xor eax, eax
mov dword [esp + 0x68], 7
cmp dword [esp + 0x80], 8
mov dword [esp + 0x64], 0
mov word [esp + 0x54], ax
jb 0x414bce
push dword [esp + 0x6c]
call fcn.00470760
add esp, 4
xor eax, eax
mov dword [esp + 0x2f0], 0xffffffff
cmp dword [esp + 0x50], 8
mov dword [esp + 0x80], 7
mov dword [esp + 0x7c], 0
mov word [esp + 0x6c], ax
jb 0x414c06
push dword [esp + 0x3c]
call fcn.00470760
add esp, 4
xor eax, eax
mov dword [esp + 0x50], 7
push eax
push 0x4e6c88
lea ecx, [esp + 0x44]
mov dword [esp + 0x54], 0
mov word [esp + 0x44], ax
call fcn.00407a10
mov dword [esp + 0x2f0], 0xc
lea ecx, [esp + 0x6c]
push 0x11
xor eax, eax
mov dword [esp + 0x84], 7
push str._F__IM_ldnews.exe
mov dword [esp + 0x84], 0
mov word [esp + 0x74], ax
call fcn.00407a10
mov byte [esp + 0x2f0], 0xd
lea ecx, [esp + 0x54]
push 8
xor eax, eax
mov dword [esp + 0x6c], 7
push str.taskkill
mov dword [esp + 0x6c], 0
mov word [esp + 0x5c], ax
call fcn.00407a10
sub esp, 0x10
mov byte [esp + 0x300], 0xe
lea eax, [esp + 0x4c]
lea edx, [esp + 0x7c]
lea ecx, [esp + 0x64]
push eax
call fcn.004108e0
add esp, 0x14
cmp dword [esp + 0x68], 8
jb 0x414cc6
push dword [esp + 0x54]
call fcn.00470760
add esp, 4
xor eax, eax
mov dword [esp + 0x68], 7
cmp dword [esp + 0x80], 8
mov dword [esp + 0x64], 0
mov word [esp + 0x54], ax
jb 0x414cf3
push dword [esp + 0x6c]
call fcn.00470760
add esp, 4
xor eax, eax
mov dword [esp + 0x2f0], 0xffffffff
cmp dword [esp + 0x50], 8
mov dword [esp + 0x80], 7
mov dword [esp + 0x7c], 0
mov word [esp + 0x6c], ax
jb 0x414d2b
push dword [esp + 0x3c]
call fcn.00470760
add esp, 4
call fcn.00416100
lea edi, [esi + 0x78]
push str.dnuninst.exe
mov edx, edi
lea ecx, [esp + 0x40]
call fcn.00411cd0
add esp, 4
mov ebx, eax
mov dword [esp + 0x2f0], 0xf
mov ecx, dword [esi + 0xc0]
test ecx, ecx
je 0x414d78
mov edx, dword [0x512334]
mov eax, dword [ecx]
add edx, 0x14
push 0xc8
push edx
push ebx
mov dword [0x512334], edx
call dword [eax + 0xc]
mov dword [esp + 0x2f0], 0xffffffff
cmp dword [esp + 0x50], 8
jb 0x414d96
push dword [esp + 0x3c]
call fcn.00470760
add esp, 4
push 0x190
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [edi + 0x14], 8
jb 0x414dab
mov eax, dword [edi]
jmp 0x414dad
mov eax, edi
push eax
push str.uninst_begin_delete_files__directory_is__s
push 0x2e
push str.SimulatorFileCleaner::_runCleaning
call fcn.004209c0
add esp, 0x10
cmp dword [esi + 0x88], 0
jne 0x414de4
push str.clean_bug_install_path_is_empty___
push 0x31
push str.SimulatorFileCleaner::_runCleaning
call fcn.004209c0
add esp, 0xc
jmp 0x415aef
sub esp, 0x18
xor eax, eax
mov ecx, esp
mov dword [esp + 0x2c], ecx
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
mov word [ecx], ax
mov dword [esp + 0x308], 0x10
mov eax, dword [edi + 0x14]
cmp eax, 8
jb 0x414e17
mov ebx, dword [edi]
jmp 0x414e19
mov ebx, edi
cmp eax, 8
jb 0x414e22
mov edx, dword [edi]
jmp 0x414e24
mov edx, edi
mov eax, dword [edi + 0x10]
lea eax, [ebx + eax*2]
push eax
push edx
call fcn.004172a0
mov ecx, 0x513690
mov dword [esp + 0x308], 0xffffffff
call fcn.00439220
push 0x4e6f68
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
cmp dword [0x51368c], 0
mov dword [esi + 0xd0], eax
jne 0x414e73
push 1
call fcn.0048f102
add esp, 4
mov dword [0x51368c], eax
call fcn.00413180
lea eax, [esp + 0x3c]
mov ecx, 0x513720
push eax
call fcn.00417110
lea ecx, [esi + 0x58]
mov dword [esp + 0x2f0], 0x11
cmp ecx, eax
je 0x414ea3
push 0xffffffffffffffff
push 0
push eax
call fcn.00408180
mov dword [esp + 0x2f0], 0xffffffff
cmp dword [esp + 0x50], 8
jb 0x414ec1
push dword [esp + 0x3c]
call fcn.00470760
add esp, 4
lea eax, [esp + 0x3c]
mov ecx, 0x513720
push eax
call fcn.00417110
mov dword [esp + 0x2f0], 0x12
cmp dword [eax + 0x14], 8
jb 0x414ee3
mov eax, dword [eax]
push eax
push str.openIdopenIdopenIdopenIdopenId__s
push 0x3a
push str.SimulatorFileCleaner::_runCleaning
call fcn.004209c0
add esp, 0x10
mov dword [esp + 0x2f0], 0xffffffff
cmp dword [esp + 0x50], 8
jb 0x414f16
push dword [esp + 0x3c]
call fcn.00470760
add esp, 4
lea eax, [esp + 0x18]
push eax
push str.Softwareleidianldplayer9
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
test eax, eax
jne 0x415007
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 8
push eax
lea eax, [esp + 0x20]
xorps xmm0, xmm0
push eax
lea eax, [esp + 0x30]
movlpd qword [esp + 0x24], xmm0
push eax
push 0
push str.installTime
push dword [esp + 0x2c]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
push eax
push dword [esp + 0x24]
push dword [esp + 0x24]
push str.install_time___d_ret___d
push 0x46
push str.SimulatorFileCleaner::_runCleaning
call fcn.004209c0
add esp, 0x18
push dword [esp + 0x18]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [esp + 0x34]
push eax
call fcn.004956dc
mov ecx, dword [esp + 0x38]
add esp, 4
sub ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x38]
sbb eax, dword [esp + 0x20]
test eax, eax
jg 0x415007
jl 0x414fb6
cmp ecx, 0x5265c00
jae 0x415007
push str.uninstall_not_one_day
push 0x4e
push str.SimulatorFileCleaner::_runCleaning
call fcn.004209c0
sub esp, 0xc
mov ecx, 0x513720
mov eax, esp
mov dword [esp + 0x48], esp
push eax
call fcn.00417110
sub esp, 0x18
mov dword [esp + 0x320], 0x13
mov ecx, esp
push str.uinstallplayer
call fcn.00407b40
mov ecx, esi
mov dword [esp + 0x320], 0xffffffff
call fcn.0040b750
xor eax, eax
push 0x208
push eax
mov word [esp + 0xd4], ax
lea eax, [esp + 0xd6]
push eax
call fcn.00497a40
add esp, 0xc
lea eax, [esp + 0xcc]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
lea eax, [esp + 0xcc]
push eax
lea ecx, [esp + 0xa0]
call fcn.00407b40
push 3
push 0x4eb2c0
lea ecx, [esp + 0xa4]
mov dword [esp + 0x2f8], 0x14
call fcn.004116d0
lea eax, [esp + 0x9c]
push eax
call fcn.00424fc0
add esp, 4
test al, al
jne 0x415090
lea eax, [esp + 0x9c]
push eax
call fcn.00424fe0
add esp, 4
push 0x4eb2c8
lea edx, [esp + 0xa0]
lea ecx, [esp + 0x40]
call fcn.00411cd0
add esp, 4
mov byte [esp + 0x2f0], 0x15
cmp dword [eax + 0x14], 8
jb 0x4150b8
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x58]
call fcn.00407b40
cmp dword [esp + 0x68], 8
lea eax, [esp + 0x54]
cmovae eax, dword [esp + 0x54]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp dword [esp + 0x68], 8
jb 0x4150ea
push dword [esp + 0x54]
call fcn.00470760
add esp, 4
xor eax, eax
mov byte [esp + 0x2f0], 0x14
cmp dword [esp + 0x50], 8
mov dword [esp + 0x68], 7
mov dword [esp + 0x64], 0
mov word [esp + 0x54], ax
jb 0x41511c
push dword [esp + 0x3c]
call fcn.00470760
add esp, 4
push 0x4eb2c8
lea edx, [esp + 0xa0]
lea ecx, [esp + 0x58]
call fcn.00411cd0
add esp, 4
mov ebx, eax
push str.lduninst_del.exe
mov edx, edi
mov byte [esp + 0x2f4], 0x16
lea ecx, [esp + 0x40]
call fcn.00411cd0
add esp, 4
cmp dword [ebx + 0x14], 8
jb 0x415159
mov ebx, dword [ebx]
cmp dword [eax + 0x14], 8
jb 0x415161
mov eax, dword [eax]
push 0
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
cmp dword [esp + 0x50], 8
jb 0x41517e
push dword [esp + 0x3c]
call fcn.00470760
add esp, 4
xor eax, eax
mov byte [esp + 0x2f0], 0x14
cmp dword [esp + 0x68], 8
mov dword [esp + 0x50], 7
mov dword [esp + 0x4c], 0
mov word [esp + 0x3c], ax
jb 0x4151b0
push dword [esp + 0x54]
call fcn.00470760
add esp, 4
push 0x4eb310
lea edx, [esp + 0xa0]
lea ecx, [esp + 0x58]
call fcn.00411cd0
add esp, 4
mov ebx, eax
push str.msvcr120.dll
mov edx, edi
mov byte [esp + 0x2f4], 0x17
lea ecx, [esp + 0x40]
call fcn.00411cd0
add esp, 4
cmp dword [ebx + 0x14], 8
jb 0x4151ed
mov ebx, dword [ebx]
cmp dword [eax + 0x14], 8
jb 0x4151f5
mov eax, dword [eax]
push 0
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
cmp dword [esp + 0x50], 8
jb 0x415212
push dword [esp + 0x3c]
call fcn.00470760
add esp, 4
xor eax, eax
mov byte [esp + 0x2f0], 0x14
cmp dword [esp + 0x68], 8
mov dword [esp + 0x50], 7
mov dword [esp + 0x4c], 0
mov word [esp + 0x3c], ax
jb 0x415244
push dword [esp + 0x54]
call fcn.00470760
add esp, 4
push 0x4eb348
lea edx, [esp + 0xa0]
lea ecx, [esp + 0x58]
call fcn.00411cd0
add esp, 4
mov ebx, eax
push str.msvcp120.dll
mov edx, edi
mov byte [esp + 0x2f4], 0x18
lea ecx, [esp + 0x40]
call fcn.00411cd0
add esp, 4
cmp dword [ebx + 0x14], 8
jb 0x415281
mov ebx, dword [ebx]
cmp dword [eax + 0x14], 8
jb 0x415289
mov eax, dword [eax]
push 0
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
cmp dword [esp + 0x50], 8
jb 0x4152a6
push dword [esp + 0x3c]
call fcn.00470760
add esp, 4
xor eax, eax
mov byte [esp + 0x2f0], 0x14
cmp dword [esp + 0x68], 8
mov dword [esp + 0x50], 7
mov dword [esp + 0x4c], 0
mov word [esp + 0x3c], ax
jb 0x4152d8
push dword [esp + 0x54]
call fcn.00470760
add esp, 4
push 0x4eb380
lea edx, [esp + 0xa0]
lea ecx, [esp + 0x58]
call fcn.00411cd0
add esp, 4
mov ebx, eax
push str.msvcp120d.dll
mov edx, edi
mov byte [esp + 0x2f4], 0x19
lea ecx, [esp + 0x40]
call fcn.00411cd0
add esp, 4
cmp dword [ebx + 0x14], 8
jb 0x415315
mov ebx, dword [ebx]
cmp dword [eax + 0x14], 8
jb 0x41531d
mov eax, dword [eax]
push 0
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
cmp dword [esp + 0x50], 8
jb 0x41533a
push dword [esp + 0x3c]
call fcn.00470760
add esp, 4
xor eax, eax
mov byte [esp + 0x2f0], 0x14
cmp dword [esp + 0x68], 8
mov dword [esp + 0x50], 7
mov dword [esp + 0x4c], 0
mov word [esp + 0x3c], ax
jb 0x41536c
push dword [esp + 0x54]
call fcn.00470760
add esp, 4
push 0x4eb3bc
lea edx, [esp + 0xa0]
lea ecx, [esp + 0x58]
call fcn.00411cd0
add esp, 4
mov ebx, eax
push str.msvcr120d.dll
mov edx, edi
mov byte [esp + 0x2f4], 0x1a
lea ecx, [esp + 0x40]
call fcn.00411cd0
add esp, 4
cmp dword [ebx + 0x14], 8
jb 0x4153a9
mov ebx, dword [ebx]
cmp dword [eax + 0x14], 8
jb 0x4153b1
mov eax, dword [eax]
push 0
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
cmp dword [esp + 0x50], 8
jb 0x4153ce
push dword [esp + 0x3c]
call fcn.00470760
add esp, 4
xor eax, eax
mov byte [esp + 0x2f0], 0x14
cmp dword [esp + 0x68], 8
mov dword [esp + 0x50], 7
mov dword [esp + 0x4c], 0
mov word [esp + 0x3c], ax
jb 0x415400
push dword [esp + 0x54]
call fcn.00470760
add esp, 4
mov ecx, dword [esi + 0xc0]
test ecx, ecx
je 0x415429
mov eax, dword [0x512334]
mov edx, dword [ecx]
add eax, 0x14
push 0xc8
push eax
mov dword [0x512334], eax
lea eax, [esi + 0xa8]
push eax
call dword [edx + 0xc]
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x190
call ebx
mov ecx, esi
call fcn.00415d60
mov ecx, esi
call fcn.00415ef0
mov ecx, dword [esi + 0xc0]
test ecx, ecx
je 0x415467
mov eax, dword [0x512334]
mov edx, dword [ecx]
add eax, 0x14
push 0xc8
push eax
push edi
mov dword [0x512334], eax
call dword [edx + 0xc]
push 0x190
call ebx
mov ecx, esi
call fcn.00415b20
lea ecx, [esp + 0xb4]
call fcn.0040f8e0
mov byte [esp + 0x2f0], 0x1b
mov ecx, dword [esi + 0xc0]
test ecx, ecx
je 0x4154b3
mov eax, dword [0x512334]
mov edx, dword [ecx]
add eax, 0x14
push 0xc8
push eax
mov dword [0x512334], eax
lea eax, [esp + 0xbc]
push eax
call dword [edx + 0xc]
push 0x7d0
call ebx
cmp dword [esp + 0xc8], 8
lea eax, [esp + 0xb4]
lea ecx, [esp + 0x3c]
cmovae eax, dword [esp + 0xb4]
push eax
call fcn.00407b40
lea ecx, [esp + 0x3c]
mov byte [esp + 0x2f0], 0x1c
call fcn.0040fbe0
mov byte [esp + 0x2f0], 0x1b
cmp dword [esp + 0x50], 8
jb 0x415507
push dword [esp + 0x3c]
call fcn.00470760
add esp, 4
mov ecx, dword [esi + 0xc0]
test ecx, ecx
je 0x415531
mov eax, dword [0x512334]
mov edx, dword [ecx]
add eax, 0x14
push 0xc8
push eax
mov dword [0x512334], eax
lea eax, [esp + 0xbc]
push eax
call dword [edx + 0xc]
mov eax, dword [esi + 0xd0]
test eax, eax
je 0x41554c
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 0xd0], 0
cmp dword [0x51368c], 0
jne 0x415564
push 1
call fcn.0048f102
add esp, 4
mov dword [0x51368c], eax
call fcn.004132a0
xor eax, eax
mov dword [esp + 0x98], 7
mov dword [esp + 0x94], 0
mov word [esp + 0x84], ax
mov byte [esp + 0x2f0], 0x1d
mov dword [esp + 0x14], eax
cmp dword [0x51368c], eax
jne 0x4155ac
push 1
call fcn.0048f102
add esp, 4
mov dword [0x51368c], eax
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x88]
push eax
call fcn.004133c0
cmp dword [esp + 0x98], 8
lea eax, [esp + 0x84]
cmovae eax, dword [esp + 0x84]
push eax
push str.mutiplayer_path___s
push 0x81
push str.SimulatorFileCleaner::_runCleaning
call fcn.004209c0
push str.dnmultiplayerex.exe
lea edx, [esp + 0x98]
lea ecx, [esp + 0x50]
call fcn.00411cd0
add esp, 0x14
push eax
mov byte [esp + 0x2f4], 0x1e
call fcn.00424fc0
add esp, 4
mov byte [esp + 0x2f0], 0x1d
cmp dword [esp + 0x50], 8
mov bl, al
jb 0x415630
push dword [esp + 0x3c]
call fcn.00470760
add esp, 4
test bl, bl
je 0x4157a9
cmp dword [0x51368c], 0
jne 0x415650
push 1
call fcn.0048f102
add esp, 4
mov dword [0x51368c], eax
push ecx
call fcn.00414170
test al, al
jne 0x4157a9
cmp dword [0x51368c], 0
jne 0x415676
push 1
call fcn.0048f102
add esp, 4
mov dword [0x51368c], eax
push ecx
call fcn.00414070
test al, al
jne 0x4157a9
call fcn.00413160
push ecx
call fcn.00414370
test al, al
jne 0x4157a9
call fcn.00413160
push ecx
call fcn.00414270
test al, al
jne 0x4157a9
push str.remove_mul_files
push 0x87
push str.SimulatorFileCleaner::_runCleaning
call fcn.004209c0
add esp, 0xc
lea ecx, [esp + 0x54]
push str._F__IM_dnmultiplayerex.exe
call fcn.00407b40
push str.taskkill
lea ecx, [esp + 0x40]
mov byte [esp + 0x2f4], 0x1f
call fcn.00407b40
push 0xbb8
push 0
lea eax, [esp + 0x5c]
mov byte [esp + 0x2f8], 0x20
push eax
lea eax, [esp + 0x48]
push eax
call fcn.00429130
add esp, 0x10
lea ecx, [esp + 0x3c]
call fcn.004083c0
lea ecx, [esp + 0x54]
mov byte [esp + 0x2f0], 0x1d
call fcn.004083c0
lea eax, [esp + 0x84]
push eax
call fcn.00425030
add esp, 4
push str.Softwareleidianldmultiplay
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
push str.remove_short_curt
push 0x8d
push str.SimulatorFileCleaner::_runCleaning
call fcn.004209c0
sub esp, 0xc
mov ecx, esp
mov dword [esp + 0x44], esp
push 0x4eb4c8
call fcn.00407b40
sub esp, 0x18
mov byte [esp + 0x320], 0x21
mov ecx, esp
mov dword [esp + 0x60], esp
push 0x4eb4c8
call fcn.00407b40
sub esp, 0x18
mov byte [esp + 0x338], 0x22
mov ecx, esp
push 0x4eb4c8
call fcn.00407b40
mov byte [esp + 0x338], 0x1d
call fcn.0043e320
add esp, 0x48
cmp byte [esi + 0xcc], 0
je 0x415a2b
push str.remove_remote
push 0x96
push str.SimulatorFileCleaner::_runCleaning
call fcn.004209c0
add esp, 0xc
lea ecx, [esp + 0x3c]
push str.remote
call fcn.00407b40
mov byte [esp + 0x2f0], 0x23
mov ecx, dword [esi + 0xc0]
test ecx, ecx
je 0x41580a
mov eax, dword [0x512334]
mov edx, dword [ecx]
add eax, 0x14
push 0xc8
push eax
mov dword [0x512334], eax
lea eax, [esp + 0x44]
push eax
call dword [edx + 0xc]
cmp dword [esp + 0x50], 8
jb 0x41581d
push dword [esp + 0x3c]
call fcn.00470760
add esp, 4
mov dword [esp + 0x68], 0xf
mov dword [esp + 0x64], 0
mov byte [esp + 0x54], 0
lea ecx, [esp + 0x14]
mov byte [esp + 0x2f0], 0x24
call fcn.00422330
push str.Softwareleidianldremote
lea ecx, [esp + 0x40]
mov byte [esp + 0x2f4], 0x25
call fcn.0040e0d0
push 0x20119
lea eax, [esp + 0x40]
mov byte [esp + 0x2f4], 0x26
push eax
push SysReAllocString
lea ecx, [esp + 0x20]
call fcn.00424a00
mov byte [esp + 0x2f0], 0x25
mov edi, eax
cmp dword [esp + 0x50], 0x10
jb 0x415896
push dword [esp + 0x3c]
call fcn.00470760
add esp, 4
test edi, edi
jne 0x4158cc
push str.InstallDir
lea ecx, [esp + 0x40]
call fcn.0040e0d0
lea eax, [esp + 0x54]
mov byte [esp + 0x2f0], 0x27
push eax
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x1c]
call fcn.00424b00
lea ecx, [esp + 0x3c]
call fcn.0040e130
xor eax, eax
mov dword [esp + 0x80], 7
mov dword [esp + 0x7c], 0
mov word [esp + 0x6c], ax
mov byte [esp + 0x2f0], 0x28
cmp dword [esp + 0x64], eax
je 0x4159e3
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.00422b20
add esp, 8
lea ecx, [esp + 0x6c]
push eax
call fcn.0040bc60
lea ecx, [esp + 0x3c]
call fcn.004083c0
push str._binldremoteuninst.exe
lea edx, [esp + 0x70]
lea ecx, [esp + 0x40]
call fcn.00411cd0
add esp, 4
push eax
mov byte [esp + 0x2f4], 0x29
call fcn.00424fc0
add esp, 4
mov byte [esp + 0x2f0], 0x28
lea ecx, [esp + 0x3c]
mov bl, al
call fcn.004083c0
lea ecx, [esp + 0x6c]
test bl, bl
je 0x415965
push str._binldremoteuninst.exe
jmp 0x41596a
push str.ldremoteuninst.exe
call fcn.004110a0
cmp dword [esp + 0x80], 8
lea eax, [esp + 0x6c]
cmovae eax, dword [esp + 0x6c]
push eax
push str.remote_path__s
push 0xac
push str.SimulatorFileCleaner::_runCleaning
call fcn.004209c0
add esp, 0x10
lea ecx, [esp + 0x3c]
push str.__playeruninstall
call fcn.00407b40
push 0
push 1
lea eax, [esp + 0x44]
mov byte [esp + 0x2f8], 0x2a
push eax
lea eax, [esp + 0x78]
push eax
call fcn.00429040
add esp, 0x10
lea ecx, [esp + 0x3c]
call fcn.004083c0
cmp dword [esp + 0x80], 8
jb 0x4159e3
push dword [esp + 0x6c]
call fcn.00470760
add esp, 4
xor eax, eax
mov dword [esp + 0x80], 7
lea ecx, [esp + 0x14]
mov dword [esp + 0x7c], 0
mov word [esp + 0x6c], ax
mov byte [esp + 0x2f0], 0x24
call fcn.004249e0
mov byte [esp + 0x2f0], 0x1d
cmp dword [esp + 0x68], 0x10
jb 0x415a55
push dword [esp + 0x54]
call fcn.00470760
add esp, 4
jmp 0x415a55
mov ecx, dword [esi + 0xc0]
test ecx, ecx
je 0x415a55
mov eax, dword [0x512334]
mov edx, dword [ecx]
add eax, 0x14
push 0xc8
push eax
mov dword [0x512334], eax
lea eax, [esp + 0xbc]
push eax
call dword [edx + 0xc]
mov ecx, dword [esi + 0xc0]
test ecx, ecx
je 0x415a64
mov eax, dword [ecx]
call dword [eax + 0x10]
cmp dword [esp + 0x98], 8
jb 0x415a7d
push dword [esp + 0x84]
call fcn.00470760
add esp, 4
xor eax, eax
mov dword [esp + 0x98], 7
cmp dword [esp + 0xc8], 8
mov dword [esp + 0x94], 0
mov word [esp + 0x84], ax
jb 0x415ab6
push dword [esp + 0xb4]
call fcn.00470760
add esp, 4
xor eax, eax
mov dword [esp + 0xc8], 7
cmp dword [esp + 0xb0], 8
mov dword [esp + 0xc4], 0
mov word [esp + 0xb4], ax
jb 0x415aef
push dword [esp + 0x9c]
call fcn.00470760
add esp, 4
mov ecx, dword [esp + 0x2e8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x2d0]
xor ecx, esp
call fcn.0048efb3
mov esp, ebp
pop ebp
ret