Function at 0x451c71
Capabilities:
Get common file path

Disassembly:
push 0x218
mov eax, 0x5c0729
call fcn.0058f9ee
push dword [ebp + 0x28]
mov eax, dword [ebp + 0x24]
mov ebx, dword [ebp + 0xc]
push eax
push dword [ebp + 8]
mov esi, ecx
mov dword [ebp - 0x220], esi
call fcn.004acd69
xor edi, edi
lea ecx, [esi + 0xac]
mov dword [ebp - 4], edi
mov dword [esi], vtable.CSetupSheet.0
call fcn.004570db
lea ecx, [esi + 0x198]
mov byte [ebp - 4], 1
call fcn.004550cc
lea ecx, [esi + 0x360]
mov byte [ebp - 4], 2
call fcn.0044de1f
lea ecx, [esi + 0x454]
mov byte [ebp - 4], 3
call fcn.0044cdb7
lea ecx, [esi + 0x648]
mov byte [ebp - 4], 4
call fcn.0044a386
lea ecx, [esi + 0x838]
mov byte [ebp - 4], 5
call fcn.00456123
lea ecx, [esi + 0x988]
mov byte [ebp - 4], 6
call fcn.00453dac
lea ecx, [esi + 0xadc]
mov byte [ebp - 4], 7
call fcn.00452dc9
lea ecx, [esi + 0xcc4]
mov byte [ebp - 4], 8
call fcn.0044bd97
lea ecx, [esi + 0xdb8]
mov byte [ebp - 4], 9
call fcn.004487c9
lea ecx, [esi + 0xf08]
mov byte [ebp - 4], 0xa
call fcn.0044b38f
lea ecx, [esi + 0xff8]
mov byte [ebp - 4], 0xb
call fcn.0044ad76
lea ecx, [esi + 0x10e8]
mov byte [ebp - 4], 0xc
call fcn.004568ee
lea ecx, [esi + 0x11e0]
mov byte [ebp - 4], 0xd
call fcn.0044eb42
lea ecx, [esi + 0x1388]
mov byte [ebp - 4], 0xe
call fcn.00449a40
lea ecx, [esi + 0x1478]
mov byte [ebp - 4], 0xf
call fcn.00455a5d
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x156c], eax
mov eax, dword [ebp + 0x14]
mov byte [ebp - 4], 0x10
mov dword [esi + 0x1568], ebx
mov dword [esi + 0x1570], eax
push 0xa
lea ecx, [esi + 0x1578]
mov dword [esi + 0x1574], edi
call fcn.004a28bc
lea ecx, [esi + 0x15a8]
call fcn.0040144d
lea ecx, [esi + 0x15b0]
mov dword [esi + 0x15ac], 1
call fcn.0044f80e
mov dword [esi + 0x15b0], 0x5f0ca0
lea eax, [esi + 0x15e0]
mov dword [eax + 4], edi
mov dword [eax], vtable.CFont.0
mov eax, dword [ebp + 0x1c]
mov dword [esi + 0x15f8], eax
mov eax, dword [ebp + 0x20]
mov dword [esi + 0x15fc], eax
mov eax, dword [ebp + 0x18]
mov dword [esi + 0x1600], eax
xor eax, eax
push 0x206
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x216]
push edi
push eax
mov byte [ebp - 4], 0x14
call fcn.0058fa90
add esp, 0xc
push 0x104
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x451ea5
push str.msftedit.dll
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
test eax, eax
je 0x451e88
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
jne 0x451eb8
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x218]
push eax
push str.Failed_to_load:__s_with_error:__d
jmp 0x451e9b
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x218]
push eax
push str.Failed_to_PathAppend_using:__s_with_error:__d
call fcn.004437b6
add esp, 0xc
jmp 0x451eb8
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Failed_to_GetSystemDirectory_with_error:__d
call fcn.004437b6
pop ecx
pop ecx
push 0x38
call fcn.00495997
pop ecx
mov ecx, eax
mov dword [ebp - 0x224], ecx
mov byte [ebp - 4], 0x15
cmp ecx, edi
je 0x451ed8
push ebx
call fcn.0040edc0
jmp 0x451eda
xor eax, eax
mov dword [esi + 0x1574], eax
mov eax, dword [esi + 0x58]
and eax, 0xfffffdff
or eax, 0x600000
push edi
mov byte [ebp - 4], 0x14
mov dword [esi + 0x58], eax
call dword [sym.imp.USER32.dll_GetDC]
push 0x58
push eax
mov dword [esi + 0x15e8], eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov ecx, dword [esi + 0x1570]
mov dword [esi + 0x15ec], eax
call fcn.00561a95
cmp eax, 1
mov dword [esi + 0x15f0], eax
setle al
mov byte [esi + 0x15f4], al
call fcn.00496dcd
push eax
lea ecx, [ebp - 0x21c]
call fcn.0040141e
lea eax, [ebp - 0x21c]
push eax
push str.MultiSuite
lea ecx, [ebx + 0x1b0]
mov byte [ebp - 4], 0x16
call fcn.004a29f8
push 0x5d8fd0
lea ecx, [ebp - 0x21c]
call fcn.00401ba2
neg eax
sbb al, al
inc al
mov byte [esi + 0x15f5], al
movzx eax, word [ebx + 0x114]
push eax
call fcn.0043ca13
pop ecx
push edi
push 0x2af8
lea ecx, [esi + 0xac]
call fcn.004ace34
push edi
push 0x2b9c
lea ecx, [esi + 0x198]
call fcn.004ace34
push edi
push 0x2b9b
lea ecx, [esi + 0x360]
call fcn.004ace34
push edi
push 0x2afa
lea ecx, [esi + 0x454]
call fcn.004ace34
push edi
push 0x2b38
lea ecx, [esi + 0x838]
call fcn.004ace34
push edi
push 0x2b80
lea ecx, [esi + 0x648]
call fcn.004ace34
push edi
push 0x2b0c
lea ecx, [esi + 0xadc]
call fcn.004ace34
push edi
push 0x2b23
lea ecx, [esi + 0xcc4]
call fcn.004ace34
push edi
push 0x2b2b
lea ecx, [esi + 0xdb8]
call fcn.004ace34
push edi
push 0x2b62
lea ecx, [esi + 0xf08]
call fcn.004ace34
push edi
push 0x2b99
lea ecx, [esi + 0xff8]
call fcn.004ace34
push edi
push 0x2b1e
lea ecx, [esi + 0x10e8]
call fcn.004ace34
push edi
push 0x2b16
lea ecx, [esi + 0x11e0]
call fcn.004ace34
push edi
push 0x2afd
lea ecx, [esi + 0x1388]
call fcn.004ace34
push edi
push 0x2b34
lea ecx, [esi + 0x1478]
call fcn.004ace34
push edi
push 0x2bf1
lea ecx, [esi + 0x988]
call fcn.004ace34
fldz
mov eax, dword [esi + 0x1568]
fst qword [esi + 0x15a0]
mov ecx, esi
fstp qword [esi + 0x1598]
mov byte [esi + 0x134], 1
mov byte [esi + 0x1410], 1
mov byte [esi + 0x1500], 1
mov dword [esi + 0x12a8], eax
call fcn.00451332
mov ecx, esi
call fcn.0045184d
mov ecx, dword [ebp - 0x21c]
or dword [esi + 0x58], 0x20
add ecx, 0xfffffff0
call fcn.00401019
mov eax, esi
call fcn.0058fa71
ret 0x24