Function at 0x1092871
Capabilities:
Check if file exists
Get file attributes

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x354
mov eax, dword [0x1099a38]
push ebx
mov ebx, dword [ebp + 8]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push esi
mov dword [ebp - 0x324], eax
lea eax, [ebx + 0x130]
push eax
push ebx
push 0x102ed70
lea eax, [ebp - 0x20c]
xor esi, esi
push 0x103
push eax
mov dword [ebp - 0x318], esi
mov dword [ebp - 0x314], esi
call fcn.01037486
add esp, 0x14
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
lea eax, [ebp - 0x20c]
jne 0x10928f0
push eax
push 0x102ed34
push 6
call fcn.0108e8f0
add esp, 0xc
xor eax, eax
jmp 0x1092b76
push edi
push esi
xor edi, edi
inc edi
push edi
push esi
push eax
call dword [sym.imp.SETUPAPI.dll_SetupOpenInfFileA]
cmp eax, 0xffffffff
mov dword [ebp - 0x31c], eax
je 0x1092b4d
lea eax, [ebp - 0x344]
push eax
push esi
push 0x102d9d4
push dword [ebp - 0x31c]
mov dword [ebp - 0x320], esi
call dword [sym.imp.SETUPAPI.dll_SetupFindFirstLineA]
test eax, eax
je 0x1092b6f
push esi
push 0x104
lea eax, [ebp - 0x108]
push eax
push edi
lea eax, [ebp - 0x344]
push eax
call dword [sym.imp.SETUPAPI.dll_SetupGetStringFieldA]
test eax, eax
je 0x1092b00
push dword [ebp - 0x324]
lea eax, [ebp - 0x108]
push eax
call fcn.0108ea15
test eax, eax
jne 0x1092b29
lea eax, [ebp - 0x334]
push eax
push esi
lea eax, [ebp - 0x108]
push eax
push dword [ebp - 0x31c]
call dword [sym.imp.SETUPAPI.dll_SetupFindFirstLineA]
test eax, eax
je 0x1092b29
push esi
push 0x104
lea eax, [ebp - 0x310]
push eax
push edi
lea eax, [ebp - 0x334]
push eax
call dword [sym.imp.SETUPAPI.dll_SetupGetStringFieldA]
test eax, eax
je 0x1092ab8
push dword [ebp - 0x324]
lea eax, [ebp - 0x310]
push eax
call fcn.0108e9e1
test eax, eax
je 0x1092ae0
push esi
push dword [ebp - 0x324]
call fcn.01093685
mov esi, eax
test esi, esi
je 0x1092a81
lea eax, [ebp - 0x108]
push eax
lea eax, [ebx + 0x130]
push eax
push ebx
push 0x102ed1c
lea eax, [esi + 0x330]
push 0x103
push eax
call fcn.01037486
add esp, 0x18
lea eax, [ebp - 0x354]
push eax
lea eax, [ebp - 0x108]
push eax
push 0x102d958
push dword [ebp - 0x31c]
call dword [sym.imp.SETUPAPI.dll_SetupFindFirstLineA]
test eax, eax
je 0x1092a6a
push 0
push 0x104
lea eax, [esi + 0x24]
push eax
push edi
lea eax, [ebp - 0x354]
push eax
call dword [sym.imp.SETUPAPI.dll_SetupGetStringFieldA]
test eax, eax
jne 0x1092a81
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [ebp - 0x108]
push ecx
push eax
mov dword [ebp - 0x318], eax
push 0x102ecc8
jmp 0x1092aa1
lea eax, [ebp - 0x108]
push eax
push 0x102ec88
push edi
call fcn.0108e8f0
add esp, 0xc
jmp 0x1092aaa
push 0
push edi
push esi
push ebx
call fcn.010927cf
test eax, eax
jne 0x1092aae
lea eax, [ebp - 0x108]
push eax
push dword [ebp - 0x318]
push 0x102ec28
push edi
call fcn.0108e8f0
add esp, 0x10
xor esi, esi
jmp 0x1092ada
mov dword [ebp - 0x320], edi
xor esi, esi
jmp 0x1092ae0
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [ebp - 0x108]
push ecx
push eax
push 0x102ebe0
push edi
mov dword [ebp - 0x318], eax
call fcn.0108e8f0
add esp, 0x10
mov dword [ebp - 0x314], edi
cmp dword [ebp - 0x320], esi
jne 0x1092b21
lea eax, [ebp - 0x334]
push eax
push eax
call dword [sym.imp.SETUPAPI.dll_SetupFindNextLine]
test eax, eax
jne 0x1092994
jmp 0x1092b21
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x102eb88
push edi
mov dword [ebp - 0x318], eax
call fcn.0108e8f0
add esp, 0xc
mov dword [ebp - 0x314], edi
cmp dword [ebp - 0x314], esi
jne 0x1092b6f
lea eax, [ebp - 0x344]
push eax
push eax
call dword [sym.imp.SETUPAPI.dll_SetupFindNextLine]
test eax, eax
jne 0x1092934
cmp dword [ebp - 0x320], edi
je 0x109290d
jmp 0x1092b6f
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [ebp - 0x20c]
push ecx
push eax
push 0x102eb5c
push edi
mov dword [ebp - 0x318], eax
call fcn.0108e8f0
add esp, 0x10
mov eax, dword [ebp - 0x318]
pop edi
mov ecx, dword [ebp - 4]
pop esi
pop ebx
call fcn.0106bc50
leave
ret 8