Function at 0x10004c40
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10023abb
mov eax, dword fs:[0]
push eax
sub esp, 0xa80
mov eax, dword [0x1003406c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov eax, dword [ebp + 0x10]
mov edi, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
push str.asio_hw_fun21
mov dword [ebp - 0xa80], eax
call edi
mov esi, eax
mov dword [ebp - 0xa4c], esi
test esi, esi
jne 0x10004cc2
xorps xmm0, xmm0
mov dword [ebp - method.std::runtime_error.virtual_0], 0x10024228
push 0x10033194
lea eax, [ebp - 0xa8c]
movq qword [ebp - 0xa88], xmm0
push eax
mov dword [ebp - 0xa88], str.bad_allocation
call fcn.1000f434
mov dword [ebp - 4], 0
movzx eax, word [0x1002fe84]
movq xmm0, qword [str.Bank]
push 0x1fe
mov word [ebp - 0x210], ax
lea eax, [ebp - 0x20e]
push 0
push eax
movq qword [ebp - 0x218], xmm0
call fcn.1000f4b0
mov eax, dword [0x1002fd6c]
movq xmm0, qword [str.Index]
push 0x1fc
mov dword [ebp - 0x418], eax
lea eax, [ebp - 0x414]
push 0
push eax
movq qword [ebp - 0x420], xmm0
call fcn.1000f4b0
movzx eax, word [0x1002fe90]
movq xmm0, qword [str.Data]
push 0x1fe
mov word [ebp - 0x620], ax
lea eax, [ebp - 0x61e]
push 0
push eax
movq qword [ebp - 0x628], xmm0
call fcn.1000f4b0
push 0x208
lea eax, [ebp - 0x830]
push 0
push eax
call fcn.1000f4b0
movzx eax, byte [ebp + 8]
push eax
push 0x1002fe94
lea eax, [ebp - 0x830]
push 0x104
push eax
call fcn.10003fc0
add esp, 0x40
lea eax, [ebp - 0xa38]
push 0x208
push 0
push eax
call fcn.1000f4b0
movzx eax, byte [ebp + 0xc]
push eax
push 0x1002fe94
lea eax, [ebp - 0xa38]
push 0x104
push eax
call fcn.10003fc0
mov eax, dword [ebx + 4]
lea edx, [ebp - 0xa58]
add esp, 0x1c
mov dword [ebp - 0xa58], 0
mov byte [ebp - 0xa79], 0
mov ecx, dword [eax]
push 0
push edx
push 0
push esi
push eax
call dword [ecx + 0x4c]
test eax, eax
js 0x10004f89
mov eax, dword [ebp - 0xa58]
lea edx, [ebp - 0xa50]
push edx
mov dword [ebp - 0xa50], 0
push 0
mov ecx, dword [eax]
push eax
call dword [ecx + 0x3c]
test eax, eax
js 0x10004f7d
mov eax, 8
mov word [ebp - 0xa68], ax
lea eax, [ebp - 0x830]
push eax
call edi
mov dword [ebp - 0xa60], eax
mov eax, 8
mov word [ebp - 0xa78], ax
lea eax, [ebp - 0xa38]
push eax
call edi
push 0x11
mov dword [ebp - 0xa70], eax
lea edx, [ebp - 0xa68]
mov eax, dword [ebp - 0xa50]
push edx
push 0
lea edx, [ebp - 0x218]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x14]
mov ecx, dword [ebp - 0xa50]
mov edi, eax
push 0x11
lea eax, [ebp - 0xa78]
push eax
mov edx, dword [ecx]
lea eax, [ebp - 0x420]
push 0
push eax
push ecx
call dword [edx + 0x14]
test edi, edi
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
js 0x10004f5f
test eax, eax
js 0x10004f5f
mov eax, dword [ebx]
lea edx, [ebp - 0xa54]
push 0
push edx
push dword [ebp - 0xa50]
mov dword [ebp - 0xa54], 0
mov ecx, dword [eax]
push 0
push 0
push esi
push dword [ebx + 8]
push eax
call dword [ecx + 0x60]
test eax, eax
js 0x10004f54
push str._ASUSWMIManager___read_hwm__ExecMethod_successfully.
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
xor eax, eax
xorps xmm0, xmm0
mov word [ebp - 0xa48], ax
mov dword [ebp - 0xa3e], eax
mov word [ebp - 0xa3a], ax
lea eax, [ebp - 0xa48]
push eax
movq qword [ebp - 0xa46], xmm0
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [ebp - 0xa54]
lea edx, [ebp - 0xa48]
push 0
push 0
push edx
mov ecx, dword [eax]
lea edx, [ebp - 0x628]
push 0
push edx
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x10004f36
mov ecx, dword [ebp - 0xa80]
mov al, byte [ebp - 0xa40]
mov byte [ecx], al
lea eax, [ebp - 0xa48]
push eax
call edi
mov eax, dword [ebp - 0xa54]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov byte [ebp - 0xa79], 1
jmp 0x10004f5f
push str._ASUSWMIManager___read_hwm__ExecMethod_failed.
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea eax, [ebp - 0xa68]
push eax
call edi
lea eax, [ebp - 0xa78]
push eax
call edi
mov eax, dword [ebp - 0xa50]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov ecx, dword [ebp - 0xa58]
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
push esi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov al, byte [ebp - 0xa79]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1000c5be
mov esp, ebp
pop ebp
ret 0xc