Function at 0x404130
Capabilities:
Get number of processors
Read .ini file
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x41961a
mov eax, dword fs:[0]
push eax
sub esp, 0x68
mov eax, dword [0x42613c]
xor eax, esp
mov dword [esp + 0x60], eax
push ebx
push esi
push edi
mov eax, dword [0x42613c]
xor eax, esp
push eax
lea eax, [esp + 0x78]
mov dword fs:[0], eax
mov edi, ecx
call dword [sym.imp.mfc100.dll_Ordinal_9475]
mov ecx, dword [edi + 0x20]
lea eax, [esp + 0x30]
xor ebx, ebx
push eax
push ecx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [0x426af8]
lea edx, [esp + 0x50]
push edx
push eax
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [esp + 0x3c]
sub ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x50]
push 1
push ecx
mov ecx, dword [esp + 0x38]
mov edx, eax
sub edx, ecx
push edx
mov edx, dword [esp + 0x60]
add edx, 0xaa
push edx
mov edx, dword [esp + 0x68]
sub edx, eax
sub edx, esi
lea eax, [edx + ecx - 0x7e]
cdq
sub eax, edx
sar eax, 1
lea eax, [eax + esi + 0x7e]
push eax
mov ecx, edi
call dword [sym.imp.mfc100.dll_Ordinal_7933]
mov eax, dword [esp + 0x38]
mov edx, dword [edi + 0x238]
mov edx, dword [edx + 0x168]
push 0x19b
lea ecx, [eax - 0x30]
mov dword [esp + 0x4c], eax
push edi
lea eax, [esp + 0x48]
push eax
mov dword [esp + 0x4c], ecx
push 0x50000000
lea ecx, [edi + 0x238]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x5c], 0x1a
call edx
push 5
lea ecx, [edi + 0x238]
call dword [sym.imp.mfc100.dll_Ordinal_12962]
mov eax, dword [edi + 0x258]
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
lea ecx, [edi + 0x2c0]
lea esi, [ebx + 0x14]
mov eax, str..._binimgclose.png
call fcn.00402c40
mov ecx, dword [edi + 0x258]
push 1
push ebx
push ecx
call dword [sym.imp.USER32.dll_InvalidateRect]
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x38]
sub ecx, dword [esp + 0x34]
sub esi, dword [esp + 0x30]
mov eax, esi
cdq
sub eax, edx
sar eax, 1
add eax, 7
mov dword [esp + 0x40], eax
lea edx, [ecx - 0x26]
mov dword [esp + 0x44], edx
mov eax, esi
cdq
sub eax, edx
add ecx, 0xfffffff4
sar eax, 1
push 0x19c
add eax, 0x5d
mov dword [esp + 0x50], ecx
push edi
lea ecx, [esp + 0x48]
mov dword [esp + 0x50], eax
mov eax, dword [edi + 0x2f8]
mov edx, dword [eax + 0x168]
push ecx
push 0x50000000
lea ecx, [edi + 0x2f8]
call edx
push 5
lea ecx, [edi + 0x2f8]
call dword [sym.imp.mfc100.dll_Ordinal_12962]
mov eax, dword [edi + 0x318]
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
lea ecx, [edi + 0x380]
lea esi, [ebx + 0x18]
mov eax, str..._binimg_submit_ok.png
call fcn.00402c40
mov ecx, dword [edi + 0x318]
push 1
push ebx
push ecx
call dword [sym.imp.USER32.dll_InvalidateRect]
mov esi, dword [esp + 0x38]
sub esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x3c]
sub ecx, dword [esp + 0x34]
mov eax, esi
cdq
sub eax, edx
sar eax, 1
sub eax, 0x5d
mov dword [esp + 0x40], eax
lea edx, [ecx - 0x26]
mov dword [esp + 0x44], edx
mov eax, esi
cdq
sub eax, edx
add ecx, 0xfffffff4
sar eax, 1
push 0x19d
sub eax, 7
mov dword [esp + 0x50], ecx
push edi
lea ecx, [esp + 0x48]
mov dword [esp + 0x50], eax
mov eax, dword [edi + 0x3b8]
mov edx, dword [eax + 0x168]
push ecx
push 0x50000000
lea ecx, [edi + 0x3b8]
call edx
push 5
lea ecx, [edi + 0x3b8]
call dword [sym.imp.mfc100.dll_Ordinal_12962]
mov eax, dword [edi + 0x3d8]
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
lea ecx, [edi + 0x440]
lea esi, [ebx + 0x1c]
mov eax, str..._binimg_submit_cancel.png
call fcn.00402c40
mov ecx, dword [edi + 0x3d8]
push 1
push ebx
push ecx
call dword [sym.imp.USER32.dll_InvalidateRect]
push 0x41e904
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc100.dll_Ordinal_310]
push str...iniprovince.ini
push 0x400
push 0x400
lea ecx, [esp + 0x24]
mov dword [esp + 0x8c], ebx
call dword [sym.imp.mfc100.dll_Ordinal_4498]
push eax
push 0x41e904
push str.data
push 0x41ed38
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0xffffffffffffffff
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc100.dll_Ordinal_11439]
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc100.dll_Ordinal_869]
push 0x2c
lea edx, [esp + 0x20]
push edx
push ecx
mov byte [esp + 0x8c], 1
lea eax, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
call dword [sym.imp.mfc100.dll_Ordinal_300]
call fcn.004090d0
mov eax, dword [esp + 0x30]
add esp, 0xc
xor esi, esi
cmp eax, ebx
jle 0x404490
lea esp, [esp]
cmp esi, ebx
jl 0x4044e5
cmp esi, eax
jge 0x4044e5
mov ecx, dword [esp + 0x20]
lea ecx, [ecx + esi*4]
push 0x41e904
call dword [sym.imp.mfc100.dll_Ordinal_2611]
test eax, eax
je 0x404487
cmp esi, dword [esp + 0x24]
jge 0x4044e5
mov edx, dword [esp + 0x20]
mov eax, dword [edx + esi*4]
push eax
mov eax, dword [edi + 0x170]
push ebx
push 0x143
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [esp + 0x24]
inc esi
cmp esi, eax
jl 0x404440
push 0x41ecdc
lea ecx, [edi + 0x150]
call dword [sym.imp.mfc100.dll_Ordinal_12868]
mov ecx, dword [edi + 0x1e4]
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push 0x41ed40
push ebx
push 0x143
push ecx
call esi
push 4
call dword [sym.imp.mfc100.dll_Ordinal_1294]
add esp, 4
mov dword [esp + 0x14], eax
mov byte [esp + 0x80], 2
cmp eax, ebx
je 0x4044eb
push str.baidu
mov ecx, eax
call dword [sym.imp.mfc100.dll_Ordinal_310]
jmp 0x4044ed
call dword [sym.imp.mfc100.dll_Ordinal_2061]
xor eax, eax
push eax
push ebx
mov byte [esp + 0x88], 1
mov edx, dword [edi + 0x1e4]
push 0x151
push edx
call esi
mov eax, dword [edi + 0x1e4]
push 0x41ed50
push ebx
push 0x143
push eax
call esi
push 4
call dword [sym.imp.mfc100.dll_Ordinal_1294]
add esp, 4
mov dword [esp + 0x14], eax
mov byte [esp + 0x80], 3
cmp eax, ebx
je 0x404543
push str.sina
mov ecx, eax
call dword [sym.imp.mfc100.dll_Ordinal_310]
jmp 0x404545
xor eax, eax
push eax
push 1
mov byte [esp + 0x88], 1
mov ecx, dword [edi + 0x1e4]
push 0x151
push ecx
call esi
mov edx, dword [edi + 0x1e4]
push ebx
push ebx
push 0x14e
push edx
call esi
mov ecx, dword [esp + 0x38]
sub ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x3c]
sub eax, dword [esp + 0x34]
dec ecx
lea edx, [eax - 0x38]
push 0xcb5
mov dword [esp + 0x4c], ecx
add eax, 0xffffffce
push edi
lea ecx, [esp + 0x48]
mov dword [esp + 0x54], eax
mov eax, dword [edi + 0x47c]
push ecx
mov dword [esp + 0x50], edx
mov edx, dword [eax + 0x168]
push 0x50000000
lea ecx, [edi + 0x47c]
mov dword [edi + 0x478], ebx
mov dword [esp + 0x50], ebx
call edx
push 5
lea ecx, [edi + 0x47c]
call dword [sym.imp.mfc100.dll_Ordinal_12962]
mov ecx, dword [edi + 0x49c]
lea eax, [esp + 0x40]
push eax
push ecx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
call dword [sym.imp.USER32.dll_GetClientRect]
fld dword [0x421840]
mov edx, dword [esp + 0x48]
fstp dword [edi + 0x4f0]
fld dword [0x42183c]
sub edx, dword [esp + 0x40]
fstp dword [edi + 0x4f4]
mov esi, dword [sym.imp.USER32.dll_InvalidateRect]
fld dword [0x421838]
mov dword [esp + 0x14], edx
fstp dword [edi + 0x4f8]
push 1
fild dword [esp + 0x18]
push ebx
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fld st(0)
fdivr qword [0x421830]
fstp dword [edi + 0x4fc]
fld st(0)
fdivr qword [0x421828]
fstp dword [edi + 0x500]
fld st(0)
fdivr qword [0x421820]
fstp dword [edi + 0x504]
fidiv dword [edi + 0x50c]
fstp dword [edi + 0x508]
mov eax, dword [edi + 0x49c]
push eax
mov dword [edi + 0x510], ebx
call esi
mov ecx, dword [edi + 0x20]
push 4
push 0x190
push ecx
call dword [sym.imp.USER32.dll_AnimateWindow]
mov eax, dword [edi + 0x20]
push 1
lea edx, [esp + 0x64]
push edx
push eax
mov dword [esp + 0x6c], 0xc8
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], 0x2bc
mov dword [esp + 0x78], 0x64
call esi
lea ecx, [esp + 0x1c]
mov byte [esp + 0x80], bl
call dword [sym.imp.mfc100.dll_Ordinal_1267]
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc100.dll_Ordinal_901]
mov eax, 1
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.00414976
mov esp, ebp
pop ebp
ret