Function at 0x10087c33
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10099638
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x168
push edi
lea ecx, [ebp - 0x120]
call sub.MFC42.DLL_CString::CString
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x118]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 1
mov dword [ebp - 0x11c], 1
mov word [ebp - 0x114], 0
mov al, byte [0x100c42e0]
mov byte [ebp - 0x110], al
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x10f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
call sub.CRPE32.dll_Ordinal_6
test eax, eax
je 0x1008833d
mov ecx, dword [ebp + 0xc]
movsx edx, word [ecx]
test edx, edx
je 0x10087d1f
mov eax, dword [ebp + 0xc]
mov cx, word [eax]
push ecx
call sub.CRPE32.dll_Ordinal_19_1
mov dword [ebp - 0x124], eax
cmp dword [ebp - 0x124], 0
je 0x10087d13
push 4
push 0x6040
mov edx, dword [ebp + 8]
push edx
call sub.Ufxtwl.dll_Ordinal_57
add esp, 0xc
cmp eax, 7
jne 0x10087cf9
mov dword [ebp - 0x11c], 0
jmp 0x10087d11
mov eax, dword [ebp + 0xc]
mov cx, word [eax]
push ecx
call sub.CRPE32.dll_Ordinal_20_1
mov edx, dword [ebp + 0xc]
mov ax, word [edx]
push eax
call sub.CRPE32.dll_Ordinal_10
jmp 0x10087d1f
mov ecx, dword [ebp + 0xc]
mov dx, word [ecx]
push edx
call sub.CRPE32.dll_Ordinal_10
cmp dword [ebp - 0x11c], 0
je 0x10088316
mov ecx, dword [ebp + 8]
call sub.MFC42.DLL_CCmdTarget::BeginWaitCursor
push 0x104
lea ecx, [ebp - 0x120]
call sub.MFC42.DLL_CString::GetBuffer
mov dword [ebp - 0x12c], eax
push 5
push 0x104
mov eax, dword [ebp - 0x12c]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
call sub.Ufxtwl.dll_Ordinal_172
add esp, 0x10
mov edx, dword [ebp - 0x12c]
push edx
mov eax, dword [ebp + 0x10]
push eax
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
jne 0x10087d95
push 1
push 0x104
mov ecx, dword [ebp - 0x12c]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call sub.Ufxtwl.dll_Ordinal_172
add esp, 0x10
push 0x2e
mov eax, dword [ebp - 0x12c]
push eax
call dword [sym.imp.MSVCRT.dll_strrchr]
add esp, 8
test eax, eax
jne 0x10087dbf
push 0x100be3c8
mov ecx, dword [ebp - 0x12c]
push ecx
call sub.MSVCRT.dll_strcat
add esp, 8
mov edx, dword [ebp + 0xc]
mov ax, word [edx]
mov word [ebp - 0x128], ax
mov ecx, dword [ebp - 0x12c]
push ecx
call sub.CRPE32.dll_Ordinal_9
mov edx, dword [ebp + 0xc]
mov word [edx], ax
mov eax, dword [ebp + 0xc]
movsx ecx, word [eax]
test ecx, ecx
je 0x1008820c
push 0x100be3d0
mov edx, dword [ebp + 0xc]
mov ax, word [edx]
push eax
call sub.CRPE32.dll_Ordinal_1004
mov word [ebp - 0x114], ax
movsx ecx, word [ebp - 0x114]
test ecx, ecx
je 0x10087e3f
mov dx, word [ebp - 0x114]
push edx
call fcn.1008897c
add esp, 4
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0
je 0x10087e3f
cmp dword [ebp + 0x1c], 0
je 0x10087e3f
mov ax, word [ebp - 0x114]
push eax
call dword [ebp + 0x1c]
push 0x100be3d8
mov ecx, dword [ebp + 0xc]
mov dx, word [ecx]
push edx
call sub.CRPE32.dll_Ordinal_1004
mov word [ebp - 0x114], ax
movsx eax, word [ebp - 0x114]
test eax, eax
je 0x10087e92
mov cx, word [ebp - 0x114]
push ecx
call fcn.1008897c
add esp, 4
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0
je 0x10087e92
cmp dword [ebp + 0x1c], 0
je 0x10087e92
mov dx, word [ebp - 0x114]
push edx
call dword [ebp + 0x1c]
push 0x100be3e0
mov eax, dword [ebp + 0xc]
mov cx, word [eax]
push ecx
call sub.CRPE32.dll_Ordinal_1004
mov word [ebp - 0x114], ax
movsx edx, word [ebp - 0x114]
test edx, edx
je 0x10087ee5
mov ax, word [ebp - 0x114]
push eax
call fcn.1008897c
add esp, 4
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0
je 0x10087ee5
cmp dword [ebp + 0x1c], 0
je 0x10087ee5
mov cx, word [ebp - 0x114]
push ecx
call dword [ebp + 0x1c]
push 0x100be3e8
mov edx, dword [ebp + 0xc]
mov ax, word [edx]
push eax
call sub.CRPE32.dll_Ordinal_1004
mov word [ebp - 0x114], ax
movsx ecx, word [ebp - 0x114]
test ecx, ecx
je 0x10087f38
mov dx, word [ebp - 0x114]
push edx
call fcn.1008897c
add esp, 4
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0
je 0x10087f38
cmp dword [ebp + 0x1c], 0
je 0x10087f38
mov ax, word [ebp - 0x114]
push eax
call dword [ebp + 0x1c]
mov ecx, dword [ebp + 0xc]
mov dx, word [ecx]
push edx
call fcn.1008897c
add esp, 4
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0
je 0x1008820a
cmp dword [ebp + 0x1c], 0
je 0x10087f6a
mov eax, dword [ebp + 0xc]
mov cx, word [eax]
push ecx
call dword [ebp + 0x1c]
cmp dword [ebp + 0x14], 0
jne 0x10087f89
push 1
mov edx, dword [ebp + 0xc]
mov ax, word [edx]
push eax
call sub.CRPE32.dll_Ordinal_40
mov dword [ebp - 0x11c], eax
jmp 0x100881b3
cmp dword [ebp + 0x14], 3
jne 0x10087fc8
push 0
mov ecx, dword [ebp + 0xc]
mov dx, word [ecx]
push edx
call sub.CRPE32.dll_Ordinal_1007
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0
je 0x10087fc3
mov ax, word [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0xc]
mov dx, word [ecx]
push edx
call sub.CRPE32.dll_Ordinal_40
mov dword [ebp - 0x11c], eax
jmp 0x100881b3
mov word [ebp - 0x150], 0x20
mov word [ebp - 0x14e], 0
mov word [ebp - 0x14c], 0
mov word [ebp - 0x14a], 1
mov word [ebp - 0x148], 1
mov word [ebp - 0x142], 1
mov word [ebp - 0x140], 1
mov word [ebp - 0x13e], 1
mov word [ebp - 0x13c], 1
mov word [ebp - 0x138], 1
push 0x100be3f0
push 1
push str.PreviewPrintSetup
push 0x100be410
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov word [ebp - 0x13a], ax
push 0x100be418
push 1
push str.PreviewPrint
push 0x100be434
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov word [ebp - 0x146], ax
push 0x100be43c
push 1
push str.PreviewExport
push 0x100be458
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov word [ebp - 0x144], ax
cmp dword [ebp + 0x14], 2
jne 0x10088094
mov word [ebp - 0x146], 0
mov word [ebp - 0x144], 0
lea eax, [ebp - 0x150]
push eax
mov ecx, dword [ebp + 0xc]
mov dx, word [ecx]
push edx
call sub.CRPE32.dll_Ordinal_1133
push 0x100be460
push Ordinal_3
push str.PreviewLeft
push 0x100be478
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x160], eax
push 0x100be480
push Ordinal_3
push str.PreviewTop
push 0x100be498
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x15c], eax
push 0x100be4a0
push Ordinal_3
push str.PreviewWidth
push 0x100be4bc
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x158], eax
push 0x100be4c4
push Ordinal_3
push str.PreviewHeight
push 0x100be4e0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x130], eax
push 0x100be4e8
push 1
push str.PreviewMaximize
push 0x100be504
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
neg eax
sbb eax, eax
and eax, 0x1000000
mov dword [ebp - 0x154], eax
lea eax, [ebp - 0x120]
push eax
mov ecx, dword [ebp + 8]
call sub.MFC42.DLL_CWnd::GetWindowTextA
push 0
mov ecx, dword [ebp - 0x154]
or ecx, 0x100c0000
or ecx, 0x10000
or ecx, 0x20000
push ecx
mov edx, dword [ebp - 0x130]
push edx
mov eax, dword [ebp - 0x158]
push eax
mov ecx, dword [ebp - 0x15c]
push ecx
mov edx, dword [ebp - 0x160]
push edx
push 0
lea ecx, [ebp - 0x120]
call sub.MFC42.DLL_CString::GetBuffer
push eax
mov eax, dword [ebp + 0xc]
mov cx, word [eax]
push ecx
call sub.CRPE32.dll_Ordinal_17
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0
je 0x1008820a
push 1
mov edx, dword [ebp + 0xc]
mov ax, word [edx]
push eax
call sub.CRPE32.dll_Ordinal_11
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0
je 0x1008820a
push str.winfra.ini
push 1
push str.PreviewZoom
push str.Setup
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x164], eax
mov cx, word [ebp - 0x164]
push ecx
mov edx, dword [ebp + 0xc]
mov ax, word [edx]
push eax
call sub.CRPE32.dll_Ordinal_98
jmp 0x10088216
mov dword [ebp - 0x11c], 0
mov ecx, dword [ebp + 8]
call sub.MFC42.DLL_CCmdTarget::EndWaitCursor
cmp dword [ebp - 0x11c], 0
jne 0x10088316
mov ecx, dword [ebp + 0xc]
mov dx, word [ecx]
push edx
call sub.CRPE32.dll_Ordinal_35
mov word [ebp - 0x168], ax
movsx eax, word [ebp - 0x168]
test eax, eax
je 0x10088316
push 0x68a1
lea ecx, [ebp - 0x120]
push ecx
call sub.Ufxtwl.dll_Ordinal_54
add esp, 8
push 0x100be52c
lea ecx, [ebp - 0x120]
call sub.MFC42.DLL_CString::operator
lea edx, [ebp - 0x16c]
push edx
lea eax, [ebp - 0x170]
push eax
mov ecx, dword [ebp + 0xc]
mov dx, word [ecx]
push edx
call sub.CRPE32.dll_Ordinal_36
mov ax, word [ebp - 0x16c]
push eax
movsx ecx, word [ebp - 0x16c]
push ecx
lea ecx, [ebp - 0x118]
call sub.MFC42.DLL_CString::GetBuffer
push eax
mov edx, dword [ebp - 0x170]
push edx
call sub.CRPE32.dll_Ordinal_37
push 0xffffffffffffffff
lea ecx, [ebp - 0x118]
call sub.MFC42.DLL_CString::ReleaseBuffer
lea eax, [ebp - 0x118]
push eax
lea ecx, [ebp - 0x120]
call sub.MFC42.DLL_CString::operator_1
push 0x4060
lea ecx, [ebp - 0x118]
push ecx
call sub.Ufxtwl.dll_Ordinal_54
add esp, 8
push 0x40
push 0
lea ecx, [ebp - 0x118]
call sub.MFC42.DLL_CString::GetBuffer
push eax
push 0
lea ecx, [ebp - 0x120]
call sub.MFC42.DLL_CString::GetBuffer
push eax
mov ecx, dword [ebp + 8]
call fcn.10089460
mov edx, dword [eax + 0x20]
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp dword [ebp + 8], 0
je 0x1008833b
push 1
mov ecx, dword [ebp + 8]
call sub.MFC42.DLL_CWnd::EnableWindow
cmp dword [ebp + 0x14], 0
jne 0x1008833b
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x20]
push ecx
call sub.Ufxtwl.dll_Ordinal_65
add esp, 4
jmp 0x1008839a
push 0x68a0
lea edx, [ebp - 0x120]
push edx
call sub.Ufxtwl.dll_Ordinal_54
add esp, 8
push 0x4060
lea eax, [ebp - 0x118]
push eax
call sub.Ufxtwl.dll_Ordinal_54
add esp, 8
push 0x40
push 0
lea ecx, [ebp - 0x118]
call sub.MFC42.DLL_CString::GetBuffer
push eax
push 0
lea ecx, [ebp - 0x120]
call sub.MFC42.DLL_CString::GetBuffer
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x20]
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
mov dword [ebp - 0x11c], 0
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x174], eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x118]
call fcn.100947c2
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x120]
call fcn.100947c2
mov eax, dword [ebp - 0x174]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
mov esp, ebp
pop ebp
ret