Function at 0x46e720
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x49fbc7
mov eax, dword fs:[0]
push eax
sub esp, 0x9c
mov eax, dword [0x4e2e58]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x64], ecx
mov ecx, dword [ebp - 0x64]
call sub.mfc120.dll_Ordinal_10302
lea ecx, [ebp - 0x7c]
call dword [sym.imp.mfc120.dll_Ordinal_316]
mov dword [ebp - 4], 0
lea eax, [ebp - 0x7c]
push eax
call dword [sym.imp.EleSet.dll_void___cdecl_GetINIFileName_class_ATL::CStringT_char__class_StrTraitMFC_DLL_char__class_ATL::ChTraitsCRT_char_____]
add esp, 4
mov ecx, dword [ebp - 0x64]
add ecx, 0x10c
call dword [sym.imp.pblcdlg.dll_public:_void___thiscall_CEditMetric::CreateSpin_void_]
mov ecx, dword [ebp - 0x64]
add ecx, 0x290
call dword [sym.imp.pblcdlg.dll_public:_void___thiscall_CEditMetric::CreateSpin_void_]
push 0x190
call sub.mfc120.dll_Ordinal_265
add esp, 4
mov dword [ebp - 0x9c], eax
mov ecx, dword [ebp - 0x9c]
mov dword [ebp - 0x6c], ecx
push 0x80
lea ecx, [ebp - 0x7c]
call dword [sym.imp.mfc120.dll_Ordinal_5005]
push eax
push 0x190
mov edx, dword [ebp - 0x6c]
push edx
push 0x4b2054
push 0
push 0x4b2060
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0xa8], eax
push 0x4b206c
mov eax, dword [ebp - 0x6c]
push eax
call sub.MSVCR120.dll_strcmp
add esp, 8
test eax, eax
jne 0x46e82f
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0xa0], ecx
mov edx, dword [ebp - 0xa0]
push edx
call sub.mfc120.dll_Ordinal_266
add esp, 4
mov dword [ebp - 0x94], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7c]
call dword [sym.imp.mfc120.dll_Ordinal_1041]
mov eax, dword [ebp - 0x94]
jmp 0x46eb78
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x68], 0
mov ecx, 1
test ecx, ecx
je 0x46e8ca
mov edx, dword [ebp - 0x74]
movsx eax, byte [edx]
test eax, eax
je 0x46e873
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x74]
mov al, byte [edx]
mov byte [ebp + ecx - 0x60], al
mov ecx, dword [ebp - 0x68]
add ecx, 1
mov dword [ebp - 0x68], ecx
mov edx, dword [ebp - 0x74]
add edx, 1
mov dword [ebp - 0x74], edx
jmp 0x46e8c5
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0x50
jae 0x46e887
jmp 0x46e88c
call fcn.00498f50
mov ecx, dword [ebp - 0x88]
mov byte [ebp + ecx - 0x60], 0
lea edx, [ebp - 0x60]
push edx
mov ecx, dword [ebp - 0x64]
add ecx, 0x98
call fcn.004366a0
mov dword [ebp - 0x68], 0
mov eax, dword [ebp - 0x74]
add eax, 1
mov dword [ebp - 0x74], eax
mov ecx, dword [ebp - 0x74]
movsx edx, byte [ecx]
test edx, edx
jne 0x46e8c5
jmp 0x46e8ca
jmp 0x46e83c
mov ecx, dword [ebp - 0x64]
add ecx, 0x98
call fcn.00440520
mov dword [ebp - 0x8c], eax
xor ecx, ecx
mov eax, dword [ebp - 0x8c]
mov edx, 8
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call sub.mfc120.dll_Ordinal_265
add esp, 4
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 0
je 0x46e928
push fcn.0043aef0
mov eax, dword [ebp - 0x8c]
push eax
push 8
mov ecx, dword [ebp - 0x80]
push ecx
call fcn.0042b670
mov edx, dword [ebp - 0x80]
mov dword [ebp - 0x90], edx
jmp 0x46e932
mov dword [ebp - 0x90], 0
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x90]
mov dword [eax + 0x42c], ecx
mov dword [ebp - 0x68], 0
jmp 0x46e953
mov edx, dword [ebp - 0x68]
add edx, 1
mov dword [ebp - 0x68], edx
mov ecx, dword [ebp - 0x64]
add ecx, 0x98
call fcn.00440520
cmp dword [ebp - 0x68], eax
jge 0x46eac9
lea eax, [ebp - 0x60]
push eax
mov ecx, dword [ebp - 0x68]
push ecx
mov ecx, dword [ebp - 0x64]
add ecx, 0x98
call fcn.0046fbc0
push 0x80
lea ecx, [ebp - 0x7c]
call dword [sym.imp.mfc120.dll_Ordinal_5005]
push eax
push 0x190
mov edx, dword [ebp - 0x6c]
push edx
push str.NOT_FOUND
lea eax, [ebp - 0x60]
push eax
push str.Paper_Size
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x70], 0
mov ecx, dword [ebp - 0x64]
mov edx, dword [ecx + 0x42c]
mov eax, dword [ebp - 0x68]
mov dword [edx + eax*8], 0
mov dword [ebp - 0x78], 0
mov ecx, 1
test ecx, ecx
je 0x46ea3a
mov edx, dword [ebp - 0x6c]
add edx, dword [ebp - 0x70]
movsx eax, byte [edx]
cmp eax, 0x30
jl 0x46ea27
mov ecx, dword [ebp - 0x6c]
add ecx, dword [ebp - 0x70]
movsx edx, byte [ecx]
cmp edx, 0x39
jg 0x46ea27
mov dword [ebp - 0x78], 1
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax + 0x42c]
mov edx, dword [ebp - 0x68]
imul eax, dword [ecx + edx*8], 0xa
mov ecx, dword [ebp - 0x6c]
add ecx, dword [ebp - 0x70]
movsx edx, byte [ecx]
lea eax, [eax + edx - 0x30]
mov ecx, dword [ebp - 0x64]
mov edx, dword [ecx + 0x42c]
mov ecx, dword [ebp - 0x68]
mov dword [edx + ecx*8], eax
jmp 0x46ea2f
cmp dword [ebp - 0x78], 1
jne 0x46ea2f
jmp 0x46ea3a
mov edx, dword [ebp - 0x70]
add edx, 1
mov dword [ebp - 0x70], edx
jmp 0x46e9cd
mov dword [ebp - 0x78], 0
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax + 0x42c]
mov edx, dword [ebp - 0x68]
mov dword [ecx + edx*8 + 4], 0
mov eax, 1
test eax, eax
je 0x46eac4
mov ecx, dword [ebp - 0x6c]
add ecx, dword [ebp - 0x70]
movsx edx, byte [ecx]
cmp edx, 0x30
jl 0x46eab1
mov eax, dword [ebp - 0x6c]
add eax, dword [ebp - 0x70]
movsx ecx, byte [eax]
cmp ecx, 0x39
jg 0x46eab1
mov dword [ebp - 0x78], 1
mov edx, dword [ebp - 0x64]
mov eax, dword [edx + 0x42c]
mov ecx, dword [ebp - 0x68]
imul edx, dword [eax + ecx*8 + 4], 0xa
mov eax, dword [ebp - 0x6c]
add eax, dword [ebp - 0x70]
movsx ecx, byte [eax]
lea edx, [edx + ecx - 0x30]
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax + 0x42c]
mov eax, dword [ebp - 0x68]
mov dword [ecx + eax*8 + 4], edx
jmp 0x46eab9
cmp dword [ebp - 0x78], 1
jne 0x46eab9
jmp 0x46eac4
mov ecx, dword [ebp - 0x70]
add ecx, 1
mov dword [ebp - 0x70], ecx
jmp 0x46ea55
jmp 0x46e94a
mov edx, dword [ebp - 0x6c]
mov dword [ebp - 0xa4], edx
mov eax, dword [ebp - 0xa4]
push eax
call sub.mfc120.dll_Ordinal_266
add esp, 4
lea ecx, [ebp - 0x84]
call dword [sym.imp.mfc120.dll_Ordinal_316]
mov byte [ebp - 4], 1
push 0x99e9
lea ecx, [ebp - 0x84]
call dword [sym.imp.mfc120.dll_Ordinal_8308]
push 0x80
lea ecx, [ebp - 0x84]
call dword [sym.imp.mfc120.dll_Ordinal_5005]
push eax
push 0
mov ecx, dword [ebp - 0x64]
add ecx, 0x98
call fcn.0046fc50
push 0
mov ecx, dword [ebp - 0x64]
add ecx, 0x98
call fcn.00436700
push 0x3fa
mov ecx, dword [ebp - 0x64]
call sub.mfc120.dll_Ordinal_5306
mov ecx, eax
call sub.mfc120.dll_Ordinal_13335
mov dword [ebp - 0x98], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x84]
call dword [sym.imp.mfc120.dll_Ordinal_1041]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7c]
call dword [sym.imp.mfc120.dll_Ordinal_1041]
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00499036
mov esp, ebp
pop ebp
ret