Function at 0x437930
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x487620
mov eax, dword fs:[0]
push eax
mov eax, 0x1c38
call fcn.00480420
mov eax, dword [0x4c0e0c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x1c20], edi
mov dword [ebp - 0x1c28], ecx
mov eax, dword [ecx]
mov eax, dword [eax + 0xcc]
call eax
mov esi, eax
mov dword [ebp - 0x1c24], esi
test esi, esi
je 0x4385ed
movsx eax, word [esi + 0x274]
push eax
mov dword [ebp - 0x1c38], 0
call dword [sym.imp.RegMarks.dll_public:_static_int___cdecl_AGraphtecMark::isGraphtecMark_int_]
add esp, 4
test eax, eax
je 0x437a0f
movsx eax, word [esi + 0x274]
mov ecx, dword [esi + 0x540]
push 0
push 0x4c1a50
push 0x4c11a8
push 0
push 0
push 0
push eax
call dword [sym.imp.RegMarks.dll_public:_class_APMRegMark____thiscall_ARegMarkList::findOrAdd_int__int__int_]
push eax
call sub.VCRUNTIME140.dll___RTDynamicCast
add esp, 0x14
test eax, eax
je 0x437a05
cmp dword [eax + 0x50], 0
je 0x437a05
lea ecx, [eax + 0x80]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4379f0
mov dword [ebp - 0x1c38], 1
sub ecx, edx
jne 0x437a0f
mov dword [ebp - 0x1c38], 0
push 0
push 0
push 0x1009
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_SendMessageA]
xor esi, esi
mov eax, 0xd
cmp dword [ebp - 0x1c38], esi
mov ecx, 0x10
cmovne eax, ecx
mov dword [ebp - 0x1c18], eax
nop dword [eax]
push 0
push 0
push 0
push 0
push 0x490e40
push esi
push 1
mov ecx, edi
call sub.mfc140.dll_Ordinal_8031
inc esi
cmp esi, dword [ebp - 0x1c18]
jl 0x437a40
lea ecx, [ebp - 0x1c14]
call dword [sym.imp.mfc140.dll_Ordinal_316]
push 0x9d08
lea ecx, [ebp - 0x1c14]
mov dword [ebp - 4], 0
call dword [sym.imp.mfc140.dll_Ordinal_8426]
lea ecx, [ebp - 0x1c14]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
push 1
push 0
mov ecx, edi
call sub.mfc140.dll_Ordinal_13584
push 0x9d10
lea ecx, [ebp - 0x1c14]
call dword [sym.imp.mfc140.dll_Ordinal_8426]
lea ecx, [ebp - 0x1c14]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
push 1
push 1
mov ecx, edi
call sub.mfc140.dll_Ordinal_13584
push 0x9d13
lea ecx, [ebp - 0x1c14]
call dword [sym.imp.mfc140.dll_Ordinal_8426]
lea ecx, [ebp - 0x1c14]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
push 1
push 2
mov ecx, edi
call sub.mfc140.dll_Ordinal_13584
push 0x9d0f
lea ecx, [ebp - 0x1c14]
call dword [sym.imp.mfc140.dll_Ordinal_8426]
lea ecx, [ebp - 0x1c14]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
push 1
push 3
mov ecx, edi
call sub.mfc140.dll_Ordinal_13584
push 0x9d0b
lea ecx, [ebp - 0x1c14]
call dword [sym.imp.mfc140.dll_Ordinal_8426]
lea ecx, [ebp - 0x1c14]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
push 1
push 4
mov ecx, edi
call sub.mfc140.dll_Ordinal_13584
push 0x9d11
lea ecx, [ebp - 0x1c14]
call dword [sym.imp.mfc140.dll_Ordinal_8426]
lea ecx, [ebp - 0x1c14]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
push 1
push 5
mov ecx, edi
call sub.mfc140.dll_Ordinal_13584
push 0x9d09
lea ecx, [ebp - 0x1c14]
call dword [sym.imp.mfc140.dll_Ordinal_8426]
lea ecx, [ebp - 0x1c14]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
push 1
push 6
mov ecx, edi
call sub.mfc140.dll_Ordinal_13584
push 0x9d0a
lea ecx, [ebp - 0x1c14]
call dword [sym.imp.mfc140.dll_Ordinal_8426]
lea ecx, [ebp - 0x1c14]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
push 1
push 7
mov ecx, edi
call sub.mfc140.dll_Ordinal_13584
push 0x9d0d
lea ecx, [ebp - 0x1c14]
call dword [sym.imp.mfc140.dll_Ordinal_8426]
lea ecx, [ebp - 0x1c14]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
push 1
push 8
mov ecx, edi
call sub.mfc140.dll_Ordinal_13584
push 0x9d14
lea ecx, [ebp - 0x1c14]
call dword [sym.imp.mfc140.dll_Ordinal_8426]
lea ecx, [ebp - 0x1c14]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
push 1
push 9
mov ecx, edi
call sub.mfc140.dll_Ordinal_13584
push 0x9d19
lea ecx, [ebp - 0x1c14]
call dword [sym.imp.mfc140.dll_Ordinal_8426]
lea ecx, [ebp - 0x1c14]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
push 1
push 0xa
mov ecx, edi
call sub.mfc140.dll_Ordinal_13584
push 0x9d1b
lea ecx, [ebp - 0x1c14]
call dword [sym.imp.mfc140.dll_Ordinal_8426]
lea ecx, [ebp - 0x1c14]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
push 1
push 0xb
mov ecx, edi
call sub.mfc140.dll_Ordinal_13584
mov esi, dword [ebp - 0x1c28]
mov ecx, esi
mov eax, dword [esi]
mov eax, dword [eax + 0x68]
call eax
lea ecx, [eax + 0x14c]
call dword [sym.imp.FSUTIL.dll_protected:_struct_AStringData____thiscall_AString::GetData_void_const]
cmp dword [eax + 4], 0
je 0x437cd3
mov eax, dword [ebp - 0x1c24]
movzx eax, word [eax + 0x274]
cmp ax, 3
je 0x437ca5
cmp ax, 0x5e
je 0x437ca5
cmp ax, 0x18
jl 0x437cd3
cmp ax, 0x1b
jg 0x437cd3
push 0x9d1d
lea ecx, [ebp - 0x1c14]
call dword [sym.imp.mfc140.dll_Ordinal_8426]
lea ecx, [ebp - 0x1c14]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
push 1
push 0xc
mov ecx, edi
call sub.mfc140.dll_Ordinal_13584
jmp 0x437f13
cmp dword [ebp - 0x1c38], 0
je 0x437f13
push 0xfe8a
lea ecx, [ebp - 0x1c14]
call dword [sym.imp.mfc140.dll_Ordinal_8426]
lea ecx, [ebp - 0x1c14]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
push 1
push 0xc
mov ecx, edi
call sub.mfc140.dll_Ordinal_13584
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_GetDC]
push eax
call sub.mfc140.dll_Ordinal_4865
mov esi, eax
lea ecx, [ebp - 0x1c14]
lea eax, [ebp - 0x1c34]
push eax
call dword [sym.imp.mfc140.dll_Ordinal_5861]
push eax
lea ecx, [ebp - 0x1c14]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
mov edi, dword [sym.imp.GDI32.dll_GetTextExtentPoint32A]
push eax
push dword [esi + 8]
call edi
mov eax, dword [ebp - 0x1c34]
mov ecx, 0
test eax, eax
push 0xfe8b
cmovg ecx, eax
mov dword [ebp - 0x1c1c], ecx
lea ecx, [ebp - 0x1c14]
call dword [sym.imp.mfc140.dll_Ordinal_8426]
lea ecx, [ebp - 0x1c14]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
mov esi, dword [ebp - 0x1c20]
mov ecx, esi
push eax
push 1
push 0xd
call sub.mfc140.dll_Ordinal_13584
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_GetDC]
push eax
call sub.mfc140.dll_Ordinal_4865
mov esi, eax
lea ecx, [ebp - 0x1c14]
lea eax, [ebp - 0x1c34]
push eax
call dword [sym.imp.mfc140.dll_Ordinal_5861]
push eax
lea ecx, [ebp - 0x1c14]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
push dword [esi + 8]
call edi
mov ecx, dword [ebp - 0x1c1c]
cmp dword [ebp - 0x1c34], ecx
push 0xfe8d
cmovg ecx, dword [ebp - 0x1c34]
mov dword [ebp - 0x1c1c], ecx
lea ecx, [ebp - 0x1c14]
call dword [sym.imp.mfc140.dll_Ordinal_8426]
lea ecx, [ebp - 0x1c14]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
mov esi, dword [ebp - 0x1c20]
mov ecx, esi
push eax
push 1
push 0xe
call sub.mfc140.dll_Ordinal_13584
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_GetDC]
push eax
call sub.mfc140.dll_Ordinal_4865
mov esi, eax
lea ecx, [ebp - 0x1c14]
lea eax, [ebp - 0x1c34]
push eax
call dword [sym.imp.mfc140.dll_Ordinal_5861]
push eax
lea ecx, [ebp - 0x1c14]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
push dword [esi + 8]
call edi
mov ecx, dword [ebp - 0x1c1c]
cmp dword [ebp - 0x1c34], ecx
push 0xfe8f
cmovg ecx, dword [ebp - 0x1c34]
mov dword [ebp - 0x1c1c], ecx
lea ecx, [ebp - 0x1c14]
call dword [sym.imp.mfc140.dll_Ordinal_8426]
lea ecx, [ebp - 0x1c14]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
mov esi, dword [ebp - 0x1c20]
mov ecx, esi
push eax
push 1
push 0xf
call sub.mfc140.dll_Ordinal_13584
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_GetDC]
push eax
call sub.mfc140.dll_Ordinal_4865
mov esi, eax
lea ecx, [ebp - 0x1c14]
lea eax, [ebp - 0x1c34]
push eax
call dword [sym.imp.mfc140.dll_Ordinal_5861]
push eax
lea ecx, [ebp - 0x1c14]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
push dword [esi + 8]
call edi
mov ecx, dword [ebp - 0x1c1c]
mov edi, dword [ebp - 0x1c20]
cmp dword [ebp - 0x1c34], ecx
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
cmovg ecx, dword [ebp - 0x1c34]
push 0
push 1
push 0x101d
push dword [edi + 0x20]
mov dword [ebp - 0x1c1c], ecx
call esi
mov ecx, dword [ebp - 0x1c1c]
cmp ecx, eax
jle 0x437f0d
movzx eax, cx
push eax
push 1
push 0x101e
push dword [edi + 0x20]
call esi
mov esi, dword [ebp - 0x1c28]
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x68]
call eax
lea ecx, [ebp - 0x1c40]
mov dword [ebp - 0x1c20], eax
call dword [sym.imp.mfc140.dll_Ordinal_316]
mov edx, dword [esi]
lea eax, [ebp - 0x1c18]
push eax
mov ecx, esi
mov byte [ebp - 4], 1
mov edx, dword [edx + 0xf8]
call edx
push dword [eax]
mov ecx, edi
mov byte [ebp - 4], 2
push 3
push 0
call sub.mfc140.dll_Ordinal_13584
lea ecx, [ebp - 0x1c18]
mov byte [ebp - 4], 1
call dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AString::destructor_void_]
lea eax, [ebp - 0x1c18]
mov ecx, esi
push eax
call dword [sym.imp.PMCORE.dll_public:_class_AString___thiscall_AJob::GetSetupName_void_]
push dword [eax]
mov ecx, edi
mov byte [ebp - 4], 3
push 3
push 1
call sub.mfc140.dll_Ordinal_13584
lea ecx, [ebp - 0x1c18]
mov byte [ebp - 4], 1
call dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AString::destructor_void_]
mov esi, dword [ebp - 0x1c20]
mov ecx, edi
push dword [esi + 0xd4]
push 3
push 2
call sub.mfc140.dll_Ordinal_13584
push dword [esi + 0xe8]
lea eax, [ebp - 0x1c18]
push eax
call fcn.0045b150
add esp, 8
mov ecx, eax
mov byte [ebp - 4], 4
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
push 3
push 3
mov ecx, edi
call sub.mfc140.dll_Ordinal_13584
lea ecx, [ebp - 0x1c18]
mov byte [ebp - 4], 1
call dword [sym.imp.mfc140.dll_Ordinal_1044]
movsx eax, word [esi + 0x100]
push eax
lea eax, [ebp - 0x1c18]
push eax
call fcn.00456b80
add esp, 8
mov ecx, eax
mov byte [ebp - 4], 5
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
push 3
push 4
mov ecx, edi
call sub.mfc140.dll_Ordinal_13584
lea ecx, [ebp - 0x1c18]
mov byte [ebp - 4], 1
call dword [sym.imp.mfc140.dll_Ordinal_1044]
push 0xa
lea eax, [ebp - 0x210]
push eax
push dword [esi + 0xf0]
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__itoa]
add esp, 0xc
lea eax, [ebp - 0x210]
mov ecx, edi
push eax
push 3
push 5
call sub.mfc140.dll_Ordinal_13584
lea eax, [ebp - 0x1c18]
push esi
push eax
call fcn.004565d0
add esp, 8
push eax
lea ecx, [ebp - 0x1c40]
mov byte [ebp - 4], 6
call dword [sym.imp.mfc140.dll_Ordinal_1526]
lea ecx, [ebp - 0x1c18]
mov byte [ebp - 4], 1
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x1c40]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
push 3
push 6
mov ecx, edi
call sub.mfc140.dll_Ordinal_13584
push dword [esi + 0xcc]
lea eax, [ebp - 0x1c18]
push eax
call fcn.00455490
add esp, 8
mov ecx, eax
mov byte [ebp - 4], 7
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
push 3
push 7
mov ecx, edi
call sub.mfc140.dll_Ordinal_13584
lea ecx, [ebp - 0x1c18]
mov byte [ebp - 4], 1
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea eax, [ebp - 0x1c1c]
push eax
lea ecx, [esi + 0xcc]
call dword [sym.imp.FSUTIL.dll_public:_class_AString___thiscall_AFilePath::GetFullPath_void_]
push ecx
push esp
mov ecx, eax
mov byte [ebp - 4], 8
call dword [sym.imp.FSUTIL.dll_public:_class_ATL::CStringT_char__class_StrTraitMFC_DLL_char__class_ATL::ChTraitsCRT_char______thiscall_AString::operator_class_ATL::CStringT_char__class_StrTraitMFC_DLL_char__class_ATL::ChTraitsCRT_char____void_]
movsx eax, word [esi + 0x102]
push eax
lea eax, [ebp - 0x1c18]
push eax
call sub.CommonDll.dll_class_ATL::CStringT_char__class_StrTraitMFC_DLL_char__class_ATL::ChTraitsCRT_char______cdecl_GetJobFileFormatText_int__class_ATL::CStringT_char__class_StrTraitMFC_DLL_char__class_ATL::ChTraitsCRT_char____
add esp, 0xc
mov ecx, eax
mov byte [ebp - 4], 9
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
push 3
push 8
mov ecx, edi
call sub.mfc140.dll_Ordinal_13584
lea ecx, [ebp - 0x1c18]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x1c1c]
mov byte [ebp - 4], 1
call dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AString::destructor_void_]
lea ecx, [ebp - 0x1c10]
call dword [sym.imp.PMCORE.dll_public:_void___thiscall_PMCorePreferences::constructor_void_]
lea eax, [ebp - 0x1c10]
mov byte [ebp - 4], 0xa
push eax
call dword [sym.imp.PMCORE.dll_PMGetPreference]
add esp, 4
test eax, eax
movsx eax, word [ebp - 0xfc8]
jne 0x438175
mov eax, 0x10
push eax
movzx eax, word [esi + 0xfc]
push eax
lea eax, [ebp - 0x1c18]
push eax
call sub.PMResource.dll_class_ATL::CStringT_char__class_StrTraitMFC_DLL_char__class_ATL::ChTraitsCRT_char______cdecl_GetAfterDoneText_int__int_
add esp, 0xc
mov ecx, eax
mov byte [ebp - 4], 0xb
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
push 3
push 9
mov ecx, edi
call sub.mfc140.dll_Ordinal_13584
lea ecx, [ebp - 0x1c18]
mov byte [ebp - 4], 0xa
call dword [sym.imp.mfc140.dll_Ordinal_1044]
mov esi, dword [ebp - 0x1c28]
lea ecx, [ebp - 0x1c30]
push ecx
mov ecx, esi
mov eax, dword [esi]
mov eax, dword [eax + 0x144]
call eax
lea ecx, [ebp - 0x1c18]
mov byte [ebp - 4], 0xc
push ecx
mov ecx, eax
call dword [sym.imp.FSUTIL.dll_public:_class_ATL::CStringT_char__class_StrTraitMFC_DLL_char__class_ATL::ChTraitsCRT_char______thiscall_AString::operator_class_ATL::CStringT_char__class_StrTraitMFC_DLL_char__class_ATL::ChTraitsCRT_char____void_]
lea eax, [ebp - 0x1c18]
mov byte [ebp - 4], 0xd
push eax
lea ecx, [ebp - 0x1c44]
call dword [sym.imp.mfc140.dll_Ordinal_300]
lea ecx, [ebp - 0x1c18]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x1c30]
mov byte [ebp - 4], 0x10
call dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AString::destructor_void_]
lea ecx, [ebp - 0x1c44]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
push 3
push 0xa
mov ecx, edi
call sub.mfc140.dll_Ordinal_13584
mov eax, dword [esi]
lea ecx, [ebp - 0x1c28]
push ecx
mov ecx, esi
mov eax, dword [eax + 0xfc]
call eax
push dword [eax]
mov ecx, edi
mov byte [ebp - 4], 0x11
push 3
push 0xb
call sub.mfc140.dll_Ordinal_13584
lea ecx, [ebp - 0x1c28]
mov byte [ebp - 4], 0x10
call dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AString::destructor_void_]
mov ecx, dword [ebp - 0x1c20]
lea ecx, [ecx + 0x14c]
call dword [sym.imp.FSUTIL.dll_protected:_struct_AStringData____thiscall_AString::GetData_void_const]
mov ecx, dword [ebp - 0x1c24]
cmp dword [eax + 4], 0
je 0x438320
movzx eax, word [ecx + 0x274]
cmp ax, 3
je 0x4382a5
cmp ax, 0x5e
je 0x4382a5
cmp ax, 0x18
jl 0x438320
cmp ax, 0x1b
jg 0x438320
lea ecx, [ebp - 0x1c28]
call dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AString::constructor_void_]
push 0xa
lea eax, [ebp - 0x1c24]
mov byte [ebp - 4], 0x12
push eax
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x68]
call eax
lea ecx, [eax + 0x14c]
call dword [sym.imp.FSUTIL.dll_public:_class_AString___thiscall_AString::Right_int_]
mov eax, dword [ebp - 0x1c24]
push eax
push eax
lea eax, [ebp - 0x1c28]
mov byte [ebp - 4], 0x13
push str._s0____s1
push eax
call dword [sym.imp.FSUTIL.dll_public:_class_AString____cdecl_AString::Format_char_const__]
add esp, 0x10
mov ecx, edi
push dword [ebp - 0x1c28]
push 3
push 0xc
call sub.mfc140.dll_Ordinal_13584
mov esi, dword [sym.imp.FSUTIL.dll_public:_void___thiscall_AString::destructor_void_]
lea ecx, [ebp - 0x1c24]
call esi
lea ecx, [ebp - 0x1c28]
call esi
jmp 0x4385b8
cmp dword [ebp - 0x1c38], 0
je 0x4385b8
movsx eax, word [ecx + 0x274]
mov ecx, dword [ecx + 0x540]
push 0
push 0x4c1a50
push 0x4c11a8
push 0
push 0
push 0
push eax
call dword [sym.imp.RegMarks.dll_public:_class_APMRegMark____thiscall_ARegMarkList::findOrAdd_int__int__int_]
push eax
call sub.VCRUNTIME140.dll___RTDynamicCast
mov esi, eax
add esp, 0x14
mov dword [ebp - 0x1c24], esi
lea ecx, [esi + 0x80]
push ecx
push 3
push 0xc
mov ecx, edi
call sub.mfc140.dll_Ordinal_13584
mov eax, dword [esi + 0xe8]
xorps xmm0, xmm0
movsd qword [ebp - 0x1c3c], xmm0
movsd qword [ebp - 0x1c2c], xmm0
test eax, eax
je 0x4383a7
cmp eax, 1
jne 0x4383cd
mov eax, dword [esi + 0xf0]
test eax, eax
je 0x4383a7
cmp eax, 1
jne 0x4383cd
movss xmm0, dword [esi + 0xac]
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x1c3c], xmm0
movss xmm0, dword [esi + 0xb0]
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x1c2c], xmm0
lea ecx, [ebp - 0xf10]
call dword [sym.imp.PMCORE.dll_public:_void___thiscall_PMCorePreferences::constructor_void_]
lea eax, [ebp - 0xf10]
push eax
call dword [sym.imp.PMCORE.dll_PMGetPreference]
mov esi, dword [ebp - 0x2c0]
lea ecx, [ebp - 0x1c1c]
add esp, 4
call dword [sym.imp.mfc140.dll_Ordinal_316]
movsd xmm0, qword [0x4978d8]
mov eax, dword [sym.imp.FSUTIL.dll_double_const__const_const_AUnits::s_ConversionFactors]
mov byte [ebp - 4], 0x15
test esi, esi
js 0x438417
movsd xmm1, qword [eax + esi*8]
jmp 0x43841a
movaps xmm1, xmm0
test esi, esi
js 0x438423
movsd xmm0, qword [eax + esi*8]
mov eax, dword [sym.imp.FSUTIL.dll_char___AUnits::s_UnitSymbols]
mulsd xmm1, qword [ebp - 0x1c2c]
movzx ecx, word [ebp - 0x274]
mulsd xmm0, qword [ebp - 0x1c3c]
mov eax, dword [eax + esi*4]
push eax
sub esp, 8
movsd qword [esp], xmm1
push ecx
push eax
sub esp, 8
lea eax, [ebp - 0x1c1c]
movsd qword [esp], xmm0
push ecx
push str.__.f_s__.f_s_
push eax
call dword [sym.imp.mfc140.dll_Ordinal_4807]
add esp, 0x28
lea ecx, [ebp - 0x1c1c]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
push 3
push 0xd
mov ecx, edi
call sub.mfc140.dll_Ordinal_13584
mov eax, dword [ebp - 0x1c24]
xorps xmm2, xmm2
movaps xmm3, xmm2
cmp dword [eax + 0xe8], 1
jne 0x4384d3
mov ecx, dword [eax + 0xf0]
test ecx, ecx
je 0x4384a7
cmp ecx, 2
jne 0x4384d3
movss xmm0, dword [eax + 0xf4]
xorps xmm2, xmm2
movss xmm1, dword [0x495830]
xorps xmm3, xmm3
xorps xmm0, xmm1
cvtss2sd xmm2, xmm0
movss xmm0, dword [eax + 0xf8]
xorps xmm0, xmm1
cvtss2sd xmm3, xmm0
mov eax, dword [sym.imp.FSUTIL.dll_double_const__const_const_AUnits::s_ConversionFactors]
movsd xmm0, qword [0x4978d8]
test esi, esi
js 0x4384eb
movsd xmm1, qword [eax + esi*8]
jmp 0x4384ee
movaps xmm1, xmm0
test esi, esi
js 0x4384f7
movsd xmm0, qword [eax + esi*8]
mov eax, dword [sym.imp.FSUTIL.dll_char___AUnits::s_UnitSymbols]
movzx ecx, word [ebp - 0x274]
mulsd xmm1, xmm3
mov eax, dword [eax + esi*4]
push eax
sub esp, 8
mulsd xmm0, xmm2
movsd qword [esp], xmm1
push ecx
push eax
sub esp, 8
lea eax, [ebp - 0x1c1c]
movsd qword [esp], xmm0
push ecx
push str.__.f_s__.f_s_
push eax
call dword [sym.imp.mfc140.dll_Ordinal_4807]
add esp, 0x28
lea ecx, [ebp - 0x1c1c]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
push 3
push 0xe
mov ecx, edi
call sub.mfc140.dll_Ordinal_13584
mov eax, dword [ebp - 0x1c20]
mov ecx, str.Graphtec_GPGL
mov eax, dword [eax + 0xc0]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x438580
test dl, dl
je 0x43857c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x438580
add eax, 2
add ecx, 2
test dl, dl
jne 0x438560
xor eax, eax
jmp 0x438585
sbb eax, eax
or eax, 1
mov ecx, edi
test eax, eax
jne 0x438592
push str.GPGL
jmp 0x438597
push str.HPGL
push 3
push 0xf
call sub.mfc140.dll_Ordinal_13584
lea ecx, [ebp - 0x1c1c]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0xf10]
call dword [sym.imp.PMCORE.dll_public:_void___thiscall_PMCorePreferences::destructor_void_]
lea ecx, [ebp - 0x1c44]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x1c10]
call dword [sym.imp.PMCORE.dll_public:_void___thiscall_PMCorePreferences::destructor_void_]
lea ecx, [ebp - 0x1c40]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x1c14]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0047ff18
mov esp, ebp
pop ebp
ret 8