Function at 0x1033d0c
Capabilities:
Get system information on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xffc
mov eax, dword [0x103d004]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
lea ecx, [ebp - 0xfe4]
push ecx
mov eax, 0x210
push eax
mov dword [ebp - 0xfe4], eax
lea eax, [ebp - 0x3a4]
push eax
xor esi, esi
push 0x62
mov dword [ebp - 0xfd0], esi
call dword [sym.imp.ntdll.dll_NtQuerySystemInformation]
test eax, eax
jl 0x1033d71
movzx eax, word [ebp - 0x3a4]
mov edx, dword [ebp - 0x3a0]
shr eax, 1
xor ecx, ecx
mov word [edx + eax*2], cx
mov eax, dword [ebp - 0x3a0]
mov dword [ebp - 0xfd0], eax
push esi
push esi
call dword [sym.imp.SETUPAPI.dll_SetupDiCreateDeviceInfoList]
mov dword [ebp - 0xfc4], eax
cmp eax, 0xffffffff
jne 0x1033d91
call dword [sym.imp.API_MS_Win_Core_ErrorHandling_L1_1_0.dll_GetLastError]
mov esi, eax
jmp 0x1034068
push ebx
push edi
push 0x1c
mov dword [ebp - 0xfe0], 0x10154c8
mov dword [ebp - 0xfdc], 0x10154d8
mov dword [ebp - 0xfbc], esi
pop ebx
mov eax, dword [ebp - 0xfbc]
mov eax, dword [ebp + eax*4 - 0xfe0]
push esi
push esi
push esi
push 0x12
push esi
push esi
push eax
call dword [sym.imp.SETUPAPI.dll_SetupDiGetClassDevsExW]
mov dword [ebp - 0xfc0], eax
cmp eax, 0xffffffff
je 0x1034053
push 7
pop ecx
xor eax, eax
lea edi, [ebp - 0xf9c]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0xf9c]
push eax
mov dword [ebp - 0xfc8], esi
push esi
jmp 0x1034015
inc dword [ebp - 0xfc8]
push 7
pop ecx
xor eax, eax
lea edi, [ebp - 0xfb8]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0xfb8]
push eax
push esi
push 0x826
lea eax, [ebp - 0xf64]
push eax
lea eax, [ebp - 0xf9c]
push eax
push dword [ebp - 0xfc0]
mov dword [ebp - 0xfb8], ebx
call dword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceInterfaceDetailW]
test eax, eax
je 0x1033ffb
push esi
push 0xc8
lea eax, [ebp - 0x534]
push eax
lea eax, [ebp - 0xfb8]
push eax
push dword [ebp - 0xfc0]
call dword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceInstanceIdW]
test eax, eax
je 0x1033ffb
cmp dword [ebp - 0xfbc], 1
mov dword [ebp - 0xfd8], esi
jne 0x1033edd
cmp dword [ebp - 0xfd0], esi
je 0x1033edd
push esi
push esi
push 0x208
lea eax, [ebp - 0x73c]
push eax
lea eax, [ebp - 0xfcc]
push eax
push 0x1015360
lea eax, [ebp - 0xfb8]
push eax
push dword [ebp - 0xfc0]
call dword [sym.imp.SETUPAPI.dll_SetupDiGetDevicePropertyW]
test eax, eax
je 0x1033edd
cmp dword [ebp - 0xfcc], 0x12
jne 0x1033edd
push 1
push 0xffffffffffffffff
push dword [ebp - 0xfd0]
lea eax, [ebp - 0x73c]
push 0xffffffffffffffff
push eax
call dword [sym.imp.API_MS_Win_Core_String_L1_1_0.dll_CompareStringOrdinal]
cmp eax, 2
je 0x1033f74
push esi
push esi
push 3
push esi
push 3
push 0x80000000
lea eax, [ebp - 0xf60]
push eax
call dword [sym.imp.API_MS_Win_Core_File_L1_1_0.dll_CreateFileW]
mov dword [ebp - 0xfd4], eax
cmp eax, 0xffffffff
je 0x1033ffb
xor eax, eax
lea edi, [ebp - 0xffc]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push esi
stosd dword es:[edi], eax
lea eax, [ebp - 0xfe8]
push eax
push 0x14
lea eax, [ebp - 0xffc]
push eax
push esi
push esi
push 0x704010
push dword [ebp - 0xfd4]
call dword [sym.imp.API_MS_Win_Core_IO_L1_1_0.dll_DeviceIoControl]
test eax, eax
je 0x1033f5c
cmp dword [ebp - 0xff4], esi
jg 0x1033f52
cmp dword [ebp - 0xff0], esi
jg 0x1033f52
cmp dword [ebp - 0xfec], esi
jle 0x1033f5c
mov dword [ebp - 0xfd8], 1
push dword [ebp - 0xfd4]
call dword [sym.imp.API_MS_Win_Core_Handle_L1_1_0.dll_CloseHandle]
cmp dword [ebp - 0xfd8], esi
je 0x1033ffb
lea eax, [ebp - 0x534]
push eax
push 0xc8
lea eax, [ebp - 0x194]
push eax
call fcn.0102cc3f
jmp 0x1033fc8
push esi
push esi
push 0x190
lea eax, [ebp - 0x194]
push eax
lea eax, [ebp - 0xfcc]
push eax
push 0x1015388
lea eax, [ebp - 0xf80]
push eax
push dword [ebp - 0xfc4]
call dword [sym.imp.SETUPAPI.dll_SetupDiGetDevicePropertyW]
test eax, eax
je 0x1033ffb
cmp dword [ebp - 0xfcc], 0x12
jne 0x1033ffb
push 7
pop ecx
xor eax, eax
lea edi, [ebp - 0xf80]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0xf80]
push eax
push esi
push esi
lea eax, [ebp - 0x194]
push eax
push dword [ebp - 0xfc4]
mov dword [ebp - 0xf80], ebx
call dword [sym.imp.SETUPAPI.dll_SetupDiOpenDeviceInfoW]
test eax, eax
jne 0x1033f8e
push 7
pop ecx
xor eax, eax
lea edi, [ebp - 0xf9c]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0xf9c]
push eax
push dword [ebp - 0xfc8]
mov eax, dword [ebp - 0xfbc]
push dword [ebp + eax*4 - 0xfe0]
mov dword [ebp - 0xf9c], ebx
push esi
push dword [ebp - 0xfc0]
mov dword [ebp - 0xf64], 6
call dword [sym.imp.SETUPAPI.dll_SetupDiEnumDeviceInterfaces]
test eax, eax
jne 0x1033dfa
push dword [ebp - 0xfc0]
call dword [sym.imp.SETUPAPI.dll_SetupDiDestroyDeviceInfoList]
inc dword [ebp - 0xfbc]
cmp dword [ebp - 0xfbc], 2
jb 0x1033db0
pop edi
pop ebx
push esi
call dword [sym.imp.API_MS_Win_Core_ErrorHandling_L1_1_0.dll_SetLastError]
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0xfc4]
xor ecx, ebp
pop esi
call fcn.01034b90
leave
ret