Function at 0x401a10
Capabilities:
Accept command line arguments
Create process on windows
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x41e3f0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x10
push ebx
push esi
push edi
mov dword [ebp - 4], 0
mov dword [ebp - 0x10], esp
push str..OCP
push 0
call fcn.0040596a
add esp, 8
call fcn.004045b0
mov ebx, dword [ebp + 8]
cmp ebx, 1
jg 0x401a5e
mov dword [0x42b938], 1
call fcn.004019d0
push 0
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call fcn.0041d0a2
test eax, eax
jne 0x401ab1
push str.MFC_Failed_to_initialize._n
mov ecx, 0x42e158
call fcn.00413e12
push 4
mov ecx, 0x42e158
call fcn.00414500
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0x14]
call fcn.004031f0
mov eax, dword [0x42b938]
mov byte [ebp - 4], 1
push eax
call fcn.004034c0
add esp, 4
lea ecx, [ebp + 8]
mov edi, eax
push ecx
call fcn.00401d50
mov eax, dword [eax]
add esp, 4
push eax
push 0
push str.IsWangBa
push str.Settings
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea ecx, [ebp + 8]
mov esi, eax
call fcn.00416582
test esi, esi
je 0x401b09
mov eax, dword [0x42b938]
test eax, eax
je 0x401ccf
cmp edi, 1
jne 0x401b96
cmp ebx, edi
jg 0x401ccf
mov edx, dword [0x4279f8]
mov dword [ebp + 8], edx
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 2
push eax
call fcn.004034a0
add esp, 4
mov esi, eax
lea ecx, [ebp - 0x18]
mov bl, 3
push edi
push ecx
mov byte [ebp - 4], bl
call fcn.00403080
add esp, 8
mov edx, dword [esi]
mov eax, dword [eax]
push edx
push eax
lea eax, [ebp + 8]
mov byte [ebp - 4], 4
push eax
call fcn.004155dd
add esp, 0xc
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], bl
call fcn.00416582
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 2
call fcn.00416582
mov ecx, dword [ebp + 8]
push ecx
push 0x427314
call fcn.00405918
add esp, 8
lea ecx, [ebp + 8]
mov byte [ebp - 4], 1
call fcn.00416582
jmp 0x401ccf
cmp edi, 0xffffffff
je 0x401bb1
push 8
call fcn.004018e0
add esp, 4
lea ecx, [ebp - 0x14]
call fcn.00403230
test eax, eax
jne 0x401be1
push 4
call fcn.004018e0
add esp, 4
call fcn.004019f0
lea ecx, [ebp - 0x14]
mov esi, eax
mov byte [ebp - 4], 0
call fcn.00403220
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 6
call fcn.004018e0
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
add esp, 4
xor edi, edi
cmp edi, 5
jge 0x401cc5
push 0x3e8
call ebx
lea edx, [ebp - 0x1c]
push edx
call fcn.00404910
add esp, 4
push str.Resource_version.ini
push eax
lea eax, [ebp + 8]
mov byte [ebp - 4], 5
push eax
call fcn.00416827
push eax
mov byte [ebp - 4], 6
call fcn.00402910
add esp, 4
lea ecx, [ebp + 8]
mov esi, eax
mov byte [ebp - 4], 5
call fcn.00416582
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 1
call fcn.00416582
test esi, esi
je 0x401cf5
mov eax, dword [0x42b938]
test eax, eax
je 0x401c64
push 0
call fcn.004042a0
add esp, 4
lea ecx, [ebp - 0x1c]
push ecx
call fcn.00404910
add esp, 4
push str.MyIE9PostUpgrade.exe
lea edx, [ebp + 8]
push eax
push edx
mov byte [ebp - 4], 7
call fcn.00416827
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 9
call fcn.00416582
lea eax, [ebp + 8]
push eax
call fcn.00402910
add esp, 4
test eax, eax
je 0x401cb9
mov ecx, dword [ebp + 8]
push 0
push 0
push 0x42b934
push ecx
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
lea ecx, [ebp + 8]
mov byte [ebp - 4], 1
call fcn.00416582
push 5
call fcn.004018e0
add esp, 4
call fcn.004019f0
lea ecx, [ebp - 0x14]
mov esi, eax
mov byte [ebp - 4], 0
call fcn.00403220
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
inc edi
jmp 0x401bf3