Function at 0x4ea9d0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5a9c87
mov eax, dword fs:[0]
push eax
sub esp, 0x4c0
mov eax, dword [0x608554]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov ebx, ecx
push ecx
push str.CBaseInfoPrinterEx::RestoreDetailsPrinterInfo
lea ecx, [ebp - 0x484]
mov dword [ebp - 0x4c0], ebx
call fcn.0040a480
mov dword [ebp - 4], 0
mov ecx, dword [0x608f30]
cmp ecx, 0x608f30
je 0x4eaa61
test byte [ecx + 0x1c], 1
je 0x4eaa61
cmp dword [0x608f68], 8
mov eax, 0x608f54
mov edx, 0x5daec4
cmovae eax, dword [0x608f54]
push eax
push dword [ecx + 0x14]
push dword [ecx + 0x10]
mov ecx, 0x32
call fcn.00401840
add esp, 0xc
push 0x200
lea eax, [ebp - 0x414]
mov dword [ebp - 0x488], 0
push 0
push eax
mov dword [ebp - 0x498], 0
mov dword [ebp - 0x49c], 0
call fcn.00571c00
push 0x200
lea eax, [ebp - 0x214]
push 0
push eax
call fcn.00571c00
add esp, 0x18
lea ecx, [ebp - 0x490]
call fcn.00475e00
lea eax, [ebp - 0x214]
mov byte [ebp - 4], 1
push eax
push 0x100
lea ecx, [ebp - 0x490]
call fcn.004775d0
lea esi, [ebx + 0x210]
mov byte [ebp - 4], 2
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x4eab49
mov byte [ebp - 0x480], 1
mov ecx, dword [0x608f30]
cmp ecx, 0x608f30
je 0x4eab2c
test byte [ecx + 0x1c], 1
je 0x4eab2c
cmp dword [0x608f68], 8
mov eax, 0x608f54
push 0
cmovae eax, dword [0x608f54]
push eax
push dword [ecx + 0x14]
push dword [ecx + 0x10]
mov ecx, 0x33
mov edx, 0x5daec4
call fcn.004018a0
add esp, 0x10
lea ecx, [ebp - 0x490]
call fcn.00475ed0
lea ecx, [ebp - 0x484]
call fcn.0040a570
xor eax, eax
jmp 0x4eb1cd
push ecx
push 0x21
lea edi, [ebx + 0x418]
push esi
mov ecx, edi
call fcn.00429fe0
cmp dword [ebx + 0x474], 0
je 0x4eb139
push 2
push 0
push 0
mov ecx, edi
call fcn.004d53b0
lea eax, [ebp - 0x42c]
mov ecx, edi
push eax
call fcn.004f38e0
mov ecx, edi
mov edx, dword [eax + 8]
add edx, dword [eax]
jne 0x4eac1d
call fcn.00429fa0
mov ecx, dword [0x608f30]
cmp ecx, 0x608f30
je 0x4eabda
test byte [ecx + 0x1c], 4
je 0x4eabda
cmp dword [0x608f68], 8
mov eax, 0x608f54
mov edx, 0x5daec4
cmovae eax, dword [0x608f54]
push eax
push dword [ecx + 0x14]
push dword [ecx + 0x10]
mov ecx, 0x34
call fcn.00401840
mov ecx, dword [0x608f30]
add esp, 0xc
mov byte [ebp - 0x480], 1
cmp ecx, 0x608f30
je 0x4eab2c
test byte [ecx + 0x1c], 1
je 0x4eab2c
cmp dword [0x608f68], 8
mov eax, 0x608f54
push 0
cmovae eax, dword [0x608f54]
push eax
push dword [ecx + 0x14]
push dword [ecx + 0x10]
mov ecx, 0x35
jmp 0x4eab1f
push 0
push 0
push 0
call fcn.004d53b0
lea eax, [ebp - 0x488]
mov ecx, ebx
push eax
push edi
call fcn.004ec420
mov esi, eax
test esi, esi
jne 0x4eacbc
cmp dword [ebp - 0x488], 0xe0fffff0
jne 0x4eb1e9
lea eax, [ebp - 0x488]
mov ecx, ebx
push eax
push edi
call fcn.004ec420
cmp dword [ebp - 0x488], 0x10000
mov esi, eax
jne 0x4eb240
test esi, esi
jne 0x4eacbc
lea eax, [ebp - 0x414]
mov ecx, ebx
push eax
push 0x200
push edi
call fcn.004ecb10
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x414]
push eax
lea ecx, [ebp - 0x490]
call fcn.00477740
mov esi, eax
test esi, esi
js 0x4eb297
jne 0x4eacbc
lea eax, [ebp - 0x498]
mov ecx, ebx
push eax
push edi
call fcn.004ec420
mov esi, eax
xor eax, eax
mov dword [ebp - 0x494], eax
cmp eax, dword [ebp - 0x498]
jae 0x4eb07b
test esi, esi
jne 0x4eb0bb
push 0x2ae8
push 0x40
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov edi, eax
mov dword [ebp - 0x48c], edi
test edi, edi
jne 0x4ead8f
mov esi, 0x80010002
mov dword [0x6183ec], 2
test esi, esi
jne 0x4eae65
push edi
lea eax, [ebx + 0x418]
mov ecx, ebx
push eax
call fcn.004eff30
mov esi, eax
test esi, esi
jne 0x4eae65
lea eax, [edi + 0x2ad4]
mov ecx, ebx
push eax
lea eax, [ebx + 0x418]
push eax
call fcn.004ec420
mov esi, eax
test esi, esi
jne 0x4eae65
mov eax, dword [edi + 0x2ad4]
test eax, eax
je 0x4eae71
imul eax, eax, 0x628
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov dword [edi + 0x2ad8], eax
test eax, eax
je 0x4eadbb
push eax
push dword [edi + 0x2ad4]
lea eax, [ebx + 0x418]
mov ecx, ebx
push eax
call fcn.004f0300
mov esi, eax
test esi, esi
jne 0x4eae65
jmp 0x4eae7b
lea eax, [ebp - 0x488]
mov ecx, ebx
push eax
lea eax, [ebx + 0x418]
push eax
call fcn.004ec420
cmp dword [ebp - 0x488], 0xe0ffffe0
mov esi, eax
jne 0x4eb2e0
jmp 0x4ead04
mov esi, 0x80010002
mov dword [0x6183ec], 2
test esi, esi
jne 0x4eae65
mov edi, dword [ebp - 0x48c]
xor eax, eax
mov word [ebp - 0x430], ax
mov dword [ebp - 0x420], esi
mov dword [ebp - 0x41c], 7
lea edx, [edi + 0x208]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x48c], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4eae02
sub ecx, dword [ebp - 0x48c]
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x430]
call fcn.004035d0
mov dword [ebp - 0x418], edi
lea eax, [ebp - 0x430]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebx + 0x590]
call fcn.00407880
push eax
add eax, 0x10
push eax
push ecx
lea eax, [ebp - 0x4cc]
push eax
lea ecx, [ebx + 0x590]
call fcn.004078e0
lea ecx, [ebp - 0x430]
mov byte [ebp - 4], 2
call fcn.00403570
mov eax, dword [ebp - 0x494]
inc eax
jmp 0x4eacbe
mov dword [edi + 0x2ad8], 0
push 0x14
push 0x40
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov dword [edi + 0x2adc], eax
test eax, eax
je 0x4eaea2
push eax
lea eax, [ebx + 0x418]
mov ecx, ebx
push eax
call fcn.004f0520
mov esi, eax
jmp 0x4eaeb1
mov esi, 0x80010002
mov dword [0x6183ec], 2
cmp si, 0x54
jne 0x4eaed4
mov eax, dword [edi + 0x2adc]
test eax, eax
je 0x4eaed8
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov dword [edi + 0x2adc], 0
jmp 0x4eaed8
test esi, esi
jne 0x4eae65
lea eax, [edi + 0x2ae0]
mov ecx, ebx
push eax
lea eax, [ebx + 0x418]
push eax
call fcn.004ec420
mov esi, eax
test esi, esi
jne 0x4eae65
mov eax, dword [edi + 0x2ae0]
test eax, eax
je 0x4eb045
imul eax, eax, 0x208
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov dword [ebp - 0x4b4], eax
mov dword [edi + 0x2ae4], eax
test eax, eax
je 0x4eadbb
mov eax, dword [edi + 0x2ae0]
push ecx
push str.CBaseInfoPrinterEx::ReadDetails_ColorInfo
lea ecx, [ebp - 0x44c]
mov dword [ebp - 0x4b0], eax
call fcn.0040a480
mov byte [ebp - 4], 3
mov ecx, dword [0x608f30]
cmp ecx, 0x608f30
je 0x4eaf8d
test byte [ecx + 0x1c], 1
je 0x4eaf8d
cmp dword [0x608f68], 8
mov eax, 0x608f54
mov edx, 0x5daec4
cmovae eax, dword [0x608f54]
push eax
push dword [ecx + 0x14]
push dword [ecx + 0x10]
lea ecx, [esi + 0x6d]
call fcn.00401840
mov ecx, dword [0x608f30]
add esp, 0xc
xor esi, esi
xor edi, edi
cmp edi, dword [ebp - 0x4b0]
jae 0x4eafea
test esi, esi
jne 0x4eafea
imul eax, edi, 0x208
mov ecx, ebx
add eax, dword [ebp - 0x4b4]
push eax
push 0x208
lea eax, [ebx + 0x418]
push eax
call fcn.004ecb10
mov esi, eax
mov eax, dword [ebx + 0x418]
mov eax, dword [eax + 4]
test byte [eax + ebx + 0x424], 1
je 0x4eafe1
mov esi, 0x80010006
mov dword [0x6183ec], 6
mov ecx, dword [0x608f30]
inc edi
jmp 0x4eaf91
mov byte [ebp - 0x448], 1
cmp ecx, 0x608f30
je 0x4eb02c
test byte [ecx + 0x1c], 1
je 0x4eb02c
cmp dword [0x608f68], 8
mov eax, 0x608f54
push esi
cmovae eax, dword [0x608f54]
mov edx, 0x5daec4
push eax
push dword [ecx + 0x14]
push dword [ecx + 0x10]
mov ecx, 0x6e
call fcn.004018a0
add esp, 0x10
lea ecx, [ebp - 0x44c]
mov byte [ebp - 4], 2
call fcn.0040a570
test esi, esi
jne 0x4eae65
jmp 0x4eb04f
mov dword [edi + 0x2ae4], 0
lea eax, [ebp - 0x488]
mov ecx, ebx
push eax
lea eax, [ebx + 0x418]
push eax
call fcn.004ec420
cmp dword [ebp - 0x488], 0xe0ffffee
mov esi, eax
jne 0x4eb337
jmp 0x4eadca
test esi, esi
jne 0x4eb0bb
lea eax, [ebp - 0x488]
mov ecx, ebx
push eax
lea edi, [ebx + 0x418]
push edi
call fcn.004ec420
cmp dword [ebp - 0x488], 0xe0ffffff
mov esi, eax
jne 0x4eb38e
test esi, esi
jne 0x4eb0bb
lea eax, [ebp - 0x49c]
mov ecx, ebx
push eax
push edi
call fcn.004ec420
mov esi, eax
lea edi, [ebx + 0x418]
lea ecx, [edi + 0x10]
call fcn.0042b530
test eax, eax
jne 0x4eb0ee
mov eax, dword [edi]
push 0
mov ecx, dword [eax + 4]
xor eax, eax
add ecx, edi
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.004133b0
test esi, esi
jne 0x4eb16d
lea ecx, [ebp - 0x494]
call fcn.0046a2f0
push 4
lea eax, [ebx + 0x210]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0x494]
call fcn.00470140
cmp dword [ebp - 0x49c], eax
je 0x4eb12c
mov esi, 0x80010052
mov dword [0x6183ec], 0x52
lea ecx, [ebp - 0x494]
call fcn.0046a3c0
jmp 0x4eb16d
mov esi, 0x80010005
mov dword [0x6183ec], 5
jmp 0x4eb16d
mov byte [ebp - 0x480], 1
mov ecx, dword [0x608f30]
cmp ecx, 0x608f30
je 0x4eb1b5
test byte [ecx + 0x1c], 1
je 0x4eb1b5
cmp dword [0x608f68], 8
mov eax, 0x608f54
push esi
cmovae eax, dword [0x608f54]
mov edx, 0x5daec4
push eax
push dword [ecx + 0x14]
push dword [ecx + 0x10]
mov ecx, 0x3c
call fcn.004018a0
add esp, 0x10
lea ecx, [ebp - 0x490]
call fcn.00475ed0
lea ecx, [ebp - 0x484]
call fcn.0040a570
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0056d977
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x608f30]
cmp ecx, 0x608f30
je 0x4eb21b
test byte [ecx + 0x1c], 4
je 0x4eb21b
call fcn.0040a810
push eax
push dword [ecx + 0x14]
mov edx, 0x5daec4
push dword [ecx + 0x10]
mov ecx, 0x36
call fcn.00401840
add esp, 0xc
push 0x604f40
lea eax, [ebp - 0x4a0]
mov dword [0x6183ec], 6
push eax
mov dword [ebp - 0x4a0], 0x80010006
call fcn.00571ef7
mov ecx, dword [0x608f30]
cmp ecx, 0x608f30
je 0x4eb272
test byte [ecx + 0x1c], 4
je 0x4eb272
call fcn.0040a810
push eax
push dword [ecx + 0x14]
mov edx, 0x5daec4
push dword [ecx + 0x10]
mov ecx, 0x37
call fcn.00401840
add esp, 0xc
push 0x604f40
lea eax, [ebp - 0x4a4]
mov dword [0x6183ec], 6
push eax
mov dword [ebp - 0x4a4], 0x80010006
call fcn.00571ef7
mov ecx, dword [0x608f30]
cmp ecx, 0x608f30
je 0x4eb2c9
test byte [ecx + 0x1c], 4
je 0x4eb2c9
call fcn.0040a810
push eax
push dword [ecx + 0x14]
mov edx, 0x5daec4
push dword [ecx + 0x10]
mov ecx, 0x38
call fcn.00401840
add esp, 0xc
push 0x604f40
lea eax, [ebp - 0x4a8]
mov dword [ebp - 0x4a8], esi
push eax
call fcn.00571ef7
mov ecx, dword [0x608f30]
cmp ecx, 0x608f30
je 0x4eb312
test byte [ecx + 0x1c], 4
je 0x4eb312
call fcn.0040a810
push eax
push dword [ecx + 0x14]
mov edx, 0x5daec4
push dword [ecx + 0x10]
mov ecx, 0x39
call fcn.00401840
add esp, 0xc
push 0x604f40
lea eax, [ebp - 0x4ac]
mov dword [0x6183ec], 6
push eax
mov dword [ebp - 0x4ac], 0x80010006
call fcn.00571ef7
mov ecx, dword [0x608f30]
cmp ecx, 0x608f30
je 0x4eb369
test byte [ecx + 0x1c], 4
je 0x4eb369
call fcn.0040a810
push eax
push dword [ecx + 0x14]
mov edx, 0x5daec4
push dword [ecx + 0x10]
mov ecx, 0x3a
call fcn.00401840
add esp, 0xc
push 0x604f40
lea eax, [ebp - 0x4b8]
mov dword [0x6183ec], 6
push eax
mov dword [ebp - 0x4b8], 0x80010006
call fcn.00571ef7
mov ecx, dword [0x608f30]
cmp ecx, 0x608f30
je 0x4eb3c0
test byte [ecx + 0x1c], 4
je 0x4eb3c0
call fcn.0040a810
push eax
push dword [ecx + 0x14]
mov edx, 0x5daec4
push dword [ecx + 0x10]
mov ecx, 0x3b
call fcn.00401840
add esp, 0xc
push 0x604f40
lea eax, [ebp - 0x4bc]
mov dword [0x6183ec], 6
push eax
mov dword [ebp - 0x4bc], 0x80010006
call fcn.00571ef7
int3