Function at 0x140014c80
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x770]
sub rsp, 0x870
mov rax, qword [0x1400cc010]
xor rax, rsp
mov qword [rbp + 0x760], rax
mov r13, rcx
call fcn.14001d8e0
lea rcx, str...AsusSystemAnalysisAsusWinIO64.dll
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov r14, rax
mov qword [rbp + 0x400], rax
lea rcx, [rax - 1]
cmp rcx, 0xfffffffffffffffd
ja 0x140016ae9
test ebx, ebx
jne 0x140016ae9
lea rdx, str.InitializeWinIo
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.BatteryHealthyTable_ACStatus
mov rcx, r14
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.BatteryHealthyTable_CellVoltage1
mov rcx, r14
mov qword [rbp + 0x3e0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.BatteryHealthyTable_CellVoltage2
mov rcx, r14
mov qword [rbp + 0x3a8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.BatteryHealthyTable_CellVoltage3
mov rcx, r14
mov qword [rbp + 0x3b0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.BatteryHealthyTable_CellVoltage4
mov rcx, r14
mov qword [rbp + 0x3b8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.BatteryHealthyTable_Current
mov rcx, r14
mov qword [rbp + 0x78], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.BatteryHealthyTable_DesignVoltage
mov rcx, r14
mov qword [rbp + 0x80], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.BatteryHealthyTable_DeviceName
mov rcx, r14
mov qword [rbp + 0x88], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.BatteryHealthyTable_ECChipID
mov rcx, r14
mov qword [rsp + 0x70], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.BatteryHealthyTable_ECChipName
mov rcx, r14
mov qword [rbp + 0xb0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.BatteryHealthyTable_GaugeIC
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.BatteryHealthyTable_ManufactureName
mov rcx, r14
mov qword [rbp + 0xb8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.BatteryHealthyTable_PFStatus
mov rcx, r14
mov qword [rbp + 0xc0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.BatteryHealthyTable_TimeoutStatus
mov rcx, r14
mov qword [rbp + 0xc8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.BatteryHealthyTable_ReadVersion
mov rcx, r14
mov qword [0x1400cfb70], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.BatteryHealthyTable_Rsoc
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.BatteryHealthyTable_SerialNumber
mov rcx, r14
mov qword [rbp + 0xd0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.BatteryHealthyTable_Temperature
mov rcx, r14
mov qword [rbp + 0xd8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.BatteryHealthyTable_BatteryError
mov rcx, r14
mov qword [rbp + 0x408], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.ShutdownWinIo
mov rcx, r14
mov qword [0x1400cfb60], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.BatteryHealthyTable_ManufactureNameBySMBus
mov qword [0x1400cfb58], rax
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xor r12d, r12d
lea rcx, [rbp + 0x3e8]
mov qword [0x1400cfb80], rax
mov qword [rbp + 0x3e8], r12
call fcn.14005cd90
lea rcx, [rbp + 0x3f0]
mov qword [rbp + 0x3f0], r12
call fcn.14005cc60
lea rcx, [rbp + 0x3f8]
mov qword [rbp + 0x3f8], r12
call fcn.14005cec0
lea rcx, [rbp + 0x428]
mov qword [rbp + 0x428], r12
call fcn.14005cff0
lea rcx, [rbp + 0x430]
mov qword [rbp + 0x430], r12
call fcn.14005cbe0
mov rbx, qword [rbp + 0x428]
cmp dword [rbx + 0x20], r12d
jle 0x140014f9e
mov rax, qword [rbx + 0x18]
cmp qword [rax], r12
je 0x140014f9e
lea rcx, [rbp + 0x3c0]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
mov rax, qword [rbx + 0x18]
lea r9, [rbp + 0x3c0]
mov qword [rsp + 0x28], r12
lea rdx, str.Voltage
xor r8d, r8d
mov qword [rsp + 0x20], r12
mov rcx, qword [rax]
mov rax, qword [rcx]
call qword [rax + 0x20]
test eax, eax
jne 0x140014f9e
cmp word [rbp + 0x3c0], 2
jb 0x140014f9e
mov eax, dword [rbp + 0x3c8]
mov dil, 1
mov dword [rbp + 0x3a0], eax
jmp 0x140014fa1
xor dil, dil
lea rcx, [rbp + 0x3c0]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [rbp + 0x3a0]
test dil, dil
cmovne eax, dword [rbp + 0x3a0]
mov dword [r13 + 0x654], eax
cmp dword [rbx + 0x20], r12d
jle 0x140015027
mov rax, qword [rbx + 0x18]
cmp qword [rax], r12
je 0x140015027
lea rcx, [rbp + 0x3c0]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
mov rax, qword [rbx + 0x18]
lea r9, [rbp + 0x3c0]
mov qword [rsp + 0x28], r12
lea rdx, str.RemainingCapacity
xor r8d, r8d
mov qword [rsp + 0x20], r12
mov rcx, qword [rax]
mov rax, qword [rcx]
call qword [rax + 0x20]
test eax, eax
jne 0x140015027
cmp word [rbp + 0x3c0], 2
jb 0x140015027
mov eax, dword [rbp + 0x3c8]
mov bl, 1
mov dword [rbp + 0x3a0], eax
jmp 0x140015029
xor bl, bl
lea rcx, [rbp + 0x3c0]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [rbp + 0x3a0]
test bl, bl
mov rbx, qword [rbp + 0x3f0]
cmovne eax, dword [rbp + 0x3a0]
mov dword [r13 + 0x650], eax
cmp dword [rbx + 0x20], r12d
jle 0x1400150b5
mov rax, qword [rbx + 0x18]
cmp qword [rax], r12
je 0x1400150b5
lea rcx, [rbp + 0x3c0]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
mov rax, qword [rbx + 0x18]
lea r9, [rbp + 0x3c0]
mov qword [rsp + 0x28], r12
lea rdx, str.DesignedCapacity
xor r8d, r8d
mov qword [rsp + 0x20], r12
mov rcx, qword [rax]
mov rax, qword [rcx]
call qword [rax + 0x20]
test eax, eax
jne 0x1400150b5
cmp word [rbp + 0x3c0], 2
jb 0x1400150b5
mov eax, dword [rbp + 0x3c8]
mov bl, 1
mov dword [rbp + 0x3a0], eax
jmp 0x1400150b7
xor bl, bl
lea rcx, [rbp + 0x3c0]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [rbp + 0x3a0]
test bl, bl
mov rbx, qword [rbp + 0x3e8]
cmovne eax, dword [rbp + 0x3a0]
mov dword [r13 + 0x648], eax
cmp dword [rbx + 0x20], r12d
jle 0x140015143
mov rax, qword [rbx + 0x18]
cmp qword [rax], r12
je 0x140015143
lea rcx, [rbp + 0x3c0]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
mov rax, qword [rbx + 0x18]
lea r9, [rbp + 0x3c0]
mov qword [rsp + 0x28], r12
lea rdx, str.FullChargedCapacity
xor r8d, r8d
mov qword [rsp + 0x20], r12
mov rcx, qword [rax]
mov rax, qword [rcx]
call qword [rax + 0x20]
test eax, eax
jne 0x140015143
cmp word [rbp + 0x3c0], 2
jb 0x140015143
mov eax, dword [rbp + 0x3c8]
mov bl, 1
mov dword [rbp + 0x3a0], eax
jmp 0x140015145
xor bl, bl
lea rcx, [rbp + 0x3c0]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [rbp + 0x3a0]
test bl, bl
mov rbx, qword [rbp + 0x3f8]
cmovne eax, dword [rbp + 0x3a0]
mov dword [r13 + 0x64c], eax
cmp dword [rbx + 0x20], r12d
jle 0x1400151d1
mov rax, qword [rbx + 0x18]
cmp qword [rax], r12
je 0x1400151d1
lea rcx, [rbp + 0x3c0]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
mov rax, qword [rbx + 0x18]
lea r9, [rbp + 0x3c0]
mov qword [rsp + 0x28], r12
lea rdx, str.CycleCount
xor r8d, r8d
mov qword [rsp + 0x20], r12
mov rcx, qword [rax]
mov rax, qword [rcx]
call qword [rax + 0x20]
test eax, eax
jne 0x1400151d1
cmp word [rbp + 0x3c0], 2
jb 0x1400151d1
mov eax, dword [rbp + 0x3c8]
mov bl, 1
mov dword [rbp + 0x3a0], eax
jmp 0x1400151d3
xor bl, bl
lea rcx, [rbp + 0x3c0]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [rbp + 0x3a0]
test bl, bl
mov rbx, qword [rbp + 0x430]
cmovne eax, dword [rbp + 0x3a0]
mov dword [r13 + 0x658], eax
cmp dword [rbx + 0x20], r12d
jle 0x140015261
mov rax, qword [rbx + 0x18]
cmp qword [rax], r12
je 0x140015261
lea rcx, [rbp + 0x3c0]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
mov rax, qword [rbx + 0x18]
lea r9, [rbp + 0x3c0]
mov qword [rsp + 0x28], r12
lea rdx, str.EstimatedChargeRemaining
xor r8d, r8d
mov qword [rsp + 0x20], r12
mov rcx, qword [rax]
mov rax, qword [rcx]
call qword [rax + 0x20]
test eax, eax
jne 0x140015261
cmp word [rbp + 0x3c0], 2
jb 0x140015261
movzx eax, word [rbp + 0x3c8]
mov bl, 1
mov word [rbp + 0x3a0], ax
jmp 0x140015263
xor bl, bl
lea rcx, [rbp + 0x3c0]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
movzx eax, word [rbp + 0x3a0]
test bl, bl
jne 0x140015281
mov eax, dword [rbp + 0x3a0]
mov dword [r13 + 0x61c], eax
call rsi
mov dword [r13], eax
cmp eax, 1
jne 0x140016801
mov edx, dword [0x1400ccc34]
lea rcx, str.BatteryHealthyTableVersion:_d
mov dword [r13 + 4], edx
call fcn.140040a00
mov eax, dword [r13 + 4]
cmp eax, 2
jb 0x1400164e5
cmp eax, 0x7fffffff
je 0x1400164e5
mov rdi, qword [0x1400cfb80]
mov rbx, 0xffffffffffffffff
mov qword [rbp + 0x3d0], r12
mov qword [rbp + 0x3d8], 7
mov word [rbp + 0x3c0], r12w
test rdi, rdi
je 0x140015447
xor edx, edx
lea rcx, [rbp + 0x460]
mov r8d, 0x100
call fcn.140062890
lea rcx, [rbp + 0x460]
call rdi
lea rax, [rbp + 0x460]
mov r9, rbx
nop dword [rax]
inc r9
cmp byte [rax + r9], r12b
jne 0x140015320
mov dword [rsp + 0x28], r12d
lea r8, [rbp + 0x460]
xor edx, edx
mov qword [rsp + 0x20], r12
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movsxd rsi, eax
mov eax, 2
lea ecx, [rsi + 1]
movsxd rdx, ecx
mul rdx
cmovo rax, rbx
mov rcx, rax
call fcn.14005da98
mov rdi, rax
mov r9, rbx
lea rax, [rbp + 0x460]
nop
inc r9
cmp byte [rax + r9], r12b
jne 0x140015370
mov dword [rsp + 0x28], esi
lea r8, [rbp + 0x460]
xor edx, edx
mov qword [rsp + 0x20], rdi
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov rdx, rdi
mov word [rdi + rsi*2], r12w
lea rcx, str.battery_manfacNameBySMBus__s
call fcn.140040a00
mov r8, rbx
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], 7
mov word [rsp + 0x30], r12w
nop
inc r8
cmp word [rdi + r8*2], r12w
jne 0x1400153c0
mov rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.140001a40
lea rcx, [rbp + 0x3c0]
call fcn.140001990
movups xmm0, xmmword [rsp + 0x30]
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [rbp + 0x3c0], xmm0
movups xmmword [rbp + 0x3d0], xmm1
test rdi, rdi
jne 0x140015447
lea r15, str.HW_BAT_02
mov ebx, 0x6003
mov r8, r15
mov dword [r13 + 0x67c], ebx
lea rcx, [r13 + 0x65c]
lea edx, [rdi + 0x10]
call fcn.140005150
lea rcx, str.BatteryInfoGet_Fail:_Battery_Unplugin_By_EC_judgment_
call fcn.140040a00
mov r8, r15
lea rcx, str.BatteryInfoGet_ErrorCode:_0X_X_SymptomCode:__s_r_n
mov edx, ebx
call fcn.140040a00
jmp 0x1400164c5
call qword [rbp + 0x3e0]
mov dword [r13 + 0x630], eax
call qword [rbp + 0x3a8]
mov dword [r13 + 0x620], eax
call qword [rbp + 0x3b0]
mov dword [r13 + 0x624], eax
call qword [rbp + 0x3b8]
mov dword [r13 + 0x628], eax
call qword [rbp + 0x78]
mov dword [r13 + 0x62c], eax
call qword [rbp + 0x80]
mov dword [r13 + 0x634], eax
call qword [rbp + 0x88]
xor edx, edx
lea rcx, [rbp + 0x560]
mov r8d, 0x100
mov dword [r13 + 0x614], eax
call fcn.140062890
lea rcx, [rbp + 0x560]
call qword [rsp + 0x70]
lea rax, [rbp + 0x560]
mov r9, rbx
nop dword [rax + rax]
inc r9
cmp byte [rax + r9], r12b
jne 0x1400154d0
mov dword [rsp + 0x28], r12d
lea r8, [rbp + 0x560]
xor edx, edx
mov qword [rsp + 0x20], r12
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movsxd rdi, eax
mov eax, 2
lea ecx, [rdi + 1]
movsxd rdx, ecx
mul rdx
cmovo rax, rbx
mov rcx, rax
call fcn.14005da98
mov r15, rax
mov r9, rbx
lea rax, [rbp + 0x560]
nop
inc r9
cmp byte [rax + r9], r12b
jne 0x140015520
mov dword [rsp + 0x28], edi
lea r8, [rbp + 0x560]
xor edx, edx
mov qword [rsp + 0x20], r15
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov r9, r15
mov word [r15 + rdi*2], r12w
lea r8, [0x1400ad4cc]
mov edx, 0x100
lea rcx, [r13 + 0x208]
call fcn.140004aa0
call qword [rbp + 0xb0]
mov dword [r13 + 0x410], eax
call qword [rbp + 0xb8]
movzx eax, al
xor edx, edx
lea rcx, [rbp + 0x660]
mov dword [r13 + 0x40c], eax
mov r8d, 0x100
call fcn.140062890
lea rcx, [rbp + 0x660]
call qword [rbp + 0xc0]
lea rax, [rbp + 0x660]
mov r9, rbx
nop dword [rax + rax]
inc r9
cmp byte [rax + r9], r12b
jne 0x1400155b0
mov dword [rsp + 0x28], r12d
lea r8, [rbp + 0x660]
xor edx, edx
mov qword [rsp + 0x20], r12
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movsxd rdi, eax
mov eax, 2
lea ecx, [rdi + 1]
movsxd rdx, ecx
mul rdx
cmovo rax, rbx
mov rcx, rax
call fcn.14005da98
mov r15, rax
mov r9, rbx
lea rax, [rbp + 0x660]
nop
inc r9
cmp byte [rax + r9], r12b
jne 0x140015600
mov dword [rsp + 0x28], edi
lea r8, [rbp + 0x660]
xor edx, edx
mov qword [rsp + 0x20], r15
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov r9, r15
mov word [r15 + rdi*2], r12w
lea r8, [0x1400ad4cc]
mov edx, 0x100
lea rcx, [r13 + 8]
call fcn.140004aa0
mov eax, dword [0x1400ccc34]
mov dword [r13 + 4], eax
cmp eax, 2
jbe 0x14001566b
movzx eax, word [r13 + 0xe]
sub ax, 0x46
cmp ax, 1
ja 0x14001566b
call qword [rbp + 0xc8]
mov dword [r13 + 0x644], eax
call qword [0x1400cfb70]
mov edx, eax
mov dword [0x1400d0ff0], eax
lea rcx, str.Battery_Test_SMBus_Fail_Timeout_and_Permanent_Failure_Timeout:_0x_08x
call fcn.140040a00
mov rax, qword [0x1400cfb60]
mov edx, r12d
mov dword [0x1400d1034], edx
test rax, rax
je 0x1400156aa
call rax
mov edx, r12d
test al, al
setne dl
mov dword [0x1400d1034], edx
lea rcx, str.Battery_HealthyTable_BatteryAccessError:__u
call fcn.140040a00
call qword [rbp + 0xd0]
mov dword [r13 + 0x638], eax
call qword [rbp + 0xd8]
mov dword [r13 + 0x408], eax
call qword [rbp + 0x408]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x1400b95d8]
subsd xmm0, qword [0x1400b9650]
cvttsd2si eax, xmm0
mov dword [r13 + 0x63c], eax
mov eax, dword [r13 + 0x62c]
test eax, eax
jne 0x14001578f
cmp dword [r13 + 0x628], r12d
jne 0x140015733
cmp dword [r13 + 0x624], r12d
jne 0x140015733
cmp dword [r13 + 0x620], r12d
je 0x140015733
mov dword [r13 + 0x618], 1
jmp 0x1400157b5
test eax, eax
jne 0x14001578f
cmp dword [r13 + 0x628], r12d
jne 0x14001575f
cmp dword [r13 + 0x624], r12d
je 0x14001575f
cmp dword [r13 + 0x620], r12d
je 0x14001575f
mov dword [r13 + 0x618], 2
jmp 0x1400157b5
test eax, eax
jne 0x14001578f
cmp dword [r13 + 0x628], r12d
je 0x14001578b
cmp dword [r13 + 0x624], r12d
je 0x14001578b
cmp dword [r13 + 0x620], r12d
je 0x14001578b
mov dword [r13 + 0x618], 3
jmp 0x1400157b5
test eax, eax
je 0x1400157b5
cmp dword [r13 + 0x628], r12d
je 0x1400157b5
cmp dword [r13 + 0x624], r12d
je 0x1400157b5
cmp dword [r13 + 0x620], r12d
je 0x1400157b5
mov dword [r13 + 0x618], 4
mov edx, 0x6000
lea rcx, [r13 + 0x65c]
mov dword [r13 + 0x67c], edx
lea r8, str.SW_BAT_01
mov edx, 0x10
call fcn.140005150
mov edx, dword [r13]
lea rcx, str.InitializeWinIo:_d
call fcn.140040a00
mov edx, dword [r13 + 0x654]
lea rcx, str.Voltage:_d
call fcn.140040a00
mov edx, dword [r13 + 0x650]
lea rcx, str.remainCapacity:_d
call fcn.140040a00
mov edx, dword [r13 + 0x648]
lea rcx, str.designedCapacity:_d_mwh
call fcn.140040a00
mov edx, dword [r13 + 0x64c]
lea rcx, str.fullChargedCapacity:_d_mwh
call fcn.140040a00
mov edx, dword [r13 + 0x658]
lea rcx, str.BatteryCycleCount:_d
call fcn.140040a00
mov edx, dword [r13 + 0x61c]
lea rcx, str.BatteryEstimatedChargeRemaining:_d
call fcn.140040a00
mov edx, dword [r13 + 0x630]
lea rcx, str.BatteryHealthyTableACStatus:_d
call fcn.140040a00
mov edx, dword [r13 + 0x620]
lea rcx, str.BatteryHealthyTableCellVoltage1:_d
call fcn.140040a00
mov edx, dword [r13 + 0x624]
lea rcx, str.BatteryHealthyTableCellVoltage2:_d
call fcn.140040a00
mov edx, dword [r13 + 0x628]
lea rcx, str.BatteryHealthyTableCellVoltage3:_d
call fcn.140040a00
mov edx, dword [r13 + 0x62c]
lea rcx, str.BatteryHealthyTableCellVoltage4:_d
call fcn.140040a00
mov edx, dword [r13 + 0x634]
lea rcx, str.BatteryHealthyTableCurrent:_d
call fcn.140040a00
mov edx, dword [r13 + 0x614]
lea rcx, str.BatteryHealthyTableDesignVoltage:_d
call fcn.140040a00
lea rdx, [r13 + 0x208]
lea rcx, str.BatteryHealthyTableDeviceName:_s
call fcn.140040a00
lea rdx, [r13 + 8]
lea rcx, str.BatteryHealthyTableManufactureName:_s
call fcn.140040a00
mov edx, dword [r13 + 0x644]
lea rcx, str.BatteryHealthyTablePFStatus:_d
call fcn.140040a00
mov edx, dword [r13 + 4]
lea rcx, str.BatteryHealthyTableVersion:_d
call fcn.140040a00
mov edx, dword [r13 + 0x638]
lea rcx, str.BatteryHealthyTableRsoc:_d
call fcn.140040a00
mov edx, dword [r13 + 0x408]
lea rcx, str.BatteryHealthyTableSerialNumber:_d
call fcn.140040a00
mov edx, dword [r13 + 0x63c]
lea rcx, str.BatteryHealthyTableTemperature:_d
call fcn.140040a00
mov edx, dword [r13 + 0x618]
lea rcx, str.BatteryCellCount:_d
call fcn.140040a00
mov edx, dword [r13 + 0x410]
lea rcx, str.BatteryHealthyTableECChipID_:_d
call fcn.140040a00
mov edx, dword [r13 + 0x40c]
lea rcx, str.BatteryHealthyTableGaugeIC:_d
call fcn.140040a00
lea rcx, str.BatteryInfoGet_Success
call fcn.140040a00
cmp qword [rbp + 0x3d0], r12
jne 0x1400164c5
mov qword [rsp + 0x60], r12
mov r8, rbx
mov qword [rsp + 0x68], 7
mov word [rsp + 0x50], r12w
nop dword [rax + rax]
inc r8
cmp word [r13 + r8*2 + 8], r12w
jne 0x1400159d0
lea rdx, [r13 + 8]
lea rcx, [rsp + 0x50]
call fcn.140001a40
mov qword [rbp + 0x418], r12
mov qword [rbp + 0x420], 7
mov word [rbp + 0x408], r12w
nop dword [rax]
nop word [rax + rax]
inc rbx
cmp word [r13 + rbx*2 + 0x208], r12w
jne 0x140015a10
mov r8, rbx
lea rdx, [r13 + 0x208]
lea rcx, [rbp + 0x408]
call fcn.140001a40
mov edx, 0x11
mov qword [rsp + 0x40], r12
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x48], 7
mov word [rsp + 0x30], r12w
call fcn.14002a1f0
mov r8d, 0x11
lea rdx, str.BatteryInfoGet2__
lea rcx, [rsp + 0x30]
call fcn.140002d30
cmp qword [rbp + 0x3d8], 8
lea rdx, [rbp + 0x3c0]
lea rcx, [rsp + 0x30]
cmovae rdx, qword [rbp + 0x3c0]
xor r8d, r8d
call fcn.140002d30
mov r8d, 3
lea rdx, [0x1400adb90]
lea rcx, [rsp + 0x30]
call fcn.140002d30
lea rcx, [rbp + 0x2a0]
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x58], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x68], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
mov edx, dword [r13 + 0x630]
call fcn.140006370
mov rcx, qword [rbp + 0x70]
mov rdx, rax
mov r9, qword [rbp + 0x68]
mov r8, qword [rax + 0x10]
mov rax, rcx
sub rax, r9
cmp r8, rax
jbe 0x140015b18
mov rax, qword [rdx + 0x18]
sub rax, r8
cmp rax, r9
jb 0x140015b18
cmp rcx, 8
lea r8, [rbp + 0x58]
mov rcx, rdx
cmovae r8, qword [rbp + 0x58]
call fcn.14002a2b0
jmp 0x140015b2b
cmp qword [rdx + 0x18], 8
jb 0x140015b22
mov rdx, qword [rdx]
lea rcx, [rbp + 0x58]
call fcn.140002d30
movups xmm0, xmmword [rax]
mov r8d, 3
lea rdx, [0x1400adb90]
lea rcx, [rbp + 0x260]
movups xmmword [rbp + 0x260], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x270], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
call fcn.140002d30
lea rcx, [rbp + 0x2c0]
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x90], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xa0], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
mov edx, dword [r13 + 0x620]
call fcn.140006370
mov rcx, qword [rbp + 0xa8]
mov rdx, rax
mov r9, qword [rbp + 0xa0]
mov r8, qword [rax + 0x10]
mov rax, rcx
sub rax, r9
cmp r8, rax
jbe 0x140015bea
mov rax, qword [rdx + 0x18]
sub rax, r8
cmp rax, r9
jb 0x140015bea
cmp rcx, 8
lea r8, [rbp + 0x90]
mov rcx, rdx
cmovae r8, qword [rbp + 0x90]
call fcn.14002a2b0
jmp 0x140015c00
cmp qword [rdx + 0x18], 8
jb 0x140015bf4
mov rdx, qword [rdx]
lea rcx, [rbp + 0x90]
call fcn.140002d30
movups xmm0, xmmword [rax]
mov r8d, 3
lea rdx, [0x1400adb90]
lea rcx, [rbp + 0x240]
movups xmmword [rbp + 0x240], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x250], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
call fcn.140002d30
lea rcx, [rbp + 0x2e0]
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xe0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xf0], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
mov edx, dword [r13 + 0x624]
call fcn.140006370
mov rcx, qword [rbp + 0xf8]
mov rdx, rax
mov r9, qword [rbp + 0xf0]
mov r8, qword [rax + 0x10]
mov rax, rcx
sub rax, r9
cmp r8, rax
jbe 0x140015cbf
mov rax, qword [rdx + 0x18]
sub rax, r8
cmp rax, r9
jb 0x140015cbf
cmp rcx, 8
lea r8, [rbp + 0xe0]
mov rcx, rdx
cmovae r8, qword [rbp + 0xe0]
call fcn.14002a2b0
jmp 0x140015cd5
cmp qword [rdx + 0x18], 8
jb 0x140015cc9
mov rdx, qword [rdx]
lea rcx, [rbp + 0xe0]
call fcn.140002d30
movups xmm0, xmmword [rax]
mov r8d, 3
lea rdx, [0x1400adb90]
lea rcx, [rbp + 0x220]
movups xmmword [rbp + 0x220], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x230], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
call fcn.140002d30
lea rcx, [rbp + 0x300]
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x100], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x110], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
mov edx, dword [r13 + 0x628]
call fcn.140006370
mov rcx, qword [rbp + 0x118]
mov rdx, rax
mov r9, qword [rbp + 0x110]
mov r8, qword [rax + 0x10]
mov rax, rcx
sub rax, r9
cmp r8, rax
jbe 0x140015d94
mov rax, qword [rdx + 0x18]
sub rax, r8
cmp rax, r9
jb 0x140015d94
cmp rcx, 8
lea r8, [rbp + 0x100]
mov rcx, rdx
cmovae r8, qword [rbp + 0x100]
call fcn.14002a2b0
jmp 0x140015daa
cmp qword [rdx + 0x18], 8
jb 0x140015d9e
mov rdx, qword [rdx]
lea rcx, [rbp + 0x100]
call fcn.140002d30
movups xmm0, xmmword [rax]
mov r8d, 3
lea rdx, [0x1400adb90]
lea rcx, [rbp + 0x200]
movups xmmword [rbp + 0x200], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x210], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
call fcn.140002d30
lea rcx, [rbp + 0x280]
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x38], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x48], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
mov edx, dword [r13 + 0x62c]
call fcn.140006370
mov rcx, qword [rbp + 0x50]
mov rdx, rax
mov r9, qword [rbp + 0x48]
mov r8, qword [rax + 0x10]
mov rax, rcx
sub rax, r9
cmp r8, rax
jbe 0x140015e57
mov rax, qword [rdx + 0x18]
sub rax, r8
cmp rax, r9
jb 0x140015e57
cmp rcx, 8
lea r8, [rbp + 0x38]
mov rcx, rdx
cmovae r8, qword [rbp + 0x38]
call fcn.14002a2b0
jmp 0x140015e6a
cmp qword [rdx + 0x18], 8
jb 0x140015e61
mov rdx, qword [rdx]
lea rcx, [rbp + 0x38]
call fcn.140002d30
movups xmm0, xmmword [rax]
mov r8d, 3
lea rdx, [0x1400adb90]
lea rcx, [rbp + 0x120]
movups xmmword [rbp + 0x120], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x130], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
call fcn.140002d30
lea rcx, [rbp + 0x320]
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x18], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x28], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
mov edx, dword [r13 + 0x634]
call fcn.140006370
mov rcx, qword [rbp + 0x30]
mov rdx, rax
mov r9, qword [rbp + 0x28]
mov r8, qword [rax + 0x10]
mov rax, rcx
sub rax, r9
cmp r8, rax
jbe 0x140015f17
mov rax, qword [rdx + 0x18]
sub rax, r8
cmp rax, r9
jb 0x140015f17
cmp rcx, 8
lea r8, [rbp + 0x18]
mov rcx, rdx
cmovae r8, qword [rbp + 0x18]
call fcn.14002a2b0
jmp 0x140015f2a
cmp qword [rdx + 0x18], 8
jb 0x140015f21
mov rdx, qword [rdx]
lea rcx, [rbp + 0x18]
call fcn.140002d30
movups xmm0, xmmword [rax]
mov r8d, 3
lea rdx, [0x1400adb90]
lea rcx, [rbp + 0x140]
movups xmmword [rbp + 0x140], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x150], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
call fcn.140002d30
lea rcx, [rbp + 0x340]
movups xmm0, xmmword [rax]
movups xmmword [rbp - 8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 8], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
mov edx, dword [r13 + 0x614]
call fcn.140006370
mov rcx, qword [rbp + 0x10]
mov rdx, rax
mov r9, qword [rbp + 8]
mov r8, qword [rax + 0x10]
mov rax, rcx
sub rax, r9
cmp r8, rax
jbe 0x140015fd7
mov rax, qword [rdx + 0x18]
sub rax, r8
cmp rax, r9
jb 0x140015fd7
cmp rcx, 8
lea r8, [rbp - 8]
mov rcx, rdx
cmovae r8, qword [rbp - 8]
call fcn.14002a2b0
jmp 0x140015fea
cmp qword [rdx + 0x18], 8
jb 0x140015fe1
mov rdx, qword [rdx]
lea rcx, [rbp - 8]
call fcn.140002d30
movups xmm0, xmmword [rax]
mov r8d, 3
lea rdx, [0x1400adb90]
lea rcx, [rbp + 0x160]
movups xmmword [rbp + 0x160], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x170], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
call fcn.140002d30
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x28], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x18], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
mov rdx, qword [rbp - 0x10]
mov r9, qword [rbp - 0x18]
mov rax, rdx
mov r8, qword [rbp + 0x418]
sub rax, r9
mov rcx, qword [rbp + 0x420]
cmp r8, rax
jbe 0x14001608e
mov rax, rcx
sub rax, r8
cmp rax, r9
jb 0x14001608e
cmp rdx, 8
lea r8, [rbp - 0x28]
lea rcx, [rbp + 0x408]
cmovae r8, qword [rbp - 0x28]
call fcn.14002a2b0
jmp 0x1400160aa
cmp rcx, 8
lea rdx, [rbp + 0x408]
lea rcx, [rbp - 0x28]
cmovae rdx, qword [rbp + 0x408]
call fcn.140002d30
movups xmm0, xmmword [rax]
mov r8d, 3
lea rdx, [0x1400adb90]
lea rcx, [rbp + 0x180]
movups xmmword [rbp + 0x180], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x190], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
call fcn.140002d30
lea rcx, [rbp + 0x360]
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x48], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x38], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
mov edx, dword [r13 + 0x410]
call fcn.140006370
mov rcx, qword [rbp - 0x30]
mov rdx, rax
mov r9, qword [rbp - 0x38]
mov r8, qword [rax + 0x10]
mov rax, rcx
sub rax, r9
cmp r8, rax
jbe 0x140016157
mov rax, qword [rdx + 0x18]
sub rax, r8
cmp rax, r9
jb 0x140016157
cmp rcx, 8
lea r8, [rbp - 0x48]
mov rcx, rdx
cmovae r8, qword [rbp - 0x48]
call fcn.14002a2b0
jmp 0x14001616a
cmp qword [rdx + 0x18], 8
jb 0x140016161
mov rdx, qword [rdx]
lea rcx, [rbp - 0x48]
call fcn.140002d30
movups xmm0, xmmword [rax]
mov r8d, 3
lea rdx, [0x1400adb90]
lea rcx, [rbp + 0x1a0]
movups xmmword [rbp + 0x1a0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x1b0], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
call fcn.140002d30
lea rcx, [rbp + 0x380]
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x68], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x58], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
mov edx, dword [r13 + 0x40c]
call fcn.140006370
mov rcx, qword [rbp - 0x50]
mov rdx, rax
mov r9, qword [rbp - 0x58]
mov r8, qword [rax + 0x10]
mov rax, rcx
sub rax, r9
cmp r8, rax
jbe 0x140016217
mov rax, qword [rdx + 0x18]
sub rax, r8
cmp rax, r9
jb 0x140016217
cmp rcx, 8
lea r8, [rbp - 0x68]
mov rcx, rdx
cmovae r8, qword [rbp - 0x68]
call fcn.14002a2b0
jmp 0x14001622a
cmp qword [rdx + 0x18], 8
jb 0x140016221
mov rdx, qword [rdx]
lea rcx, [rbp - 0x68]
call fcn.140002d30
movups xmm0, xmmword [rax]
mov r8d, 3
lea rdx, [0x1400adb90]
lea rcx, [rbp + 0x1c0]
movups xmmword [rbp + 0x1c0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x1d0], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
call fcn.140002d30
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x78], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x78], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
mov rdx, qword [rbp - 0x70]
mov r9, qword [rbp - 0x78]
mov rax, rdx
mov r8, qword [rsp + 0x60]
sub rax, r9
mov rcx, qword [rsp + 0x68]
cmp r8, rax
jbe 0x1400162cb
mov rax, rcx
sub rax, r8
cmp rax, r9
jb 0x1400162cb
cmp rdx, 8
lea r8, [rsp + 0x78]
lea rcx, [rsp + 0x50]
cmovae r8, qword [rsp + 0x78]
call fcn.14002a2b0
jmp 0x1400162e4
cmp rcx, 8
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x78]
cmovae rdx, qword [rsp + 0x50]
call fcn.140002d30
movups xmm0, xmmword [rax]
lea r8, [0x1400a9680]
lea rdx, [rbp + 0x1e0]
movups xmmword [rbp + 0x1e0], xmm0
lea rcx, [rbp + 0x438]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x1f0], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
call fcn.140028fc0
lea rcx, [rbp + 0x1e0]
call fcn.140001990
lea rcx, [rsp + 0x78]
call fcn.140001990
lea rcx, [rbp + 0x1c0]
call fcn.140001990
lea rcx, [rbp - 0x68]
call fcn.140001990
lea rcx, [rbp + 0x1a0]
call fcn.140001990
lea rcx, [rbp - 0x48]
call fcn.140001990
lea rcx, [rbp + 0x180]
call fcn.140001990
lea rcx, [rbp - 0x28]
call fcn.140001990
lea rcx, [rbp + 0x160]
call fcn.140001990
lea rcx, [rbp - 8]
call fcn.140001990
lea rcx, [rbp + 0x140]
call fcn.140001990
lea rcx, [rbp + 0x18]
call fcn.140001990
lea rcx, [rbp + 0x120]
call fcn.140001990
lea rcx, [rbp + 0x38]
call fcn.140001990
lea rcx, [rbp + 0x200]
call fcn.140001990
lea rcx, [rbp + 0x100]
call fcn.140001990
lea rcx, [rbp + 0x220]
call fcn.140001990
lea rcx, [rbp + 0xe0]
call fcn.140001990
lea rcx, [rbp + 0x240]
call fcn.140001990
lea rcx, [rbp + 0x90]
call fcn.140001990
lea rcx, [rbp + 0x260]
call fcn.140001990
lea rcx, [rbp + 0x58]
call fcn.140001990
lea rcx, [rsp + 0x30]
call fcn.140001990
lea rcx, [rbp + 0x2a0]
call fcn.140001990
lea rcx, [rbp + 0x2c0]
call fcn.140001990
lea rcx, [rbp + 0x2e0]
call fcn.140001990
lea rcx, [rbp + 0x300]
call fcn.140001990
lea rcx, [rbp + 0x280]
call fcn.140001990
lea rcx, [rbp + 0x320]
call fcn.140001990
lea rcx, [rbp + 0x340]
call fcn.140001990
lea rcx, [rbp + 0x408]
call fcn.140001990
lea rcx, [rbp + 0x360]
call fcn.140001990
lea rcx, [rbp + 0x380]
call fcn.140001990
lea rcx, [rsp + 0x50]
call fcn.140001990
call fcn.140002200
lea rcx, [rbp + 0x438]
call fcn.140002d20
mov rdx, rax
call fcn.1400022f0
lea rcx, [rbp + 0x438]
call fcn.140001990
call qword [0x1400cfb58]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
lea rcx, [rbp + 0x3c0]
call fcn.140001990
jmp 0x140016aa8
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ecx, SafeArrayPutElement
call fcn.14005da5c
lea rdx, [0x1400a8358]
mov qword [rbp + 0x3e0], rax
mov rcx, rax
mov rbx, rax
mov qword [rax + 8], r12
mov qword [rax], r12
mov qword [rax + 0x10], r12
call fcn.1400443c0
cmp dword [rbx + 8], 1
jge 0x14001657c
lea r15, str.HW_BAT_02
mov dword [r13 + 0x67c], 0x6001
mov r8, r15
lea rcx, [r13 + 0x65c]
mov edx, 0x10
call fcn.140005150
lea rcx, str.BatteryInfoGet_Fail:_Battery_Not_Exist
call fcn.140040a00
mov r8, r15
lea rcx, str.BatteryInfoGet_ErrorCode:_0X_X_SymptomCode:__s_r_n
mov edx, 0x6001
call fcn.140040a00
call qword [0x1400cfb58]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x1400167c8
lea rcx, [rbp + 0x3a0]
mov qword [rbp + 0x3a0], r12
call fcn.14005cff0
lea rcx, [rbp + 0x3b8]
mov qword [rbp + 0x3b8], r12
call fcn.14005cc60
lea rcx, [rbp + 0x3b0]
mov qword [rbp + 0x3b0], r12
call fcn.14005cd90
lea rcx, [rbp + 0x3a8]
mov qword [rbp + 0x3a8], r12
call fcn.14005cec0
mov r14, qword [rbp + 0x3a0]
mov rsi, qword [rbp + 0x3b8]
mov rdi, qword [rbp + 0x3b0]
mov rbx, qword [rbp + 0x3a8]
cmp dword [r14 + 0x20], 1
jl 0x140016734
cmp dword [rsi + 0x20], 1
jl 0x140016734
cmp dword [rdi + 0x20], 1
jl 0x140016734
cmp dword [rbx + 0x20], 1
jl 0x140016734
lea r8, [r13 + 0x654]
lea rcx, [rbp + 0x3a0]
call fcn.14005d120
lea r8, [r13 + 0x650]
lea rcx, [rbp + 0x3a0]
call fcn.14005d070
lea r8, [r13 + 0x648]
lea rcx, [rbp + 0x3b8]
call fcn.14005cce0
lea r8, [r13 + 0x64c]
lea rcx, [rbp + 0x3b0]
call fcn.14005ce10
lea r8, [r13 + 0x658]
lea rcx, [rbp + 0x3a8]
call fcn.14005cf40
lea r15, str.SW_BAT_01
mov ebx, 0x6000
mov r8, r15
mov dword [r13 + 0x67c], ebx
lea rcx, [r13 + 0x65c]
mov edx, 0x10
call fcn.140005150
mov edx, dword [r13 + 0x654]
lea rcx, str.BatteryInfoGet_Voltage:__u_mV
call fcn.140040a00
mov edx, dword [r13 + 0x650]
lea rcx, str.BatteryInfoGet_RemainingCapacity:__u_mWh
call fcn.140040a00
mov edx, dword [r13 + 0x648]
lea rcx, str.BatteryInfoGet_DesignedCapacity:__u_mWh
call fcn.140040a00
mov edx, dword [r13 + 0x64c]
lea rcx, str.BatteryInfoGet_FullChargedCapacity:__u_mWh
call fcn.140040a00
mov edx, dword [r13 + 0x658]
lea rcx, str.BatteryInfoGet_CycleCount:__u
call fcn.140040a00
mov r8, r15
lea rcx, str.BatteryInfoGet_ErrorCode:_0X_X_SymptomCode:__s_r_n
mov edx, ebx
call fcn.140040a00
call qword [0x1400cfb58]
mov rcx, qword [rbp + 0x400]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov r14, qword [rbp + 0x3a0]
mov rsi, qword [rbp + 0x3b8]
mov rdi, qword [rbp + 0x3b0]
mov rbx, qword [rbp + 0x3a8]
jmp 0x14001678d
lea r15, str.HW_BAT_02
mov dword [r13 + 0x67c], 0x6003
mov r8, r15
lea rcx, [r13 + 0x65c]
mov edx, 0x10
call fcn.140005150
lea rcx, str.BatteryInfoGet_Fail:_Battery_Unplugin
call fcn.140040a00
mov r8, r15
lea rcx, str.BatteryInfoGet_ErrorCode:_0X_X_SymptomCode:__s_r_n
mov edx, 0x6003
call fcn.140040a00
call qword [0x1400cfb58]
mov rcx, qword [rbp + 0x400]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
test rbx, rbx
je 0x14001679a
mov rcx, rbx
call fcn.14005be60
test rdi, rdi
je 0x1400167a7
mov rcx, rdi
call fcn.14005be60
test rsi, rsi
je 0x1400167b4
mov rcx, rsi
call fcn.14005be60
test r14, r14
je 0x1400167c1
mov rcx, r14
call fcn.14005be60
mov rbx, qword [rbp + 0x3e0]
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400167d9
call qword [sym.imp.SETUPAPI.dll_SetupDiDestroyDeviceInfoList]
mov qword [rbx], r12
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x1400167eb
call fcn.14005da54
mov qword [rbx + 0x10], r12
mov edx, SafeArrayPutElement
mov dword [rbx + 8], r12d
mov rcx, rbx
call fcn.14005da54
jmp 0x140016aa8
lea rcx, [rbp + 0x408]
call fcn.140007460
lea rcx, [rbp + 0x408]
call fcn.1400450b0
mov rax, qword [rbp + 0x410]
cmp dword [rax + 8], 1
jge 0x140016880
lea r15, str.HW_BAT_02
mov dword [r13 + 0x67c], 0x6001
mov r8, r15
lea rcx, [r13 + 0x65c]
mov edx, 0x10
call fcn.140005150
lea rcx, str.BatteryInfoGet_Fail:_Battery_Not_Exist
call fcn.140040a00
mov r8, r15
lea rcx, str.BatteryInfoGet_ErrorCode:_0X_X_SymptomCode:__s_r_n
mov edx, 0x6001
call fcn.140040a00
call qword [0x1400cfb58]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x140016a8e
lea rcx, [rbp + 0x3a0]
call fcn.140007470
lea rcx, [rbp + 0x3a0]
call fcn.14005cff0
lea rcx, [rbp + 0x3b8]
call fcn.140007470
lea rcx, [rbp + 0x3b8]
call fcn.14005cc60
lea rcx, [rbp + 0x3b0]
call fcn.140007470
lea rcx, [rbp + 0x3b0]
call fcn.14005cd90
lea rcx, [rbp + 0x3a8]
call fcn.140007470
lea rcx, [rbp + 0x3a8]
call fcn.14005cec0
mov rax, qword [rbp + 0x3a0]
cmp dword [rax + 0x20], 1
jl 0x140016a0b
mov rax, qword [rbp + 0x3b8]
cmp dword [rax + 0x20], 1
jl 0x140016a0b
mov rax, qword [rbp + 0x3b0]
cmp dword [rax + 0x20], 1
jl 0x140016a0b
mov rax, qword [rbp + 0x3a8]
cmp dword [rax + 0x20], 1
jl 0x140016a0b
lea r8, [r13 + 0x654]
lea rcx, [rbp + 0x3a0]
call fcn.14005d120
lea r8, [r13 + 0x650]
lea rcx, [rbp + 0x3a0]
call fcn.14005d070
lea r8, [r13 + 0x648]
lea rcx, [rbp + 0x3b8]
call fcn.14005cce0
lea r8, [r13 + 0x64c]
lea rcx, [rbp + 0x3b0]
call fcn.14005ce10
lea r8, [r13 + 0x658]
lea rcx, [rbp + 0x3a8]
call fcn.14005cf40
lea r15, str.SW_BAT_01
mov ebx, 0x6000
mov r8, r15
mov dword [r13 + 0x67c], ebx
lea rcx, [r13 + 0x65c]
mov edx, 0x10
call fcn.140005150
mov edx, dword [r13 + 0x654]
lea rcx, str.BatteryInfoGet_Voltage:__u_mV
call fcn.140040a00
mov edx, dword [r13 + 0x650]
lea rcx, str.BatteryInfoGet_RemainingCapacity:__u_mWh
call fcn.140040a00
mov edx, dword [r13 + 0x648]
lea rcx, str.BatteryInfoGet_DesignedCapacity:__u_mWh
call fcn.140040a00
mov edx, dword [r13 + 0x64c]
lea rcx, str.BatteryInfoGet_FullChargedCapacity:__u_mWh
call fcn.140040a00
mov edx, dword [r13 + 0x658]
lea rcx, str.BatteryInfoGet_CycleCount:__u
call fcn.140040a00
jmp 0x140016a3e
lea r15, str.HW_BAT_02
mov ebx, 0x6003
mov r8, r15
mov dword [r13 + 0x67c], ebx
lea rcx, [r13 + 0x65c]
mov edx, 0x10
call fcn.140005150
lea rcx, str.BatteryInfoGet_Fail:_Battery_Unplugin
call fcn.140040a00
mov r8, r15
lea rcx, str.BatteryInfoGet_ErrorCode:_0X_X_SymptomCode:__s_r_n
mov edx, ebx
call fcn.140040a00
call qword [0x1400cfb58]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
lea rcx, [rbp + 0x3a8]
call fcn.14005bf50
lea rcx, [rbp + 0x3b0]
call fcn.14005bf50
lea rcx, [rbp + 0x3b8]
call fcn.14005bf50
lea rcx, [rbp + 0x3a0]
call fcn.14005bf50
lea rax, vtable.LSetupBattery.0
lea rcx, [rbp + 0x408]
mov qword [rbp + 0x408], rax
call fcn.1400449f0
lea rcx, [rbp + 0x430]
call fcn.14005bf50
lea rcx, [rbp + 0x428]
call fcn.14005bf50
lea rcx, [rbp + 0x3f8]
call fcn.14005bf50
lea rcx, [rbp + 0x3f0]
call fcn.14005bf50
lea rcx, [rbp + 0x3e8]
call fcn.14005bf50
jmp 0x140016eda
lea rcx, str.LoadLibrary_AsusWinIo64_dll_fail
call fcn.140040a00
mov ecx, SafeArrayPutElement
call fcn.14005da5c
xor r12d, r12d
mov qword [rbp + 0x3f8], rax
lea rdx, [0x1400a8358]
mov rcx, rax
mov rbx, rax
mov qword [rax + 8], r12
mov qword [rax], r12
mov qword [rax + 0x10], r12
call fcn.1400443c0
cmp dword [rbx + 8], 1
jge 0x140016b77
lea r15, str.HW_BAT_02
mov dword [r13 + 0x67c], 0x6001
mov r8, r15
lea rcx, [r13 + 0x65c]
lea edx, [r12 + 0x10]
call fcn.140005150
lea rcx, str.BatteryInfoGet_Fail:_Battery_Not_Exist
call fcn.140040a00
mov r8, r15
lea rcx, str.BatteryInfoGet_ErrorCode:_0X_X_SymptomCode:__s_r_n
mov edx, 0x6001
call fcn.140040a00
jmp 0x140016ea6
mov ecx, 0x48
call fcn.14005da5c
xor ecx, ecx
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rcx
mov qword [rax + 0x18], rcx
mov qword [rax + 0x20], rcx
mov qword [rax + 0x28], rcx
mov qword [rax + 0x30], rcx
mov qword [rax + 0x38], rcx
mov qword [rax + 0x40], rcx
mov rcx, rax
call fcn.14005b210
lea rdx, str.ROOTWMI
mov qword [rbp + 0x3e8], rax
mov rcx, rax
mov r14, rax
call fcn.14005b2e0
lea rdx, str.SELECT__FROM_BatteryStatus
mov rcx, r14
call fcn.14005b4b0
mov ecx, 0x48
call fcn.14005da5c
xor ecx, ecx
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rcx
mov qword [rax + 0x18], rcx
mov qword [rax + 0x20], rcx
mov qword [rax + 0x28], rcx
mov qword [rax + 0x30], rcx
mov qword [rax + 0x38], rcx
mov qword [rax + 0x40], rcx
mov rcx, rax
call fcn.14005b210
lea rdx, str.ROOTWMI
mov qword [rbp + 0x3e0], rax
mov rcx, rax
mov rdi, rax
call fcn.14005b2e0
lea rdx, str.SELECT__FROM_BatteryStaticData
mov rcx, rdi
call fcn.14005b4b0
mov ecx, 0x48
call fcn.14005da5c
xor edx, edx
mov rcx, rax
mov qword [rax], rdx
mov qword [rax + 8], rdx
mov qword [rax + 0x10], rdx
mov qword [rax + 0x18], rdx
mov qword [rax + 0x20], rdx
mov qword [rax + 0x28], rdx
mov qword [rax + 0x30], rdx
mov qword [rax + 0x38], rdx
mov qword [rax + 0x40], rdx
call fcn.14005b210
lea rdx, str.ROOTWMI
mov qword [rbp + 0x400], rax
mov rcx, rax
mov rbx, rax
call fcn.14005b2e0
lea rdx, str.SELECT__FROM_BatteryFullChargedCapacity
mov rcx, rbx
call fcn.14005b4b0
mov ecx, 0x48
call fcn.14005da5c
xor ecx, ecx
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rcx
mov qword [rax + 0x18], rcx
mov qword [rax + 0x20], rcx
mov qword [rax + 0x28], rcx
mov qword [rax + 0x30], rcx
mov qword [rax + 0x38], rcx
mov qword [rax + 0x40], rcx
mov rcx, rax
call fcn.14005b210
mov rsi, rax
lea rdx, str.ROOTWMI
mov qword [rbp + 0x3f0], rax
mov rcx, rax
call fcn.14005b2e0
lea rdx, str.SELECT__FROM_BatteryCycleCount
mov rcx, rsi
call fcn.14005b4b0
cmp dword [r14 + 0x20], 1
jl 0x140016e1d
cmp dword [rdi + 0x20], 1
jl 0x140016e1d
cmp dword [rbx + 0x20], 1
jl 0x140016e1d
cmp dword [rsi + 0x20], 1
jl 0x140016e1d
lea rbx, [r13 + 0x654]
mov r8, rbx
lea rcx, [rbp + 0x3e8]
call fcn.14005d120
lea rdi, [r13 + 0x650]
mov r8, rdi
lea rcx, [rbp + 0x3e8]
call fcn.14005d070
lea rsi, [r13 + 0x648]
mov r8, rsi
lea rcx, [rbp + 0x3e0]
call fcn.14005cce0
lea r14, [r13 + 0x64c]
mov r8, r14
lea rcx, [rbp + 0x400]
call fcn.14005ce10
lea r15, [r13 + 0x658]
mov r8, r15
lea rcx, [rbp + 0x3f0]
call fcn.14005cf40
mov eax, 0x6000
lea rcx, [r13 + 0x65c]
mov dword [r13 + 0x67c], eax
mov edx, 0x10
lea r13, str.SW_BAT_01
mov dword [rbp + 0x3a0], eax
mov r8, r13
call fcn.140005150
mov edx, dword [rbx]
lea rcx, str.BatteryInfoGet_Voltage:__u_mV
call fcn.140040a00
mov edx, dword [rdi]
lea rcx, str.BatteryInfoGet_RemainingCapacity:__u_mWh
call fcn.140040a00
mov edx, dword [rsi]
lea rcx, str.BatteryInfoGet_DesignedCapacity:__u_mWh
call fcn.140040a00
mov edx, dword [r14]
lea rcx, str.BatteryInfoGet_FullChargedCapacity:__u_mWh
call fcn.140040a00
mov edx, dword [r15]
lea rcx, str.BatteryInfoGet_CycleCount:__u
call fcn.140040a00
mov r14, qword [rbp + 0x3e8]
mov rdi, qword [rbp + 0x3e0]
mov rbx, qword [rbp + 0x400]
mov rsi, qword [rbp + 0x3f0]
jmp 0x140016e56
mov eax, 0x6003
lea rcx, [r13 + 0x65c]
mov dword [r13 + 0x67c], eax
mov edx, 0x10
lea r13, str.HW_BAT_02
mov dword [rbp + 0x3a0], eax
mov r8, r13
call fcn.140005150
lea rcx, str.BatteryInfoGet_Fail:_Battery_Unplugin
call fcn.140040a00
mov edx, dword [rbp + 0x3a0]
lea rcx, str.BatteryInfoGet_ErrorCode:_0X_X_SymptomCode:__s_r_n
mov r8, r13
call fcn.140040a00
test rsi, rsi
je 0x140016e78
mov rcx, rsi
call fcn.14005be60
test rbx, rbx
je 0x140016e85
mov rcx, rbx
call fcn.14005be60
test rdi, rdi
je 0x140016e92
mov rcx, rdi
call fcn.14005be60
test r14, r14
je 0x140016e9f
mov rcx, r14
call fcn.14005be60
mov rbx, qword [rbp + 0x3f8]
mov rcx, qword [rbx]
test rcx, rcx
je 0x140016eb7
call qword [sym.imp.SETUPAPI.dll_SetupDiDestroyDeviceInfoList]
mov qword [rbx], r12
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x140016ec9
call fcn.14005da54
mov qword [rbx + 0x10], r12
mov edx, SafeArrayPutElement
mov dword [rbx + 8], r12d
mov rcx, rbx
call fcn.14005da54
mov rcx, qword [rbp + 0x760]
xor rcx, rsp
call fcn.14005da30
lea r11, [rsp + 0x870]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret