Function at 0x100153d9
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0x1c4
mov eax, 0x1005a144
call fcn.10040d9a
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.10010dd4
mov dword [ebp - 4], ebx
cmp byte [esi + 8], 6
jne 0x100157ec
mov eax, esi
mov dword [ebp - 0x16c], ebx
call fcn.10030753
test eax, eax
je 0x100157ec
jmp 0x10015436
mov esi, dword [ebp - 0x17c]
push dword [ebp - 0x16c]
push esi
call fcn.10030a31
mov edi, eax
push edi
mov edx, str.class_device
call fcn.10030d6a
mov dword [ebp - 0x178], eax
lea eax, [ebp - 0xa8]
push eax
call fcn.10013fa4
push edi
mov edx, str.class_name
mov byte [ebp - 4], 1
call fcn.10030d6a
push eax
lea ecx, [ebp - 0x198]
call fcn.1002ff43
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.10004d50
push ebx
push 1
lea esi, [ebp - 0x1b8]
call fcn.10004dfd
push ebx
push 1
lea ecx, [ebp - 0x198]
mov byte [ebp - 4], 1
call fcn.10004d05
push edi
mov edx, str.class_desc
call fcn.10030d6a
push eax
lea ecx, [ebp - 0x1b8]
call fcn.1002ff43
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.10004d50
push ebx
push 1
lea esi, [ebp - 0x198]
call fcn.10004dfd
push ebx
push 1
lea ecx, [ebp - 0x1b8]
mov byte [ebp - 4], 1
call fcn.10004d05
push edi
mov edx, str.class_guid
call fcn.10030d6a
push eax
lea ecx, [ebp - 0x1b8]
call fcn.1002ff43
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.10004d50
push ebx
push 1
lea esi, [ebp - 0x198]
call fcn.10004dfd
push ebx
push 1
lea ecx, [ebp - 0x1b8]
mov byte [ebp - 4], 1
call fcn.10004d05
push edi
mov edx, str.class_ico
call fcn.10030d6a
push eax
lea ecx, [ebp - 0x198]
call fcn.1002ff43
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 8
call fcn.10004be0
push ebx
push 1
lea ecx, [ebp - 0x198]
mov byte [ebp - 4], 1
call fcn.10004d05
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x170], ebx
call fcn.10030753
test eax, eax
je 0x100157a9
push dword [ebp - 0x170]
push dword [ebp - 0x178]
call fcn.10030a31
lea edi, [ebp - 0x168]
mov dword [ebp - 0x174], eax
call fcn.10013f4f
push dword [ebp - 0x174]
mov edx, str.device_unique
mov byte [ebp - 4], 9
call fcn.10030d6a
push eax
lea ecx, [ebp - 0x1b8]
call fcn.1002ff43
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.10004d50
push ebx
push 1
lea esi, [ebp - 0x198]
call fcn.10004dfd
push ebx
push 1
lea ecx, [ebp - 0x1b8]
mov byte [ebp - 4], 9
call fcn.10004d05
mov edi, dword [ebp - 0x174]
push edi
mov edx, str.device_id
call fcn.10030d6a
push eax
lea ecx, [ebp - 0x1b8]
call fcn.1002ff43
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.10004d50
push ebx
push 1
lea esi, [ebp - 0x198]
call fcn.10004dfd
push ebx
push 1
lea ecx, [ebp - 0x1b8]
mov byte [ebp - 4], 9
call fcn.10004d05
push edi
mov edx, str.device_desc
call fcn.10030d6a
push eax
lea ecx, [ebp - 0x1b8]
call fcn.1002ff43
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.10004d50
push ebx
push 1
lea esi, [ebp - 0x198]
call fcn.10004dfd
push ebx
push 1
lea ecx, [ebp - 0x1b8]
mov byte [ebp - 4], 9
call fcn.10004d05
push edi
mov edx, str.device_stat
call fcn.10030d6a
mov esi, eax
call fcn.10030079
push edi
mov edx, str.device_can_disable
mov dword [ebp - 0x168], eax
call fcn.10030d6a
mov esi, eax
call fcn.10030079
push edi
mov edx, str.device_ico
mov dword [ebp - 0xf4], eax
call fcn.10030d6a
push eax
lea ecx, [ebp - 0x198]
call fcn.1002ff43
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x10
call fcn.10004be0
push ebx
push 1
lea ecx, [ebp - 0x198]
mov byte [ebp - 4], 9
call fcn.10004d05
lea eax, [ebp - 0x168]
push eax
lea eax, [ebp - 0x28]
call fcn.1001748b
lea edi, [ebp - 0x168]
mov byte [ebp - 4], 1
call fcn.1001495c
mov eax, dword [ebp - 0x178]
inc dword [ebp - 0x170]
call fcn.10030753
cmp dword [ebp - 0x170], eax
jne 0x100155c1
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x1d0]
call fcn.100176e6
lea edi, [ebp - 0xa8]
mov byte [ebp - 4], bl
call fcn.10015818
mov eax, dword [ebp - 0x17c]
inc dword [ebp - 0x16c]
call fcn.10030753
cmp dword [ebp - 0x16c], eax
jne 0x10015430
mov edi, dword [ebp - 0x19c]
lea eax, [ebp - 0x1d0]
push eax
push edi
call fcn.100174f6
lea esi, [ebp - 0x1d0]
call fcn.1001866b
push dword [ebp - 0x1d0]
call fcn.1003f52e
mov eax, edi
pop ecx
call fcn.10040e1d
ret