Function at 0x407c80
Capabilities:
Read .ini file

Disassembly:
push 0xffffffffffffffff
push 0x40baf8
mov eax, dword fs:[0]
push eax
sub esp, 0x97c
mov eax, dword [0x413028]
xor eax, esp
mov dword [esp + 0x978], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x413028]
xor eax, esp
push eax
lea eax, [esp + 0x990]
mov dword fs:[0], eax
xor eax, eax
push 0x206
mov edi, ecx
push eax
lea ecx, [esp + 0x586]
mov esi, edx
push ecx
mov dword [esp + 0x3c], esi
mov word [esp + 0x588], ax
call sub.MSVCR90.dll_memset
add esp, 0xc
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x37e]
push eax
mov word [esp + 0x380], dx
call sub.MSVCR90.dll_memset
add esp, 0xc
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x78e]
push edx
mov word [esp + 0x790], cx
call sub.MSVCR90.dll_memset
xor eax, eax
add esp, 0xc
lea ecx, [esp + 0x14]
mov word [esp + 0x40], ax
mov dword [esp + 0x42], eax
mov dword [esp + 0x46], eax
mov dword [esp + 0x4a], eax
mov dword [esp + 0x4e], eax
mov word [esp + 0x52], ax
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_class]
xor ecx, ecx
push 0xc6
push ecx
lea edx, [esp + 0x1ee]
mov dword [esp + 0x9a0], 0
push edx
mov word [esp + 0x1f0], cx
call sub.MSVCR90.dll_memset
add esp, 0xc
xor eax, eax
push 0xc6
push eax
lea ecx, [esp + 0x2b6]
push ecx
mov word [esp + 0x2b8], ax
call sub.MSVCR90.dll_memset
add esp, 0xc
xor edx, edx
push 0xc6
push edx
lea eax, [esp + 0x5e]
push eax
mov word [esp + 0x60], dx
call sub.MSVCR90.dll_memset
add esp, 0xc
xor ecx, ecx
push 0xc6
push ecx
lea edx, [esp + 0x126]
push edx
mov word [esp + 0x128], cx
call sub.MSVCR90.dll_memset
add esp, 0xc
lea ecx, [esp + 0x1c]
mov dword [esp + 0x20], 0
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_class]
push esi
push str._sMalupd.bin
lea edx, [esp + 0x584]
mov byte [esp + 0x9a0], 1
call fcn.0040aa70
add esp, 8
lea eax, [esp + 0x57c]
push eax
push 0
push str.Files
push str.Version
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov ecx, dword [edi + 0x124]
mov esi, eax
push esi
push 0
push 0x406
push ecx
mov dword [esp + 0x38], esi
call dword [sym.imp.USER32.dll_SendMessageW]
mov ebx, 1
cmp esi, ebx
mov dword [esp + 0x18], ebx
jl 0x408035
push ebx
push str.DB_d
lea edx, [esp + 0x5c]
call fcn.0040aa90
add esp, 8
lea edx, [esp + 0x57c]
push edx
push 0x104
lea eax, [esp + 0x37c]
push eax
push 0x40ee0c
lea ecx, [esp + 0x64]
push ecx
push str.Files
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
cmp word [esp + 0x374], 0
je 0x40800e
mov esi, dword [sym.imp.MSVCR90.dll_wcstok_s]
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x378]
push 0x40f28c
push eax
call esi
add esp, 0xc
test eax, eax
je 0x40800e
push eax
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator]
lea ecx, [esp + 0x20]
push ecx
push 0x40f28c
push 0
call esi
add esp, 0xc
test eax, eax
je 0x40800e
mov ebp, dword [sym.imp.MSVCR90.dll_wcscpy_s]
push eax
lea edx, [esp + 0x2b0]
push 0x64
push edx
call ebp
add esp, 0xc
lea eax, [esp + 0x20]
push eax
push 0x40f28c
push 0
call esi
add esp, 0xc
test eax, eax
je 0x40800e
push eax
lea ecx, [esp + 0x120]
push 0x64
push ecx
call ebp
add esp, 0xc
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::MakeUpper]
lea edx, [edi + 0x400]
push edx
push 0x40f290
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Replace]
mov esi, dword [esp + 0x14]
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x120]
push 0x40f324
push ecx
call dword [sym.imp.MSVCR90.dll_swscanf_s]
add esp, 0xc
push esi
lea ecx, [esp + 0x38]
call fcn.00401410
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x30]
add esp, 4
cmp ecx, eax
je 0x40800e
sbb edx, edx
and edx, 2
add edx, 0xffffffff
je 0x40800e
mov eax, dword [esp + 0x14]
mov esi, dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
call esi
mov ecx, dword [esp + 0x30]
push eax
push ecx
push str._s_s.GZ
lea edx, [esp + 0x1f0]
call fcn.0040aa90
mov edx, dword [esp + 0x20]
add esp, 0xc
push edx
call esi
push eax
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator]
mov eax, dword [esp + 0x1c]
mov ebp, dword [edi + 0xa0]
mov ebx, dword [edi + 0x88]
lea ecx, [esp + 0x24]
lea esi, [edi + 0x88]
push ecx
lea edx, [esp + 0x3c]
push edx
mov dword [esp + 0x2c], eax
call fcn.0040a560
mov esi, eax
mov eax, dword [esi]
test eax, eax
je 0x407fee
cmp eax, ebx
je 0x407ff4
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp dword [esi + 4], ebp
jne 0x40800a
mov edx, dword [esp + 0x14]
push edi
lea ecx, [esp + 0x1e8]
call fcn.00408130
mov ebx, dword [esp + 0x18]
mov ecx, dword [edi + 0x124]
push 0
lea eax, [ebx - 1]
push eax
push 0x402
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
inc ebx
cmp ebx, dword [esp + 0x28]
mov dword [esp + 0x18], ebx
jle 0x407e43
lea esi, [edi + 0x608]
push esi
push str._sCCLM.ini
lea edx, [esp + 0x78c]
call fcn.0040aa70
add esp, 8
push esi
push 0xa
lea edx, [esp + 0x48]
push edx
push str.
push str.CCLM
push str.DATA
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
add edi, 0x400
push edi
push str._sZVSCANSUI.EXE
lea edx, [esp + 0x78c]
call fcn.0040aa70
add esp, 8
mov ecx, str.true
lea eax, [esp + 0x40]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4080b7
test dx, dx
je 0x4080b3
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4080b7
add eax, 4
add ecx, 4
test dx, dx
jne 0x408091
xor eax, eax
jmp 0x4080bc
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4080d1
push 0x40ee0c
lea ebx, [esp + 0x788]
call fcn.004098d0
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov eax, 1
mov ecx, dword [esp + 0x990]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x978]
xor ecx, esp
call fcn.0040b240
add esp, 0x988
ret