Function at 0x10004770
Capabilities:
Print debug messages

Disassembly:
sub esp, 0x294
mov eax, dword [0x1001100c]
xor eax, esp
mov dword [esp + 0x290], eax
push ebx
push esi
push 0x100
xor ebx, ebx
lea eax, [esp + 0x1c]
push ebx
push eax
call fcn.10004b40
mov esi, dword [esp + 0x2ac]
lea edx, [esp + 0x124]
add esp, 0xc
mov eax, esi
sub edx, esi
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, 1
cmp cl, bl
jne 0x100047b0
cmp dword [0x10012108], ebx
mov ecx, dword [str.DEVMON:]
mov edx, dword [0x1000dfbc]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
jne 0x10004af1
mov eax, dword [0x1001402c]
sub eax, 3
je 0x10004964
sub eax, 1
je 0x100048c0
sub eax, 1
jne 0x10004ab1
lea eax, [esp + 8]
push eax
lea ecx, [esp + 0x1c]
push 0x100
push ecx
call fcn.100012b0
add esp, 0xc
test eax, eax
je 0x10004ab1
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x10004820
sub eax, edx
push eax
push 0x100
lea edx, [esp + 0x120]
push edx
lea eax, [esp + 0x24]
push eax
call fcn.100042f0
add esp, 0x10
test eax, eax
je 0x10004ab1
mov esi, 2
lea eax, [esp + 0xc]
mov dword [0x10014020], esi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x10004860
sub eax, edx
push eax
push 0x100
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x24]
push edx
call fcn.100042f0
add esp, 0x10
test eax, eax
je 0x1000489e
lea eax, [esp + 0x18]
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x10004890
jmp 0x10004a09
pop esi
mov dword [0x10012120], ebx
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x290]
xor ecx, esp
call fcn.10004b28
add esp, 0x294
ret
lea eax, [esp + 8]
push eax
lea ecx, [esp + 0x1c]
push 0x100
push ecx
call fcn.100012b0
add esp, 0xc
test eax, eax
je 0x10004ab1
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x100048e4
sub eax, edx
push eax
push 0x100
lea edx, [esp + 0x120]
push edx
lea eax, [esp + 0x24]
push eax
call fcn.100042f0
add esp, 0x10
test eax, eax
je 0x10004ab1
mov esi, 2
lea eax, [esp + 0xc]
mov dword [0x10014020], esi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x10004924
sub eax, edx
push eax
push 0x100
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x24]
push edx
call fcn.100042f0
add esp, 0x10
test eax, eax
je 0x1000489e
lea eax, [esp + 0x18]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x10004956
jmp 0x10004a09
lea eax, [esp + 8]
push eax
lea ecx, [esp + 0x1c]
push 0x100
push ecx
call fcn.10001100
add esp, 0xc
test eax, eax
je 0x10004ab1
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x10004988
sub eax, edx
push eax
push 0x100
lea edx, [esp + 0x120]
push edx
lea eax, [esp + 0x24]
push eax
call fcn.100042f0
add esp, 0x10
test eax, eax
je 0x10004ab1
mov esi, 2
lea eax, [esp + 0xc]
mov dword [0x10014020], esi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x100049c8
sub eax, edx
push eax
push 0x100
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x24]
push edx
call fcn.100042f0
add esp, 0x10
test eax, eax
je 0x10004a8f
lea eax, [esp + 0x18]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x10004a00
sub eax, edx
movzx ecx, byte [esp + eax + 0x14]
movzx edx, byte [esp + eax + 0x15]
mov byte [0x10012118], cl
movzx ecx, byte [esp + eax + 0x16]
mov byte [0x10012119], dl
movzx edx, byte [esp + eax + 0x17]
mov byte [0x1001211a], cl
movzx ecx, byte [esp + eax + 0x18]
mov byte [0x1001211b], dl
movzx edx, byte [esp + eax + 0x19]
mov byte [0x1001211c], cl
movzx ecx, byte [esp + eax + 0x1a]
mov byte [0x1001211d], dl
movzx edx, byte [esp + eax + 0x1b]
mov dword [0x10014020], esi
pop esi
mov byte [0x1001211e], cl
mov byte [0x1001211f], dl
mov dword [0x10012120], 1
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x290]
xor ecx, esp
call fcn.10004b28
add esp, 0x294
ret
pop esi
mov dword [0x10012120], ebx
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x290]
xor ecx, esp
call fcn.10004b28
add esp, 0x294
ret
lea eax, [esp + 0x118]
push eax
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1a0]
push str._Device_Monitor__DeviceID_:__s__Find_:__s_n
push edx
mov dword [0x10014020], ebx
call dword [sym.imp.USER32.dll_wsprintfA]
mov esi, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
add esp, 0x10
lea eax, [esp + 0x198]
push eax
call esi
push str.__DeviceID_ERROR______n
call esi
mov ecx, dword [esp + 0x298]
pop esi
pop ebx
xor ecx, esp
xor eax, eax
call fcn.10004b28
add esp, 0x294
ret