Function at 0x100505d4
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x94
push ebx
push esi
push edi
mov dword [ebp - 8], 0x469ad59e
xor edi, edi
mov dword [ebp - 0x14], 0x9a46bb21
inc edi
mov dword [ebp - 0xc], 0xc59458d8
xor ebx, ebx
mov dword [ebp - 0xc], edi
mov esi, ecx
mov dword [ebp - 8], ebx
jmp 0x1005060e
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x18], edi
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x10050604
mov dword [ebp - 8], ebx
jmp 0x10050626
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x2c], 0xafd208dd
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x10050618
mov dword [ebp - 8], ebx
jmp 0x10050642
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x94], 0x5bcd
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x10050631
mov dword [ebp - 8], ebx
jmp 0x10050757
mov dword [ebp - 0xc], 0xffffffff
mov dword [ebp - 4], ebx
jmp 0x1005066a
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x48], 0x59653e3f
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x1005065c
mov dword [ebp - 4], ebx
jmp 0x10050683
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x64], 0xb5a26cde
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x10050675
mov eax, dword [ebp - 8]
cmp dword [ebp + eax*4 - 0x18], ebx
je 0x100506d8
mov eax, dword [ebp - 8]
cmp dword [ebp + eax*4 - 0x18], ebx
jne 0x100506cf
mov eax, dword [ebp - 8]
cmp dword [ebp + eax*4 - 0x18], 0xffffffff
jb 0x100506ac
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x18]
mov eax, dword [ebp - 8]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x18]
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x18]
cmp eax, edi
mov eax, dword [ebp - 8]
setg cl
imul ecx, dword [ebp + eax*4 - 0x18]
mov eax, ebx
test ecx, ecx
je 0x100506d1
mov eax, edi
mov ecx, edi
cmp eax, dword [ebp - 0x18]
jne 0x100506da
mov ecx, ebx
mov eax, dword [ebp - 8]
cmp ecx, 0xcadfb1af
mov edx, dword [ebp + eax*4 - 0x18]
sbb eax, eax
add eax, 0xffff0002
xor ecx, ecx
add edx, eax
mov eax, dword [ebp - 0x18]
cmp edx, eax
setle cl
xor eax, eax
cmp eax, ecx
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0x220985a9
mov eax, dword [ebp - 8]
setne cl
add eax, ecx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0xc], ebx
cmp dword [ebp - 0xc], ebx
jl 0x10050754
mov dword [ebp - 4], 0xfb389fa1
mov eax, dword [ebp - 8]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [ebp - 4], 0x6042c8cd
cmp dword [ebp - 0x14], ebx
jne 0x10050754
dec dword [ebp - 0xc]
jns 0x1005071b
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jle 0x10050650
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 8], eax
jne 0x100507a9
mov dword [ebp - 0x14], 0x5c00d4b
mov dword [ebp - 4], ebx
jmp 0x10050785
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x88], 0xfa755584
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x10050774
mov dword [ebp - 4], ebx
jmp 0x1005079e
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x54], 0x3fa8726a
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x10050790
inc dword [ebp - 0x4c]
jmp 0x1005081f
mov dword [ebp - 4], 0x1e1d
mov dword [ebp - 0xc], 7
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x100507d6
push 0x1abe
push 0x1e4c
push ebx
push 0x264b
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov eax, dword [ebp - 4]
add eax, dword [ebp - 4]
cmp eax, dword [ebp - 0x28]
jg 0x100507e4
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 4], 0xfffffffc
je 0x100507f1
mov eax, edi
cmp dword [ebp - 4], ebx
jne 0x100507f3
mov eax, ebx
add eax, 0xaa7a
cmp eax, dword [ebp - 8]
je 0x10050804
mov edx, edi
cmp dword [ebp - 4], ebx
jne 0x10050806
mov edx, ebx
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
cmp eax, edx
setg cl
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], ebx
push edi
push esi
call fcn.1004b78e
mov dword [ebp - 4], 0x9c17633e
mov dword [ebp - 0x14], 0xc2a4
pop ecx
mov dword [ebp - 0xc], ebx
pop ecx
mov dword [ebp - 8], ebx
jmp 0x1005084c
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x5c], 0x5cefd06
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x1005083e
mov dword [ebp - 8], ebx
jmp 0x10050865
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x3c], 0xfffffffb
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jl 0x10050857
mov dword [ebp - 8], ebx
jmp 0x1005087e
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x70], 0xc87778e1
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x10050870
cmp dword [ebp - 4], ebx
jne 0x10050911
mov eax, dword [ebp - 4]
xor edx, edx
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x5c], ecx
mov eax, dword [ebp - 4]
cmp ecx, eax
mov eax, dword [ebp - 4]
setl dl
xor ecx, ecx
dec edx
cmp edx, eax
mov eax, dword [ebp - 0x38]
setge cl
sub ecx, eax
mov eax, dword [ebp - 0x3c]
sub ecx, eax
mov eax, dword [ebp - 4]
add eax, ecx
cmp eax, dword [ebp - 4]
jne 0x100508c6
mov ecx, ebx
cmp dword [ebp - 4], ebx
je 0x100508c8
mov ecx, edi
mov eax, dword [ebp - 0x38]
inc ecx
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 4]
setge dl
sub eax, edx
neg eax
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x38]
neg eax
sbb eax, eax
inc eax
imul ecx, eax
mov eax, dword [ebp - 4]
imul eax, ecx
test eax, eax
je 0x100508fc
mov edx, edi
cmp dword [ebp - 0x14], ebx
jne 0x100508fe
mov edx, ebx
mov eax, dword [ebp - 4]
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x6c], ecx
test ecx, ecx
mov ecx, ebx
je 0x10050913
mov ecx, edi
mov eax, dword [ebp - 4]
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 4]
push esi
setle dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0xc], ecx
call fcn.10035289
pop ecx
mov dword [ebp - 0x14], 0xc05baf43
xor ecx, ecx
mov dword [ebp - 0x14], ecx
mov ebx, eax
push 0xfffffffffffffffb
pop edx
mov dword [ebp - 8], edx
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 4], ecx
jmp 0x10050965
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x1c], edx
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x1005095b
mov dword [ebp - 4], ecx
jmp 0x1005097d
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x24], 4
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x1005096f
dec dword [ebp - 0x24]
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], ecx
jg 0x10050a2a
mov esi, dword [sym.imp.USER32.dll_GetDC]
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov dword [ebp - 0x14], 0xfffffff6
mov dword [ebp - 0xc], 0xffffffff
mov dword [ebp - 4], ecx
jmp 0x100509bf
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x7c], 0xaf0a9b27
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x100509b1
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0xc], eax
mov byte [ebp - 0xd], cl
cmp byte [ebp - 0xd], 0
je 0x10050a1e
push 0x1724
push 0x102b
push 0x1762
push 0x1e48
push 0x1ddf
call edi
push eax
call esi
push eax
push 0x1067
push 0xdd5
push 0x1d7a
push 0x269f
call edi
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_StretchBlt]
xor ecx, ecx
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jle 0x1005099e
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret