Function at 0x42a8a0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x93c
mov eax, dword [0x4792c4]
push ebx
push esi
push edi
mov dword [esp + 0x944], eax
mov ebx, ecx
xor eax, eax
xor esi, esi
mov word [esp + 0x338], si
mov ecx, 0x81
lea edi, [esp + 0x33a]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esp + 0x338]
push 0x104
push eax
call dword [sym.imp.ServiceCore.dll_public:_static_bool___cdecl_CWHService::GetWorkDirectory_wchar_t__const__unsigned_short_int_]
mov word [esp + 0x138], si
xor eax, eax
mov ecx, 0x81
lea edi, [esp + 0x13a]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x340]
push ecx
push str._sCollocateCollocate.INI
lea edx, [esp + 0x140]
push 0x104
push edx
stosw word es:[edi], ax
call dword [sym.imp.MSVCR71.dll__snwprintf]
xor eax, eax
mov word [esp + 0x558], si
mov ecx, 0xff
lea edi, [esp + 0x55a]
rep stosd dword es:[edi], eax
add esp, 0x18
stosw word es:[edi], ax
lea eax, [esp + 0x130]
push eax
push 0x200
lea ecx, [esp + 0x548]
push ecx
push 0x45d204
push str.AssistantName
push 0x465ca8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
cmp word [esp + 0x540], si
je 0x42aad4
push 0xffff0002
xor edi, edi
push edi
push edi
push 0x10
push 0x10
push 0xb
push 0xb
lea edx, [esp + 0x55c]
push edx
push 0x2f
mov ecx, ebx
mov esi, 1
call sub.MFC71U.DLL_CTabCtrl::InsertItem
mov dword [ebx + 0x64], eax
xor eax, eax
mov dword [esp + 0x12], eax
mov dword [esp + 0x16], eax
mov dword [esp + 0x1a], eax
mov dword [esp + 0x1e], eax
push esi
mov dword [esp + 0x26], eax
push str.Assistant_ld
mov dword [esp + 0x2e], eax
lea ecx, [esp + 0x18]
mov dword [esp + 0x32], eax
push 0x10
push ecx
mov word [esp + 0x20], di
mov word [esp + 0x3e], ax
call dword [sym.imp.MSVCR71.dll__snwprintf]
mov word [esp + 0x40], di
xor eax, eax
add esp, 0x10
mov ecx, 0x3f
lea edi, [esp + 0x32]
rep stosd dword es:[edi], eax
lea edx, [esp + 0x130]
push edx
push 0x80
stosw word es:[edi], ax
lea eax, [esp + 0x38]
push eax
push 0x45d204
push str.AssistantName
lea ecx, [esp + 0x24]
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor edi, edi
cmp word [esp + 0x30], di
je 0x42aac9
jmp 0x42aa30
xor edi, edi
nop
mov edx, dword [ebx + 0x64]
push edx
push esi
push 0xa
lea eax, [esp + 0x3c]
push eax
mov ecx, ebx
call fcn.00429d80
xor ecx, ecx
mov dword [esp + 0x12], ecx
mov dword [esp + 0x16], ecx
mov dword [esp + 0x1a], ecx
mov dword [esp + 0x1e], ecx
inc esi
push esi
mov dword [esp + 0x26], ecx
push str.Assistant_ld
mov dword [esp + 0x2e], ecx
lea edx, [esp + 0x18]
mov dword [esp + 0x32], ecx
push 0x10
push edx
mov word [esp + 0x20], di
mov word [esp + 0x3e], cx
call dword [sym.imp.MSVCR71.dll__snwprintf]
mov word [esp + 0x40], di
xor eax, eax
mov ecx, 0x3f
lea edi, [esp + 0x42]
rep stosd dword es:[edi], eax
add esp, 0x10
stosw word es:[edi], ax
lea eax, [esp + 0x130]
push eax
push 0x80
lea ecx, [esp + 0x38]
push ecx
push 0x45d204
push str.AssistantName
lea edx, [esp + 0x24]
push edx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
cmp word [esp + 0x30], 0
jne 0x42aa2d
mov eax, dword [ebx + 0x64]
push eax
mov ecx, ebx
call fcn.00429770
mov ecx, dword [esp + 0x944]
call fcn.0044370d
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret