Function at 0x100158b4
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0x1c4
mov eax, 0x1005bc1e
call fcn.1004262a
lea eax, [ebp - 0x1d0]
mov edi, ecx
mov esi, edx
xor ebx, ebx
push eax
mov dword [ebp - 0x19c], edi
mov dword [ebp - 0x17c], esi
mov dword [ebp - 0x174], ebx
call fcn.1001131c
mov dword [ebp - 4], ebx
cmp byte [esi + 8], 6
jne 0x10015cc7
mov eax, esi
mov dword [ebp - 0x16c], ebx
call fcn.10031b42
test eax, eax
je 0x10015cc7
jmp 0x10015911
mov esi, dword [ebp - 0x17c]
push dword [ebp - 0x16c]
push esi
call fcn.10031e20
mov edi, eax
push edi
mov edx, str.class_device
call fcn.10032159
mov dword [ebp - 0x178], eax
lea eax, [ebp - 0xa8]
push eax
call fcn.1001447f
push edi
mov edx, str.class_name
mov byte [ebp - 4], 1
call fcn.10032159
push eax
lea ecx, [ebp - 0x198]
call fcn.10031332
push eax
lea ecx, [ebp - 0x1b8]
mov byte [ebp - 4], 2
call fcn.10001206
pop ecx
push 0xffffffffffffffff
lea ecx, [ebp - 0x7c]
push ecx
xor ebx, ebx
mov byte [ebp - 4], 3
call fcn.10004d65
push ebx
push 1
lea esi, [ebp - 0x1b8]
call fcn.10004e12
push ebx
push 1
lea ecx, [ebp - 0x198]
mov byte [ebp - 4], 1
call fcn.10004d1a
push edi
mov edx, str.class_desc
call fcn.10032159
push eax
lea ecx, [ebp - 0x1b8]
call fcn.10031332
push eax
lea ecx, [ebp - 0x198]
mov byte [ebp - 4], 4
call fcn.10001206
pop ecx
push 0xffffffffffffffff
lea ecx, [ebp - 0x60]
push ecx
mov byte [ebp - 4], 5
call fcn.10004d65
push ebx
push 1
lea esi, [ebp - 0x198]
call fcn.10004e12
push ebx
push 1
lea ecx, [ebp - 0x1b8]
mov byte [ebp - 4], 1
call fcn.10004d1a
push edi
mov edx, str.class_guid
call fcn.10032159
push eax
lea ecx, [ebp - 0x1b8]
call fcn.10031332
push eax
lea ecx, [ebp - 0x198]
mov byte [ebp - 4], 6
call fcn.10001206
pop ecx
push 0xffffffffffffffff
lea ecx, [ebp - 0x98]
push ecx
mov byte [ebp - 4], 7
call fcn.10004d65
push ebx
push 1
lea esi, [ebp - 0x198]
call fcn.10004e12
push ebx
push 1
lea ecx, [ebp - 0x1b8]
mov byte [ebp - 4], 1
call fcn.10004d1a
push edi
mov edx, str.class_ico
call fcn.10032159
push eax
lea ecx, [ebp - 0x198]
call fcn.10031332
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 8
call fcn.10004c1a
push ebx
push 1
lea ecx, [ebp - 0x198]
mov byte [ebp - 4], 1
call fcn.10004d1a
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x170], ebx
call fcn.10031b42
test eax, eax
je 0x10015c84
push dword [ebp - 0x170]
push dword [ebp - 0x178]
call fcn.10031e20
lea edi, [ebp - 0x168]
mov dword [ebp - 0x174], eax
call fcn.1001442a
push dword [ebp - 0x174]
mov edx, str.device_unique
mov byte [ebp - 4], 9
call fcn.10032159
push eax
lea ecx, [ebp - 0x1b8]
call fcn.10031332
push eax
lea ecx, [ebp - 0x198]
mov byte [ebp - 4], 0xa
call fcn.10001206
pop ecx
push 0xffffffffffffffff
lea ecx, [ebp - 0xf0]
push ecx
xor ebx, ebx
mov byte [ebp - 4], 0xb
call fcn.10004d65
push ebx
push 1
lea esi, [ebp - 0x198]
call fcn.10004e12
push ebx
push 1
lea ecx, [ebp - 0x1b8]
mov byte [ebp - 4], 9
call fcn.10004d1a
mov edi, dword [ebp - 0x174]
push edi
mov edx, str.device_id
call fcn.10032159
push eax
lea ecx, [ebp - 0x1b8]
call fcn.10031332
push eax
lea ecx, [ebp - 0x198]
mov byte [ebp - 4], 0xc
call fcn.10001206
pop ecx
push 0xffffffffffffffff
lea ecx, [ebp - 0x164]
push ecx
mov byte [ebp - 4], 0xd
call fcn.10004d65
push ebx
push 1
lea esi, [ebp - 0x198]
call fcn.10004e12
push ebx
push 1
lea ecx, [ebp - 0x1b8]
mov byte [ebp - 4], 9
call fcn.10004d1a
push edi
mov edx, str.device_desc
call fcn.10032159
push eax
lea ecx, [ebp - 0x1b8]
call fcn.10031332
push eax
lea ecx, [ebp - 0x198]
mov byte [ebp - 4], 0xe
call fcn.10001206
pop ecx
push 0xffffffffffffffff
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 0xf
push ecx
call fcn.10004d65
push ebx
push 1
lea esi, [ebp - 0x198]
call fcn.10004e12
push ebx
push 1
lea ecx, [ebp - 0x1b8]
mov byte [ebp - 4], 9
call fcn.10004d1a
push edi
mov edx, str.device_stat
call fcn.10032159
mov esi, eax
call fcn.10031468
push edi
mov edx, str.device_can_disable
mov dword [ebp - 0x168], eax
call fcn.10032159
mov esi, eax
call fcn.10031468
push edi
mov edx, str.device_ico
mov dword [ebp - 0xf4], eax
call fcn.10032159
push eax
lea ecx, [ebp - 0x198]
call fcn.10031332
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x10
call fcn.10004c1a
push ebx
push 1
lea ecx, [ebp - 0x198]
mov byte [ebp - 4], 9
call fcn.10004d1a
lea eax, [ebp - 0x168]
push eax
lea eax, [ebp - 0x28]
call fcn.10017969
lea edi, [ebp - 0x168]
mov byte [ebp - 4], 1
call fcn.10014e37
mov eax, dword [ebp - 0x178]
inc dword [ebp - 0x170]
call fcn.10031b42
cmp dword [ebp - 0x170], eax
jne 0x10015a9c
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x1d0]
call fcn.10017bc4
lea edi, [ebp - 0xa8]
mov byte [ebp - 4], bl
call fcn.10015cf3
mov eax, dword [ebp - 0x17c]
inc dword [ebp - 0x16c]
call fcn.10031b42
cmp dword [ebp - 0x16c], eax
jne 0x1001590b
mov edi, dword [ebp - 0x19c]
lea eax, [ebp - 0x1d0]
push eax
push edi
call fcn.100179d4
lea esi, [ebp - 0x1d0]
call fcn.10018b73
push dword [ebp - 0x1d0]
call fcn.10040dca
mov eax, edi
pop ecx
call fcn.100426ad
ret