Function at 0x107b245
Capabilities:
Query or enumerate registry value
Write file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x1394
call fcn.0106bfb4
mov eax, dword [0x1099a38]
or dword [ebp - 0x1374], 0xffffffff
push ebx
push esi
push edi
lea ecx, [ebp - 0x1390]
push ecx
xor ebx, ebx
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push eax
push dword [0x1116a7c]
mov dword [ebp - 0x137c], ebx
call dword [sym.imp.SETUPAPI.dll_SetupFindFirstLineW]
cmp eax, 1
jne 0x107b63d
mov esi, 0x103
mov edi, dword [sym.imp.SETUPAPI.dll_SetupGetStringFieldW]
push ebx
push 0x104
lea eax, [ebp - 0x310]
push eax
push ebx
lea eax, [ebp - 0x1390]
push eax
call edi
test eax, eax
je 0x107b608
push ebx
push 0x208
lea eax, [ebp - 0x720]
push eax
push 1
lea eax, [ebp - 0x1390]
push eax
call edi
test eax, eax
je 0x107b608
push ebx
push ebx
push 0x104
lea eax, [ebp - 0x518]
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x310]
push eax
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
je 0x107b608
lea eax, [ebp - 0x730]
push eax
lea eax, [ebp - 0x518]
push eax
call fcn.01074c51
test eax, eax
je 0x107b32f
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x10253dc
call fcn.01071ac0
pop ecx
pop ecx
jmp 0x107b608
push ebx
lea eax, [ebp - 0x1380]
push eax
push 1
push 0x20019
push ebx
lea eax, [ebp - 0x730]
push eax
call dword [sym.imp.SETUPAPI.dll_CM_Open_Class_KeyA]
test eax, eax
jne 0x107b547
push ebx
push ebx
push ebx
push ebx
push 0x10253d0
push dword [ebp - 0x1380]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x107b547
push dword [ebp - 0x1380]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push ebx
push ebx
push ebx
lea eax, [ebp - 0x730]
push eax
call dword [sym.imp.SETUPAPI.dll_SetupDiGetClassDevsA]
mov edi, eax
cmp edi, 0xffffffff
mov dword [ebp - 0x1374], edi
jne 0x107b3af
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x1027838
call fcn.01071ac0
pop ecx
pop ecx
jmp 0x107b40f
push 1
push ebx
push edi
call dword [sym.imp.SETUPAPI.dll_SetupDiBuildDriverInfoList]
test eax, eax
jne 0x107b3d2
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x310]
push eax
push 0x10277f8
jmp 0x107b407
lea eax, [ebp - 0xd4c]
push eax
push ebx
push 1
push ebx
push edi
mov edi, dword [sym.imp.SETUPAPI.dll_SetupDiEnumDriverInfoW]
mov dword [ebp - 0xd4c], 0x61c
call edi
test eax, eax
jne 0x107b42c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x310]
push eax
push 0x10277c0
call fcn.01071ac0
add esp, 0xc
push ebx
lea eax, [ebp - 0x310]
push eax
push dword [0x10f4468]
call fcn.01072ba9
push 0x1027360
jmp 0x107b568
lea eax, [ebp - 0xd4c]
push eax
push ebx
push 1
push ebx
push dword [ebp - 0x1374]
mov dword [ebp - 0x1378], ebx
call edi
jmp 0x107b50c
lea eax, [ebp - 0x940]
push 0x10277ac
push eax
call sub.msvcrt.dll__wcsicmp
test eax, eax
pop ecx
pop ecx
je 0x107b476
lea eax, [ebp - 0x940]
push eax
lea eax, [ebp - 0x310]
push eax
push 0x1027790
jmp 0x107b4cf
xor eax, eax
mov ecx, 0x188
lea edi, [ebp - 0x1370]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push ebx
mov eax, 0x622
push eax
mov dword [ebp - 0x1370], eax
lea eax, [ebp - 0x1370]
push eax
lea eax, [ebp - 0xd4c]
push eax
push ebx
push dword [ebp - 0x1374]
call dword [sym.imp.SETUPAPI.dll_SetupDiGetDriverInfoDetailW]
test eax, eax
jne 0x107b4d9
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
cmp eax, 0x7a
je 0x107b4d9
call edi
push eax
lea eax, [ebp - 0x310]
push eax
push 0x10277c0
call fcn.01071ac0
add esp, 0xc
jmp 0x107b4ea
lea eax, [ebp - 0x1158]
push eax
call fcn.01075af5
cmp eax, 1
je 0x107b526
inc dword [ebp - 0x1378]
lea eax, [ebp - 0xd4c]
push eax
push dword [ebp - 0x1378]
push 1
push ebx
push dword [ebp - 0x1374]
call dword [sym.imp.SETUPAPI.dll_SetupDiEnumDriverInfoW]
test eax, eax
jne 0x107b44a
push 0x1027360
push esi
lea eax, [ebp - 0x108]
push eax
call fcn.0108c975
push ebx
push ebx
push 0x104
lea eax, [ebp - 0x108]
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x1158]
push eax
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
jmp 0x107b575
cmp dword [ebp + 0xc], ebx
jne 0x107b608
push ebx
lea eax, [ebp - 0x310]
push eax
push dword [0x10f4468]
call fcn.01072ba9
push 0x1027788
lea eax, [ebp - 0x108]
push esi
push eax
call fcn.0108c975
cmp dword [0x10f4464], 0xffffffff
je 0x107b5dd
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x518]
push eax
push 0x102530c
lea eax, [ebp - 0x414]
push esi
push eax
call sub.msvcrt.dll__snprintf
mov edi, dword [0x10f4464]
add esp, 0x14
cmp edi, 0xffffffff
je 0x107b647
lea eax, [ebp - 0x414]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x107b5b9
push ebx
lea ecx, [ebp - 0x1394]
push ecx
sub eax, edx
push eax
lea eax, [ebp - 0x414]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x107b65c
push ebx
lea eax, [ebp - 0x310]
push eax
push dword [0x10f4468]
call fcn.01072ba9
cmp dword [ebp - 0x1374], 0xffffffff
je 0x107b608
push 1
push ebx
push dword [ebp - 0x1374]
call dword [sym.imp.SETUPAPI.dll_SetupDiDestroyDriverInfoList]
lea eax, [ebp - 0x1390]
push eax
push eax
call dword [sym.imp.SETUPAPI.dll_SetupFindNextLine]
cmp dword [ebp - 0x1374], 0xffffffff
mov edi, eax
je 0x107b634
push dword [ebp - 0x1374]
call dword [sym.imp.SETUPAPI.dll_SetupDiDestroyDeviceInfoList]
or dword [ebp - 0x1374], 0xffffffff
cmp edi, 1
je 0x107b294
mov dword [ebp - 0x137c], 1
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x137c]
pop edi
pop esi
pop ebx
call fcn.0106bc50
leave
ret 8
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x414]
push eax
push 0x10252e8
call fcn.01071ac0
add esp, 0xc
jmp 0x107b647