Function at 0x46d55c
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x65
push 0
push 0
dec ecx
jne 0x46d564
push ebx
push esi
push edi
mov dword [ebp - 0x19c], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.004059cc
lea eax, [ebp - 0x198]
mov edx, dword [0x408b30]
call fcn.00405fe8
mov edi, dword [0x49596c]
xor eax, eax
push ebp
push 0x46d8bb
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x46d84a
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x31c]
mov ecx, 0x46d8d4
mov edx, dword [ebp - 4]
call fcn.00405864
mov eax, dword [ebp - 0x31c]
lea ecx, [ebp - 0x198]
mov edx, 0x3f
call fcn.0040a490
mov esi, eax
test esi, esi
jne 0x46d840
mov ebx, dword [ebp - 0x188]
test ebx, 2
jle 0x46d602
lea eax, [ebp - 0x14]
mov edx, 0x46d8e0
call fcn.004055c8
jmp 0x46d60f
lea eax, [ebp - 0x14]
mov edx, 0x46d8ec
call fcn.004055c8
test ebx, 0x20
jle 0x46d626
lea eax, [ebp - 0x1c]
mov edx, 0x46d8f8
call fcn.004055c8
jmp 0x46d633
lea eax, [ebp - 0x1c]
mov edx, 0x46d8ec
call fcn.004055c8
test ebx, 1
jle 0x46d64a
lea eax, [ebp - 0x18]
mov edx, 0x46d904
call fcn.004055c8
jmp 0x46d657
lea eax, [ebp - 0x18]
mov edx, 0x46d8ec
call fcn.004055c8
test ebx, 4
jle 0x46d66e
lea eax, [ebp - 0x20]
mov edx, 0x46d910
call fcn.004055c8
jmp 0x46d67b
lea eax, [ebp - 0x20]
mov edx, 0x46d8ec
call fcn.004055c8
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push dword [ebp - 0x24]
lea eax, [ebp - 0x28]
mov edx, 5
call fcn.004058e0
test ebx, 0x10
jle 0x46d725
lea eax, [ebp - 0x1b0]
push eax
lea ecx, [ebp - 0x1b8]
lea edx, [ebp - 0x1a8]
mov eax, dword [ebp - 0x184]
call fcn.0048d6e8
push dword [ebp - 0x1a4]
push dword [ebp - 0x1a8]
mov edx, dword [edi]
lea eax, [ebp - 0x2c]
call fcn.0040c900
push dword [ebp - 0x1ac]
push dword [ebp - 0x1b0]
mov edx, dword [edi]
lea eax, [ebp - 0x30]
call fcn.0040c900
push dword [ebp - 8]
push dword [ebp - 0x184]
push 0x46d91c
push dword [ebp - 0x2c]
push 0x46d91c
push dword [ebp - 0x30]
push 0x46d91c
push dword [ebp - 0x28]
push 0x46d928
lea eax, [ebp - 8]
mov edx, 9
call fcn.004058e0
jmp 0x46d82b
push 0x400
push 0x160
lea eax, [ebp - 0x318]
push eax
push 0
lea eax, [ebp - 0x320]
mov ecx, dword [ebp - 0x184]
mov edx, dword [ebp - 4]
call fcn.00405864
mov eax, dword [ebp - 0x320]
call fcn.004059dc
push eax
call sub.shell32.dll_SHGetFileInfoA
lea eax, [ebp - 0x10]
lea edx, [ebp - 0x208]
mov ecx, 0x50
call fcn.004057a0
lea eax, [ebp - 0x1b0]
push eax
lea eax, [ebp - 0x324]
mov ecx, dword [ebp - 0x184]
mov edx, dword [ebp - 4]
call fcn.00405864
mov eax, dword [ebp - 0x324]
lea ecx, [ebp - 0x1b8]
lea edx, [ebp - 0x1a8]
call fcn.0048d6e8
push dword [ebp - 0x1a4]
push dword [ebp - 0x1a8]
mov edx, dword [edi]
lea eax, [ebp - 0x34]
call fcn.0040c900
push dword [ebp - 0x1ac]
push dword [ebp - 0x1b0]
mov edx, dword [edi]
lea eax, [ebp - 0x38]
call fcn.0040c900
push dword [ebp - 0xc]
push dword [ebp - 0x184]
push 0x46d91c
push dword [ebp - 0x18c]
push dword [ebp - 0x190]
lea eax, [ebp - 0x328]
call fcn.00409e64
push dword [ebp - 0x328]
push 0x46d91c
push dword [ebp - 0x10]
push 0x46d91c
push dword [ebp - 0x34]
push 0x46d91c
push dword [ebp - 0x38]
push 0x46d91c
push dword [ebp - 0x28]
push 0x46d928
lea eax, [ebp - 0xc]
mov edx, 0xd
call fcn.004058e0
lea eax, [ebp - 0x198]
call fcn.0040a4e0
mov esi, eax
test esi, esi
je 0x46d5e5
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46d859
lea eax, [ebp - 0x198]
call fcn.0040a504
push dword [ebp - 8]
push 0x46d934
push dword [ebp - 0xc]
mov eax, dword [ebp - 0x19c]
mov edx, 3
call fcn.004058e0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x46d8c2
lea eax, [ebp - 0x328]
mov edx, 4
call fcn.00405554
lea eax, [ebp - 0x198]
mov edx, dword [0x408b30]
call fcn.004060ac
lea eax, [ebp - 0x38]
mov edx, 0xe
call fcn.00405554
ret