Function at 0x402a70
Capabilities:
Read .ini file

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x445b57
push eax
mov dword fs:[0], esp
sub esp, 0x118
push ebp
push esi
mov esi, ecx
xor ebp, ebp
cmp dword [esi + 8], ebp
je 0x402ab2
pop esi
mov eax, 1
pop ebp
mov ecx, dword [esp + 0x118]
mov dword fs:[0], ecx
add esp, 0x124
ret
lea eax, [esp + 0x1c]
push 0x104
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString_1
push 0x5c
lea ecx, [esp + 0x10]
mov dword [esp + 0x12c], ebp
call sub.MFC42.DLL_CString::ReverseFind
inc eax
lea edx, [esp + 0x18]
push eax
push edx
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::Left
push str.config.ini
push eax
lea eax, [esp + 0x10]
mov byte [esp + 0x130], 1
push eax
call sub.MFC42.DLL_operator_1
lea ecx, [esp + 0x18]
mov byte [esp + 0x128], 3
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 8]
push ecx
push ebp
push str.FontCount
push str.FontNameMapping
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
cmp eax, ebp
mov dword [esi + 4], eax
jne 0x402b77
lea ecx, [esp + 8]
mov byte [esp + 0x128], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0xc]
mov dword [esp + 0x128], 0xffffffff
call sub.MFC42.DLL_CString::CString
pop esi
xor eax, eax
pop ebp
mov ecx, dword [esp + 0x118]
mov dword fs:[0], ecx
add esp, 0x124
ret
mov edx, dword [esp + 8]
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push edx
lea eax, [esi + 0x10]
push 0x20
push eax
push str.Arial
push str.DefaultFontName
push str.FontNameMapping
call ebx
mov ecx, dword [esi + 4]
shl ecx, 5
push ecx
call sub.MFC42.DLL_operatornew
mov edx, dword [esi + 4]
mov dword [esi + 8], eax
shl edx, 5
push edx
call sub.MFC42.DLL_operatornew
mov dword [esi + 0xc], eax
mov eax, dword [esi + 4]
add esp, 8
cmp eax, ebp
jle 0x402c84
push edi
mov edi, 1
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x18]
mov byte [esp + 0x130], 4
call sub.MFC42.DLL_CString::CString_2
push edi
lea eax, [esp + 0x20]
push str.PdfFontName_d
push eax
mov byte [esp + 0x13c], 5
call sub.MFC42.DLL_CString::Format
push edi
lea ecx, [esp + 0x28]
push str.OsFontName_d
push ecx
call sub.MFC42.DLL_CString::Format
mov edx, dword [esp + 0x28]
mov ecx, dword [esi + 8]
add esp, 0x18
mov eax, ebp
add eax, ecx
mov ecx, dword [esp + 0x1c]
push edx
push 0x20
push eax
push str.Default
push ecx
push str.FontNameMapping
call ebx
mov edx, dword [esp + 0x10]
mov eax, dword [esi + 0xc]
mov ecx, dword [esp + 0x18]
push edx
add eax, ebp
push 0x20
push eax
push str.Default
push ecx
push str.FontNameMapping
call ebx
lea ecx, [esp + 0x18]
mov byte [esp + 0x130], 4
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0x130], 3
call sub.MFC42.DLL_CString::CString
mov eax, dword [esi + 4]
inc edi
add ebp, 0x20
lea edx, [edi - 1]
cmp edx, eax
jl 0x402bcc
pop edi
lea ecx, [esp + 0xc]
mov byte [esp + 0x12c], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov dword [esp + 0x12c], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x124]
pop ebx
pop esi
mov eax, 1
pop ebp
mov dword fs:[0], ecx
add esp, 0x124
ret