Function at 0x100d2e6
Capabilities:
Get common file path

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x2d4
mov eax, dword [0x10191f4]
push ebx
mov ebx, dword [0x1019928]
push esi
mov esi, dword [0x101992c]
push edi
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push 0x15
mov dword [ebp - 0x274], eax
pop ecx
xor eax, eax
mov edx, 0x1019920
mov edi, edx
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x274]
or dword [0x101996c], 0xffffffff
mov dword [0x1019924], eax
mov eax, dword [0x1019510]
mov dword [0x101992c], esi
push 0x6c
mov dword [0x1019958], eax
pop eax
mov dword [0x1019928], ebx
xor ebx, ebx
xor esi, esi
inc esi
push edx
mov dword [0x10198cc], 0x10190c8
mov dword [0x1019920], 0x54
mov dword [0x1019930], ebx
mov dword [0x1019934], 0x4108
mov dword [0x1019938], ebx
mov dword [0x101993c], ebx
mov dword [0x1019954], esi
mov dword [0x1019960], 0x10198cc
mov dword [0x101995c], eax
mov dword [0x1059dd4], eax
call dword [sym.imp.comdlg32.dll_PrintDlgExW]
test eax, eax
jl 0x100d863
cmp dword [0x1019970], esi
jne 0x100d863
push dword [0x101992c]
mov dword [0x10198e4], 0x90
call dword [sym.imp.KERNEL32.dll_GlobalLock]
cmp eax, ebx
mov dword [ebp - 0x270], eax
je 0x100d83e
mov esi, dword [sym.imp.GDI32.dll_GetDeviceCaps]
push 0x6f
push dword [0x1019930]
call esi
push 0x6e
push dword [0x1019930]
mov dword [ebp - 0x2c8], eax
call esi
push 0x70
push dword [0x1019930]
mov edi, eax
call esi
push 0x71
push dword [0x1019930]
mov dword [ebp - 0x278], eax
call esi
push 0x58
push dword [0x1019930]
mov dword [ebp - 0x280], eax
mov dword [0x10198f0], ebx
mov dword [0x10198ec], ebx
call esi
push eax
push 0x5a0
push edi
mov edi, dword [sym.imp.KERNEL32.dll_MulDiv]
call edi
push 0x5a
push dword [0x1019930]
mov dword [0x10198f4], eax
call esi
push eax
push 0x5a0
push dword [ebp - 0x2c8]
call edi
mov ecx, dword [0x10198f4]
mov dword [0x10198f8], eax
push 0x4000
add ecx, 0xfffffbc8
add eax, 0xfffffd30
push 0x40
mov dword [0x10198fc], 0x438
mov dword [0x1019900], 0x2d0
mov dword [0x1019904], ecx
mov dword [0x1019908], eax
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
cmp eax, ebx
mov dword [0x101990c], eax
je 0x100d820
push ebx
push 0x100c4e2
push dword [ebp - 0x274]
mov dword [0x1019910], 0x2000
push 0x69
push dword [0x1019510]
mov dword [0x1019914], ebx
call dword [sym.imp.USER32.dll_CreateDialogParamW]
cmp eax, ebx
mov dword [0x10198e8], eax
je 0x100d814
push ebx
push dword [ebp - 0x274]
call dword [sym.imp.USER32.dll_EnableWindow]
push 0x100c4bb
push dword [0x1019930]
mov dword [0x10198e4], ebx
mov dword [0x10198e0], 1
mov dword [0x1019918], 0x1001e00
call dword [sym.imp.GDI32.dll_SetAbortProc]
push 0x10
mov dword [ebp - 0x294], 0x14
call fcn.01009cf0
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 0x270]
pop ecx
movzx ecx, word [eax + 4]
lea eax, [eax + ecx*2]
mov dword [ebp - 0x28c], eax
lea eax, [ebp - 0x294]
push eax
push dword [0x1019930]
mov dword [ebp - 0x288], ebx
mov dword [ebp - 0x284], ebx
mov dword [0x10198e4], ebx
call dword [sym.imp.GDI32.dll_StartDocW]
test eax, eax
jg 0x100d58c
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3f
je 0x100d7ee
mov dword [0x10198e4], 0x91
jmp 0x100d7ee
call fcn.0100d23e
mov eax, dword [0x10198e4]
cmp eax, ebx
je 0x100d5b6
push 0x10
movzx eax, ax
push 0x10
push eax
push dword [ebp - 0x274]
push dword [0x1019510]
call fcn.01009ee7
add esp, 0x14
mov esi, 0x105
push esi
lea eax, [ebp - 0x210]
push eax
mov word [ebp - 0x210], bx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
mov edi, 0x1001de4
je 0x100d5f6
push edi
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
test eax, eax
jne 0x100d5f2
mov word [ebp - 0x210], bx
mov word [ebp - 8], bx
cmp word [ebp - 0x210], bx
jne 0x100d60d
push edi
push esi
lea eax, [ebp - 0x210]
push eax
call fcn.010051cb
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push ebx
push ebx
push ebx
push ebx
push 0x64
push 0x64
push ebx
push ebx
push 4
push ebx
push 0x1001dcc
push ebx
mov dword [ebp - 0x27c], eax
call dword [sym.imp.USER32.dll_CreateWindowExW]
push dword [0x101990c]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push ebx
push 0xc
push eax
mov dword [ebp - 0x270], eax
call esi
push 0x1fb0
call fcn.01009cf0
mov edi, eax
cmp edi, ebx
pop ecx
je 0x100d6b7
push edi
push 0x1001c80
lea eax, [ebp - 0x252]
push 0x20
push eax
mov dword [ebp - 0x26c], 0x5c
mov dword [ebp - 0x268], 0x20000001
mov dword [ebp - 0x264], ebx
mov byte [ebp - 0x253], 0x31
call fcn.01003135
add esp, 0x10
lea eax, [ebp - 0x26c]
push eax
push 4
push 0x444
push dword [ebp - 0x270]
call esi
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [0x1019930]
mov dword [ebp - 0x2c4], eax
mov dword [ebp - 0x2c0], eax
mov esi, 0x10198fc
lea edi, [ebp - 0x2bc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, 0x10198ec
lea edi, [ebp - 0x2ac]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
or dword [ebp - 0x298], 0xffffffff
cmp dword [0x1019914], ebx
mov dword [ebp - 0x29c], ebx
mov esi, 0x439
jle 0x100d791
mov edi, dword [ebp - 0x280]
mov ecx, dword [ebp - 0x278]
neg edi
neg ecx
mov dword [ebp - 0x278], ecx
jmp 0x100d721
mov eax, dword [0x1019930]
push eax
call dword [sym.imp.GDI32.dll_StartPage]
push ebx
push edi
push dword [ebp - 0x278]
push dword [0x1019930]
call dword [sym.imp.GDI32.dll_SetViewportOrgEx]
lea eax, [ebp - 0x2c4]
push eax
push 1
push esi
push dword [ebp - 0x270]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x10198fc
push ebx
push 0x433
push dword [ebp - 0x270]
mov dword [ebp - 0x29c], eax
call dword [sym.imp.USER32.dll_SendMessageW]
push dword [0x1019930]
call dword [sym.imp.GDI32.dll_EndPage]
cmp dword [0x10198e0], ebx
je 0x100d791
mov eax, dword [ebp - 0x29c]
cmp eax, dword [0x1019914]
jl 0x100d71c
push ebx
push ebx
push esi
push dword [ebp - 0x270]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [0x10198e4], ebx
jne 0x100d7ca
cmp dword [0x10198e0], ebx
je 0x100d7ca
push dword [0x1019930]
call dword [sym.imp.GDI32.dll_EndDoc]
test eax, eax
jg 0x100d7d6
mov dword [0x10198e4], 0x91
push dword [0x1019930]
call dword [sym.imp.GDI32.dll_AbortDoc]
push dword [ebp - 0x270]
call dword [sym.imp.USER32.dll_DestroyWindow]
push dword [ebp - 0x27c]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push dword [ebp - 0x290]
call dword [sym.imp.KERNEL32.dll_LocalFree]
push 1
push dword [ebp - 0x274]
call dword [sym.imp.USER32.dll_EnableWindow]
push dword [0x10198e8]
call dword [sym.imp.USER32.dll_DestroyWindow]
push dword [0x101990c]
call dword [sym.imp.KERNEL32.dll_LocalFree]
push dword [0x1019930]
call dword [sym.imp.GDI32.dll_DeleteDC]
push dword [0x101992c]
mov dword [0x1019930], ebx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov eax, dword [0x10198e4]
cmp eax, ebx
je 0x100d863
push 0x10
movzx eax, ax
push 0x10
push eax
push dword [ebp - 0x274]
push dword [0x1019510]
call fcn.01009ee7
add esp, 0x14
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.01016b82
leave
ret 4