Function at 0x140017d00
Capabilities:
Print debug messages

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r13
push r14
lea rbp, [rsp - 0x3c8]
sub rsp, 0x4c8
mov rax, qword [0x14007d038]
xor rax, rsp
mov qword [rbp + 0x3a0], rax
xor eax, eax
movzx esi, r9b
mov dword [rsp + 0x50], eax
mov edi, r8d
mov dword [rbp - 0x80], eax
mov r14, rdx
mov eax, dword [rcx + 0x298]
mov rbx, rcx
mov dword [rsp + 0x48], r8d
mov r13d, esi
test al, 4
je 0x140017d82
mov r9, rdx
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], r8d
lea rcx, [rbp - 0x60]
lea r8, str.Enter_Metering::SetFMFunction__s:_Function__d:__d_r_n
mov edx, 0x400
call fcn.140002050
lea rcx, [rbp - 0x60]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov eax, dword [rbx + 0x298]
mov ecx, r13d
bt eax, 9
jae 0x140017db0
mov dword [rsp + 0x28], ecx
lea r8, str.Enter_Metering::SetFMFunction__s:_Function__d:__d
mov rcx, rbx
mov dword [rsp + 0x20], edi
mov r9, r14
mov edx, 4
call fcn.1400173e0
mov eax, dword [rbx + 0x298]
cmp dword [rbx + 0x3a8], 0xffffffff
jne 0x140017df1
test al, 1
je 0x140017dd0
lea rcx, str.Metering::SetFMFunction__Wrong_Endpoint_Type_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov eax, dword [rbx + 0x298]
bt eax, 9
jae 0x140017dea
lea r8, str.Metering::SetFMFunction__Wrong_Endpoint_Type
mov edx, 4
mov rcx, rbx
call fcn.1400173e0
xor al, al
jmp 0x140018b91
mov qword [rsp + 0x4b8], r15
bt eax, 9
jae 0x140017e13
lea r8, str.Enter_Metering::SetFMFunction_before_EnterCriticalSection_m_modeset_section_
mov edx, 4
mov rcx, rbx
call fcn.1400173e0
lea rcx, [rbx + 0x330]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rdx, r14
mov rcx, rbx
call fcn.1400174d0
test al, al
jne 0x140017e77
mov eax, dword [rbx + 0x298]
test al, 1
je 0x140017e61
mov r9, r14
lea r8, str.Metering::SetFMFunction__s:_Not_Support_r_n
mov edx, 0x400
lea rcx, [rbp - 0x60]
call fcn.140002050
lea rcx, [rbp - 0x60]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov eax, dword [rbx + 0x298]
bt eax, 9
jae 0x140018014
lea r8, str.Metering::SetFMFunction__s:_Not_Support
jmp 0x140018004
mov rdx, 0xffffffffffffffff
nop
inc rdx
cmp word [r14 + rdx*2], 0
jne 0x140017e80
inc rdx
lea rcx, [rbx + 0x40]
mov r8, r14
call fcn.14003c608
cmp edi, 0x14
jne 0x140017f11
movzx eax, sil
mov word [0x14007ff28], ax
mov r9d, dword [rbx + 0x3a8]
lea r8, [rsp + 0x4c]
mov rdx, r14
mov rcx, rbx
call fcn.14001a690
test al, al
jne 0x140017f4e
mov eax, dword [rbx + 0x298]
test al, 1
je 0x140017efb
mov r9, r14
lea r8, str.Metering::SetFMFunction__s:_Cannot_get_K2_value_r_n
mov edx, 0x400
lea rcx, [rbp - 0x60]
call fcn.140002050
lea rcx, [rbp - 0x60]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov eax, dword [rbx + 0x298]
bt eax, 9
jae 0x140018014
lea r8, str.Metering::SetFMFunction__s:_Cannot_get_K2_value
jmp 0x140018004
cmp edi, 0x13
jne 0x140017eaa
movzx eax, sil
lea r9, str.13AE3061_F6DC_45C1_B90C_F5E992141790_15
lea r8, str.SOFTWAREFortemediaHowlingDection
mov dword [rsp + 0x20], eax
mov rcx, rbx
call fcn.14001b050
test eax, eax
je 0x140018014
lea rcx, [rbx + 0x330]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x140018b87
mov r9d, dword [rbx + 0x3a8]
lea r8, [rsp + 0x44]
mov rdx, r14
mov rcx, rbx
call fcn.14001ac30
test al, al
jne 0x140017faa
mov eax, dword [rbx + 0x298]
test al, 1
je 0x140017f9b
mov r9, r14
lea r8, str.Metering::SetFMFunction__s:_Cannot_get_K7_value_r_n
mov edx, 0x400
lea rcx, [rbp - 0x60]
call fcn.140002050
lea rcx, [rbp - 0x60]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov eax, dword [rbx + 0x298]
bt eax, 9
jae 0x140018014
lea r8, str.Metering::SetFMFunction__s:_Cannot_get_K7_value
jmp 0x140018004
mov r9d, dword [rbx + 0x3a8]
lea r8, [rsp + 0x40]
mov rdx, r14
mov rcx, rbx
call fcn.140019d50
test al, al
jne 0x140018028
mov eax, dword [rbx + 0x298]
test al, 1
je 0x140017ff7
mov r9, r14
lea r8, str.Metering::SetFMFunction__s:_Cannot_get_K900_value_r_n
mov edx, 0x400
lea rcx, [rbp - 0x60]
call fcn.140002050
lea rcx, [rbp - 0x60]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov eax, dword [rbx + 0x298]
bt eax, 9
jae 0x140018014
lea r8, str.Metering::SetFMFunction__s:_Cannot_get_K900_value
mov r9, r14
mov edx, 4
mov rcx, rbx
call fcn.1400173e0
lea rcx, [rbx + 0x330]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor al, al
jmp 0x140018b89
mov eax, dword [rbx + 0x3a8]
lea r8, [rsp + 0x70]
movups xmm0, xmmword [0x140068080]
mov dword [rsp + 0x30], 1
mov r9d, 0x385
mov dword [rsp + 0x28], eax
mov rdx, r14
lea rax, [rsp + 0x60]
movaps xmmword [rsp + 0x70], xmm0
mov rcx, rbx
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x4c0], r12
call fcn.14001a3f0
test al, al
jne 0x1400180c8
mov eax, dword [rbx + 0x298]
test al, 1
je 0x1400180a4
mov r9, r14
lea r8, str.Metering::SetFMFunction__s:_Cannot_get_K901_value_r_n
mov edx, 0x400
lea rcx, [rbp - 0x60]
call fcn.140002050
lea rcx, [rbp - 0x60]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov eax, dword [rbx + 0x298]
bt eax, 9
jae 0x1400180c1
mov r9, r14
lea r8, str.Metering::SetFMFunction__s:_Cannot_get_K901_value__use_0x00000010
mov edx, 4
mov rcx, rbx
call fcn.1400173e0
mov edi, 0x110
jmp 0x1400180cc
mov edi, dword [rsp + 0x60]
mov r15d, dword [rsp + 0x44]
lea rdx, [rsp + 0x44]
mov r12d, dword [rsp + 0x4c]
mov rcx, rbx
mov dword [rsp + 0x4c], r12d
mov dword [rsp + 0x54], r15d
mov dword [rsp + 0x44], 0
mov dword [rsp + 0x58], edi
call fcn.14001bb60
lea rax, [rbp - 0x80]
mov rcx, rbx
lea r9, str.13AE3061_F6DC_45C1_B90C_F5E992141790_200
mov qword [rsp + 0x20], rax
lea r8, str.SOFTWAREFortemediaHowlingDection
call fcn.14001b190
test eax, eax
jne 0x140018147
test byte [rbx + 0x298], 1
je 0x140018147
mov r9, r14
lea r8, str.Metering::SetFMFunction__s:_Cannot_get_Howling_control_bit_mask_13AE3061_F6DC_45C1_B90C_F5E992141790_200_n
mov edx, 0x400
lea rcx, [rbp - 0x60]
call fcn.140002050
lea rcx, [rbp - 0x60]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp dword [rbx + 0x3a8], 0
mov eax, dword [rbp - 0x80]
mov dword [rsp + 0x44], eax
jne 0x1400185a5
lea r8, [rbx + 0x384]
mov rdx, r14
mov rcx, rbx
call fcn.14001aa50
test al, al
jne 0x1400181f5
lea rcx, str.Reset_Pre_K2_value_r_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
xor r8d, r8d
mov dword [rbx + 0x384], 3
mov rdx, r14
call fcn.140015180
mov r8d, dword [rbx + 0x384]
mov rdx, r14
test eax, eax
je 0x1400181cd
movups xmm0, xmmword [0x140068070]
mov dword [rsp + 0x28], r8d
lea r9, [rsp + 0x70]
xor r8d, r8d
mov dword [rsp + 0x20], 2
movaps xmmword [rsp + 0x70], xmm0
call fcn.14001f680
jmp 0x1400181d5
mov rcx, rbx
call fcn.14001a890
test dword [rbx + 0x298], 0x200
je 0x140018215
lea r8, str.Metering::SetFMFunction_Reset_Pre_K2_value
mov edx, 4
mov rcx, rbx
call fcn.1400173e0
test dword [rbx + 0x298], 0x200
je 0x140018215
lea r8, str.Metering::SetFMFunction_switch__flag_...star
mov edx, 4
mov rcx, rbx
call fcn.1400173e0
movsxd rax, dword [rsp + 0x48]
cmp eax, 0xc0
ja case.0x14001823a.10
lea rdx, [0x140000000]
movzx eax, byte [rdx + rax + 0x18c18]
mov ecx, dword [rdx + rax*4 + 0x18bb0]
add rcx, rdx
jmp rcx
movzx eax, word [rbx + 0x248]
cmp r12d, eax
je 0x14001829b
cmp r12d, 0xb
je 0x14001829b
mov eax, r12d
or eax, 1
and r12d, 0xfffffffe
test sil, sil
cmovne r12d, eax
mov r13d, dword [rsp + 0x40]
test dword [rbx + 0x298], 0x200
je 0x140018284
lea r8, str.Metering::SetFMFunction_switch__flag_...end
mov edx, 4
mov rcx, rbx
call fcn.1400173e0
mov r8d, dword [rbx + 0x384]
mov rdx, r14
mov rcx, rbx
call fcn.14001a890
jmp 0x140018698
mov r13d, dword [rsp + 0x40]
test sil, sil
je 0x140018264
mov r12d, 1
jmp 0x140018264
cmp r12d, 0xc
je 0x1400182d7
cmp r12d, 0xd
je 0x1400182dd
movzx eax, word [rbx + 0x248]
cmp r12d, eax
je 0x1400182d7
cmp r12d, 0xb
je 0x1400182d7
mov eax, r12d
or eax, 2
and r12d, 0xfffffffd
jmp 0x140018258
cmp r12d, 0xd
jne 0x1400182f6
mov r13d, dword [rsp + 0x40]
test sil, sil
je 0x140018264
mov r12d, 3
jmp 0x140018264
test r13b, r13b
mov r13d, dword [rsp + 0x40]
je 0x140018264
mov r12d, 2
jmp 0x140018264
test sil, sil
je 0x14001831d
and r15d, 0xffffffef
jmp case.0x14001823a.10
or r15d, 0x10
jmp case.0x14001823a.10
movzx eax, word [rbx + 0x248]
cmp r12d, eax
je 0x140018353
cmp r12d, 0xb
je 0x140018353
test sil, sil
je 0x14001834a
and r12d, 0xfffffffd
or r12d, 0xc
jmp case.0x14001823a.10
and r12d, 0xfffffff3
jmp case.0x14001823a.10
mov r13d, dword [rsp + 0x40]
test sil, sil
je 0x140018264
mov r12d, 0xc
jmp 0x140018264
movzx eax, word [rbx + 0x248]
test sil, sil
je 0x14001838c
cmp r12d, eax
je 0x140018384
mov dword [rbx + 0x384], r12d
mov r12d, eax
jmp case.0x14001823a.10
mov r12d, dword [rbx + 0x384]
cmp r12d, eax
jne case.0x14001823a.10
mov dword [rbx + 0x384], 3
mov r12d, 3
jmp case.0x14001823a.10
test sil, sil
je 0x1400183c0
bts r15d, 8
jmp case.0x14001823a.10
btr r15d, 8
jmp case.0x14001823a.10
mov r13d, dword [rsp + 0x40]
test sil, sil
je 0x140018264
mov r12d, 0xb
jmp 0x140018264
test sil, sil
je 0x1400183f1
or r15d, 4
jmp case.0x14001823a.10
and r15d, 0xfffffffb
jmp case.0x14001823a.10
test sil, sil
je 0x140018408
or r15d, 1
jmp case.0x14001823a.10
and r15d, 0xfffffffe
jmp case.0x14001823a.10
movzx eax, sil
mov rdx, r14
add eax, eax
mov rcx, rbx
mov r8d, eax
mov dword [rsp + 0x50], eax
call fcn.14001a970
jmp case.0x14001823a.10
movzx eax, sil
lea r9, str.13AE3061_F6DC_45C1_B90C_F5E992141790_11
lea r8, str.SOFTWAREFortemediaHowlingDection
mov dword [rsp + 0x20], eax
mov rcx, rbx
call fcn.14001b050
jmp case.0x14001823a.10
test sil, sil
je case.0x14001823a.10
movzx eax, word [rbx + 0x268]
and r15d, 0xffffffef
mov dword [rsp + 0x60], eax
mov r13d, eax
jmp 0x140018264
test sil, sil
je case.0x14001823a.10
and r15d, 0xffffffef
mov r13d, 0x89
jmp 0x140018264
test sil, sil
je case.0x14001823a.10
mov eax, 0x89
or r15d, 0x10
mov dword [rsp + 0x60], eax
mov r13d, eax
jmp 0x140018264
test sil, sil
je 0x1400184b4
or edi, 0x20
jmp case.0x14001823a.10
and edi, 0xffffffdf
jmp case.0x14001823a.10
test sil, sil
je case.0x14001823a.10
mov eax, 0x89
and edi, 0xffffffe0
or edi, 0x40
mov dword [rsp + 0x60], eax
mov r13d, eax
jmp 0x140018264
test sil, sil
je case.0x14001823a.10
and edi, 0xffffffa1
or edi, 1
jmp 0x14001845a
test sil, sil
je case.0x14001823a.10
and edi, 0xffffffa2
or edi, 2
jmp 0x14001845a
test sil, sil
je case.0x14001823a.10
and edi, 0xffffffa4
or edi, 4
jmp 0x14001845a
test sil, sil
je case.0x14001823a.10
and edi, 0xffffffa8
or edi, 8
jmp 0x14001845a
test sil, sil
je case.0x14001823a.10
and edi, 0xffffffb0
or edi, 0x10
jmp 0x14001845a
test sil, sil
je 0x140018556
movzx r13d, word [rbx + 0x268]
btr edi, 7
jmp 0x140018264
mov eax, 0x89
bts edi, 7
mov dword [rsp + 0x60], eax
mov r13d, eax
jmp 0x140018264
mov eax, dword [rbp - 0x80]
test sil, sil
je 0x14001857e
or eax, 1
mov dword [rbp - 0x80], eax
jmp case.0x14001823a.10
and eax, 0xfffffffe
mov dword [rbp - 0x80], eax
jmp case.0x14001823a.10
mov r13d, dword [rsp + 0x40]
test sil, sil
je 0x14001859c
bts edi, 8
jmp 0x140018264
btr edi, 8
jmp 0x140018264
mov eax, dword [rsp + 0x48]
add eax, 0xfffffff0
cmp eax, 0xf0
ja case.0x1400185d2.17
lea rdx, [0x140000000]
cdqe
movzx eax, byte [rdx + rax + 0x18d04]
mov ecx, dword [rdx + rax*4 + 0x18cdc]
add rcx, rdx
jmp rcx
mov eax, r15d
or r15d, 4
and eax, 0xfffffffb
test sil, sil
cmovne r15d, eax
jmp case.0x1400185d2.17
test sil, sil
je case.0x1400185d2.17
and edi, 0xffffffe0
or edi, 0x40
jmp case.0x1400185d2.17
test sil, sil
je case.0x1400185d2.17
and edi, 0xffffffa1
or edi, 1
jmp case.0x1400185d2.17
test sil, sil
je case.0x1400185d2.17
and edi, 0xffffffa2
or edi, 2
jmp case.0x1400185d2.17
test sil, sil
je case.0x1400185d2.17
and edi, 0xffffffa4
or edi, 4
jmp case.0x1400185d2.17
test sil, sil
je case.0x1400185d2.17
and edi, 0xffffffa8
or edi, 8
jmp case.0x1400185d2.17
test sil, sil
je case.0x1400185d2.17
and edi, 0xffffffb0
or edi, 0x10
jmp case.0x1400185d2.17
mov eax, edi
bts edi, 7
btr eax, 7
test sil, sil
cmovne edi, eax
jmp case.0x1400185d2.17
test sil, sil
je 0x140018652
bts edi, 9
jmp case.0x1400185d2.17
btr edi, 9
mov r8d, r15d
mov rdx, r14
mov rcx, rbx
call fcn.14001ae30
test al, al
jne 0x140018693
test byte [rbx + 0x298], 1
je 0x140018693
mov r9, r14
lea r8, str.Metering::SetFMFunction__s:_Cannot_set_Pre_K7_value_r_n
mov edx, 0x400
lea rcx, [rbp - 0x60]
call fcn.140002050
lea rcx, [rbp - 0x60]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov r13d, dword [rsp + 0x40]
test dword [rbx + 0x298], 0x200
je 0x1400186b8
lea r8, str.Metering::SetFMFunction_SetK2Value...
mov edx, 4
mov rcx, rbx
call fcn.1400173e0
mov r9d, dword [rbx + 0x3a8]
mov r8d, r12d
mov rdx, r14
mov rcx, rbx
call fcn.14001a5b0
test al, al
jne 0x140018720
mov eax, dword [rbx + 0x298]
test al, 1
je 0x140018703
mov r9, r14
lea r8, str.Metering::SetFMFunction__s:_Cannot_set_K2_value_r_n
mov edx, 0x400
lea rcx, [rbp - 0x60]
call fcn.140002050
lea rcx, [rbp - 0x60]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov eax, dword [rbx + 0x298]
bt eax, 9
jae 0x140018720
mov r9, r14
lea r8, str.Metering::SetFMFunction__s:_Cannot_set_K2_value
mov edx, 4
mov rcx, rbx
call fcn.1400173e0
test dword [rbx + 0x298], 0x200
je 0x140018740
lea r8, str.Metering::SetFMFunction_SetK7Value...
mov edx, 4
mov rcx, rbx
call fcn.1400173e0
mov r9d, dword [rbx + 0x3a8]
mov r8d, r15d
mov rdx, r14
mov rcx, rbx
call fcn.14001ab50
test al, al
jne 0x1400187a8
mov eax, dword [rbx + 0x298]
test al, 1
je 0x14001878b
mov r9, r14
lea r8, str.Metering::SetFMFunction__s:_Cannot_set_K7_value_r_n
mov edx, 0x400
lea rcx, [rbp - 0x60]
call fcn.140002050
lea rcx, [rbp - 0x60]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov eax, dword [rbx + 0x298]
bt eax, 9
jae 0x1400187a8
mov r9, r14
lea r8, str.Metering::SetFMFunction__s:_Cannot_set_K7_value
mov edx, 4
mov rcx, rbx
call fcn.1400173e0
mov r9d, dword [rbx + 0x3a8]
mov r8d, r13d
mov rdx, r14
mov rcx, rbx
call fcn.140019c70
test al, al
jne 0x140018810
mov eax, dword [rbx + 0x298]
test al, 1
je 0x1400187f3
mov r9, r14
lea r8, str.Metering::SetFMFunction__s:_Cannot_set_K900_value_r_n
mov edx, 0x400
lea rcx, [rbp - 0x60]
call fcn.140002050
lea rcx, [rbp - 0x60]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov eax, dword [rbx + 0x298]
bt eax, 9
jae 0x140018810
mov r9, r14
lea r8, str.Metering::SetFMFunction__s:_Cannot_set_K900_value
mov edx, 4
mov rcx, rbx
call fcn.1400173e0
movups xmm0, xmmword [0x140068080]
mov eax, dword [rbx + 0x3a8]
lea r8, [rsp + 0x70]
mov dword [rsp + 0x30], 1
mov r9d, 0x385
mov dword [rsp + 0x28], eax
mov rdx, r14
mov rcx, rbx
movaps xmmword [rsp + 0x70], xmm0
mov dword [rsp + 0x20], edi
call fcn.14001a200
test al, al
jne 0x14001889b
mov eax, dword [rbx + 0x298]
test al, 1
je 0x14001887e
mov r9, r14
lea r8, str.Metering::SetFMFunction__s:_Cannot_set_K901_value_r_n
mov edx, 0x400
lea rcx, [rbp - 0x60]
call fcn.140002050
lea rcx, [rbp - 0x60]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov eax, dword [rbx + 0x298]
bt eax, 9
jae 0x14001889b
mov r9, r14
lea r8, str.Metering::SetFMFunction__s:_Cannot_set_K901_value__use_0x00000010
mov edx, 4
mov rcx, rbx
call fcn.1400173e0
mov eax, dword [rbp - 0x80]
lea r9, str.13AE3061_F6DC_45C1_B90C_F5E992141790_200
lea r8, str.SOFTWAREFortemediaHowlingDection
mov dword [rsp + 0x20], eax
mov rcx, rbx
call fcn.14001b050
test eax, eax
jne 0x1400188e7
test byte [rbx + 0x298], 1
je 0x1400188e7
mov r9, r14
lea r8, str.Metering::SetFMFunction__s:_Cannot_set_howling_control_200_value_r_n
mov edx, 0x400
lea rcx, [rbp - 0x60]
call fcn.140002050
lea rcx, [rbp - 0x60]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
test dword [rbx + 0x298], 0x200
je 0x140018907
lea r8, str.Metering::SetFMFunction_WriteEndpointProperty...
mov edx, 4
mov rcx, rbx
call fcn.1400173e0
mov esi, dword [rbx + 0x3a8]
xor eax, eax
xor ecx, ecx
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x70], rax
call qword [sym.imp.ole32.dll_CoInitialize]
xor ecx, ecx
call fcn.14003c820
mov rcx, rax
call fcn.14003c8bc
xor edx, edx
lea rax, [rsp + 0x68]
lea r9, [0x14007dcd8]
mov qword [rsp + 0x20], rax
lea rcx, [0x14007dcc8]
lea r8d, [rdx + 0x17]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jne 0x140018a01
mov rcx, qword [rsp + 0x68]
lea r9, [rsp + 0x60]
mov rax, qword [rcx]
test esi, esi
jne 0x14001897c
mov edx, 1
mov r8d, edx
jmp 0x140018982
xor edx, edx
lea r8d, [rdx + 1]
call qword [rax + 0x20]
test eax, eax
jne 0x1400189f1
mov rcx, qword [rsp + 0x60]
lea r8, [rsp + 0x70]
mov edx, 1
mov rax, qword [rcx]
call qword [rax + 0x20]
test eax, eax
jne 0x1400189e1
xor eax, eax
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x68], rax
call fcn.14003c890
mov ecx, 0x13
mov dword [rbp - 0x70], eax
mov word [rbp - 0x78], cx
lea r8, [rbp - 0x78]
mov rcx, qword [rsp + 0x70]
lea rdx, [0x1400680b0]
mov rax, qword [rcx]
call qword [rax + 0x30]
lea rcx, [rbp - 0x78]
call qword [sym.imp.ole32.dll_PropVariantClear]
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x1400189f1
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x140018a01
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x140018a11
mov rax, qword [rcx]
call qword [rax + 0x10]
call qword [sym.imp.ole32.dll_CoUninitialize]
test dword [rbx + 0x298], 0x200
je 0x140018a37
lea r8, str.Metering::SetFMFunction_WriteEndpointProperty...
mov edx, 4
mov rcx, rbx
call fcn.1400173e0
cmp dword [rsp + 0x4c], r12d
jne 0x140018a5f
cmp dword [rsp + 0x54], r15d
jne 0x140018a5f
cmp dword [rsp + 0x40], r13d
jne 0x140018a5f
cmp dword [rsp + 0x58], edi
jne 0x140018a5f
mov eax, dword [rsp + 0x44]
cmp eax, dword [rbp - 0x80]
je 0x140018b03
mov ecx, 0x204
call fcn.140024d1c
mov rdi, rax
mov rax, 0xffffffffffffffff
cmp word [r14 + rax*2 + 2], 0
lea rax, [rax + 1]
jne 0x140018a73
lea rdx, [rax + 1]
mov r8, r14
mov rcx, rdi
call fcn.14003c608
mov eax, dword [rsp + 0x48]
mov dword [rdi + 0x200], eax
mov r9, qword [rbx + 0x38]
test r9, r9
je 0x140018af6
test byte [rbx + 0x298], 0x10
je 0x140018adb
mov r9, r14
mov dword [rsp + 0x20], eax
lea r8, str.ModeChangeEvent_from_Metering::SetFMFunction__s_flag__d_r_n
mov edx, 0x400
lea rcx, [rbp - 0x60]
call fcn.140002050
lea rcx, [rbp - 0x60]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov eax, dword [rdi + 0x200]
mov r9, qword [rbx + 0x38]
mov dword [rsp + 0x28], eax
lea rcx, [0x140067ac0]
xor r8d, r8d
mov qword [rsp + 0x20], rdi
xor edx, edx
call qword [sym.imp.RPCRT4.dll_NdrClientCall3]
mov edx, 0x204
mov rcx, rdi
call fcn.140024d14
test byte [rbx + 0x298], 0x20
je 0x140018b4a
mov eax, dword [rsp + 0x50]
lea r8, str._s_Type:__d__Set_K2_0x_x__K7_0x_x__Orientation_0x_x_r_n
mov dword [rsp + 0x38], eax
lea rcx, [rbp - 0x60]
mov eax, dword [rbx + 0x3a8]
mov r9, r14
mov dword [rsp + 0x30], r15d
mov edx, 0x400
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], eax
call fcn.140002050
lea rcx, [rbp - 0x60]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea rcx, [rbx + 0x330]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test byte [rbx + 0x298], 4
mov r12, qword [rsp + 0x4c0]
je 0x140018b87
lea r8, str.Leave_Metering::SetFMFunction_r_n
mov edx, 0x400
lea rcx, [rbp - 0x60]
call fcn.140002050
lea rcx, [rbp - 0x60]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov al, 1
mov r15, qword [rsp + 0x4b8]
mov rcx, qword [rbp + 0x3a0]
xor rcx, rsp
call fcn.140024cf0
add rsp, 0x4c8
pop r14
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret