Function at 0x100191da
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xf8
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x40], edx
push 2
mov esi, ecx
mov dword [ebp - 4], ebx
pop edi
jmp 0x10019206
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xc0], 0x7862fd41
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x100191f5
xor ecx, ecx
mov dword [ebp - 4], ebx
inc ecx
jmp 0x10019221
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x28], 0x57a7c203
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x10019213
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x28], ebx
jl 0x10019242
mov eax, dword [ebp - 0x28]
cmp dword [ebp + eax*4 - 0xc0], ebx
jne 0x10019242
mov eax, dword [ebp - 0x28]
dec dword [ebp - 0x28]
jns 0x1001922e
cmp dword [esi + 0x10], ebx
jne 0x1001924e
xor al, al
jmp 0x10019933
mov dword [ebp - 4], 0x24f0
mov dword [ebp - 0x10], ebx
jmp 0x10019268
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x20], 0x1f2c29a
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1001925a
mov eax, dword [ebp - 4]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x1001938d
mov dword [ebp - 8], 0xfffffffa
mov dword [ebp - 0x7c], 0x7f7ffff9
mov byte [ebp - 9], bl
cmp byte [ebp - 9], bl
je 0x100192a1
push ebx
push 0x7445
call fcn.100236ee
pop ecx
pop ecx
xor ecx, ecx
inc ecx
mov dword [ebp - 4], ecx
cmp dword [ebp - 4], ebx
jl 0x100193bb
mov eax, dword [ebp - 4]
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x20]
mov dword [ebp - 0x10], 0x1f94
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + eax*4 - 0x20]
mov eax, dword [ebp - 8]
cmp ecx, eax
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
setl dl
add ecx, edx
xor ebx, ebx
mov eax, dword [ebp + eax*4 - 0x20]
cmp ecx, eax
mov eax, dword [ebp - 4]
setle bl
xor ecx, ecx
sub ebx, dword [ebp + eax*4 - 0x20]
sub ebx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp + eax*4 - 0x20]
test eax, eax
mov eax, dword [ebp - 4]
setne cl
xor edx, edx
cmp ecx, ebx
setg dl
dec edx
cmp edx, dword [ebp + eax*4 - 0x20]
jne 0x10019325
mov eax, dword [ebp - 4]
xor ebx, ebx
mov eax, dword [ebp + eax*4 - 0x20]
mov dword [ebp - 0x20], eax
mov byte [ebp - 9], bl
cmp byte [ebp - 9], bl
je 0x1001937c
push ebx
call fcn.1001b288
pop ecx
jmp 0x1001937c
mov dword [ebp - 0x14], 0xffffffff
xor edx, edx
mov eax, dword [ebp - 4]
mov eax, dword [ebp + eax*4 - 0x20]
mov eax, dword [ebp - 4]
mov eax, dword [ebp + eax*4 - 0x20]
mov eax, dword [ebp - 4]
mov eax, dword [ebp + eax*4 - 0x20]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
mov eax, dword [ebp + eax*4 - 0x20]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [ebp + eax*4 - 0x20]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp ecx, eax
mov eax, dword [ebp - 4]
setg dl
sub edx, dword [ebp + eax*4 - 0x20]
neg edx
sbb edx, edx
inc edx
xor ebx, ebx
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 4]
mov dword [ebp - 0x7c], eax
dec dword [ebp - 4]
jns 0x100192ad
jmp 0x100193bb
mov dword [ebp - 4], ebx
jmp 0x100193b5
mov dword [ebp - 0x14], ecx
mov byte [ebp - 9], bl
cmp byte [ebp - 9], bl
je 0x100193ad
push 0x60fb
push ebx
call fcn.100199a5
pop ecx
pop ecx
xor ecx, ecx
inc ecx
cmp dword [ebp - 0x14], ebx
jne 0x100193bb
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jne 0x10019392
push ebx
lea eax, [ebp - 0x40]
push eax
push 0x41ef
call fcn.1001b395
mov dword [ebp - 8], 0xd5e48d32
add esp, 0xc
mov byte [ebp - 9], bl
cmp byte [ebp - 9], 0
je 0x100193e5
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 8], 0xfffffff6
jmp 0x10019454
mov dword [ebp - 0x10], 0xee7d214c
mov dword [ebp - 0x10], ebx
jmp 0x1001940b
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xac], 0x5683c8fc
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x100193fa
mov dword [ebp - 0x10], ebx
jmp 0x1001944b
mov dword [ebp - 4], 0x7822e6e7
xor dl, dl
push 0x52f2
mov ecx, 0x720e
call fcn.10018725
pop ecx
mov dword [ebp - 4], ebx
jmp 0x10019442
mov eax, dword [ebp - 4]
cmp dword [ebp + eax*4 - 0xac], ebx
jne 0x10019448
inc dword [ebp - 4]
cmp dword [ebp - 4], 1
jle 0x10019433
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 1
jle 0x10019415
inc dword [ebp - 8]
cmp dword [ebp - 8], 0xfffffff9
jge 0x100193ee
cmp dword [esi + 0x14], 0x10
jb 0x10019464
mov ecx, dword [esi]
jmp 0x10019466
mov ecx, esi
push 3
pop edi
cmp dword [esi + 0x14], 0x10
mov dword [ebp - 0x30], ecx
jb 0x10019476
mov edx, dword [esi]
jmp 0x10019478
mov edx, esi
mov eax, dword [esi + 0x10]
add eax, edx
cmp ecx, eax
je 0x10019882
mov dword [ebp - 0x14], ebx
mov dword [ebp - 8], ebx
jmp 0x1001949e
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xe8], 0xd925b0e4
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x1001948d
xor edx, edx
mov dword [ebp - 0xe4], ebx
inc edx
mov dword [ebp - 0x14], edx
mov byte [ebp - 9], bl
cmp byte [ebp - 9], 0
je 0x100194c0
call fcn.1001852c
xor edx, edx
inc edx
mov eax, dword [ebp - 0x30]
mov al, byte [eax]
cmp al, 0x30
jl 0x1001968f
cmp al, 0x39
jg 0x1001968f
mov dword [ebp - 4], 0xc45cdbe8
mov dword [ebp - 8], 0xe86a6760
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x24], 0xfffffff8
mov dword [ebp - 4], ebx
jmp 0x100194fc
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x60], edx
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x100194f2
mov dword [ebp - 4], ebx
jmp 0x10019514
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xa4], edx
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x10019507
mov dword [ebp - 4], ebx
jmp 0x1001952c
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x50], 0x386b9bdd
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jl 0x1001951e
mov dword [ebp - 4], ebx
jmp 0x10019669
mov dword [ebp - 0x2c], 0xc5d9b4e9
mov dword [ebp - 0x14], 0xffff
mov dword [ebp - 8], ebx
jmp 0x1001955a
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x3c], 0xffffffff
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x1001954c
mov dword [ebp - 0x3c], edx
cmp dword [ebp - 0x3c], ebx
jl 0x10019640
mov dword [ebp - 0x44], 0x5a60d005
mov dword [ebp - 0x10], 0x61b8ce22
mov dword [ebp - 8], ebx
jmp 0x1001958c
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x68], 0xf34d89bb
inc dword [ebp - 8]
cmp dword [ebp - 8], edx
jl 0x1001957e
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x2c]
call fcn.10018725
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 4]
pop ecx
xor ecx, ecx
cmp eax, 9
push 0
setg cl
xor edx, edx
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 8]
cmp eax, ecx
setg dl
mov dword [ebp - 0x2c], edx
xor edx, edx
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x2c]
add ecx, eax
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x10]
setle dl
add eax, edx
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0x10]
cmp ecx, 0xffffffff
setle dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x10]
setl bl
xor ecx, ecx
cmp ebx, eax
pop ebx
setg cl
mov dword [ebp - 0x10], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x14]
cmp eax, 0x473ecfb8
push 1
setle cl
mov dword [ebp - 0xa0], ecx
dec dword [ebp - 0x3c]
pop edx
jns 0x1001956b
mov eax, dword [ebp - 0xa4]
xor ecx, ecx
mov edx, dword [ebp - 0x60]
cmp eax, 0xb42d
mov eax, dword [ebp - 4]
setg cl
imul edx, ecx
xor ecx, ecx
cmp eax, edx
setne cl
xor edx, edx
mov dword [ebp - 0x3c], ecx
inc dword [ebp - 4]
inc edx
cmp dword [ebp - 4], edx
jle 0x10019539
inc dword [ebp - 0x50]
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x40]
push ebx
push eax
call fcn.1001b3d4
mov ecx, dword [ebp - 0x30]
add esp, 0xc
inc ecx
jmp 0x10019469
mov eax, 0xe91a049f
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x10], 2
mov dword [ebp - 8], ebx
jmp 0x100196c6
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x18], 9
inc dword [ebp - 8]
cmp dword [ebp - 8], edx
jl 0x100196b8
push 4
mov dword [ebp - 0x18], ebx
pop esi
jmp 0x100196e0
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x98], edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x100196d3
mov dword [ebp - 0x10], edi
cmp dword [ebp - 0x10], ebx
jl 0x100197c9
mov dword [ebp - 4], ebx
jmp 0x10019704
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x58], 0xfffffffe
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x100196f6
mov dword [ebp - 4], ebx
jmp 0x10019720
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xb8], 0xd870a326
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x1001970f
mov dword [ebp - 4], ebx
jmp 0x10019737
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xd0], edx
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x1001972a
mov dword [ebp - 0x54], edi
cmp dword [ebp - 0x54], ebx
jl 0x100197c0
mov dword [ebp - 8], ebx
jmp 0x1001975a
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x88], 0x38591b68
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x10019749
mov edx, dword [ebp - 0x84]
xor ecx, ecx
mov eax, dword [ebp - 0xc4]
imul edx, eax
mov eax, dword [ebp - 0x10]
sub edx, eax
mov eax, dword [ebp - 0xc4]
cmp edx, eax
setne cl
cmp dword [ebp - 0x84], ecx
jne 0x10019794
cmp dword [ebp - 0x18], ebx
je 0x10019794
xor edx, edx
inc edx
mov ecx, edx
jmp 0x10019799
xor edx, edx
mov ecx, ebx
inc edx
mov dword [ebp - 0xb0], ebx
mov eax, dword [ebp - 0x18]
add eax, ecx
cmp dword [ebp - 0x84], eax
jle 0x100197b6
mov eax, edx
cmp dword [ebp - 0xb8], ebx
jne 0x100197b8
mov eax, ebx
mov dword [ebp - 0x18], eax
dec dword [ebp - 0x54]
jns 0x10019744
dec dword [ebp - 0x10]
jns 0x100196f1
mov eax, dword [ebp - 0x40]
mov dword [eax], ebx
mov dword [ebp - 0x24], 0xa11600d5
mov dword [ebp - 0x24], 0xa87a
mov dword [ebp - 0x64], 0xcc72b752
mov dword [ebp - 4], ebx
jmp 0x100197f6
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x78], 0x4e064826
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x100197e8
mov dword [ebp - 4], ebx
jmp 0x10019811
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xf8], 0x45fe46c2
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x10019800
mov dword [ebp - 0x70], ebx
jmp 0x1001986c
mov dword [ebp - 8], 0x1c97412d
mov byte [ebp - 9], bl
cmp byte [ebp - 9], 0
je 0x10019842
push 0x21f8
push 0x857
push ebx
push 0x2234
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
cmp dword [ebp - 0x74], ebx
jne 0x10019859
cmp dword [ebp - 0x6c], 0x285faafe
jge 0x10019859
cmp dword [ebp - 8], ebx
jne 0x10019859
mov edx, ebx
jmp 0x1001985c
xor edx, edx
inc edx
mov eax, dword [ebp - 8]
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 8], ecx
inc dword [ebp - 0x70]
cmp dword [ebp - 0x70], esi
jle 0x1001981b
lea eax, [ebp - 0x64]
push eax
push ebx
call fcn.1001b689
pop ecx
pop ecx
jmp 0x10019247
mov dword [ebp - 0x24], 0x91df82
mov dword [ebp - 0x10], 0xfffffff6
mov dword [ebp - 0x24], 7
mov dword [ebp - 0x14], 0xc3ec3d4e
mov dword [ebp - 8], 0x3268
mov dword [ebp - 0x24], ebx
mov dword [ebp - 4], ebx
jmp 0x100198bb
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x4c], 0x67215912
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x100198ad
mov dword [ebp - 4], ebx
jmp 0x100198d7
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xdc], 0x38330377
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x100198c6
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 8]
inc dword [ebp - 8]
test eax, eax
jne 0x10019924
imul eax, dword [ebp - 0x4c], 0x3fc2
mov ecx, 0xc0b333ee
cmp ecx, eax
mov eax, dword [ebp - 0x10]
sbb ecx, ecx
xor edx, edx
neg ecx
sub ecx, eax
mov eax, dword [ebp - 0x4c]
cmp ecx, 0xa083
setl dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0xdc], ecx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x48]
mov al, 1
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x14], 0xa9c5a74d
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret