Function at 0x4502c0
Capabilities:
Get file system object information

Disassembly:
push 0xffffffffffffffff
push 0x4d4576
mov eax, dword fs:[0]
push eax
mov eax, 0x49cc
call fcn.004c1320
mov eax, dword [0x4eb0b4]
xor eax, esp
mov dword [esp + 0x49c8], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4eb0b4]
xor eax, esp
push eax
lea eax, [esp + 0x49e0]
mov dword fs:[0], eax
mov eax, dword [esp + 0x49f0]
inc dword [0x533bfc]
mov ebp, ecx
mov dword [esp + 0x64], eax
xor edi, edi
mov dword [esp + 0x49e8], edi
mov ecx, dword [ebp]
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
push 1
push 0xffffffffffffffff
push 0x100c
push ecx
call ebx
push 1
mov ecx, 0x534ca8
mov dword [esp + 0x2c], eax
call fcn.0047ecb0
push 0x1c4
call fcn.00475570
push eax
mov ecx, 0x534ca8
call fcn.0047ed20
mov edx, dword [ebp]
push edi
push edi
push 0xb
push edx
call ebx
mov ecx, ebp
call fcn.0044efd0
push 0x4011
push 0x2b4
lea eax, [esp + 0x153c]
push eax
push edi
push str.file
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov ecx, dword [ebp]
push eax
push 1
push 0x1003
push ecx
call ebx
mov ecx, 0x53f4d8
call fcn.00407b20
lea edx, [esp + 0x1120]
push edx
mov ecx, 0x541610
call fcn.00415350
mov eax, dword [esp + 0x1234]
sub eax, 1
mov dword [esp + 0xb0], 4
lea ecx, [edi + 0x73]
je 0x4503de
sub eax, 2
je 0x4503d7
sub eax, 1
jne 0x4503e3
lea ecx, [edi + 0x76]
jmp 0x4503e3
mov ecx, 0x75
jmp 0x4503e3
mov ecx, 0x74
push ecx
call fcn.00475570
mov ecx, dword [ebp]
mov dword [esp + 0xbc], eax
lea eax, [esp + 0xb0]
push eax
push 5
push 0x1060
push ecx
call ebx
push 0x800
lea edx, [esp + 0x39e0]
push edx
mov ecx, 0x541610
call fcn.00415300
lea eax, [esp + 0x39dc]
push eax
mov ecx, ebp
call fcn.0044bd60
lea eax, [esp + 0x39dc]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x450435
sub eax, edx
sar eax, 1
mov esi, eax
je 0x450449
inc esi
lea ecx, [esp + 0x39dc]
push ecx
mov ecx, 0x53f4c8
call fcn.00485b70
push 1
push str.AllowUppercase
push str.FileList
mov dword [esp + 0x24], edi
call fcn.0046c8f0
push edi
push str.FlatView
test eax, eax
push str.FileList
setne byte [esp + 0x23]
call fcn.0046c8f0
push edi
push str.ShowSeconds
test eax, eax
push str.FileList
setne byte [esp + 0x28]
call fcn.0046c8f0
test eax, eax
setne dl
xor eax, eax
push 0x1f4
lea ecx, [esp + 0xa4]
mov byte [esp + 0x28], dl
mov word [esp + 0x29e0], ax
call fcn.0049f7a0
mov byte [esp + 0x49e8], 1
mov ecx, dword [esp + 0x1c]
push ecx
lea edx, [esp + 0xd4]
push edx
mov ecx, 0x541610
call fcn.00415020
test al, al
je 0x450abc
lea eax, [esp + esi*2 + 0xd0]
mov dword [esp + 0x68], eax
test byte [esp + 0x18], 0x1f
jne 0x450507
lea ecx, [esp + 0xa0]
call fcn.0049ef10
mov eax, dword [esp + 0x10e0]
mov esi, dword [esp + 0x68]
shr eax, 4
and al, 1
cmp byte [esp + 0x1c], 0
mov dword [esp + 0x2c], esi
mov byte [esp + 0x16], al
je 0x45053d
lea ecx, [esp + 0xd0]
push ecx
call fcn.00460620
mov esi, eax
mov dword [esp + 0x2c], eax
mov al, byte [esp + 0x16]
test al, al
je 0x4505d1
cmp byte [esp + 0x1c], 0
jne 0x4505d1
test byte [esp + 0x10ec], 0x20
je 0x450686
lea ecx, [esp + 0x29dc]
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45058d
cmp dx, di
je 0x450589
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45058d
add eax, 4
add ecx, 4
cmp dx, di
jne 0x450567
xor eax, eax
jmp 0x450592
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
je 0x450a9d
lea edx, [esp + 0x29dc]
mov eax, esi
sub edx, esi
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x4505a5
push 1
push edi
lea edx, [esp + 0xd8]
push edx
mov ecx, 0x55f118
call fcn.0044b930
test al, al
jne 0x450a9d
mov ecx, dword [esp + 0x18]
xor edx, edx
mov word [esp + 0x2838], dx
mov edx, dword [esp + 0x10ec]
mov dword [esp + 0x6c], 7
mov dword [esp + 0x70], ecx
mov dword [esp + 0x88], 0xffffffff
mov dword [esp + 0x74], edi
test dl, 1
je 0x45062f
lea eax, [esp + 0x2838]
add eax, 0xfffffffe
mov cx, word [eax + 2]
add eax, 2
cmp cx, di
jne 0x450610
mov ecx, dword [0x4dad04]
mov dword [eax], ecx
mov cx, word [0x4dad08]
mov word [eax + 4], cx
and edx, 6
mov eax, edx
je 0x45077c
sub eax, 2
je 0x45074a
sub eax, 2
je 0x450715
sub eax, 2
jne 0x45077c
lea eax, [esp + 0x2838]
add eax, 0xfffffffe
nop
mov cx, word [eax + 2]
add eax, 2
cmp cx, di
jne 0x450660
mov edx, dword [0x4dacf8]
mov ecx, dword [0x4dacfc]
mov dword [eax], edx
mov dx, word [0x4dad00]
jmp 0x450775
push 1
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0xd8]
push ecx
mov ecx, 0x55f118
call fcn.0044b930
test al, al
je 0x4505d1
mov edx, dword [esp + 0x20]
push edx
mov ecx, 0x55f118
call fcn.0044b9a0
mov ecx, dword [esp + 0x10e4]
mov dword [eax + 0x1c], ecx
mov edx, dword [esp + 0x10e8]
mov ecx, dword [esp + 0x24]
mov dword [eax + 0x20], edx
push 0x64
lea eax, [esp + 0x2850]
push eax
push ecx
lea edx, [esp + 0x10f0]
push edx
mov ecx, ebp
call fcn.0044dab0
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x30]
push ecx
lea eax, [esp + 0x2850]
push edx
mov dword [esp + 0x4c], eax
mov eax, dword [ebp]
push 0x1074
push eax
mov dword [esp + 0x48], 4
call ebx
jmp 0x450a9d
lea eax, [esp + 0x2838]
add eax, 0xfffffffe
nop
mov cx, word [eax + 2]
add eax, 2
cmp cx, di
jne 0x450720
mov ecx, dword [0x4dacec]
mov edx, dword [0x4dacf0]
mov dword [eax], ecx
mov cx, word [0x4dacf4]
mov dword [eax + 4], edx
mov word [eax + 8], cx
jmp 0x45077c
lea eax, [esp + 0x2838]
add eax, 0xfffffffe
mov cx, word [eax + 2]
add eax, 2
cmp cx, di
jne 0x450754
mov edx, dword [0x4dace0]
mov ecx, dword [0x4dace4]
mov dword [eax], edx
mov dx, word [0x4dace8]
mov dword [eax + 4], ecx
mov word [eax + 8], dx
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1114], eax
lea eax, [esp + 0xd0]
push eax
mov ecx, 0x55f118
call fcn.0044b610
lea ecx, [esp + 0xd0]
push ecx
mov ecx, ebp
mov dword [esp + 0x90], eax
call fcn.0044bd60
cmp byte [esp + 0x17], 0
jne 0x4507c1
push esi
call fcn.00453250
mov eax, esi
mov dword [esp + 0x80], esi
lea edx, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x4507d0
sub eax, edx
sar eax, 1
mov edi, eax
lea eax, [esp + 0x2838]
mov ecx, eax
lea ebx, [ebx]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x4507f0
mov edx, dword [esp + 0x2c]
lea edi, [edx + edi*2]
sub eax, ecx
mov esi, ecx
add edi, 0xfffffffe
lea esp, [esp]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x450810
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [esp + 0x6c]
push eax
and ecx, 3
push 0
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp]
push 0x104d
push ecx
call ebx
cmp byte [esp + 0x16], 0
mov esi, eax
jne 0x45092e
mov eax, dword [esp + 0x10d0]
mov ecx, dword [esp + 0x10d4]
cmp eax, 0x7fffffff
jne 0x450889
cmp ecx, 0x7fffffff
jne 0x450889
xor eax, eax
jmp 0x450870
movzx ecx, word [eax + 0x4dacdc]
mov word [esp + eax + 0x284c], cx
add eax, 2
test cx, cx
jne 0x450870
jmp 0x45089a
push 0x32
lea edx, [esp + 0x2850]
push edx
push ecx
push eax
call fcn.0047f7c0
mov edx, dword [ebp]
lea ecx, [esp + 0x30]
push ecx
push esi
push 0x1074
lea eax, [esp + 0x2858]
push edx
mov dword [esp + 0x48], 1
mov dword [esp + 0x54], eax
call ebx
mov eax, dword [esp + 0x10d8]
mov ecx, dword [esp + 0x10dc]
cmp eax, 0x7fffffff
jne 0x4508f9
cmp ecx, 0x7fffffff
jne 0x4508f9
xor eax, eax
lea ecx, [ecx]
movzx ecx, word [eax + 0x4dacdc]
mov word [esp + eax + 0x284c], cx
add eax, 2
test cx, cx
jne 0x4508e0
jmp 0x45090a
push 0x32
lea edx, [esp + 0x2850]
push edx
push ecx
push eax
call fcn.0047f7c0
mov edx, dword [ebp]
lea ecx, [esp + 0x30]
push ecx
push esi
push 0x1074
lea eax, [esp + 0x2858]
push edx
mov dword [esp + 0x48], 2
mov dword [esp + 0x54], eax
call ebx
cmp dword [esp + 0x10e4], 0
jne 0x450969
cmp dword [esp + 0x10e8], 0
jne 0x450969
xor eax, eax
jmp 0x450950
movzx ecx, word [eax + 0x4d79fc]
mov word [esp + eax + 0x2914], cx
add eax, 2
test cx, cx
jne 0x450950
jmp 0x450987
mov ecx, dword [esp + 0x24]
push 0x64
lea eax, [esp + 0x2918]
push eax
push ecx
lea edx, [esp + 0x10f0]
push edx
mov ecx, ebp
call fcn.0044dab0
mov edx, dword [ebp]
lea ecx, [esp + 0x30]
push ecx
push esi
push 0x1074
lea eax, [esp + 0x2920]
push edx
mov dword [esp + 0x48], 4
mov dword [esp + 0x54], eax
call ebx
test dword [esp + 0x10ec], 0x3c0
mov eax, dword [esp + 0x10f0]
setne cl
test eax, eax
je 0x450a4e
cmp byte [esp + 0x16], 0
jne 0x450a4e
test cl, cl
jne 0x450a4e
cmp eax, 3
jne 0x4509fd
push 0x41
lea eax, [esp + 0x2850]
push eax
push 0
push 0x20
lea ecx, [esp + 0x1104]
push ecx
call fcn.0047f2e0
jmp 0x450a2a
cmp eax, 1
mov eax, str._04X
je 0x450a0c
mov eax, str._08X
mov edx, dword [esp + 0x10f4]
push edx
push eax
lea eax, [esp + 0x2854]
push eax
mov edx, 0x41
call fcn.0041cb70
add esp, 0xc
mov eax, dword [ebp]
lea edx, [esp + 0x30]
push edx
push esi
push 0x1074
lea ecx, [esp + 0x2858]
push eax
mov dword [esp + 0x48], 5
mov dword [esp + 0x54], ecx
call ebx
cmp byte [esp + 0x1c], 0
je 0x450a93
push 0x800
lea ecx, [esp + 0x17ec]
push ecx
lea edx, [esp + 0xd8]
push edx
call fcn.004608c0
mov edx, dword [ebp]
lea ecx, [esp + 0x30]
push ecx
push esi
push 0x1074
lea eax, [esp + 0x17f4]
push edx
mov dword [esp + 0x48], 6
mov dword [esp + 0x54], eax
call ebx
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
xor edi, edi
mov ecx, dword [esp + 0x1c]
push ecx
lea edx, [esp + 0xd4]
push edx
mov ecx, 0x541610
call fcn.00415020
test al, al
jne 0x4504f4
push 0x4411
push 0x2b4
lea eax, [esp + 0x1288]
push eax
push 0x10
push 0x4dacbc
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov esi, eax
mov dword [esp + 0x6c], 5
cmp esi, edi
je 0x450af1
mov dword [esp + 0x6c], 7
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1284]
push 0x1050
lea eax, [esp + 0x17ec]
push edi
push eax
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x94], edx
mov dword [esp + 0x80], edi
mov dword [esp + 0x8c], 0x4d7bb4
call fcn.004c1d50
add esp, 0xc
xor eax, eax
movzx ecx, word [eax + 0x4d7bb4]
mov word [esp + eax + 0x17e8], cx
add eax, 2
cmp cx, di
jne 0x450b31
lea ecx, [esp + 0x17e8]
push ecx
mov ecx, 0x55f118
mov dword [esp + 0x27fc], 0x10
call fcn.0044b610
lea edx, [esp + 0x6c]
push edx
push edi
mov dword [esp + 0x94], eax
mov eax, dword [ebp]
push 0x104d
push eax
call ebx
cmp esi, edi
mov esi, 3
je 0x450ba6
lea edx, [esp + 0x30]
push edx
push eax
mov eax, dword [ebp]
push 0x1074
lea ecx, [esp + 0x14a0]
push eax
mov dword [esp + 0x48], esi
mov dword [esp + 0x54], ecx
call ebx
mov ecx, 0x55f118
call fcn.0044b900
mov ecx, ebp
call fcn.0044f630
mov eax, dword [esp + 0x64]
cmp eax, edi
je 0x450bfd
cmp word [eax], di
je 0x450bfd
push eax
mov ecx, ebp
call fcn.0044f360
test al, al
jne 0x450c16
mov ecx, dword [ebp]
push edi
push edi
push 0x1004
push ecx
call ebx
cmp eax, edi
mov ecx, dword [esp + 0x28]
jle 0x450bec
cmp ecx, eax
jl 0x450bec
lea ecx, [eax - 1]
mov eax, dword [ebp]
lea edx, [esp + 0x30]
push edx
push ecx
push 0x102b
push eax
jmp 0x450c0c
mov edx, dword [ebp]
lea ecx, [esp + 0x30]
push ecx
push edi
push 0x102b
push edx
mov dword [esp + 0x50], esi
mov dword [esp + 0x4c], esi
call ebx
mov eax, dword [ebp]
push edi
push 1
push 0xb
push eax
call ebx
mov ecx, dword [ebp]
push edi
push edi
push 0x102a
push ecx
call ebx
push edi
mov ecx, 0x534ca8
call fcn.0047ed20
mov ecx, ebp
call fcn.0044dde0
mov ecx, ebp
call fcn.0044c2d0
mov ecx, 0x54503c
call fcn.00483220
push edi
mov ecx, 0x534ca8
call fcn.0047ecb0
mov byte [esp + 0x49e8], 0
lea ecx, [esp + 0xa0]
call fcn.0049ef50
mov dword [esp + 0x49e8], 0xffffffff
cmp dword [0x533bfc], edi
jle 0x450c89
dec dword [0x533bfc]
mov ecx, dword [esp + 0x49e0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x49c8]
xor ecx, esp
call fcn.004c1302
add esp, 0x49d8
ret 4