Function at 0x453de0
Capabilities:
Enumerate files on windows
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4cf200
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x2284
call fcn.004ab4d0
mov eax, dword [0x51c080]
xor eax, ebp
mov dword [ebp - 0x18], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, dword [ebp + 8]
mov dword [ebp - 0x2284], eax
mov esi, ecx
mov dword [ebp - 0x2288], esi
xor ebx, ebx
mov dword [ebp - 0x2274], ebx
mov dword [ebp - 0x2278], ebx
mov dword [ebp - 0x227c], ebx
mov dword [ebp - 0x2280], ebx
mov dword [ebp - 0x2270], ebx
push str._Delete_Installed_Inf__
mov ecx, 0x527b30
call fcn.00449000
add esp, 4
cmp esi, ebx
je 0x4541b4
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x453e66
sub eax, edx
sar eax, 1
je 0x4541b4
mov dword [ebp - 4], ebx
push str.Setupapi.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp - 0x2278], eax
cmp eax, ebx
je 0x453ea5
push str.SetupUninstallOEMInfW
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x227c], eax
cmp byte [0x52c25c], bl
je 0x453ecd
mov eax, dword [0x52c254]
cmp eax, ebx
je 0x453ec7
lea ecx, [ebp - 0x2280]
push ecx
call eax
mov dword [ebp - 0x2270], eax
jmp 0x453ecd
mov dword [ebp - 0x2270], ebx
push 0x800
push ebx
lea edx, [ebp - 0x81c]
push edx
call fcn.004ab450
add esp, 0xc
push 0x400
lea eax, [ebp - 0x81c]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
test eax, eax
jne 0x453f29
push str.Get_Windows_Directory___
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
mov edx, 0x527b30
call fcn.00448ec0
add esp, 4
mov dword [ebp - 0x2290], ebx
push 0x5043bc
lea ecx, [ebp - 0x2290]
push ecx
call fcn.004abd6e
lea eax, [ebp - 0x81c]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x453f32
sub eax, edx
sar eax, 1
push 0x3ff
cmp word [ebp + eax*2 - 0x81e], 0x5c
jne 0x453f64
push 0x4ef74c
push 0x400
lea edx, [ebp - 0x81c]
push edx
jmp 0x453f75
push str.inf
push 0x400
lea eax, [ebp - 0x81c]
push eax
call fcn.004a9dea
add esp, 0x10
push 0x800
push ebx
lea ecx, [ebp - 0x181c]
push ecx
call fcn.004ab450
add esp, 0xc
lea edx, [ebp - 0x81c]
push edx
push str._sOEM___.inf
lea edx, [ebp - 0x181c]
call fcn.00411a00
add esp, 8
lea eax, [ebp - 0x226c]
push eax
lea ecx, [ebp - 0x181c]
push ecx
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov esi, eax
mov dword [ebp - 0x2274], esi
cmp esi, 0xffffffff
jne 0x454005
lea edx, [ebp - 0x181c]
push edx
push str.Find_OEM_Inf___s_
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
mov edx, 0x527b30
call fcn.00448ec0
add esp, 8
mov dword [ebp - 0x228c], ebx
push 0x5043bc
lea eax, [ebp - 0x228c]
push eax
call fcn.004abd6e
push 0x800
push ebx
lea ecx, [ebp - 0x201c]
push ecx
call fcn.004ab450
add esp, 0xc
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x800
push ebx
lea edx, [ebp - 0x101c]
push edx
call fcn.004ab450
add esp, 0xc
lea eax, [ebp - 0x2240]
push eax
lea ecx, [ebp - 0x81c]
push ecx
push 0x4dd780
lea edx, [ebp - 0x101c]
call fcn.00411a00
add esp, 0xc
test byte [ebp - 0x226c], 0x10
jne 0x454121
lea edx, [ebp - 0x101c]
push edx
call fcn.00462590
add esp, 4
mov eax, dword [ebp - 0x2284]
push eax
mov edx, dword [ebp - 0x2288]
lea ecx, [ebp - 0x101c]
call fcn.004545b0
test al, al
je 0x454121
mov eax, dword [ebp - 0x227c]
push ebx
push 1
cmp eax, ebx
je 0x4540e0
lea ecx, [ebp - 0x2240]
push ecx
call eax
test eax, eax
jne 0x4540c8
lea edx, [ebp - 0x2240]
push edx
push str.Delete_OEM_Inf___s_
call edi
mov ecx, eax
mov edx, 0x527b30
call fcn.00448ec0
jmp 0x45411e
lea eax, [ebp - 0x2240]
push eax
push str._s_deleted_complete_by_API_
mov ecx, 0x527b30
call fcn.00449000
jmp 0x45411e
lea ecx, [ebp - 0x101c]
call fcn.0045d900
push 0x2e
lea ecx, [ebp - 0x101c]
push ecx
call fcn.004a9ce4
add esp, 0x10
cmp eax, ebx
je 0x454121
push str..pnf
push 5
push eax
call fcn.004a9ecb
add esp, 0xc
push ebx
push 1
lea ecx, [ebp - 0x101c]
call fcn.0045d900
add esp, 8
lea edx, [ebp - 0x226c]
push edx
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x454020
cmp dword [ebp - 0x2270], ebx
je 0x45414f
mov ecx, dword [ebp - 0x2280]
mov eax, 0x52c244
call fcn.0045b780
mov dword [ebp - 4], 0xffffffff
jmp 0x45418c
mov eax, dword [ebp - 0x2278]
cmp eax, ebx
je 0x45419d
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp esi, ebx
je 0x4541ad
cmp esi, 0xffffffff
je 0x4541ad
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
push str._Delete_Installed_Inf_END_
jmp 0x4541b9
push str.Invalid_Driver_name__
mov ecx, 0x527b30
call fcn.00449000
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x18]
xor ecx, ebp
call fcn.004a998e
mov esp, ebp
pop ebp
ret 4