Function at 0x412230
Capabilities:
Check if file exists
Create process on windows
Delete file
Get common file path
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x53d38c
mov eax, dword fs:[0]
push eax
mov eax, 0x1488
call fcn.004b0330
mov eax, dword [0x5a6900]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x14], ecx
xor eax, eax
mov word [ebp - 0x21c], ax
push 0x206
push 0
lea eax, [ebp - 0x21a]
push eax
call fcn.004af7d0
add esp, 0xc
mov eax, dword [ebp + 8]
push eax
push str._sSoftApp.ini
lea ecx, [ebp - 0x21c]
push ecx
call fcn.0040fa70
add esp, 0xc
lea eax, [ebp - 0x21c]
push eax
push 1
push str.bEngineUse
push str.ControlConf
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebp - 0x220], eax
lea eax, [ebp - 0x21c]
push eax
push 1
push str.bBindOfBottomOnFirstUse
push str.ControlConf
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebp - 0x224], eax
xor eax, eax
mov word [ebp - 0x42c], ax
push 0x206
push 0
lea eax, [ebp - 0x42a]
push eax
call fcn.004af7d0
add esp, 0xc
xor eax, eax
mov word [ebp - 0x634], ax
push 0x206
push 0
lea eax, [ebp - 0x632]
push eax
call fcn.004af7d0
add esp, 0xc
mov eax, dword [ebp + 8]
push eax
push str._sConfig.ini
lea ecx, [ebp - 0x42c]
push ecx
call fcn.0040fa70
add esp, 0xc
lea eax, [ebp - 0x42c]
push eax
push 1
push str.bFirstUseBind
push str.Setting
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebp - 0x638], eax
movzx eax, byte [ebp + 0xc]
test eax, eax
je 0x412974
xor eax, eax
mov word [ebp - 0x840], ax
push 0x206
push 0
lea eax, [ebp - 0x83e]
push eax
call fcn.004af7d0
add esp, 0xc
lea eax, [ebp - 0x840]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
lea eax, [ebp - 0x840]
push eax
lea ecx, [ebp - 0x844]
call fcn.00404760
mov dword [ebp - 4], 0
push str.TempRilibiao.xml
lea ecx, [ebp - 0x844]
call fcn.00401fa0
lea ecx, [ebp - 0x844]
call fcn.00404880
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4123dd
lea ecx, [ebp - 0x844]
call fcn.00404880
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push ecx
mov ecx, esp
mov dword [ebp - 0x1484], esp
lea eax, [ebp - 0x844]
push eax
call fcn.00404740
mov dword [ebp - 0x1488], eax
mov ecx, dword [ebp - 0x1488]
mov dword [ebp - 0x148c], ecx
mov byte [ebp - 4], 1
push ecx
mov ecx, esp
mov dword [ebp - 0x1480], esp
push str.http:__xiazai.rilibiao.com.cn_xml_switch_config.xml
call fcn.00404760
mov dword [ebp - 0x1490], eax
mov byte [ebp - 4], 0
call fcn.0042e030
add esp, 8
mov byte [ebp - 0x1491], al
movzx edx, byte [ebp - 0x1491]
test edx, edx
je 0x412962
lea ecx, [ebp - 0x844]
call fcn.00404880
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x412962
lea eax, [ebp - 0x21c]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
push str.UpdConfDate
push str.ControlConf
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea ecx, [ebp - 0x844]
call fcn.004137b0
push eax
lea ecx, [ebp - 0x147c]
call fcn.00413810
mov dword [ebp - 0x1488], eax
mov eax, dword [ebp - 0x1488]
mov dword [ebp - 0x148c], eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x148c]
call fcn.004138e0
push eax
lea ecx, [ebp - 0x84c]
call fcn.0042de10
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x147c]
call fcn.00413870
lea ecx, [ebp - 0x84c]
call fcn.0042e000
mov dword [ebp - 0x850], eax
cmp dword [ebp - 0x850], 0
je 0x412941
push str.EngineControl
mov eax, dword [ebp - 0x850]
push eax
lea ecx, [ebp - 0x84c]
call fcn.0042df50
mov dword [ebp - 0x854], eax
cmp dword [ebp - 0x854], 0
je 0x4125a9
push str.bUse
mov eax, dword [ebp - 0x854]
push eax
lea ecx, [ebp - 0x84c]
call fcn.0042df50
mov dword [ebp - 0x858], eax
cmp dword [ebp - 0x858], 0
je 0x4125a9
mov ecx, dword [ebp - 0x858]
call fcn.004f8c90
push eax
call fcn.004b256e
add esp, 4
mov dword [ebp - 0x85c], eax
lea eax, [ebp - 0x21c]
push eax
mov ecx, dword [ebp - 0x858]
call fcn.004f8c90
push eax
lea ecx, [ebp - 0x13f8]
call fcn.004138a0
mov dword [ebp - 0x1488], eax
mov ecx, dword [ebp - 0x1488]
call fcn.004138e0
push eax
push str.bEngineUse
push str.ControlConf
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea ecx, [ebp - 0x13f8]
call fcn.00413870
mov eax, dword [ebp - 0x85c]
mov dword [ebp - 0x220], eax
push str.DefaultLinkControl
mov eax, dword [ebp - 0x850]
push eax
lea ecx, [ebp - 0x84c]
call fcn.0042df50
mov dword [ebp - 0x860], eax
cmp dword [ebp - 0x860], 0
je 0x41265e
push str.bUse
mov eax, dword [ebp - 0x860]
push eax
lea ecx, [ebp - 0x84c]
call fcn.0042df50
mov dword [ebp - 0x864], eax
cmp dword [ebp - 0x864], 0
je 0x41265e
mov ecx, dword [ebp - 0x864]
call fcn.004f8c90
push eax
call fcn.004b256e
add esp, 4
mov dword [ebp - 0x868], eax
lea eax, [ebp - 0x21c]
push eax
mov ecx, dword [ebp - 0x864]
call fcn.004f8c90
push eax
lea ecx, [ebp - 0x12f4]
call fcn.004138a0
mov dword [ebp - 0x1488], eax
mov ecx, dword [ebp - 0x1488]
call fcn.004138e0
push eax
push str.bDefaultLinkUse
push str.ControlConf
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea ecx, [ebp - 0x12f4]
call fcn.00413870
push str.AdvertisingControl
mov eax, dword [ebp - 0x850]
push eax
lea ecx, [ebp - 0x84c]
call fcn.0042df50
mov dword [ebp - 0x86c], eax
cmp dword [ebp - 0x86c], 0
je 0x412713
push str.bUse
mov eax, dword [ebp - 0x86c]
push eax
lea ecx, [ebp - 0x84c]
call fcn.0042df50
mov dword [ebp - 0x870], eax
cmp dword [ebp - 0x870], 0
je 0x412713
mov ecx, dword [ebp - 0x870]
call fcn.004f8c90
push eax
call fcn.004b256e
add esp, 4
mov dword [ebp - 0x874], eax
lea eax, [ebp - 0x21c]
push eax
mov ecx, dword [ebp - 0x870]
call fcn.004f8c90
push eax
lea ecx, [ebp - 0x11f0]
call fcn.004138a0
mov dword [ebp - 0x1488], eax
mov ecx, dword [ebp - 0x1488]
call fcn.004138e0
push eax
push str.bAdverOfBottomUse
push str.ControlConf
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea ecx, [ebp - 0x11f0]
call fcn.00413870
push str.BindOfFirstControl
mov eax, dword [ebp - 0x850]
push eax
lea ecx, [ebp - 0x84c]
call fcn.0042df50
mov dword [ebp - 0x878], eax
cmp dword [ebp - 0x878], 0
je 0x4128aa
push str.bUse
mov eax, dword [ebp - 0x878]
push eax
lea ecx, [ebp - 0x84c]
call fcn.0042df50
mov dword [ebp - 0x87c], eax
cmp dword [ebp - 0x87c], 0
je 0x4127c8
mov ecx, dword [ebp - 0x87c]
call fcn.004f8c90
push eax
call fcn.004b256e
add esp, 4
mov dword [ebp - 0x224], eax
lea eax, [ebp - 0x21c]
push eax
mov ecx, dword [ebp - 0x87c]
call fcn.004f8c90
push eax
lea ecx, [ebp - 0x10ec]
call fcn.004138a0
mov dword [ebp - 0x1488], eax
mov ecx, dword [ebp - 0x1488]
call fcn.004138e0
push eax
push str.bBindOfBottomOnFirstUse
push str.ControlConf
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea ecx, [ebp - 0x10ec]
call fcn.00413870
push str.bShowMoreBtn
mov eax, dword [ebp - 0x878]
push eax
lea ecx, [ebp - 0x84c]
call fcn.0042df50
mov dword [ebp - 0x880], eax
cmp dword [ebp - 0x880], 0
je 0x412839
lea eax, [ebp - 0x21c]
push eax
mov ecx, dword [ebp - 0x880]
call fcn.004f8c90
push eax
lea ecx, [ebp - 0xfe8]
call fcn.004138a0
mov dword [ebp - 0x1488], eax
mov ecx, dword [ebp - 0x1488]
call fcn.004138e0
push eax
push 0x54c144
push str.ControlConf
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea ecx, [ebp - 0xfe8]
call fcn.00413870
push str.bUseTime
mov eax, dword [ebp - 0x878]
push eax
lea ecx, [ebp - 0x84c]
call fcn.0042df50
mov dword [ebp - 0x884], eax
cmp dword [ebp - 0x884], 0
je 0x4128aa
lea eax, [ebp - 0x21c]
push eax
mov ecx, dword [ebp - 0x884]
call fcn.004f8c90
push eax
lea ecx, [ebp - 0xee4]
call fcn.004138a0
mov dword [ebp - 0x1488], eax
mov ecx, dword [ebp - 0x1488]
call fcn.004138e0
push eax
push str.BindOfBottomOnFirstUseTime
push str.ControlConf
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea ecx, [ebp - 0xee4]
call fcn.00413870
push str.iCheckBtnControl
mov eax, dword [ebp - 0x850]
push eax
lea ecx, [ebp - 0x84c]
call fcn.0042df50
mov dword [ebp - 0x888], eax
cmp dword [ebp - 0x888], 0
je 0x412941
push str.iCheckIndex
mov eax, dword [ebp - 0x888]
push eax
lea ecx, [ebp - 0x84c]
call fcn.0042df50
mov dword [ebp - 0x88c], eax
cmp dword [ebp - 0x88c], 0
je 0x412941
lea eax, [ebp - 0x21c]
push eax
mov ecx, dword [ebp - 0x88c]
call fcn.004f8c90
push eax
lea ecx, [ebp - 0xde0]
call fcn.004138a0
mov dword [ebp - 0x1488], eax
mov ecx, dword [ebp - 0x1488]
call fcn.004138e0
push eax
push str.iCheckBtnIndexControl
push str.ControlConf
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea ecx, [ebp - 0xde0]
call fcn.00413870
lea ecx, [ebp - 0x844]
call fcn.00404880
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x84c]
call fcn.0042ded0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x844]
call fcn.004047e0
cmp dword [ebp - 0x220], 0
je 0x4129e0
xor eax, eax
mov word [ebp - 0xa94], ax
push 0x206
push 0
lea eax, [ebp - 0xa92]
push eax
call fcn.004af7d0
add esp, 0xc
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0xa94]
push ecx
call fcn.004af7a7
add esp, 8
push 0x54bd5c
lea eax, [ebp - 0xa94]
push eax
call fcn.004af779
add esp, 8
push 0
push 0
push 0x54a9f4
lea eax, [ebp - 0xa94]
push eax
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
cmp dword [ebp - 0x638], 0
je 0x412a55
cmp dword [ebp - 0x224], 0
je 0x412a55
xor eax, eax
mov word [ebp - 0xc9c], ax
push 0x206
push 0
lea eax, [ebp - 0xc9a]
push eax
call fcn.004af7d0
add esp, 0xc
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0xc9c]
push ecx
call fcn.004af7a7
add esp, 8
push str.SoftUpd.exe
lea eax, [ebp - 0xc9c]
push eax
call fcn.004af779
add esp, 8
push 5
push 0
push str._bindAtFirst
lea eax, [ebp - 0xc9c]
push eax
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004af76a
mov esp, ebp
pop ebp
ret 0xc