Function at 0x412460
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov edi, eax
call fcn.00408760
mov esi, str.DeviceRecoverPolicy
mov dword [ebp - 4], eax
call fcn.00412350
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x4124ba
mov eax, dword [ebp - 4]
cmp eax, 0x14
je 0x4124a6
cmp eax, 0x1e
je 0x4124a6
cmp eax, 0x28
je 0x4124a6
mov esi, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp eax, 0xa
jne 0x4124c8
mov ebx, 0x10000
jmp 0x4124c8
mov esi, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push str.policy__POLICY_YM_RESET_BT_ADAPTER__n
mov ebx, 4
call esi
jmp 0x4124c8
test ebx, ebx
je 0x41278e
mov esi, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push ebx
push str.Enter_HandleAdapterStatus__policy_0x_x___n
mov ecx, 2
call fcn.00415320
push ebx
push str.Enter_HandleAdapterStatus__policy_0x_x___n_n
call fcn.0040ca40
add esp, 0x10
test edi, edi
je 0x41278e
mov eax, dword [ebp - 4]
add eax, 0xfffffff6
cmp eax, 0x1e
ja case.0x412504.11
movzx eax, byte [eax + 0x4127ac]
jmp dword [eax*4 + 0x412798]
mov eax, dword [edi]
dec eax
cmp eax, 1
ja case.0x412504.11
test ebx, 0x10000
je case.0x412504.11
lea ecx, [edi + 8]
call fcn.00411a80
jmp case.0x412504.11
test ebx, 0x20000
je 0x412551
push str.Leave_GetBTAdapterStatus_for_HP_patch__n
mov ecx, 2
call fcn.00415320
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi]
sub eax, 0
je 0x41273b
dec eax
je 0x412712
dec eax
jne case.0x412504.11
cmp dword [edi + 4], 0xffffffff
je 0x412590
mov ecx, dword [edi + 4]
mov esi, str.ControllerIndex
mov dword [ebp - 4], ecx
call fcn.00412350
mov ecx, dword [ebp - 4]
cmp ecx, eax
je 0x412590
push ecx
call fcn.004123f0
add esp, 4
test bl, 1
je 0x4125a6
mov edx, dword [edi + 4]
push edx
call fcn.004116d0
add esp, 4
jmp case.0x412504.11
test bl, 2
jne 0x41265e
test bl, 4
je case.0x412504.11
jmp 0x4126eb
test ebx, 0x20000
je 0x4125e5
push str.Leave_GetBTAdapterStatus_for_HP_patch__n
mov ecx, 2
call fcn.00415320
add esp, 4
push str.Leave_GetBTAdapterStatus_for_HP_patch__n
call esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi]
sub eax, 0
je 0x412734
dec eax
je 0x41270b
dec eax
jne case.0x412504.11
push str.The_dongle_is_not_configurated__and_we_should_reset_it__in_HandleAdapterStatus___n
call esi
cmp dword [edi + 4], 0xffffffff
je 0x412631
mov eax, dword [edi + 4]
mov esi, str.ControllerIndex
mov dword [ebp - 4], eax
call fcn.00412350
mov ecx, dword [ebp - 4]
cmp ecx, eax
je 0x41262b
push ecx
call fcn.004123f0
add esp, 4
mov esi, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
test bl, 1
je 0x41264e
push str.Try_to_reset_HC__n
call esi
mov ecx, dword [edi + 4]
push ecx
call fcn.004116d0
add esp, 4
jmp case.0x412504.11
test bl, 2
je 0x4126db
push str.policy__POLICY_YM_RESET_ROOT_HUB_n
call esi
mov ecx, dword [edi + 4]
jmp 0x412777
test ebx, 0x20000
jne 0x4125c5
mov eax, dword [edi]
sub eax, 0
je 0x412734
dec eax
je 0x41270b
dec eax
jne case.0x412504.11
push str.The_dongle_is_not_configurated__and_we_should_reset_it__in_HandleAdapterStatus___n
call esi
cmp dword [edi + 4], 0xffffffff
je 0x4126be
mov edx, dword [edi + 4]
mov esi, str.ControllerIndex
mov dword [ebp - 4], edx
call fcn.00412350
mov ecx, dword [ebp - 4]
cmp ecx, eax
je 0x4126b8
push ecx
call fcn.004123f0
add esp, 4
mov esi, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
test bl, 1
je 0x41264e
push str.Try_to_reset_HC__n
call esi
mov eax, dword [edi + 4]
push eax
call fcn.004116d0
add esp, 4
jmp case.0x412504.11
test bl, 4
je case.0x412504.11
push str.Try_to_reset_the_not_configurated_dongle_n
call esi
push 1
mov dword [0x436c8c], 1
call fcn.0040cc10
add esp, 4
push 0
call fcn.0040cc10
add esp, 4
jmp case.0x412504.11
push str.The_dongle_works_fine__n
call esi
cmp dword [edi + 4], 0xffffffff
je case.0x412504.11
mov edi, dword [edi + 4]
mov esi, str.ControllerIndex
call fcn.00412350
cmp edi, eax
je case.0x412504.11
push edi
call fcn.004123f0
add esp, 4
jmp case.0x412504.11
push str.No_Atheros_dongle_found__in_HandleAdapterStatus___n
call esi
mov esi, str.ControllerIndex
call fcn.00412350
push 0xffffffffffffffff
mov dword [edi + 4], eax
call fcn.004123f0
mov edi, dword [edi + 4]
add esp, 4
cmp edi, 0xffffffff
je case.0x412504.11
test ebx, 0x100
je 0x41276d
push edi
call fcn.004116d0
add esp, 4
jmp case.0x412504.11
test ebx, 0x200
je case.0x412504.11
mov ecx, edi
call fcn.00411ee0
push str.Leave_GetBTAdapterStatus___n
mov ecx, 2
call fcn.00415320
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret