Function at 0x4df373
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x788
push esi
push edi
push ecx
lea edi, [ebp - 0x788]
mov ecx, 0x1e2
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
pop ecx
mov eax, dword [0x82be68]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
push 0x273
push str.d:_agent_work3_s_src_vctools_vc7libs_ship_atlmfc_srcmfc_afxshelllistctrl.cpp
mov eax, dword [ebp - 8]
push eax
call fcn.0044ed60
mov ecx, dword [ebp + 8]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0xc], 0
je 0x4df22d
mov dword [ebp - 0x76c], 1
jmp 0x4df237
mov dword [ebp - 0x76c], 0
mov eax, dword [ebp - 0x76c]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x4df25a
push 0x277
push str.d:_agent_work3_s_src_vctools_vc7libs_ship_atlmfc_srcmfc_afxshelllistctrl.cpp
call fcn.004057f9
test eax, eax
je 0x4df25a
int3
cmp dword [ebp - 0x14], 0
jne 0x4df265
call fcn.0044f610
xor edx, edx
jne 0x4df21b
cmp dword [ebp - 0x10], 0
je 0x4df27b
mov dword [ebp - 0x770], 1
jmp 0x4df285
mov dword [ebp - 0x770], 0
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x4df2a8
push 0x278
push str.d:_agent_work3_s_src_vctools_vc7libs_ship_atlmfc_srcmfc_afxshelllistctrl.cpp
call fcn.004057f9
test eax, eax
je 0x4df2a8
int3
cmp dword [ebp - 0x18], 0
jne 0x4df2b3
call fcn.0044f610
xor edx, edx
jne 0x4df269
lea ecx, [ebp - 0x62c]
call fcn.0044fec0
lea ecx, [ebp - 0x75c]
call fcn.0044fec0
mov dword [ebp - 0x764], 0
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x774], eax
cmp dword [ebp - 0x774], 3
ja case.default.0x4df2f3
mov ecx, dword [ebp - 0x774]
jmp dword [ecx*4 + 0x4df668]
mov esi, esp
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 8]
push eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 8]
push edx
push 0
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
mov edx, dword [ebp - 0xc]
mov eax, dword [edx]
mov ecx, dword [ecx]
push eax
mov edx, dword [ecx + 0x1c]
mov dword [ebp - 0x778], edx
mov edi, esp
mov ecx, dword [ebp - 0x778]
call dword [0x770a74]
cmp edi, esp
call fcn.00710bc0
call dword [ebp - 0x778]
cmp esi, esp
call fcn.00710bc0
mov dword [ebp - 0x768], eax
cmp dword [ebp - 0x768], 0
jge 0x4df35a
xor eax, eax
jmp 0x4df5c1
mov eax, dword [ebp - 0x768]
and eax, 0xffff
movsx ecx, ax
mov dword [ebp - 0x764], ecx
jmp case.default.0x4df2f3
mov esi, esp
push 0x408
push 0x160
lea edx, [ebp - 0x17c]
push edx
push 0
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.SHELL32.dll_SHGetFileInfoA]
cmp esi, esp
call fcn.00710bc0
test eax, eax
je 0x4df3ed
mov esi, esp
push 0x408
push 0x160
lea edx, [ebp - 0x2e4]
push edx
push 0
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.SHELL32.dll_SHGetFileInfoA]
cmp esi, esp
call fcn.00710bc0
test eax, eax
je 0x4df3ed
mov esi, esp
lea edx, [ebp - 0x1d4]
push edx
lea eax, [ebp - 0x6c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
cmp esi, esp
call fcn.00710bc0
mov dword [ebp - 0x764], eax
jmp case.default.0x4df2f3
mov esi, esp
lea ecx, [ebp - 0x3f0]
push ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 4]
push eax
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListA]
cmp esi, esp
call fcn.00710bc0
test eax, eax
je 0x4df5b1
push 0
lea ecx, [ebp - 0x62c]
push ecx
lea edx, [ebp - 0x3f0]
push edx
call fcn.004a3bc0
test eax, eax
je 0x4df5b1
mov esi, esp
lea eax, [ebp - 0x4fc]
push eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 4]
push edx
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListA]
cmp esi, esp
call fcn.00710bc0
test eax, eax
je 0x4df5a5
push 0
lea eax, [ebp - 0x75c]
push eax
lea ecx, [ebp - 0x4fc]
push ecx
call fcn.004a3bc0
test eax, eax
je 0x4df5a5
cmp dword [ebp + 0x10], 1
jne 0x4df529
mov edx, dword [ebp - 0x60c]
and edx, 0x10
je 0x4df49a
mov dword [ebp - 0x764], 0xffffffff
jmp 0x4df527
mov eax, dword [ebp - 0x73c]
and eax, 0x10
je 0x4df4b1
mov dword [ebp - 0x764], 1
jmp 0x4df527
mov ecx, dword [ebp - 0x610]
cmp ecx, dword [ebp - 0x740]
ja 0x4df4db
jb 0x4df4cf
mov edx, dword [ebp - 0x614]
cmp edx, dword [ebp - 0x744]
jae 0x4df4db
mov dword [ebp - 0x77c], 0xffffffff
jmp 0x4df51b
mov eax, dword [ebp - 0x610]
cmp eax, dword [ebp - 0x740]
jb 0x4df505
ja 0x4df4f9
mov ecx, dword [ebp - 0x614]
cmp ecx, dword [ebp - 0x744]
jbe 0x4df505
mov dword [ebp - 0x780], 1
jmp 0x4df50f
mov dword [ebp - 0x780], 0
mov edx, dword [ebp - 0x780]
mov dword [ebp - 0x77c], edx
mov eax, dword [ebp - 0x77c]
mov dword [ebp - 0x764], eax
jmp 0x4df5a3
mov ecx, dword [ebp - 0x750]
push ecx
mov edx, dword [ebp - 0x754]
push edx
lea ecx, [ebp - 0x624]
call fcn.004ddb70
movzx eax, al
test eax, eax
je 0x4df555
mov dword [ebp - 0x784], 0xffffffff
jmp 0x4df597
mov ecx, dword [ebp - 0x750]
push ecx
mov edx, dword [ebp - 0x754]
push edx
lea ecx, [ebp - 0x624]
call fcn.004ddbd0
movzx eax, al
test eax, eax
je 0x4df581
mov dword [ebp - 0x788], 1
jmp 0x4df58b
mov dword [ebp - 0x788], 0
mov ecx, dword [ebp - 0x788]
mov dword [ebp - 0x784], ecx
mov edx, dword [ebp - 0x784]
mov dword [ebp - 0x764], edx
jmp 0x4df5af
mov dword [ebp - 0x764], 1
jmp case.default.0x4df2f3
mov dword [ebp - 0x764], 0xffffffff
mov eax, dword [ebp - 0x764]
push edx
mov ecx, ebp
push eax
lea edx, [0x4df5f4]
call fcn.00710b50
pop eax
pop edx
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0070ffb0
add esp, 0x788
cmp ebp, esp
call fcn.00710bc0
mov esp, ebp
pop ebp
ret 0xc