Function at 0x403510
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x834
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
xorps xmm0, xmm0
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 8]
push 0xe
push 0
push 0
mov dword [edi], 0
push 0
mov dword [ebp - 0x830], eax
mov dword [esi], 0
mov dword [ebp - 0x10], 0x6b736944
mov dword [ebp - 0xc], 0x76697244
mov word [ebp - 8], 0x65
mov dword [ebp - 0x82c], 0
movdqu xmmword [ebp - 0x828], xmm0
mov dword [ebp - 0x834], 0
movq qword [ebp - 0x818], xmm0
call dword [sym.imp.SETUPAPI.dll_SetupDiGetClassDevsW]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x4039b6
lea eax, [ebp - 0x82c]
mov dword [ebp - 0x82c], 0x1c
push eax
push 0
push ebx
call dword [sym.imp.SETUPAPI.dll_SetupDiEnumDeviceInfo]
test eax, eax
je 0x4039af
jmp 0x4035c0
push 0x800
lea eax, [ebp - 0x810]
push 0
push eax
call fcn.0040f3c0
add esp, 0xc
lea eax, [ebp - 0x810]
push 0
push 0x7fe
push eax
push 0
push 7
lea eax, [ebp - 0x82c]
push eax
push ebx
call dword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceRegistryPropertyA]
test eax, eax
je 0x403885
lea eax, [ebp - 0x810]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.00408d9c
add esp, 8
test eax, eax
jne 0x403885
push eax
push 0x7fe
lea eax, [ebp - 0x810]
push eax
push 0
push 0xc
lea eax, [ebp - 0x82c]
push eax
push ebx
call dword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceRegistryPropertyA]
test eax, eax
je 0x403885
lea eax, [ebp - 0x810]
push eax
push 0x800
push dword [ebp - 0x830]
call fcn.0040815f
push 0x41e7ac
push 0x800
push dword [ebp - 0x830]
call fcn.0040815f
lea eax, [ebp - 0x810]
push 0x800
push eax
call fcn.004097f0
lea eax, [ebp - 0x810]
push str.vdiskbus
push eax
call fcn.004092a0
add esp, 0x28
test eax, eax
jne 0x4039a3
lea eax, [ebp - 0x810]
push str.netzone
push eax
call fcn.004092a0
add esp, 8
test eax, eax
jne 0x403995
lea eax, [ebp - 0x810]
push str.diskless
push eax
call fcn.004092a0
add esp, 8
test eax, eax
jne 0x403995
lea eax, [ebp - 0x810]
push str.richdisk
push eax
call fcn.004092a0
add esp, 8
test eax, eax
jne 0x403987
lea eax, [ebp - 0x810]
push str.deepin
push eax
call fcn.004092a0
add esp, 8
test eax, eax
jne 0x403979
lea eax, [ebp - 0x810]
push str.kic.disk
push eax
call fcn.004092a0
add esp, 8
test eax, eax
jne 0x40396b
lea eax, [ebp - 0x810]
push str.nmenu
push eax
call fcn.004092a0
add esp, 8
test eax, eax
jne 0x40395d
lea eax, [ebp - 0x810]
push str.alddisk
push eax
call fcn.004092a0
add esp, 8
test eax, eax
jne 0x40394f
lea eax, [ebp - 0x810]
push str.vhd_cms
push eax
call fcn.004092a0
add esp, 8
test eax, eax
jne 0x403941
lea eax, [ebp - 0x810]
push str.mzd.live
push eax
call fcn.004092a0
add esp, 8
test eax, eax
jne 0x403933
lea eax, [ebp - 0x810]
push str.ccboot
push eax
call fcn.004092a0
add esp, 8
test eax, eax
jne 0x403925
lea eax, [ebp - 0x810]
push str.vnd_scsi
push eax
call fcn.004092a0
add esp, 8
test eax, eax
jne 0x403914
lea eax, [ebp - 0x810]
push str.bnvirtualscsihba
push eax
call fcn.004092a0
add esp, 8
test eax, eax
jne 0x403903
lea eax, [ebp - 0x810]
push str.bxp_virtual
push eax
call fcn.004092a0
add esp, 8
test eax, eax
jne 0x403903
lea eax, [ebp - 0x810]
push str.s.t._virtual
push eax
call fcn.004092a0
add esp, 8
test eax, eax
jne 0x4038f2
lea eax, [ebp - 0x810]
push str.kb.mdisk
push eax
call fcn.004092a0
add esp, 8
test eax, eax
jne 0x4038e1
lea eax, [ebp - 0x810]
push str.hin_virtual
push eax
call fcn.004092a0
add esp, 8
test eax, eax
jne 0x4038d0
lea eax, [ebp - 0x810]
push str.obm_virtual
push eax
call fcn.004092a0
add esp, 8
test eax, eax
jne 0x4038bf
lea eax, [ebp - 0x810]
push str.msft_virtual
push eax
call fcn.004092a0
add esp, 8
test eax, eax
jne 0x4038ae
mov eax, dword [ebp - 0x834]
lea ecx, [ebp - 0x82c]
inc eax
push ecx
push eax
push ebx
mov dword [ebp - 0x834], eax
call dword [sym.imp.SETUPAPI.dll_SetupDiEnumDeviceInfo]
test eax, eax
jne 0x4035c0
jmp 0x4039af
mov dword [edi], 1
mov dword [esi], 0x12
jmp 0x4039af
mov dword [edi], 1
mov dword [esi], 0x11
jmp 0x4039af
mov dword [edi], 1
mov dword [esi], 0xf
jmp 0x4039af
mov dword [edi], 1
mov dword [esi], 0xe
jmp 0x4039af
mov dword [edi], 1
mov dword [esi], 0xd
jmp 0x4039af
mov dword [edi], 1
mov dword [esi], 0xc
jmp 0x4039af
mov dword [edi], 1
mov dword [esi], 0xb
jmp 0x4039af
mov dword [edi], 1
mov dword [esi], 0xa
jmp 0x4039af
mov dword [edi], 1
mov dword [esi], 9
jmp 0x4039af
mov dword [edi], 1
mov dword [esi], 8
jmp 0x4039af
mov dword [edi], 1
mov dword [esi], 7
jmp 0x4039af
mov dword [edi], 1
mov dword [esi], 6
jmp 0x4039af
mov dword [edi], 1
mov dword [esi], 5
jmp 0x4039af
mov dword [edi], 1
mov dword [esi], 4
jmp 0x4039af
mov dword [edi], 1
mov dword [esi], 3
jmp 0x4039af
mov dword [edi], 1
mov dword [esi], 2
jmp 0x4039af
mov dword [edi], 1
mov dword [esi], 1
push ebx
call dword [sym.imp.SETUPAPI.dll_SetupDiDestroyDeviceInfoList]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00407dbf
mov esp, ebp
pop ebp
ret 0x10