Function at 0x460460
Capabilities:
Get file system object information

Disassembly:
push ebp
lea ebp, [esp - 0x5400]
mov eax, 0x5400
call fcn.0052f720
push 0xffffffffffffffff
push 0x54e4d3
mov eax, dword fs:[0]
push eax
sub esp, 0xa4
mov eax, dword [0x58bb30]
xor eax, ebp
mov dword [ebp + 0x53fc], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [ebp + 0x5408]
inc dword [0x5923d8]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0
push 1
push 0xffffffffffffffff
push 0x100c
push dword [edi + 0x28]
call dword [sym.imp.USER32.dll_SendMessageW]
push 1
mov ecx, 0x5c53e0
mov dword [ebp - 0x20], eax
call fcn.004d7de0
push 0
push 0x1c2
call fcn.004b68d0
push eax
mov ecx, 0x5c53e0
call fcn.004d7d10
mov eax, dword [0x593408]
cmp eax, 0xffffffff
je 0x46050b
push eax
call dword [sym.imp.KERNEL32.dll_FindCloseChangeNotification]
mov dword [0x593408], 0xffffffff
cmp byte [edi + 0x103a], 0
lea ebx, [edi + 0x103c]
je 0x460529
mov ecx, 0x5c53d4
call fcn.00404450
jmp 0x4605cd
push ebx
call fcn.00490c30
test al, al
jne 0x46055e
push 0x5c
push ebx
call fcn.00531a1b
add esp, 8
test eax, eax
je 0x460553
xor ecx, ecx
push ebx
mov word [eax], cx
call fcn.00490c30
test al, al
je 0x460533
jmp 0x46055e
push 0x800
push ebx
call fcn.004fda50
push 0
push str.FullPathsTitle
push 0x557ef4
call fcn.004cf550
test eax, eax
je 0x460577
mov eax, ebx
jmp 0x46057d
push ebx
call fcn.004a2d90
cmp word [eax], 0
jne 0x460585
mov eax, ebx
push eax
call fcn.00516ff0
push ebx
call fcn.004a1e20
mov esi, eax
cmp esi, 0xffffffff
je 0x4605ae
call fcn.004fc6b0
mov edx, 1
mov ecx, esi
shl edx, cl
test edx, eax
je 0x460cf5
mov ecx, 0x5c53d4
call fcn.00404c30
mov ecx, 0x594454
call fcn.004dd910
push ebx
mov ecx, 0x594454
call fcn.004dddf0
push 0
push 0
push 0xb
push dword [edi + 0x28]
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, edi
call fcn.0045c1b0
push 0x4401
push 0x2b4
lea eax, [ebp + 0x3148]
push eax
push 0
push 0x557b90
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
test eax, eax
jne 0x460637
push eax
push 0x800
lea eax, [ebp + 0x43fc]
push eax
call fcn.004fc5c0
push 0x4401
push 0x2b4
lea eax, [ebp + 0x3148]
push eax
push 0
lea eax, [ebp + 0x43fc]
push eax
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
push eax
push 1
push 0x1003
push dword [edi + 0x28]
call dword [sym.imp.USER32.dll_SendMessageW]
push ebx
call fcn.004fc730
push 0
push str.ShowSeconds
push str.FileList
mov byte [ebp - 0xe], al
call fcn.004cf550
test eax, eax
mov ecx, edi
setne byte [ebp - 0x18]
cmp byte [edi + 0x103a], 0
je 0x46067d
call fcn.00460d30
jmp 0x460bdd
push 0
push 0
push ebx
call fcn.00452510
push ebx
call fcn.004fe490
push 0x800
lea eax, [ebp + 0x33fc]
push eax
push 0x5578cc
push ebx
call fcn.004a25d0
lea ecx, [ebp]
call fcn.004926b0
mov byte [ebp - 4], 1
lea eax, [ebp + 0x33fc]
push eax
lea ecx, [ebp]
call fcn.004928b0
push 1
push str.ExactSizes
xor al, al
mov dword [ebp + 0x3110], 0
xor ebx, ebx
mov dword [ebp + 0x3114], 0
push str.FileList
mov dword [ebp + 0x3118], 0
mov dword [ebp + 0x311c], 0
mov dword [ebp + 0x3120], 0
mov dword [ebp + 0x3124], 0
mov dword [ebp - 0x14], ebx
mov byte [ebp - 0xd], al
call fcn.004cf550
test eax, eax
lea ecx, [ebp - 0xac]
push 0x1f4
setne byte [ebp - 0xf]
call fcn.004fbb60
mov byte [ebp - 4], 2
jmp 0x460735
mov ebx, dword [ebp - 0x14]
push 0
lea eax, [ebp + 0x2100]
push eax
lea ecx, [ebp]
call fcn.00492790
test al, al
je 0x460ae9
test bl, 0x1f
jne 0x46075e
lea ecx, [ebp - 0xac]
call fcn.004fd2f0
lea eax, [ebp + 0x2100]
push eax
call fcn.004a2d90
mov dword [ebp - 0x24], eax
mov edx, 0x557b90
mov ecx, eax
mov si, word [ecx]
cmp si, word [edx]
jne 0x46079a
test si, si
je 0x460796
mov ax, word [ecx + 2]
cmp ax, word [edx + 2]
jne 0x46079a
add ecx, 4
add edx, 4
test ax, ax
jne 0x460774
xor eax, eax
jmp 0x46079f
sbb eax, eax
or eax, 1
test eax, eax
je 0x460735
mov esi, dword [ebp - 0x24]
mov ecx, 0x5579f0
mov dword [ebp - 0x9c], 7
mov eax, esi
mov dword [ebp - 0x98], ebx
mov dword [ebp - 0x80], 0xffffffff
mov dword [ebp - 0x94], 0
mov edi, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4607f6
test dx, dx
je 0x4607f2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4607f6
add eax, 4
add ecx, 4
test dx, dx
jne 0x4607d0
xor ebx, ebx
jmp 0x4607fb
sbb ebx, ebx
or ebx, 1
test ebx, ebx
jne 0x460815
cmp byte [ebp - 0xe], bl
jne 0x460732
mov eax, dword [ebp + 0x314c]
mov dword [ebp - 0x80], eax
mov byte [ebp - 0xd], 1
push 0x10f8
lea eax, [ebp + 0x1008]
push 0
push eax
call fcn.00531c60
add esp, 0xc
lea eax, [ebp + 0x1008]
push 0x800
push esi
push eax
call fcn.004bd090
push esi
mov ecx, edi
call fcn.0045b8f0
mov eax, dword [ebp + 0x3100]
mov ecx, dword [ebp + 0x3104]
mov dword [ebp + 0x2088], eax
mov eax, dword [ebp + 0x3108]
push eax
mov dword [ebp + 0x208c], ecx
mov dword [ebp + 0x2090], 0
mov dword [ebp + 0x2094], 0
mov dword [ebp + 0x20b0], eax
call fcn.00490e40
mov ecx, dword [ebp + 0x3114]
mov byte [ebp + 0x20e4], al
mov eax, dword [ebp + 0x3110]
mov dword [ebp + 0x2098], eax
mov eax, dword [ebp + 0x3118]
mov dword [ebp + 0x20a0], eax
mov eax, dword [ebp + 0x3120]
mov dword [ebp + 0x209c], ecx
mov ecx, dword [ebp + 0x311c]
mov dword [ebp + 0x20a8], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp + 0x20a4], ecx
inc eax
cmp byte [ebp + 0x310d], 0
mov ecx, dword [ebp + 0x3124]
mov dword [ebp + 0x20ac], ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp + 0x20f4], eax
je 0x4608fd
xor eax, eax
cmp byte [ebp + 0x310e], al
setne al
add eax, 2
mov dword [ebp + 0x20e0], eax
lea eax, [ebp + 0x1008]
mov ecx, 0x5cb050
push eax
call fcn.004598e0
mov dword [ebp - 0x7c], eax
mov ecx, esi
lea eax, [ebp + 0x2100]
sub ecx, eax
mov eax, 0x800
sar ecx, 1
sub eax, ecx
push eax
push esi
call fcn.004fd9c0
lea eax, [ebp - 0x9c]
mov dword [ebp - 0x88], esi
push eax
push 0
push 0x104d
push dword [edi + 0x28]
call dword [sym.imp.USER32.dll_SendMessageW]
mov esi, eax
mov eax, dword [0x5cb07c]
cmp eax, 0xffffffff
je 0x4609dd
cmp byte [ebp + 0x310c], 0
jne 0x4609c0
cmp byte [ebp - 0xf], 0
lea eax, [ebp + 0x5398]
je 0x460994
push 0x32
push eax
push dword [ebp + 0x208c]
push dword [ebp + 0x2088]
call fcn.004d7e50
mov eax, dword [0x5cb07c]
mov dword [ebp - 0x58], eax
lea eax, [ebp + 0x5398]
mov dword [ebp - 0x4c], eax
jmp 0x4609ca
push 0x5e6
push 0x32
push eax
push dword [ebp + 0x208c]
push dword [ebp + 0x2088]
call fcn.004d7f10
mov eax, dword [0x5cb07c]
mov dword [ebp - 0x58], eax
lea eax, [ebp + 0x5398]
mov dword [ebp - 0x4c], eax
jmp 0x4609ca
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x4c], 0x557718
lea eax, [ebp - 0x60]
push eax
push esi
push 0x1074
push dword [edi + 0x28]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [0x5cb084]
cmp eax, 0xffffffff
je 0x460a14
mov ecx, dword [edi + 0x28]
mov dword [ebp - 0x58], eax
test ebx, ebx
jne 0x4609fc
lea eax, [ebp + 0x335c]
mov dword [ebp - 0x4c], eax
jmp 0x460a03
mov dword [ebp - 0x4c], 0xffffffff
lea eax, [ebp - 0x60]
push eax
push esi
push 0x1074
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [0x5cb088], 0xffffffff
mov ebx, dword [ebp - 0x18]
je 0x460a5a
push 0x64
lea eax, [ebp + 0x5334]
push eax
push ebx
lea eax, [ebp + 0x3138]
push eax
call fcn.004fe560
mov eax, dword [0x5cb088]
mov dword [ebp - 0x58], eax
lea eax, [ebp + 0x5334]
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x60]
push eax
push esi
push 0x1074
push dword [edi + 0x28]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [0x5cb08c], 0xffffffff
je 0x460a9d
push 0x64
lea eax, [ebp + 0x5334]
push eax
push ebx
lea eax, [ebp + 0x3128]
push eax
call fcn.004fe560
mov eax, dword [0x5cb08c]
mov dword [ebp - 0x58], eax
lea eax, [ebp + 0x5334]
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x60]
push eax
push esi
push 0x1074
push dword [edi + 0x28]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [0x5cb090], 0xffffffff
je 0x460732
push 0x64
lea eax, [ebp + 0x5334]
push eax
push ebx
lea eax, [ebp + 0x3130]
push eax
call fcn.004fe560
mov eax, dword [0x5cb090]
mov dword [ebp - 0x58], eax
lea eax, [ebp + 0x5334]
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x60]
push eax
push esi
push 0x1074
push dword [edi + 0x28]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x460732
cmp byte [ebp - 0xd], 0
jne 0x460bbc
cmp byte [ebp - 0xe], 0
jne 0x460bbc
mov eax, dword [ebp + 0x314c]
push 0x10f8
mov dword [ebp - 0x80], eax
lea eax, [ebp + 0x1008]
push 0
push eax
mov dword [ebp - 0x9c], 7
mov dword [ebp - 0x98], ebx
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x88], 0x5579f0
call fcn.00531c60
add esp, 0xc
lea eax, [ebp + 0x1008]
push 0x800
push 0x5579f0
push eax
call fcn.004bd090
lea eax, [ebp + 0x1008]
mov dword [ebp + 0x20b0], 0x10
push eax
mov ecx, 0x5cb050
mov byte [ebp + 0x20e4], 1
call fcn.004598e0
mov dword [ebp - 0x7c], eax
lea eax, [ebp - 0x9c]
push eax
push 0
push 0x104d
push dword [edi + 0x28]
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [0x5cb084]
cmp ecx, 0xffffffff
je 0x460bbc
mov dword [ebp - 0x58], ecx
lea ecx, [ebp + 0x335c]
mov dword [ebp - 0x4c], ecx
lea ecx, [ebp - 0x60]
push ecx
push eax
push 0x1074
push dword [edi + 0x28]
call dword [sym.imp.USER32.dll_SendMessageW]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xac]
call fcn.004fbbb0
mov byte [ebp - 4], 0
lea ecx, [ebp]
call fcn.004926d0
lea ebx, [edi + 0x103c]
mov ecx, edi
call fcn.00462950
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
je 0x460c35
cmp word [ecx], 0
jne 0x460c26
push 0
push 0
push 0x1004
push dword [edi + 0x28]
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [ebp - 0x20]
cmp ecx, eax
jl 0x460c11
test eax, eax
jle 0x460c11
lea ecx, [eax - 1]
lea eax, [ebp - 0x60]
mov dword [ebp - 0x50], 3
push eax
mov dword [ebp - 0x54], 3
push ecx
jmp 0x460c56
push ecx
mov ecx, edi
call fcn.0045d070
test al, al
jne 0x460c64
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x50], 3
mov dword [ebp - 0x54], 3
cmp eax, 0xffffffff
je 0x460c4f
test ecx, ecx
jne 0x460c51
xor eax, eax
lea ecx, [ebp - 0x60]
push ecx
push eax
push 0x102b
push dword [edi + 0x28]
call dword [sym.imp.USER32.dll_SendMessageW]
push 1
push 0xffffffffffffffff
push 0x100c
push dword [edi + 0x28]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0
mov ecx, 0x5c53e0
mov esi, eax
call fcn.004d7d10
push 0
push 1
push 0xb
push dword [edi + 0x28]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0
push 0x102a
push dword [edi + 0x28]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0
push esi
push 0x1013
push dword [edi + 0x28]
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, edi
call fcn.00462400
mov ecx, edi
call fcn.004626a0
push 0
mov ecx, 0x5c53e0
call fcn.004d7de0
mov ecx, 0x5c7954
call fcn.004daf80
cmp byte [edi + 0x103a], 0
jne 0x460cf5
push 3
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_FindFirstChangeNotificationW]
mov dword [0x593408], eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [0x5923d8]
test eax, eax
jle 0x460d0b
dec eax
mov dword [0x5923d8], eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x53fc]
xor ecx, ebp
call fcn.0052f708
lea esp, [ebp + 0x5400]
pop ebp
ret 4