Function at 0x10019310
Capabilities:
Get file attributes

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x1012b164
push eax
mov al, byte [0x101a5970]
mov dword fs:[0], esp
sub esp, 0xc
push ebx
push ebp
push esi
push edi
mov ebx, 1
or edi, 0xffffffff
test bl, al
jne 0x10019366
or dword [0x101a5970], ebx
mov dword [esp + 0x24], 0
push 0x101a596c
call fcn.1000cc10
push 0x101346a0
call fcn.100577b1
add esp, 8
mov dword [esp + 0x24], edi
test byte [0x101a5970], 2
mov esi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
jne 0x100193d2
or dword [0x101a5970], 2
mov dword [esp + 0x24], ebx
lea eax, [esp + 0x14]
push eax
call fcn.1006c6b0
add esp, 4
mov byte [esp + 0x24], 2
push 0x101366a0
push 0x101a5968
mov ecx, eax
call fcn.100082c0
mov byte [esp + 0x24], bl
mov ebx, dword [esp + 0x14]
add ebx, 0xfffffff8
lea ecx, [ebx + 4]
push ecx
call esi
test eax, eax
jg 0x100193c1
push ebx
call fcn.100569b3
add esp, 4
push 0x10134670
call fcn.100577b1
add esp, 4
mov dword [esp + 0x24], edi
push str.msxml4rc.dll
lea edx, [esp + 0x18]
push edx
mov ecx, 0x101a5968
call fcn.100082c0
mov dword [esp + 0x24], 3
mov eax, dword [eax]
mov ebp, dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
push eax
call ebp
cmp eax, edi
sete byte [esp + 0x13]
mov dword [esp + 0x24], edi
mov ebx, dword [esp + 0x14]
add ebx, 0xfffffff8
lea eax, [ebx + 4]
push eax
call esi
test eax, eax
jg 0x1001941e
push ebx
call fcn.100569b3
add esp, 4
mov al, byte [esp + 0x13]
test al, al
je 0x100194e9
push 0xc
lea ecx, [esp + 0x18]
call fcn.10001520
mov edx, dword [str.msxml4rc.dll]
mov ecx, dword [esp + 0x14]
mov dword [ecx], edx
mov eax, dword [0x10136c18]
mov dword [ecx + 4], eax
mov edx, dword [0x10136c1c]
mov dword [ecx + 8], edx
mov eax, dword [esp + 0x14]
mov byte [eax + 0xc], 0
mov dword [esp + 0x24], 4
lea ecx, [esp + 0x14]
push ecx
push 0x101a598c
call fcn.1001f460
add esp, 8
mov bl, al
neg bl
sbb bl, bl
inc bl
mov dword [esp + 0x24], edi
mov eax, dword [esp + 0x14]
add eax, 0xfffffff8
mov dword [esp + 0x18], eax
add eax, 4
push eax
call esi
test eax, eax
jg 0x100194a2
mov edx, dword [esp + 0x18]
push edx
call fcn.100569b3
add esp, 4
test bl, bl
je 0x100194e9
push str.msxml4rc.dll
lea ecx, [esp + 0x18]
call fcn.100019d0
mov dword [esp + 0x24], 5
lea eax, [esp + 0x14]
push eax
mov ecx, 0x101a598c
call fcn.10010920
mov dword [esp + 0x24], edi
mov ebx, dword [esp + 0x14]
add ebx, 0xfffffff8
lea ecx, [ebx + 4]
push ecx
call esi
test eax, eax
jg 0x100194e9
push ebx
call fcn.100569b3
add esp, 4
push str.shelluiex.dll
lea edx, [esp + 0x1c]
push edx
mov ecx, 0x101a5968
call fcn.100082c0
mov dword [esp + 0x24], 6
mov eax, dword [eax]
push eax
call ebp
cmp eax, edi
sete byte [esp + 0x13]
mov dword [esp + 0x24], edi
mov ebx, dword [esp + 0x18]
add ebx, 0xfffffff8
lea eax, [ebx + 4]
push eax
call esi
test eax, eax
jg 0x1001952f
push ebx
call fcn.100569b3
add esp, 4
mov al, byte [esp + 0x13]
test al, al
je 0x10019602
push 0xd
lea ecx, [esp + 0x18]
call fcn.10001520
mov edx, dword [str.shelluiex.dll]
mov ecx, dword [esp + 0x14]
mov dword [ecx], edx
mov eax, dword [0x10136bfc]
mov dword [ecx + 4], eax
mov edx, dword [0x10136c00]
mov dword [ecx + 8], edx
mov al, byte [0x10136c04]
mov byte [ecx + 0xc], al
mov ecx, dword [esp + 0x14]
mov byte [ecx + 0xd], 0
mov dword [esp + 0x24], 7
lea edx, [esp + 0x14]
push edx
push 0x101a598c
call fcn.1001f460
add esp, 8
mov bl, al
neg bl
sbb bl, bl
inc bl
mov dword [esp + 0x24], edi
mov eax, dword [esp + 0x14]
add eax, 0xfffffff8
mov dword [esp + 0x18], eax
add eax, 4
push eax
call esi
test eax, eax
jg 0x100195bb
mov eax, dword [esp + 0x18]
push eax
call fcn.100569b3
add esp, 4
test bl, bl
je 0x10019602
push str.shelluiex.dll
lea ecx, [esp + 0x18]
call fcn.100019d0
mov dword [esp + 0x24], 8
lea ecx, [esp + 0x14]
push ecx
mov ecx, 0x101a598c
call fcn.10010920
mov dword [esp + 0x24], edi
mov ebx, dword [esp + 0x14]
add ebx, 0xfffffff8
lea edx, [ebx + 4]
push edx
call esi
test eax, eax
jg 0x10019602
push ebx
call fcn.100569b3
add esp, 4
push str.CpmTray.exe
lea eax, [esp + 0x1c]
push eax
mov ecx, 0x101a5968
call fcn.100082c0
mov dword [esp + 0x24], 9
mov eax, dword [eax]
push eax
call ebp
cmp eax, edi
sete byte [esp + 0x13]
mov dword [esp + 0x24], edi
mov ebx, dword [esp + 0x18]
add ebx, 0xfffffff8
lea ecx, [ebx + 4]
push ecx
call esi
test eax, eax
jg 0x10019648
push ebx
call fcn.100569b3
add esp, 4
mov al, byte [esp + 0x13]
test al, al
je 0x1001971d
push 0xb
lea ecx, [esp + 0x18]
call fcn.10001520
mov eax, dword [str.CpmTray.exe]
mov edx, dword [esp + 0x14]
mov dword [edx], eax
mov ecx, dword [0x10136c0c]
mov dword [edx + 4], ecx
mov ax, word [0x10136c10]
mov word [edx + 8], ax
mov cl, byte [0x10136c12]
mov byte [edx + 0xa], cl
mov edx, dword [esp + 0x14]
mov byte [edx + 0xb], 0
mov dword [esp + 0x24], 0xa
lea eax, [esp + 0x14]
push eax
push 0x101a598c
call fcn.1001f460
add esp, 8
mov bl, al
neg bl
sbb bl, bl
inc bl
mov dword [esp + 0x24], edi
mov eax, dword [esp + 0x14]
add eax, 0xfffffff8
mov dword [esp + 0x18], eax
add eax, 4
push eax
call esi
test eax, eax
jg 0x100196d6
mov ecx, dword [esp + 0x18]
push ecx
call fcn.100569b3
add esp, 4
test bl, bl
je 0x1001971d
push str.CpmTray.exe
lea ecx, [esp + 0x18]
call fcn.100019d0
mov dword [esp + 0x24], 0xb
lea edx, [esp + 0x14]
push edx
mov ecx, 0x101a598c
call fcn.10010920
mov dword [esp + 0x24], edi
mov ebx, dword [esp + 0x14]
add ebx, 0xfffffff8
lea eax, [ebx + 4]
push eax
call esi
test eax, eax
jg 0x1001971d
push ebx
call fcn.100569b3
add esp, 4
push str.driversGS.sys
lea ecx, [esp + 0x1c]
push ecx
mov ecx, 0x101a5968
call fcn.100082c0
mov dword [esp + 0x24], 0xc
mov eax, dword [eax]
push eax
call ebp
cmp eax, edi
sete byte [esp + 0x13]
mov dword [esp + 0x24], edi
mov ebx, dword [esp + 0x18]
add ebx, 0xfffffff8
lea edx, [ebx + 4]
push edx
call esi
test eax, eax
jg 0x10019763
push ebx
call fcn.100569b3
add esp, 4
mov al, byte [esp + 0x13]
test al, al
je 0x10019826
push 6
lea ecx, [esp + 0x18]
call fcn.10001520
mov eax, dword [esp + 0x14]
mov ecx, dword [str.GS.sys]
mov dword [eax], ecx
mov dx, word [0x10137bb4]
mov word [eax + 4], dx
mov eax, dword [esp + 0x14]
mov byte [eax + 6], 0
mov dword [esp + 0x24], 0xd
lea ecx, [esp + 0x14]
push ecx
push 0x101a598c
call fcn.1001f460
add esp, 8
mov bl, al
neg bl
sbb bl, bl
inc bl
mov dword [esp + 0x24], edi
mov ebp, dword [esp + 0x14]
add ebp, 0xfffffff8
lea edx, [ebp + 4]
push edx
call esi
test eax, eax
jg 0x100197d9
push ebp
call fcn.100569b3
add esp, 4
test bl, bl
je 0x10019820
push str.GS.sys
lea ecx, [esp + 0x18]
call fcn.100019d0
mov dword [esp + 0x24], 0xe
lea eax, [esp + 0x14]
push eax
mov ecx, 0x101a598c
call fcn.10010920
mov dword [esp + 0x24], edi
mov ebx, dword [esp + 0x14]
add ebx, 0xfffffff8
lea ecx, [ebx + 4]
push ecx
call esi
test eax, eax
jg 0x10019820
push ebx
call fcn.100569b3
add esp, 4
mov ebp, dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
push str.driversCDRomFlt.sys
lea edx, [esp + 0x1c]
push edx
mov ecx, 0x101a5968
call fcn.100082c0
mov dword [esp + 0x24], 0xf
mov eax, dword [eax]
push eax
call ebp
cmp eax, edi
sete byte [esp + 0x13]
mov dword [esp + 0x24], edi
mov ebx, dword [esp + 0x18]
add ebx, 0xfffffff8
lea eax, [ebx + 4]
push eax
call esi
test eax, eax
jg 0x1001986c
push ebx
call fcn.100569b3
add esp, 4
mov al, byte [esp + 0x13]
test al, al
je 0x10019937
push 0xc
lea ecx, [esp + 0x18]
call fcn.10001520
mov edx, dword [str.CDRomFlt.sys]
mov ecx, dword [esp + 0x14]
mov dword [ecx], edx
mov eax, dword [0x10137b8c]
mov dword [ecx + 4], eax
mov edx, dword [0x10137b90]
mov dword [ecx + 8], edx
mov eax, dword [esp + 0x14]
mov byte [eax + 0xc], 0
mov dword [esp + 0x24], 0x10
lea ecx, [esp + 0x14]
push ecx
push 0x101a598c
call fcn.1001f460
add esp, 8
mov bl, al
neg bl
sbb bl, bl
inc bl
mov dword [esp + 0x24], edi
mov eax, dword [esp + 0x14]
add eax, 0xfffffff8
mov dword [esp + 0x18], eax
add eax, 4
push eax
call esi
test eax, eax
jg 0x100198f0
mov edx, dword [esp + 0x18]
push edx
call fcn.100569b3
add esp, 4
test bl, bl
je 0x10019937
push str.CDRomFlt.sys
lea ecx, [esp + 0x18]
call fcn.100019d0
mov dword [esp + 0x24], 0x11
lea eax, [esp + 0x14]
push eax
mov ecx, 0x101a598c
call fcn.10010920
mov dword [esp + 0x24], edi
mov ebx, dword [esp + 0x14]
add ebx, 0xfffffff8
lea ecx, [ebx + 4]
push ecx
call esi
test eax, eax
jg 0x10019937
push ebx
call fcn.100569b3
add esp, 4
push str._SysDiag.pp
lea edx, [esp + 0x1c]
push edx
mov ecx, 0x101a596c
call fcn.100082c0
mov dword [esp + 0x24], 0x12
mov eax, dword [eax]
push eax
call ebp
cmp eax, edi
sete byte [esp + 0x13]
mov dword [esp + 0x24], edi
mov ebx, dword [esp + 0x18]
add ebx, 0xfffffff8
lea eax, [ebx + 4]
push eax
call esi
test eax, eax
jg 0x1001997d
push ebx
call fcn.100569b3
add esp, 4
mov al, byte [esp + 0x13]
test al, al
je 0x10019a52
push 0xb
lea ecx, [esp + 0x18]
call fcn.10001520
mov edx, dword [str._SysDiag.pp]
mov ecx, dword [esp + 0x14]
mov dword [ecx], edx
mov eax, dword [0x10136bf0]
mov dword [ecx + 4], eax
mov dx, word [0x10136bf4]
mov word [ecx + 8], dx
mov al, byte [0x10136bf6]
mov byte [ecx + 0xa], al
mov ecx, dword [esp + 0x14]
mov byte [ecx + 0xb], 0
mov dword [esp + 0x24], 0x13
lea edx, [esp + 0x14]
push edx
push 0x101a598c
call fcn.1001f460
add esp, 8
mov bl, al
neg bl
sbb bl, bl
inc bl
mov dword [esp + 0x24], edi
mov eax, dword [esp + 0x14]
add eax, 0xfffffff8
mov dword [esp + 0x18], eax
add eax, 4
push eax
call esi
test eax, eax
jg 0x10019a0b
mov eax, dword [esp + 0x18]
push eax
call fcn.100569b3
add esp, 4
test bl, bl
je 0x10019a52
push str._SysDiag.pp
lea ecx, [esp + 0x18]
call fcn.100019d0
mov dword [esp + 0x24], 0x14
lea ecx, [esp + 0x14]
push ecx
mov ecx, 0x101a598c
call fcn.10010920
mov dword [esp + 0x24], edi
mov ebx, dword [esp + 0x14]
add ebx, 0xfffffff8
lea edx, [ebx + 4]
push edx
call esi
test eax, eax
jg 0x10019a52
push ebx
call fcn.100569b3
add esp, 4
push str._SysDiag2.dat
lea eax, [esp + 0x1c]
push eax
mov ecx, 0x101a596c
call fcn.100082c0
mov dword [esp + 0x24], 0x15
mov eax, dword [eax]
push eax
call ebp
cmp eax, edi
sete byte [esp + 0x13]
mov dword [esp + 0x24], edi
mov ebx, dword [esp + 0x18]
add ebx, 0xfffffff8
lea ecx, [ebx + 4]
push ecx
call esi
test eax, eax
jg 0x10019a98
push ebx
call fcn.100569b3
add esp, 4
mov al, byte [esp + 0x13]
test al, al
je 0x10019b69
push 0xd
lea ecx, [esp + 0x18]
call fcn.10001520
mov eax, dword [str._SysDiag2.dat]
mov edx, dword [esp + 0x14]
mov dword [edx], eax
mov ecx, dword [0x101369a0]
mov dword [edx + 4], ecx
mov eax, dword [0x101369a4]
mov dword [edx + 8], eax
mov cl, byte [0x101369a8]
mov byte [edx + 0xc], cl
mov edx, dword [esp + 0x14]
mov byte [edx + 0xd], 0
mov dword [esp + 0x24], 0x16
lea eax, [esp + 0x14]
push eax
push 0x101a598c
call fcn.1001f460
add esp, 8
mov bl, al
neg bl
sbb bl, bl
inc bl
mov dword [esp + 0x24], edi
mov ebp, dword [esp + 0x14]
add ebp, 0xfffffff8
lea ecx, [ebp + 4]
push ecx
call esi
test eax, eax
jg 0x10019b1c
push ebp
call fcn.100569b3
add esp, 4
test bl, bl
je 0x10019b63
push str._SysDiag2.dat
lea ecx, [esp + 0x18]
call fcn.100019d0
mov dword [esp + 0x24], 0x17
lea edx, [esp + 0x14]
push edx
mov ecx, 0x101a598c
call fcn.10010920
mov dword [esp + 0x24], edi
mov ebx, dword [esp + 0x14]
add ebx, 0xfffffff8
lea eax, [ebx + 4]
push eax
call esi
test eax, eax
jg 0x10019b63
push ebx
call fcn.100569b3
add esp, 4
mov ebp, dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
push str._SysDiag.cfg
lea ecx, [esp + 0x1c]
push ecx
mov ecx, 0x101a596c
call fcn.100082c0
mov dword [esp + 0x24], 0x18
mov eax, dword [eax]
push eax
call ebp
cmp eax, edi
sete bl
mov dword [esp + 0x24], edi
mov ebp, dword [esp + 0x18]
add ebp, 0xfffffff8
lea edx, [ebp + 4]
push edx
call esi
test eax, eax
jg 0x10019bad
push ebp
call fcn.100569b3
add esp, 4
test bl, bl
je 0x10019c6d
push 0xc
lea ecx, [esp + 0x18]
call fcn.10001520
mov ecx, dword [str._SysDiag.cfg]
mov eax, dword [esp + 0x14]
mov dword [eax], ecx
mov edx, dword [0x101369c0]
mov dword [eax + 4], edx
mov ecx, dword [0x101369c4]
mov dword [eax + 8], ecx
mov edx, dword [esp + 0x14]
mov byte [edx + 0xc], 0
mov dword [esp + 0x24], 0x19
lea eax, [esp + 0x14]
push eax
push 0x101a598c
call fcn.1001f460
add esp, 8
mov bl, al
neg bl
sbb bl, bl
inc bl
mov dword [esp + 0x24], edi
mov ebp, dword [esp + 0x14]
add ebp, 0xfffffff8
lea ecx, [ebp + 4]
push ecx
call esi
test eax, eax
jg 0x10019c26
push ebp
call fcn.100569b3
add esp, 4
test bl, bl
je 0x10019c6d
push str._SysDiag.cfg
lea ecx, [esp + 0x18]
call fcn.100019d0
mov dword [esp + 0x24], 0x1a
lea edx, [esp + 0x14]
push edx
mov ecx, 0x101a598c
call fcn.10010920
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0x14]
add edi, 0xfffffff8
lea eax, [edi + 4]
push eax
call esi
test eax, eax
jg 0x10019c6d
push edi
call fcn.100569b3
add esp, 4
mov ecx, dword [esp + 0x1c]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x18
ret