Function at 0x402940
Capabilities:
Read .ini file

Disassembly:
push 0xffffffffffffffff
push 0x40e744
mov eax, dword fs:[0]
push eax
sub esp, 0x800
mov eax, dword [0x415284]
xor eax, esp
mov dword [esp + 0x7fc], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x415284]
xor eax, esp
push eax
lea eax, [esp + 0x814]
mov dword fs:[0], eax
mov esi, ecx
push 0x4106ee
lea ecx, [esp + 0x34]
mov dword [esp + 0x38], esi
call dword [sym.imp.MFC80.DLL_Ordinal_304]
xor edi, edi
push 0x4106ee
lea ecx, [esp + 0x28]
mov dword [esp + 0x820], edi
call dword [sym.imp.MFC80.DLL_Ordinal_304]
push 0x4106ee
lea ecx, [esp + 0x2c]
mov byte [esp + 0x820], 1
call dword [sym.imp.MFC80.DLL_Ordinal_304]
push str.Text_Document
lea ecx, [esp + 0x3c]
mov byte [esp + 0x820], 2
call dword [sym.imp.MFC80.DLL_Ordinal_304]
push 0x4106ee
lea ecx, [esp + 0x24]
mov byte [esp + 0x820], 3
call dword [sym.imp.MFC80.DLL_Ordinal_304]
push 0x4106ee
lea ecx, [esp + 0x18]
mov byte [esp + 0x820], 4
call dword [sym.imp.MFC80.DLL_Ordinal_304]
lea eax, [esi + 0x34c]
push eax
lea ecx, [esp + 0x30]
mov byte [esp + 0x820], 5
call dword [sym.imp.MFC80.DLL_Ordinal_304]
push str.TMWCrashReport.ini
lea ecx, [esp + 0x30]
mov byte [esp + 0x820], 6
call dword [sym.imp.MFC80.DLL_Ordinal_911]
mov ebp, dword [sym.imp.MFC80.DLL_Ordinal_2322]
mov dword [esp + 0x1c], edi
mov edi, 1
mov bl, 7
jmp 0x402a50
push 0x4106ee
lea ecx, [esp + 0x28]
mov byte [esp + 0x44], 0
call dword [sym.imp.MFC80.DLL_Ordinal_784]
push 0x4106ee
lea ecx, [esp + 0x2c]
call dword [sym.imp.MFC80.DLL_Ordinal_784]
push 0x4106ee
lea ecx, [esp + 0x24]
call dword [sym.imp.MFC80.DLL_Ordinal_784]
push edi
lea eax, [esp + 0x34]
push str.Registry_03d
push eax
call ebp
add esp, 0xc
lea ecx, [esp + 0x2c]
call dword [sym.imp.MFC80.DLL_Ordinal_876]
push eax
push 0x7c6
lea ecx, [esp + 0x48]
push ecx
push 0x4106ee
lea ecx, [esp + 0x40]
call dword [sym.imp.MFC80.DLL_Ordinal_876]
push eax
push str.RegistryToAdd
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp byte [esp + 0x40], 0
je 0x402c78
lea edx, [esp + 0x40]
push 0x410e70
push edx
call dword [sym.imp.MSVCR80.dll__mbstok]
add esp, 8
test eax, eax
je 0x402c78
push eax
lea ecx, [esp + 0x28]
call dword [sym.imp.MFC80.DLL_Ordinal_784]
lea ecx, [esp + 0x24]
call dword [sym.imp.MFC80.DLL_Ordinal_3934]
test al, al
jne 0x402c69
push 0x410e70
push 0
call dword [sym.imp.MSVCR80.dll__mbstok]
add esp, 8
test eax, eax
je 0x402c78
push eax
lea ecx, [esp + 0x2c]
call dword [sym.imp.MFC80.DLL_Ordinal_784]
push 0x4106ee
lea ecx, [esp + 0x1c]
call dword [sym.imp.MFC80.DLL_Ordinal_304]
push edi
lea eax, [esp + 0x1c]
push str.Registry_03d
push eax
mov byte [esp + 0x828], bl
call ebp
mov ecx, dword [esp + 0x24]
push ecx
lea eax, [esi + 0x34c]
push eax
lea edx, [esp + 0x28]
push str._s_s.txt
push edx
call ebp
add esp, 0x1c
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC80.DLL_Ordinal_876]
push eax
lea ecx, [esp + 0x28]
call dword [sym.imp.MFC80.DLL_Ordinal_876]
push eax
call fcn.00404a00
add esp, 8
test al, al
jne 0x402b9f
lea ecx, [esp + 0x18]
mov byte [esp + 0x81c], 6
call dword [sym.imp.MFC80.DLL_Ordinal_578]
jmp 0x402c69
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x18]
call dword [sym.imp.MFC80.DLL_Ordinal_876]
push eax
call fcn.004038c0
add esp, 8
test eax, eax
jne 0x402bd2
lea ecx, [esp + 0x18]
mov byte [esp + 0x81c], 6
call dword [sym.imp.MFC80.DLL_Ordinal_578]
jmp 0x402c69
push 0x14
call sub.MFC80.DLL_Ordinal_762
add esp, 4
mov dword [esp + 0x3c], eax
test eax, eax
mov byte [esp + 0x81c], 8
je 0x402bf7
mov ecx, eax
call fcn.00401ea0
mov esi, eax
jmp 0x402bf9
xor esi, esi
lea ecx, [esp + 0x14]
push ecx
mov ecx, esi
mov byte [esp + 0x820], bl
call dword [sym.imp.MFC80.DLL_Ordinal_781]
lea edx, [esp + 0x28]
push edx
lea ecx, [esi + 4]
call dword [sym.imp.MFC80.DLL_Ordinal_781]
lea eax, [esp + 0x38]
push eax
lea ecx, [esi + 0xc]
call dword [sym.imp.MFC80.DLL_Ordinal_781]
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esi + 8]
call dword [sym.imp.MFC80.DLL_Ordinal_781]
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx + 0x55c]
add ecx, 0x554
push esi
push eax
call sub.MFC80.DLL_Ordinal_5712
add dword [esp + 0x1c], 1
lea ecx, [esp + 0x18]
mov byte [esp + 0x81c], 6
call dword [sym.imp.MFC80.DLL_Ordinal_578]
mov esi, dword [esp + 0x34]
add edi, 1
cmp edi, 0x3e7
jle 0x402a50
cmp dword [esp + 0x1c], 0
jne 0x402dc8
push str.HKCUSoftwareCodeProjectTMWCrashReportTest
lea ecx, [esp + 0x1c]
call dword [sym.imp.MFC80.DLL_Ordinal_304]
lea ecx, [esp + 0x18]
mov byte [esp + 0x81c], 9
call dword [sym.imp.MFC80.DLL_Ordinal_3934]
test al, al
jne 0x402dbe
push str.REGISTRY.TXT
lea ecx, [esp + 0x20]
call dword [sym.imp.MFC80.DLL_Ordinal_304]
mov bl, 0xa
lea ecx, [esp + 0x1c]
mov byte [esp + 0x81c], bl
call dword [sym.imp.MFC80.DLL_Ordinal_3934]
test al, al
jne 0x402db4
lea eax, [esi + 0x34c]
push eax
lea ecx, [esp + 0x18]
call dword [sym.imp.MFC80.DLL_Ordinal_784]
lea edx, [esp + 0x1c]
push edx
lea ecx, [esp + 0x18]
call dword [sym.imp.MFC80.DLL_Ordinal_907]
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC80.DLL_Ordinal_876]
push eax
lea ecx, [esp + 0x1c]
call dword [sym.imp.MFC80.DLL_Ordinal_876]
push eax
call fcn.00404a00
add esp, 8
test al, al
je 0x402db4
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x18]
call dword [sym.imp.MFC80.DLL_Ordinal_876]
push eax
call fcn.004038c0
add esp, 8
test eax, eax
je 0x402db4
push 0x14
call sub.MFC80.DLL_Ordinal_762
add esp, 4
mov dword [esp + 0x3c], eax
test eax, eax
mov byte [esp + 0x81c], 0xb
je 0x402d5d
mov ecx, eax
call fcn.00401ea0
mov esi, eax
jmp 0x402d5f
xor esi, esi
lea ecx, [esp + 0x14]
push ecx
mov ecx, esi
mov byte [esp + 0x820], bl
call dword [sym.imp.MFC80.DLL_Ordinal_781]
push str.Registry_File
lea ecx, [esi + 4]
call dword [sym.imp.MFC80.DLL_Ordinal_784]
lea edx, [esp + 0x38]
push edx
lea ecx, [esi + 0xc]
call dword [sym.imp.MFC80.DLL_Ordinal_781]
lea eax, [esp + 0x20]
push eax
lea ecx, [esi + 8]
call dword [sym.imp.MFC80.DLL_Ordinal_781]
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x55c]
add ecx, 0x554
push esi
push edx
call sub.MFC80.DLL_Ordinal_5712
lea ecx, [esp + 0x1c]
call dword [sym.imp.MFC80.DLL_Ordinal_578]
lea ecx, [esp + 0x18]
call dword [sym.imp.MFC80.DLL_Ordinal_578]
lea ecx, [esp + 0x2c]
call dword [sym.imp.MFC80.DLL_Ordinal_578]
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC80.DLL_Ordinal_578]
lea ecx, [esp + 0x20]
call dword [sym.imp.MFC80.DLL_Ordinal_578]
lea ecx, [esp + 0x38]
call dword [sym.imp.MFC80.DLL_Ordinal_578]
lea ecx, [esp + 0x28]
call dword [sym.imp.MFC80.DLL_Ordinal_578]
lea ecx, [esp + 0x24]
call dword [sym.imp.MFC80.DLL_Ordinal_578]
lea ecx, [esp + 0x30]
call dword [sym.imp.MFC80.DLL_Ordinal_578]
mov ecx, dword [esp + 0x814]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x7fc]
xor ecx, esp
call fcn.0040d786
add esp, 0x80c
ret