Function at 0x425d4f
Capabilities:
Check if file exists
Create process on windows
Delete file
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd2c
mov eax, dword [0x475668]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor edi, edi
push edi
push edi
push edi
push edi
lea eax, [ebp - 0xd2c]
push eax
call dword [sym.imp.USER32.dll_PeekMessageW]
mov esi, str.Log_Debug
cmp dword [0x47955c], edi
jne 0x425d92
push esi
push 0x47955c
call fcn.00405f6c
pop ecx
pop ecx
cmp dword [0x47955c], 2
jne 0x425da8
push str.MiniGamePacker_start_Installproces_thread
push esi
call fcn.004064b8
pop ecx
pop ecx
push edi
lea eax, [ebp - 0xc50]
push edi
push eax
call fcn.0040513b
add esp, 0xc
cmp dword [ebp - 0xc40], edi
je 0x425f2a
push str.SogouMiniGame.exe
lea ecx, [ebp - 0xcb4]
call fcn.00402e62
lea eax, [ebp - 0xcb4]
push eax
lea eax, [ebp - 0xc50]
push eax
call fcn.0040674a
pop ecx
pop ecx
xor ebx, ebx
push edi
inc ebx
push ebx
lea ecx, [ebp - 0xcb4]
call fcn.0040318e
cmp dword [ebp - 0xc3c], 8
mov eax, dword [ebp - 0xc50]
jae 0x425e0f
lea eax, [ebp - 0xc50]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x425f2a
cmp dword [ebp - 0xc3c], 8
mov eax, dword [ebp - 0xc50]
mov dword [ebp - 0xc54], edi
mov dword [ebp - 0xc58], edi
mov dword [ebp - 0xc5c], edi
mov dword [ebp - 0xc60], edi
jae 0x425e4b
lea eax, [ebp - 0xc50]
lea ecx, [ebp - 0xc60]
push ecx
push eax
call fcn.0040182f
pop ecx
pop ecx
lea eax, [ebp - 0xc7c]
push eax
lea ecx, [ebp - 0xc60]
call fcn.00425ce9
push 0x46c074
lea ecx, [ebp - 0xc98]
call fcn.00402e62
cmp dword [ebp - 0xc68], 8
mov eax, dword [ebp - 0xc7c]
jae 0x425e91
lea eax, [ebp - 0xc7c]
push dword [ebp - 0xc6c]
lea ecx, [ebp - 0xc98]
push eax
push dword [ebp - 0xc88]
push edi
call fcn.004081e1
test eax, eax
jg 0x425f10
cmp dword [0x47955c], edi
jne 0x425ec3
push esi
push 0x47955c
call fcn.00405f6c
pop ecx
pop ecx
cmp dword [0x47955c], 2
jne 0x425ed9
push str.MiniGamePacker_find_minigame_already_exist._dont_need_install
push esi
call fcn.004064b8
pop ecx
pop ecx
call fcn.0042e820
push edi
push ebx
lea ecx, [ebp - 0xc98]
call fcn.0040318e
push edi
push ebx
lea ecx, [ebp - 0xc7c]
call fcn.0040318e
push edi
push ebx
lea ecx, [ebp - 0xc50]
call fcn.0040318e
mov dword [0x477264], ebx
jmp 0x42639b
push edi
push ebx
lea ecx, [ebp - 0xc98]
call fcn.0040318e
push edi
push ebx
lea ecx, [ebp - 0xc7c]
call fcn.0040318e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xcb8], eax
xor eax, eax
mov ebx, 0x40e
push ebx
mov word [ebp - 0xc34], ax
lea eax, [ebp - 0xc32]
push edi
push eax
call fcn.004320e0
add esp, 0xc
lea eax, [ebp - 0xc34]
push eax
mov edi, 0x208
push edi
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
push edi
lea eax, [ebp - 0xc34]
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetLongPathNameW]
xor eax, eax
push ebx
push eax
mov word [ebp - 0x824], ax
lea eax, [ebp - 0x822]
push eax
call fcn.004320e0
add esp, 0xc
lea eax, [ebp - 0x824]
push eax
push 0
push 0
lea eax, [ebp - 0xc34]
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
lea eax, [ebp - 0x824]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveExtensionW]
push str..cab
lea eax, [ebp - 0x824]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAddExtensionW]
lea eax, [ebp - 0x824]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x426049
cmp dword [0x47955c], 0
jne 0x425fef
push esi
push 0x47955c
call fcn.00405f6c
pop ecx
pop ecx
cmp dword [0x47955c], 2
jne 0x42600d
lea eax, [ebp - 0x824]
push eax
push str.MiniGamePacker_found_zip_file_exist_in_temp._delete_it__s
push esi
call fcn.004064b8
add esp, 0xc
lea eax, [ebp - 0x824]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x426049
cmp dword [0x47955c], eax
jne 0x426033
push esi
push 0x47955c
call fcn.00405f6c
pop ecx
pop ecx
cmp dword [0x47955c], 2
jne 0x426049
push str.MiniGamePacker_delete_zip_file_in_temp_failed_
push esi
call fcn.004064b8
pop ecx
pop ecx
lea eax, [ebp - 0x824]
push eax
push 0x461cb4
push 0xcd
push dword [0x477260]
call fcn.00401760
add esp, 0x10
mov dword [ebp - 0xcbc], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp - 0xcbc]
push dword [ebp - 0xcb8]
neg ecx
sbb ecx, ecx
not ecx
and ecx, eax
push ecx
call fcn.0042e89f
xor eax, eax
pop ecx
pop ecx
cmp dword [ebp - 0xcbc], eax
jne 0x4260cc
cmp dword [0x47955c], eax
jne 0x4260af
push esi
push 0x47955c
call fcn.00405f6c
pop ecx
pop ecx
cmp dword [0x47955c], 2
jne 0x4260c5
push str.MiniGamePacker_extract_resource_file_to_local_failed_
push esi
call fcn.004064b8
pop ecx
pop ecx
push 0
jmp 0x426386
push ebx
push eax
lea eax, [ebp - 0x412]
xor ecx, ecx
push eax
mov word [ebp - 0x414], cx
call fcn.004320e0
push edi
lea eax, [ebp - 0xc34]
push eax
lea eax, [ebp - 0x414]
push edi
push eax
call fcn.00431b12
mov edi, dword [sym.imp.SHLWAPI.dll_PathAppendW]
add esp, 0x1c
push 0x461c14
lea eax, [ebp - 0x414]
push eax
call edi
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov ebx, 0x47955c
test eax, eax
je 0x42618d
cmp dword [0x47955c], 0
jne 0x426137
push esi
push ebx
call fcn.00405f6c
pop ecx
pop ecx
cmp dword [0x47955c], 2
jne 0x426155
lea eax, [ebp - 0x414]
push eax
push str.MiniGamePacker_found_install_exe_file_exist_in_temp._delete_it__s
push esi
call fcn.004064b8
add esp, 0xc
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x42618d
cmp dword [0x47955c], eax
jne 0x426177
push esi
push ebx
call fcn.00405f6c
pop ecx
pop ecx
cmp dword [0x47955c], 2
jne 0x42618d
push str.MiniGamePacker_delete_install_exe_file_in_temp_failed_
push esi
call fcn.004064b8
pop ecx
pop ecx
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
push 3
lea eax, [ebp - 0x414]
push eax
lea eax, [ebp - 0x824]
push eax
call fcn.004013e8
push eax
mov dword [ebp - 0xcb8], eax
call fcn.0042e983
add esp, 0x10
cmp dword [ebp - 0xcb8], 0
je 0x4261f0
cmp dword [0x47955c], 0
jne 0x4261d9
push esi
push ebx
call fcn.00405f6c
pop ecx
pop ecx
cmp dword [0x47955c], 2
jne 0x4260c5
push str.MiniGamePacker_Decompress_cab_file_in_temp_failed_
jmp 0x4260bd
push 0x461c14
lea eax, [ebp - 0x414]
push eax
call edi
and dword [ebp - 0xccc], 0
xor eax, eax
lea edi, [ebp - 0xcc8]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 0x40
xor edi, edi
lea eax, [ebp - 0xd0c]
push edi
push eax
call fcn.004320e0
add esp, 0xc
lea eax, [ebp - 0xccc]
push eax
lea eax, [ebp - 0xd10]
push eax
push edi
push edi
push edi
push edi
push edi
push edi
push edi
lea eax, [ebp - 0x414]
push eax
mov dword [ebp - 0xd10], 0x44
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
mov dword [ebp - 0xcbc], eax
cmp eax, edi
jne 0x426296
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0xcb8], eax
cmp dword [0x47955c], edi
jne 0x426277
push esi
push ebx
call fcn.00405f6c
pop ecx
pop ecx
cmp dword [0x47955c], 2
jne 0x42634b
push str.MiniGamePacker_create_install_process_failed_
push esi
call fcn.004064b8
pop ecx
pop ecx
jmp 0x42634b
push 0x4e20
push dword [ebp - 0xccc]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 0xcb8], eax
cmp eax, edi
jne 0x4262d7
call fcn.0042eb28
cmp dword [0x47955c], edi
jne 0x4262c7
push esi
push ebx
call fcn.00405f6c
pop ecx
pop ecx
cmp dword [0x47955c], 2
jne 0x426335
push str.MiniGamePacker_wait_for_install_finished._start_minigame
jmp 0x4262fd
cmp eax, 0x102
jne 0x426307
cmp dword [0x47955c], edi
jne 0x4262ef
push esi
push ebx
call fcn.00405f6c
pop ecx
pop ecx
cmp dword [0x47955c], 2
jne 0x426335
push str.MiniGamePacker_wait_for_install_time_out._try_call_minigame
push esi
call fcn.004064b8
pop ecx
pop ecx
jmp 0x426335
cmp dword [0x47955c], edi
jne 0x426318
push esi
push ebx
call fcn.00405f6c
pop ecx
pop ecx
cmp dword [0x47955c], 2
jne 0x426335
push dword [ebp - 0xcb8]
push str.MiniGamePacker_wait_for_install_failed__d._try_call_minigame
push esi
call fcn.004064b8
add esp, 0xc
mov eax, dword [ebp - 0xcb8]
mov dword [ebp - 0xcb8], eax
mov dword [0x477264], 1
push dword [ebp - 0xcb8]
push dword [ebp - 0xcbc]
call fcn.0042ed25
pop ecx
pop ecx
cmp dword [0x47955c], edi
jne 0x42636f
push esi
push ebx
call fcn.00405f6c
pop ecx
pop ecx
cmp dword [0x47955c], 2
jne 0x426385
push str.MiniGamePacker_InstallProcess_thread_exit
push esi
call fcn.004064b8
pop ecx
pop ecx
push edi
xor esi, esi
inc esi
push esi
lea ecx, [ebp - 0xc50]
call fcn.0040318e
mov dword [0x477264], esi
call fcn.00425acd
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
xor eax, eax
pop ebx
call fcn.004319f9
leave
ret