Function at 0x10054a10
Capabilities:
Link many functions at runtime

Disassembly:
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [0x1010e5cc], eax
jne 0x10054d38
cmp byte [0x1010e5c8], 0
je 0x10054d38
cmp dword [0x10109548], 0
je 0x10054a79
cmp dword [0x1010954c], 0x10
mov eax, 0x10109538
cmovae eax, dword [0x10109538]
push eax
push str.last_probe_miss:__s
call fcn.10084630
add esp, 8
mov dword [0x10109548], 0
cmp dword [0x1010954c], 0x10
mov eax, 0x10109538
cmovae eax, dword [0x10109538]
mov byte [eax], 0
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push esi
push edi
push str.kernelbase.dll
mov byte [0x1010e5c8], 0
mov dword [0x1010e5cc], 0
call ebx
push dword [0x1010e570]
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x100d63c4
push eax
call edi
push eax
call fcn.10071b50
add esp, 8
push 0x100d6400
call ebx
push dword [0x1010e56c]
mov esi, eax
push 0x100d63c4
push esi
call edi
push eax
call fcn.10071b50
add esp, 8
push dword [0x1010e574]
push 0x100d6434
push esi
call edi
push eax
call fcn.10071b50
add esp, 8
push dword [0x1010e578]
push 0x100d6440
push esi
call edi
push eax
call fcn.10071b50
add esp, 8
push dword [0x1010e57c]
push str.GetVolumeInformationByHandleW
push esi
call edi
push eax
call fcn.10071b50
add esp, 8
push dword [0x1010e5a0]
push str.GetFinalPathNameByHandleW
push esi
call edi
push eax
call fcn.10071b50
add esp, 8
push dword [0x1010e59c]
push str.GetFileInformationByHandle
push esi
call edi
push eax
call fcn.10071b50
add esp, 8
push dword [0x1010e5a8]
push str.EnumSystemFirmwareTables
push esi
call edi
push eax
call fcn.10071b50
add esp, 8
push dword [0x1010e5ac]
push str.GetSystemFirmwareTable
push esi
call edi
push eax
call fcn.10071b50
add esp, 8
push str.advapi32.dll
call ebx
mov esi, eax
test esi, esi
je 0x10054bca
push dword [0x1010e580]
push str.RegCreateKeyExW
push esi
call edi
push eax
call fcn.10071b50
add esp, 8
push dword [0x1010e584]
push 0x100d64f8
push esi
call edi
push eax
call fcn.10071b50
add esp, 8
push dword [0x1010e588]
push 0x100d6508
push esi
call edi
push eax
call fcn.10071b50
add esp, 8
push str.ntdll.dll
call ebx
mov esi, eax
test esi, esi
je 0x10054c33
push dword [0x1010e590]
push str.NtQueryInformationFile
push esi
call edi
push eax
call fcn.10071b50
add esp, 8
push dword [0x1010e594]
push str.NtQueryDirectoryFile
push esi
call edi
push eax
call fcn.10071b50
add esp, 8
push dword [0x1010e598]
push str.NtQueryVolumeInformationFile
push esi
call edi
push eax
call fcn.10071b50
add esp, 8
push dword [0x1010e58c]
push str.NtCreateFile
push esi
call edi
push eax
call fcn.10071b50
add esp, 8
cmp byte [0x1010e5c9], 0
jne 0x10054c63
cmp dword [0x1010e5b4], 0
je 0x10054c63
cmp dword [0x10109534], 0x10
mov eax, 0x10109520
push 1
cmovae eax, dword [0x10109520]
push eax
call fcn.10059290
add esp, 8
push dword [0x1010e5b8]
push 0x1010e5b8
call fcn.10053880
mov eax, dword [0x1010e5b8]
add esp, 8
mov ecx, 0x1010e5b0
mov dword [eax], eax
mov eax, dword [0x1010e5b8]
mov dword [eax + 4], eax
mov esi, dword [0x1010e5b0]
mov dword [0x1010e5bc], 0
push dword [esi + 4]
push 0x1010e5b0
call fcn.10053790
mov dword [esi + 4], esi
mov dword [esi], esi
mov dword [esi + 8], esi
mov edi, dword [0x1010e5c0]
mov dword [0x1010e5b4], 0
mov esi, dword [edi + 4]
cmp byte [esi + 0xd], 0
jne 0x10054cf7
jmp 0x10054cd0
push dword [esi + 8]
mov ecx, 0x1010e5c0
push 0x1010e5c0
call fcn.10051a90
mov eax, esi
mov esi, dword [esi]
push 0x18
push eax
call fcn.100a576e
add esp, 8
cmp byte [esi + 0xd], 0
je 0x10054cd0
mov dword [edi + 4], edi
mov dword [edi], edi
mov dword [edi + 8], edi
push dword [0x1010e568]
mov dword [0x1010e5c4], 0
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [0x10109534], 0x10
mov eax, 0x10109520
pop edi
cmovae eax, dword [0x10109520]
pop esi
mov dword [0x10109530], 0
pop ebx
mov byte [eax], 0
ret