Function at 0x40013823
Capabilities:
Get file system object information
Hide graphical window

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xae4
mov eax, dword [0x40026d24]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x208
xor edi, edi
lea eax, [ebp - 0x61c]
push edi
xor ebx, ebx
mov esi, ecx
push eax
inc ebx
call sub.msvcrt.dll_memset
push 0x208
lea eax, [ebp - 0x414]
push edi
push eax
call sub.msvcrt.dll_memset
mov eax, dword [esi + 8]
xor ecx, ecx
add esp, 0x18
mov dword [ebp - 0xae0], ecx
cmp dword [eax], ecx
jbe 0x40013997
test edi, edi
je 0x40013888
test ebx, ebx
je 0x40013997
mov edx, ecx
mov ecx, eax
call fcn.40015f21
mov dword [ebp - 0xadc], eax
test eax, eax
je 0x4001397f
test edi, edi
jne 0x40013911
push 0x2b4
lea eax, [ebp - 0xad8]
push edi
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0xad8]
push 0x408
push 0x2b4
push eax
push edi
push dword [ebp - 0xadc]
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
lea eax, [ebp - 0x8c4]
push eax
cmp word [ebp - 0x414], di
jne 0x400138f8
mov edx, 0x104
lea ecx, [ebp - 0x414]
call fcn.4000a3fe
jmp 0x4001390b
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
neg eax
sbb edi, edi
neg edi
mov eax, dword [ebp - 0xadc]
test ebx, ebx
je 0x40013973
push 0
push ecx
lea ecx, [ebp - 0x824]
mov edx, 0xc000
push ecx
mov ecx, eax
call fcn.40015e4d
test eax, eax
js 0x40013973
lea eax, [ebp - 0x824]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
cmp word [ebp - 0x61c], 0
lea eax, [ebp - 0x824]
push eax
jne 0x4001395f
mov edx, 0x104
lea ecx, [ebp - 0x61c]
call fcn.4000a3fe
jmp 0x40013973
lea eax, [ebp - 0x61c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
mov ebx, eax
neg ebx
sbb ebx, ebx
inc ebx
push dword [ebp - 0xadc]
call dword [sym.imp.SHELL32.dll_Ordinal_12443]
mov ecx, dword [ebp - 0xae0]
mov eax, dword [esi + 8]
inc ecx
mov dword [ebp - 0xae0], ecx
cmp ecx, dword [eax]
jb 0x4001387c
push 1
push 0
lea eax, [ebp - 0xae4]
push eax
push 0xffffff7b
push 0x40002380
call dword [sym.imp.SHELL32.dll_ExtractIconExW]
test eax, eax
je 0x400139c9
push dword [ebp - 0xae4]
mov ecx, dword [esi + 4]
mov edx, 0x137
call fcn.4001700f
push 5
push 0x14c
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push 0
push 0x138
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
test edi, edi
lea eax, [ebp - 0x20c]
mov edi, 0x104
push edi
push eax
je 0x40013a1b
push 0x145
push dword [0x40027300]
call dword [sym.imp.USER32.dll_LoadStringW]
jmp 0x40013a3e
push 0x147
push dword [0x40027300]
call dword [sym.imp.USER32.dll_LoadStringW]
lea eax, [ebp - 0x414]
push eax
lea ecx, [ebp - 0x20c]
call fcn.4000a31a
lea eax, [ebp - 0x20c]
push eax
push 0x13b
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
lea eax, [ebp - 0x20c]
push edi
push eax
test ebx, ebx
je 0x40013a84
push 0x146
push dword [0x40027300]
call dword [sym.imp.USER32.dll_LoadStringW]
lea eax, [ebp - 0x61c]
push eax
lea ecx, [ebp - 0x20c]
call fcn.4000a31a
jmp 0x40013a95
push 0x148
push dword [0x40027300]
call dword [sym.imp.USER32.dll_LoadStringW]
lea eax, [ebp - 0x20c]
push eax
push 0x13e
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
push dword [esi + 0x28]
mov edx, dword [esi + 0x24]
mov ecx, dword [esi + 4]
call fcn.4001362a
cmp dword [esi + 0x20], 0
jne 0x40013ad1
push 0x40014210
push 8
push esi
push 0x400140f0
call dword [sym.imp.SHLWAPI.dll_SHCreateThread]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.400215e0
mov esp, ebp
pop ebp
ret