Function at 0x402460
Capabilities:
Get file system object information

Disassembly:
sub esp, 0xbcc
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov eax, dword [esi]
call dword [eax + 0xc]
test eax, eax
je 0x40280c
mov ebp, dword [esp + 0xbe0]
xor ebx, ebx
cmp ebp, ebx
je 0x40280c
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x571]
mov byte [esp + 0x570], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x671]
mov byte [esp + 0x670], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x471]
mov byte [esp + 0x470], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea ecx, [esp + 0x570]
push ecx
mov ecx, dword [esi + 0x10]
push 0x202
stosb byte es:[edi], al
call sub.LDSERV.dll_Ordinal_374
test eax, eax
je 0x40280c
mov ecx, dword [esi + 0x10]
lea edx, [esp + 0x670]
push edx
push 0x203
call sub.LDSERV.dll_Ordinal_374
test eax, eax
je 0x40280c
mov ecx, dword [esi + 0x10]
lea eax, [esp + 0x470]
push eax
push 0x269
call sub.LDSERV.dll_Ordinal_374
test eax, eax
je 0x40280c
lea ecx, [esp + 0x570]
mov dword [esp + 0x14], 0x4c
push ecx
mov dword [esp + 0x1c], ebp
call sub.LDSERV.dll_Ordinal_438
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x65]
mov byte [esp + 0x64], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0x64]
mov ecx, 0x40
mov dword [esp + 0x34], eax
xor eax, eax
lea edi, [esp + 0x26d]
mov byte [esp + 0x26c], bl
rep stosd dword es:[edi], eax
lea edx, [esp + 0x574]
add esp, 4
stosw word es:[edi], ax
mov dword [esp + 0x20], edx
mov edx, 0x104
stosb byte es:[edi], al
mov dword [esp + 0x34], edx
mov dword [esp + 0x3c], edx
lea eax, [esp + 0x14]
lea ecx, [esp + 0x268]
lea ebp, [esi + 0x317]
lea edx, [esp + 0x670]
push eax
mov dword [esp + 0x28], ebx
mov dword [esp + 0x30], 1
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x44], ebp
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], 0x101800
mov dword [esp + 0x54], ebx
call sub.comdlg32.dll_GetOpenFileNameA
test eax, eax
je 0x40280c
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x165]
mov byte [esp + 0x164], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x771]
mov byte [esp + 0x770], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x36d]
mov byte [esp + 0x36c], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x979]
mov byte [esp + 0x978], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x875]
mov byte [esp + 0x874], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea ecx, [esp + 0x60]
push ecx
stosb byte es:[edi], al
call sub.LDSERV.dll_Ordinal_439
add esp, 4
lea edx, [esp + 0x60]
mov ecx, esi
push edx
call fcn.00403250
test eax, eax
je 0x40271c
lea eax, [esp + 0x10]
lea ecx, [esp + 0x978]
push eax
lea edx, [esp + 0x370]
push ecx
lea eax, [esp + 0x778]
push edx
lea ecx, [esp + 0x880]
push eax
lea edx, [esp + 0x70]
push ecx
push edx
mov ecx, esi
call fcn.00403000
test eax, eax
je 0x40280c
mov al, byte [esp + 0x36c]
cmp al, bl
lea eax, [esp + 0x36c]
jne 0x4026d8
lea eax, [esp + 0x268]
push eax
lea eax, [esp + 0x474]
push ebp
lea ecx, [esp + 0x16c]
push eax
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
mov edx, dword [esp + 0x20]
add esp, 0x10
lea eax, [esp + 0x978]
lea ecx, [esp + 0x36c]
push edx
push eax
lea edx, [esp + 0x778]
push ecx
push edx
lea eax, [esp + 0x884]
jmp 0x4027e6
push 0x200
lea edx, [esp + 0xa80]
push 0x160
push edx
lea eax, [esp + 0x6c]
push ebx
push eax
call dword [sym.imp.SHELL32.dll_SHGetFileInfoA]
test eax, eax
je 0x402799
lea ecx, [esp + 0xa88]
lea edx, [esp + 0x470]
push ecx
push ebp
lea eax, [esp + 0x16c]
push edx
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea ecx, [esp + 0xa88]
lea edx, [esp + 0x60]
lea eax, [esp + 0x164]
push ebx
push ebx
push ecx
push ebx
push edx
push eax
mov ecx, esi
call fcn.00403990
test eax, eax
je 0x40280c
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xbcc
ret 4
lea ecx, [esp + 0x268]
push 0x40702c
push ecx
call dword [sym.imp.MSVCRT.dll_strstr]
add esp, 8
cmp eax, ebx
je 0x4027b5
mov byte [eax], bl
lea edx, [esp + 0x268]
lea eax, [esp + 0x470]
push edx
push ebp
lea ecx, [esp + 0x16c]
push eax
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea edx, [esp + 0xa88]
lea eax, [esp + 0x60]
push ebx
push ebx
push edx
push ebx
lea ecx, [esp + 0x174]
push eax
push ecx
mov ecx, esi
call fcn.00403990
test eax, eax
je 0x40280c
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xbcc
ret 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xbcc
ret 4