Function at 0x45c4a0
Capabilities:
Print debug messages

Disassembly:
push 0xffffffffffffffff
push 0x4f3668
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push ebp
push esi
push edi
mov eax, dword [0x536ed4]
xor eax, esp
push eax
lea eax, [esp + 0x18]
mov dword fs:[0], eax
mov edi, ecx
mov esi, edx
cmp edi, 0xb
jae 0x45c6eb
call fcn.004bb047
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x45c4ec
push 0x80004005
call fcn.00401730
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], 0
cmp dword [esi + 0xa0], 0
mov dword [esi + 0x9c], edi
jne 0x45c51b
add eax, 0xfffffff0
jmp 0x45c6ce
cmp dword [esi + 0x28], 0
je 0x45c54c
push esi
call fcn.0045de10
cmp dword [esi + 0x28], 0
je 0x45c54c
mov eax, edi
sub eax, 4
je 0x45c547
sub eax, 3
je 0x45c543
sub eax, 1
jne 0x45c54c
lea edi, [eax + 2]
jmp 0x45c54c
xor edi, edi
jmp 0x45c54c
mov edi, 1
mov ecx, dword [esi + 0x10]
call fcn.00440f50
test eax, eax
jne 0x45c57f
mov eax, dword [esi + 0x10]
cmp dword [eax + 0x10c], 3
je 0x45c57f
call fcn.00441050
test eax, eax
je 0x45c571
mov ebx, edi
jmp 0x45c59e
call fcn.004a7f20
lea ecx, [eax + eax*2]
lea ebx, [edi + ecx*2 + 3]
jmp 0x45c59e
push 0
push str.ASUSDTSAPO3HpMode
push str.Settings
mov ecx, 0x54b0b0
call fcn.004c539d
add eax, 1
lea edx, [eax + eax*2]
lea ebx, [edi + edx*2]
mov eax, dword [esi + ebx*4 + 0x3c]
push eax
push ebx
push edi
lea ecx, [esp + 0x20]
push str._RTK__DTS_set_Mode___d_index_d_modeindex_d_r_n
push ecx
call fcn.00401af0
mov edi, dword [esp + 0x28]
mov ebp, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
add esp, 0x14
push edi
call ebp
mov eax, dword [esi + ebx*4 + 0x3c]
test eax, eax
jl 0x45c6cb
cmp eax, dword [esi + 0xcc]
jge 0x45c6cb
mov edx, dword [esi + 0xc8]
mov eax, dword [edx + eax*4]
push eax
lea ecx, [esp + 0x18]
push str._RTK__DTS_set_Mode_pSRSOperatingMode_x_r_n
push ecx
call fcn.00401af0
mov edx, dword [esp + 0x20]
add esp, 0xc
push edx
call ebp
push str._RTK__DTS_put_OpMode_r_n
call ebp
mov ebx, dword [esi + ebx*4 + 0x3c]
test ebx, ebx
jl 0x45c6c6
cmp ebx, dword [esi + 0xcc]
jge 0x45c6c6
mov eax, dword [esi + 0xc8]
lea edi, [esi + 0xc0]
lea eax, [eax + ebx*4]
call fcn.0045e1d0
mov eax, dword [esi + 0xb0]
mov ecx, dword [edi]
mov edx, dword [eax]
push ecx
push eax
mov eax, dword [edx + 0x20]
call eax
test eax, eax
jne 0x45c64e
push str._RTK__pSRSEpInfo__put_OpMode_OK_r_n
jmp 0x45c653
push str._RTK__pSRSEpInfo__put_OpMode_FAIL_r_n
call ebp
cmp dword [esi + 0x1c], 0
je 0x45c6a4
mov esi, dword [esi + 0xa4]
mov edi, dword [edi]
mov ecx, dword [esi]
mov edx, dword [ecx + 0x18]
push 0
push 0
push edi
push esi
call edx
test eax, eax
jne 0x45c69d
push str._RTK__controller__WriteControls_pSRSOperatingModeCurr_OK_r_n
call ebp
lea ecx, [esp + 0x14]
call fcn.00401fb0
mov eax, 1
mov ecx, dword [esp + 0x18]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
push str._RTK__controller__WriteControls_pSRSOperatingModeCurr_FAIL_r_n
call ebp
lea ecx, [esp + 0x14]
call fcn.00401fb0
mov eax, 1
mov ecx, dword [esp + 0x18]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
jmp fcn.004bb5cf
lea eax, [edi - 0x10]
or edx, 0xffffffff
lea ecx, [eax + 0xc]
mov dword [esp + 0x20], edx
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x45c6eb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
mov ecx, dword [esp + 0x18]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret