Function at 0x461978
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 8
add esp, 0xfffff004
push eax
dec eax
jne 0x461981
mov eax, dword [ebp - 4]
add esp, 0xfffff1a8
push ebx
push esi
push edi
mov dword [ebp - 0x544c], eax
mov eax, 0x4b28d4
call fcn.004a0204
mov edx, dword [ebp - 0x544c]
lea ecx, [ebp - 0x5860]
mov byte [edx + 8], 1
push 0x400
push ecx
push 0
call sub.KERNEL32.DLL_GetModuleFileNameA
push str.Formats
lea eax, [ebp - 0x5860]
call fcn.0040c4d0
push eax
call fcn.0049fdd4
add esp, 8
lea edx, [ebp - 0x59c0]
lea ecx, [ebp - 0x5860]
push 0x4001
push 0x160
push edx
push 0
push ecx
call sub.SHELL32.DLL_SHGetFileInfoA
mov eax, dword [ebp - 0x59bc]
lea edx, [ebp - 0x59c0]
mov dword [ebp - 0x5450], eax
push 0x4003
push 0x160
push edx
lea ecx, [ebp - 0x5860]
push 0
push ecx
call sub.SHELL32.DLL_SHGetFileInfoA
mov eax, dword [ebp - 0x59bc]
lea edx, [ebp - 0x5dc0]
mov dword [ebp - 0x5454], eax
mov eax, 0x4d0b94
xor ecx, ecx
call fcn.00458d64
push 0x4001
lea edx, [ebp - 0x59c0]
push 0x160
push edx
lea eax, [ebp - 0x5dc0]
push 0
push eax
call sub.SHELL32.DLL_SHGetFileInfoA
mov ebx, dword [ebp - 0x59bc]
push 0xffff0000
push 0
push 0x1101
mov eax, dword [ebp - 0x544c]
push dword [eax]
call sub.USER32.DLL_SendMessageA
lea edx, [ebp - 0x5dec]
mov dword [ebp - 0x5458], edx
push 0x28
push 0
push dword [ebp - 0x5458]
call fcn.0049fc54
add esp, 0xc
mov ecx, dword [ebp - 0x5458]
mov dword [ecx], 0x27
lea eax, [ebp - 0x5dc0]
call fcn.0040c4d0
mov edx, dword [ebp - 0x5458]
mov dword [edx + 0x10], eax
xor edx, edx
mov ecx, dword [ebp - 0x5458]
mov dword [ecx + 0x14], 0x400
mov eax, dword [ebp - 0x5458]
mov dword [eax + 0x24], edx
xor edx, edx
mov ecx, dword [ebp - 0x5458]
mov dword [ecx + 0x18], ebx
lea ecx, [ebp - 0x65f4]
mov eax, dword [ebp - 0x5458]
mov dword [eax + 0x1c], ebx
mov dword [ebp - 0x5df0], edx
mov dword [ebp - 0x5df4], 0xffff0000
push 0x800
push 0
push ecx
call fcn.0049fc54
add esp, 0xc
lea eax, [ebp - 0x5df4]
push eax
push 0
push 0x1100
mov edx, dword [ebp - 0x544c]
push dword [edx]
call sub.USER32.DLL_SendMessageA
mov dword [ebp - 0x65f4], eax
mov word [ebp - 0x5438], 8
lea eax, [ebp - 0x5314]
call fcn.00427550
add dword [ebp - 0x542c], 3
mov word [ebp - 0x5438], 0x14
mov word [ebp - 0x5438], 0x20
lea edx, [ebp - 0x5314]
lea eax, [ebp - 0x5424]
call fcn.0041f81c
add dword [ebp - 0x542c], 6
mov word [ebp - 0x5438], 0x14
mov byte [ebp - 0x7624], 0
jmp 0x461cf6
push 0x38
push 0
lea edx, [ebp - 0x765c]
push edx
call fcn.0049fc54
add esp, 0xc
mov dword [ebp - 0x7640], 2
cmp word [ebp - 0x6e24], 0
jne 0x461bcb
lea edx, [ebp - 0x6e24]
lea eax, [ebp - 0x7224]
mov ecx, 0x400
call fcn.004111c4
mov eax, dword [ebp - 0x6614]
call fcn.0040aa90
test al, al
je 0x461bf4
lea edx, [ebp - 0x7224]
mov dword [ebp - 0x765c], edx
lea ecx, [ebp - 0x6e24]
mov dword [ebp - 0x7658], ecx
jmp 0x461c49
lea eax, [ebp - 0x7224]
push eax
lea edx, [ebp - 0x7a5c]
push edx
call fcn.0049fdd4
add esp, 8
lea eax, [ebp - 0x7a5c]
call fcn.0040cad0
lea edx, [ebp - 0x7a5c]
mov dword [ebp - 0x765c], edx
lea edx, [ebp - 0x6e24]
lea eax, [ebp - 0x825c]
call fcn.00411488
lea eax, [ebp - 0x825c]
call fcn.0040cb00
lea edx, [ebp - 0x825c]
mov dword [ebp - 0x7658], edx
mov word [ebp - 0x5438], 0x2c
mov ecx, dword [ebp - 0x765c]
cmp byte [ecx], 0
je 0x461cd3
lea eax, [ebp - 0x7624]
push eax
push dword [ebp - 0x765c]
call fcn.0049fd88
add esp, 8
test eax, eax
je 0x461cd3
push dword [ebp - 0x765c]
lea edx, [ebp - 0x7624]
push edx
call fcn.0049fdd4
add esp, 8
mov word [ebp - 0x5438], 0x2c
xor ebx, ebx
jmp 0x461cb6
mov eax, dword [ebp - 0x765c]
movzx eax, byte [eax + ebx]
call fcn.0040c9bc
test al, al
je 0x461cb5
mov edx, dword [ebp - 0x765c]
mov byte [edx + ebx], 1
inc ebx
mov ecx, dword [ebp - 0x765c]
cmp byte [ecx + ebx], 0
jne 0x461c98
lea edx, [ebp - 0x765c]
lea eax, [ebp - 0x5424]
call fcn.0041f904
mov word [ebp - 0x5438], 0x14
jmp 0x461cf6
lea edx, [ebp - 0x7224]
mov eax, 0x4d0b94
mov cl, 1
call fcn.00458340
test eax, eax
jne 0x461b8e
lea eax, [ebp - 0x5424]
call fcn.0041f9bc
lea eax, [ebp - 0x5424]
call fcn.0041fb9c
mov word [ebp - 0x5438], 0x14
xor ebx, ebx
jmp 0x461d63
lea eax, [ebp - 0x5424]
mov edx, ebx
call fcn.0041f9b0
mov edx, dword [eax]
mov word [ebp - 0x5438], 0x14
xor eax, eax
jmp 0x461d5c
xor ecx, ecx
mov cl, byte [edx + eax]
dec ecx
jne 0x461d5b
mov byte [edx + eax], 0x5c
inc eax
cmp byte [edx + eax], 0
jne 0x461d4f
inc ebx
cmp ebx, dword [ebp - 0x5320]
jb 0x461d33
xor eax, eax
mov dword [ebp - 0x545c], eax
mov word [ebp - 0x5438], 0x14
jmp 0x461fb6
lea eax, [ebp - 0x5424]
mov edx, dword [ebp - 0x545c]
call fcn.0041f9b0
mov esi, dword [eax + 4]
mov word [ebp - 0x5438], 0x14
cmp dword [ebp - 0x545c], 0
jle 0x461dbe
mov edx, dword [ebp - 0x545c]
lea eax, [ebp - 0x5424]
dec edx
call fcn.0041f9b0
mov edi, dword [eax + 4]
jmp 0x461dc3
mov edi, 0x4b282d
xor eax, eax
test esi, esi
mov dword [ebp - 0x5460], eax
je 0x461fb0
jmp 0x461dd8
add esi, 2
movzx eax, word [esi]
call fcn.0040c9bc
test al, al
jne 0x461dd5
jmp 0x461de9
add edi, 2
movzx eax, word [edi]
call fcn.0040c9bc
test al, al
jne 0x461de6
mov word [ebp - 0x5438], 0x14
mov ebx, esi
jmp 0x461e05
add ebx, 2
cmp word [ebx], 0
je 0x461e17
movzx eax, word [ebx]
call fcn.0040c9bc
test al, al
je 0x461e02
movzx eax, word [ebx]
call fcn.0040c9bc
test al, al
je 0x461e5a
mov edx, ebx
sub edx, esi
sar edx, 1
jns 0x461e2e
adc edx, 0
cmp edx, 2
jl 0x461e5a
cmp word [ebx - 2], 0x2e
jne 0x461e5a
cmp word [ebx - 4], 0x2e
jne 0x461e5a
lea ecx, [ebx - 4]
cmp esi, ecx
je 0x461e55
movzx eax, word [ebx - 6]
call fcn.0040c9bc
test al, al
je 0x461e5a
add ebx, 2
jmp 0x461e05
mov edx, ebx
sub edx, esi
sar edx, 1
jns 0x461e65
adc edx, 0
cmp edx, 0x3ff
jge 0x461e78
sub ebx, esi
sar ebx, 1
jns 0x461e7d
adc ebx, 0
jmp 0x461e7d
mov ebx, 0x3ff
mov word [ebp - 0x5438], 0x14
test ebx, ebx
je 0x461fb0
lea eax, [ebp - 0x8a5c]
mov ecx, ebx
mov edx, esi
call fcn.004114a0
mov word [ebp + ebx*2 - 0x8a5c], 0
lea edx, [ebp - 0x8a5c]
mov ecx, ebx
mov eax, edi
call fcn.004115ac
test eax, eax
jne 0x461ed9
cmp word [edi + ebx*2], 0
je 0x461ece
movzx eax, word [edi + ebx*2]
call fcn.0040c9bc
test al, al
je 0x461ed9
mov edx, ebx
add edx, edx
add edi, edx
jmp 0x461f9e
lea edx, [ebp - 0x8e5c]
lea eax, [ebp - 0x8a5c]
mov ecx, 0x400
call fcn.004111a0
lea eax, [ebp - 0x8e5c]
mov edx, dword [ebp - 0x5458]
mov dword [edx + 0x10], eax
mov ecx, dword [ebp - 0x5458]
mov eax, dword [ebp - 0x5450]
mov dword [ecx + 0x18], eax
mov edx, dword [ebp - 0x5458]
mov ecx, dword [ebp - 0x5454]
mov dword [edx + 0x1c], ecx
mov eax, dword [ebp - 0x5460]
mov edx, dword [ebp + eax*4 - 0x65f4]
mov dword [ebp - 0x5df4], edx
call fcn.0041113c
test eax, eax
je 0x461f71
lea ecx, [ebp - 0x8a5c]
mov eax, dword [ebp - 0x5458]
mov dword [eax + 0x10], ecx
lea edx, [ebp - 0x5df4]
push edx
push 0
push 0x1132
mov ecx, dword [ebp - 0x544c]
push dword [ecx]
call sub.USER32.DLL_SendMessageA
mov edx, dword [ebp - 0x5460]
mov dword [ebp + edx*4 - 0x65f0], eax
jmp 0x461f99
lea eax, [ebp - 0x5df4]
push eax
push 0
push 0x1100
mov ecx, dword [ebp - 0x544c]
push dword [ecx]
call sub.USER32.DLL_SendMessageA
mov edx, dword [ebp - 0x5460]
mov dword [ebp + edx*4 - 0x65f0], eax
mov edi, 0x4b282d
inc dword [ebp - 0x5460]
add ebx, ebx
add esi, ebx
test esi, esi
jne 0x461dd8
inc dword [ebp - 0x545c]
mov eax, dword [ebp - 0x545c]
cmp eax, dword [ebp - 0x5320]
jb 0x461d81
push dword [ebp - 0x65f4]
push 2
push 0x1102
mov edx, dword [ebp - 0x544c]
push dword [edx]
call sub.USER32.DLL_SendMessageA
mov ecx, dword [ebp - 0x544c]
mov eax, dword [ebp - 0x65f4]
mov dword [ecx + 4], eax
dec dword [ebp - 0x542c]
dec dword [ebp - 0x542c]
lea eax, [ebp - 0x532c]
mov edx, 2
call fcn.004201a4
sub dword [ebp - 0x542c], 4
lea eax, [ebp - 0x5424]
mov edx, 2
call fcn.0041070c
sub dword [ebp - 0x542c], 3
lea eax, [ebp - 0x5314]
mov edx, 2
call fcn.004275dc
mov ecx, dword [ebp - 0x5448]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret