Function at 0x45d9e0
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push 0xffffffffffffffff
push 0x64dcc8
mov eax, dword fs:[0]
push eax
sub esp, 0x10
mov eax, dword [0x758898]
xor eax, esp
mov dword [esp + 0xc], eax
push ebx
push esi
mov eax, dword [0x758898]
xor eax, esp
push eax
lea eax, [esp + 0x1c]
mov dword fs:[0], eax
xor ebx, ebx
xor eax, eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x14], ebx
mov word [esp + 0x10], ax
mov dword [esp + 0x24], eax
mov eax, dword [0x75dc58]
test eax, eax
jne 0x45da33
mov eax, 0x75dc5c
push 0
push str.idmmkb.dll
push eax
push 0x678de0
lea ecx, [esp + 0x1c]
call fcn.00402330
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x45da55
lea eax, [esp + 0x10]
mov esi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
push eax
call esi
cmp eax, 0xffffffff
jne 0x45da68
mov ebx, 1
mov eax, dword [0x75dc58]
test eax, eax
jne 0x45da76
mov eax, 0x75dc5c
push 0
push str.Uninstall.exe
push eax
push 0x678de0
lea ecx, [esp + 0x1c]
call fcn.00402330
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x45da98
lea eax, [esp + 0x10]
push eax
call esi
cmp eax, 0xffffffff
jne 0x45daa1
inc ebx
mov eax, dword [0x75dc58]
test eax, eax
jne 0x45daaf
mov eax, 0x75dc5c
push 0
push str.IDManTypeInfo.tlb
push eax
push 0x678de0
lea ecx, [esp + 0x1c]
call fcn.00402330
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x45dad1
lea eax, [esp + 0x10]
push eax
call esi
cmp eax, 0xffffffff
jne 0x45dada
inc ebx
mov eax, dword [0x75dc58]
test eax, eax
jne 0x45dae8
mov eax, 0x75dc5c
push 0
push str.IDMIECC.dll
push eax
push 0x678de0
lea ecx, [esp + 0x1c]
call fcn.00402330
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x45db0a
lea eax, [esp + 0x10]
push eax
call esi
cmp eax, 0xffffffff
jne 0x45db13
inc ebx
mov eax, dword [0x75dc58]
test eax, eax
jne 0x45db21
mov eax, 0x75dc5c
push 0
push str.IDMGetAll.dll
push eax
push 0x678de0
lea ecx, [esp + 0x1c]
call fcn.00402330
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x45db43
lea eax, [esp + 0x10]
push eax
call esi
cmp eax, 0xffffffff
jne 0x45db4c
inc ebx
mov eax, dword [0x75dc58]
test eax, eax
jne 0x45db5a
mov eax, 0x75dc5c
push 0
push str.IEExt.htm
push eax
push 0x678de0
lea ecx, [esp + 0x1c]
call fcn.00402330
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x45db7c
lea eax, [esp + 0x10]
push eax
call esi
cmp eax, 0xffffffff
jne 0x45db85
inc ebx
mov eax, dword [0x75dc58]
test eax, eax
jne 0x45db93
mov eax, 0x75dc5c
push 0
push str.IEGetAll.htm
push eax
push 0x678de0
lea ecx, [esp + 0x1c]
call fcn.00402330
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x45dbb5
lea eax, [esp + 0x10]
push eax
call esi
cmp eax, 0xffffffff
jne 0x45dbbe
inc ebx
mov eax, dword [0x75dc58]
test eax, eax
jne 0x45dbcc
mov eax, 0x75dc5c
push 0
push str.IDMGrHlp.exe
push eax
push 0x678de0
lea ecx, [esp + 0x1c]
call fcn.00402330
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x45dbee
lea eax, [esp + 0x10]
push eax
call esi
cmp eax, 0xffffffff
jne 0x45dbf7
inc ebx
mov eax, dword [0x75dc58]
test eax, eax
jne 0x45dc05
mov eax, 0x75dc5c
push 0
push str.IDMShellExt.dll
push eax
push 0x678de0
lea ecx, [esp + 0x1c]
call fcn.00402330
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x45dc27
lea eax, [esp + 0x10]
push eax
call esi
cmp eax, 0xffffffff
jne 0x45dc30
inc ebx
mov eax, dword [0x75dc58]
test eax, eax
jne 0x45dc3e
mov eax, 0x75dc5c
push 0
push str.downlWithIDM.dll
push eax
push 0x678de0
lea ecx, [esp + 0x1c]
call fcn.00402330
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x45dc60
lea eax, [esp + 0x10]
push eax
call esi
cmp eax, 0xffffffff
jne 0x45dc69
inc ebx
mov eax, dword [0x75dc58]
test eax, eax
jne 0x45dc77
mov eax, 0x75dc5c
push 0
push 0x67d744
push eax
push 0x678de0
lea ecx, [esp + 0x1c]
call fcn.00402330
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x45dc99
lea eax, [esp + 0x10]
push eax
call esi
cmp eax, 0xffffffff
jne 0x45dca2
inc ebx
mov eax, dword [0x75dc58]
test eax, eax
jne 0x45dcb0
mov eax, 0x75dc5c
push 0
push str.idmvs.dll
push eax
push 0x678de0
lea ecx, [esp + 0x1c]
call fcn.00402330
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x45dcd2
lea eax, [esp + 0x10]
push eax
call esi
cmp eax, 0xffffffff
jne 0x45dcdb
inc ebx
mov eax, dword [0x75dc58]
test eax, eax
jne 0x45dce9
mov eax, 0x75dc5c
push 0
push str.idmvconv.dll
push eax
push 0x678de0
lea ecx, [esp + 0x1c]
call fcn.00402330
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x45dd0b
lea eax, [esp + 0x10]
push eax
call esi
cmp eax, 0xffffffff
jne 0x45dd14
inc ebx
mov eax, dword [0x75dc58]
test eax, eax
jne 0x45dd22
mov eax, 0x75dc5c
push 0
push str.IDMGCExt.crx
push eax
push 0x678de0
lea ecx, [esp + 0x1c]
call fcn.00402330
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x45dd44
lea eax, [esp + 0x10]
push eax
call esi
cmp eax, 0xffffffff
jne 0x45dd4d
inc ebx
mov eax, dword [0x75dc58]
test eax, eax
jne 0x45dd5b
mov eax, 0x75dc5c
push 0
push str.IDMNetMon.dll
push eax
push 0x678de0
lea ecx, [esp + 0x1c]
call fcn.00402330
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x45dd7d
lea eax, [esp + 0x10]
push eax
call esi
cmp eax, 0xffffffff
jne 0x45dd86
inc ebx
cmp dword [0x75dbc0], 0
je 0x45de1f
mov eax, dword [0x75dc58]
test eax, eax
jne 0x45dda1
mov eax, 0x75dc5c
push 0
push str.IDMShellExtAA.dll
push eax
push 0x678de0
lea ecx, [esp + 0x1c]
call fcn.00402330
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x45ddc3
lea eax, [esp + 0x10]
push eax
call esi
cmp eax, 0xffffffff
jne 0x45ddcc
inc ebx
mov eax, dword [0x75dc58]
test eax, eax
jne 0x45ddda
mov eax, 0x75dc5c
push 0
push str.IDMNetMonAA.dll
push eax
push 0x678de0
lea ecx, [esp + 0x1c]
call fcn.00402330
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x45ddfc
lea eax, [esp + 0x10]
push eax
call esi
cmp eax, 0xffffffff
jne 0x45de05
inc ebx
mov eax, dword [0x75dc58]
test eax, eax
jne 0x45de13
mov eax, 0x75dc5c
push 0
push str.idmbrbtnAA.dll
jmp 0x45df5e
call fcn.00447810
test eax, eax
je 0x45df82
mov eax, dword [0x75dc58]
test eax, eax
jne 0x45de3a
mov eax, 0x75dc5c
push 0
push str.IDMShellExt64.dll
push eax
push 0x678de0
lea ecx, [esp + 0x1c]
call fcn.00402330
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x45de5c
lea eax, [esp + 0x10]
push eax
call esi
cmp eax, 0xffffffff
jne 0x45de65
inc ebx
mov eax, dword [0x75dc58]
test eax, eax
jne 0x45de73
mov eax, 0x75dc5c
push 0
push str.IDMNetMon64.dll
push eax
push 0x678de0
lea ecx, [esp + 0x1c]
call fcn.00402330
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x45de95
lea eax, [esp + 0x10]
push eax
call esi
cmp eax, 0xffffffff
jne 0x45de9e
inc ebx
mov eax, dword [0x75dc58]
test eax, eax
jne 0x45deac
mov eax, 0x75dc5c
push 0
push str.IDMIECC64.dll
push eax
push 0x678de0
lea ecx, [esp + 0x1c]
call fcn.00402330
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x45dece
lea eax, [esp + 0x10]
push eax
call esi
cmp eax, 0xffffffff
jne 0x45ded7
inc ebx
mov eax, dword [0x75dc58]
test eax, eax
jne 0x45dee5
mov eax, 0x75dc5c
push 0
push str.IDMGetAll64.dll
push eax
push 0x678de0
lea ecx, [esp + 0x1c]
call fcn.00402330
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x45df07
lea eax, [esp + 0x10]
push eax
call esi
cmp eax, 0xffffffff
jne 0x45df10
inc ebx
mov eax, dword [0x75dc58]
test eax, eax
jne 0x45df1e
mov eax, 0x75dc5c
push 0
push str.downlWithIDM64.dll
push eax
push 0x678de0
lea ecx, [esp + 0x1c]
call fcn.00402330
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x45df40
lea eax, [esp + 0x10]
push eax
call esi
cmp eax, 0xffffffff
jne 0x45df49
inc ebx
mov eax, dword [0x75dc58]
test eax, eax
jne 0x45df57
mov eax, 0x75dc5c
push 0
push str.idmbrbtn64.dll
push eax
push 0x678de0
lea ecx, [esp + 0x1c]
call fcn.00402330
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x45df79
lea eax, [esp + 0x10]
push eax
call esi
cmp eax, 0xffffffff
jne 0x45df82
inc ebx
mov dword [esp + 0x24], 0xffffffff
lea ecx, [esp + 0xc]
call fcn.00401210
mov eax, ebx
mov ecx, dword [esp + 0x1c]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebx
mov ecx, dword [esp + 0xc]
xor ecx, esp
call fcn.0062023e
add esp, 0x1c
ret