Function at 0x1400cd340
Capabilities:
Print debug messages

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x360]
sub rsp, 0x460
mov qword [rbp + 0x110], 0xfffffffffffffffe
mov qword [rsp + 0x4a8], rbx
mov esi, edx
mov rdi, rcx
xor ebx, ebx
mov qword [rcx + 0x468], rbx
xor r8d, r8d
add rcx, 0x430
call fcn.14003d5a0
cmp eax, 0x80004005
jne 0x1400cd3c3
mov r8d, esi
lea rdx, str.Unable_to_open_device__d_n
lea rcx, [rbp + 0x160]
call fcn.1400e7a5c
lea r8, [0x1401246c4]
lea rdx, [rbp + 0x160]
mov rcx, rdi
call fcn.1400cf4d0
jmp 0x1400cef7f
lea rsi, [rdi + 0x438]
mov r14d, ebx
mov dword [rbp + 8], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cd3eb
mov rax, qword [rcx]
lea r8, [rbp + 8]
mov edx, 0x10000d5
call qword [rax + 0x18]
mov r14d, dword [rbp + 8]
mov edx, ebx
mov dword [rsp + 0x38], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cd40d
mov rax, qword [rcx]
lea r8, [rsp + 0x38]
mov edx, 0x10000102
call qword [rax + 0x18]
mov edx, dword [rsp + 0x38]
mov r8d, r14d
mov rcx, rdi
call fcn.1400d0ce0
mov r8, rax
lea rdx, str.Device_Type_t
mov rcx, rdi
call fcn.1400cf4d0
mov eax, ebx
mov dword [rbp + 0xb4], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cd452
mov rax, qword [rcx]
lea r8, [rbp + 0xb4]
mov edx, 0x10000171
call qword [rax + 0x18]
mov eax, dword [rbp + 0xb4]
lea rcx, str.Disabled
lea r8, str.Enabled
test eax, eax
cmovne r8, rcx
lea rdx, str.Device_State_t
mov rcx, rdi
call fcn.1400cf4d0
mov r15d, ebx
mov dword [rsp + 0x40], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cd499
mov rax, qword [rcx]
lea r8, [rsp + 0x40]
mov edx, 0x1000323
call qword [rax + 0x18]
mov r15d, dword [rsp + 0x40]
lea rax, [0x14013e248]
lea r8, [0x14013e250]
cmp r15d, 0xffffffff
cmove r8, rax
lea rdx, str.Master_Device_t
mov rcx, rdi
call fcn.1400cf4d0
mov r8d, 0x10000602
lea rdx, [rbp + 0x108]
mov rcx, rsi
call fcn.140030c60
mov rcx, qword [rax]
test rcx, rcx
je 0x1400cd4e0
mov rcx, qword [rcx]
jmp 0x1400cd4e3
mov rcx, rbx
lea rdx, [rbp + 0x160]
sub rdx, rcx
nop dword [rax]
movzx eax, word [rcx]
mov word [rdx + rcx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x1400cd4f0
mov rcx, qword [rbp + 0x108]
test rcx, rcx
je 0x1400cd511
call fcn.140033030
lea rcx, [rbp + 0x160]
or r14, 0xffffffffffffffff
mov rax, r14
nop
inc rax
cmp word [rcx + rax*2], bx
jne 0x1400cd520
lea rcx, [0x140125de0]
lea r8, [rbp + 0x160]
test rax, rax
cmove r8, rcx
lea rdx, str.Plug_and_Play_ID_t
mov rcx, rdi
call fcn.1400cf4d0
lea rdx, [rbp + 0x118]
mov rcx, rdi
call fcn.1400cf9d0
nop
cmp qword [rax + 0x18], 8
jb 0x1400cd567
mov rax, qword [rax]
mov r8, rax
lea rdx, str.Board_Number_t
mov rcx, rdi
call fcn.1400cf4d0
nop
cmp qword [rbp + 0x130], 8
jb 0x1400cd590
mov rcx, qword [rbp + 0x118]
call fcn.1400e5d14
mov r13d, ebx
mov dword [rbp + 0x10], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cd5b1
mov rax, qword [rcx]
lea r8, [rbp + 0x10]
mov edx, 0x10000cd
call qword [rax + 0x18]
mov r13d, dword [rbp + 0x10]
cmp r15d, 0xffffffff
je 0x1400cd6fb
lea rdx, str.SynCom.PointingDevice
lea rcx, [rbp + 0xc8]
call fcn.14002e400
lea rax, vtable.CDummySynDevice.0
mov qword [rbp + 0xe0], rax
mov dword [rbp + 0xe8], ebx
mov qword [rbp + 0xd8], rbx
lea rax, vtable.SynDeviceEx.0
mov qword [rbp + 0xc0], rax
lea rax, vtable.SynDeviceEx.1.0
mov qword [rbp + 0xd0], rax
mov dword [rbp + 0xf0], r14d
mov dword [rbp + 0xf4], ebx
lea rcx, [rbp + 0xe0]
mov rax, qword [rbp + 0xc8]
test rax, rax
cmovne rcx, rax
mov rax, qword [rcx]
mov edx, r15d
call qword [rax + 0x78]
test eax, eax
jne 0x1400cd666
lea rcx, [rbp + 0xe0]
mov rax, qword [rbp + 0xc8]
test rax, rax
cmovne rcx, rax
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x88]
mov ecx, dword [rbp + 0xf0]
test eax, eax
cmove ecx, r15d
mov dword [rbp + 0xf0], ecx
mov r13d, ebx
mov dword [rsp + 0x48], ebx
mov rcx, qword [rbp + 0xc8]
test rcx, rcx
je 0x1400cd695
mov rax, qword [rcx]
lea r8, [rsp + 0x48]
mov edx, 0x10000cd
call qword [rax + 0x18]
mov rcx, qword [rbp + 0xc8]
mov r13d, dword [rsp + 0x48]
lea rax, vtable.SynDevice.0
mov qword [rbp + 0xc0], rax
lea rax, vtable.SynDevice.1.0
mov qword [rbp + 0xd0], rax
mov rdx, qword [rbp + 0xd8]
test rdx, rdx
je 0x1400cd6d4
mov rax, qword [rdx]
mov rcx, rdx
call qword [rax + 0x10]
mov qword [rbp + 0xd8], rbx
mov rcx, qword [rbp + 0xc8]
lea rax, vtable.CDummySynDevice.0
mov qword [rbp + 0xe0], rax
lea rax, vtable.SynWrapEvents_class_SynDevice__struct_ISynDevice__struct__ISynDeviceEvents_.0
mov qword [rbp + 0xc0], rax
test rcx, rcx
je 0x1400cd6fb
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, r13d
and eax, 0xffff0000
mov dword [rbp + 0xbc], eax
cmp eax, 0x200000
jne 0x1400cd74e
lea rdx, [rbp + 0xf8]
mov rcx, rdi
call fcn.1400cfad0
nop
mov r8, qword [rax]
lea rdx, str.ProductID_Version_t
mov rcx, rdi
call fcn.1400cf4d0
nop
mov rdx, qword [rbp + 0xf8]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400cd74e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov dword [rbp + 0x3a0], 6
mov rcx, qword [rdi + 0x438]
test rcx, rcx
jne 0x1400cd76b
lea rcx, [rdi + 0x450]
mov rax, qword [rcx]
lea r8, [rbp + 0x3a0]
mov edx, 0x10000e3
call qword [rax + 0x18]
mov r12d, dword [rbp + 0x3a0]
and r12d, 0xfff
mov dword [rbp + 0x3a0], 7
mov rcx, qword [rdi + 0x438]
test rcx, rcx
jne 0x1400cd7a8
lea rcx, [rdi + 0x450]
mov rax, qword [rcx]
lea r8, [rbp + 0x3a0]
mov edx, 0x10000e3
call qword [rax + 0x18]
mov ecx, dword [rbp + 0x3a0]
movzx r9d, cl
shl r9d, 0xc
mov eax, ecx
and eax, 0xf00
or r9d, eax
shl r9d, 4
sar ecx, 0x10
and ecx, 0xfff
or r9d, ecx
test r12d, r12d
jne 0x1400cd7f5
test r9d, r9d
jne 0x1400cd7f5
lea r15, str.Unserialized
jmp 0x1400cd80c
lea r15, [rdi + 0x30]
mov r8d, r12d
lea rdx, str.0x_03X_06X
mov rcx, r15
call qword [sym.imp.USER32.dll_wsprintfW]
mov r8, r15
lea rdx, str.Serial_Number_t
mov rcx, rdi
call fcn.1400cf4d0
lea rdx, [rbp + 0x138]
mov rcx, rdi
call fcn.1400cf820
nop
cmp qword [rax + 0x18], 8
jb 0x1400cd838
mov rax, qword [rax]
mov r8, rax
lea rdx, str.OEM________t
mov rcx, rdi
call fcn.1400cf4d0
nop
cmp qword [rbp + 0x150], 8
jb 0x1400cd861
mov rcx, qword [rbp + 0x138]
call fcn.1400e5d14
mov r8d, 0x10000603
lea rdx, [rbp + 0x100]
mov rcx, rsi
call fcn.140030c60
mov rcx, qword [rax]
test rcx, rcx
je 0x1400cd883
mov rcx, qword [rcx]
jmp 0x1400cd886
mov rcx, rbx
lea rdx, [rbp + 0x160]
sub rdx, rcx
movzx eax, word [rcx]
mov word [rdx + rcx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x1400cd890
mov rcx, qword [rbp + 0x100]
test rcx, rcx
je 0x1400cd8b1
call fcn.140033030
lea rax, [rbp + 0x160]
nop dword [rax + rax]
inc r14
cmp word [rax + r14*2], 0
jne 0x1400cd8c0
lea r8, [rbp + 0x160]
test r14, r14
lea rax, [0x140125de0]
cmove r8, rax
lea rdx, str.Config_Key_t
mov rcx, rdi
call fcn.1400cf4d0
mov edx, r13d
mov rcx, rdi
call fcn.1400d0f80
mov r8, rax
lea rdx, str.Port_t
mov rcx, rdi
call fcn.1400cf4d0
cmp dword [rbp + 0xbc], 0x20000
jne 0x1400cd951
mov edx, ebx
mov dword [rbp + 0x78], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cd937
mov rax, qword [rcx]
lea r8, [rbp + 0x78]
mov edx, 0x10000d6
call qword [rax + 0x18]
mov edx, dword [rbp + 0x78]
mov rcx, rdi
call fcn.1400d1050
mov r8, rax
lea rdx, str.Keyboard_controller_t
mov rcx, rdi
call fcn.1400cf4d0
mov edx, ebx
mov dword [rsp + 0x50], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cd973
mov rax, qword [rcx]
lea r8, [rsp + 0x50]
mov edx, 0x10000135
call qword [rax + 0x18]
mov edx, dword [rsp + 0x50]
mov rcx, rdi
call fcn.1400d1eb0
mov r8, rax
lea rdx, str.Left_Button_Action_t
mov rcx, rdi
call fcn.1400cf4d0
mov edx, ebx
mov dword [rbp + 0x18], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cd9ac
mov rax, qword [rcx]
lea r8, [rbp + 0x18]
mov edx, 0x10000136
call qword [rax + 0x18]
mov edx, dword [rbp + 0x18]
mov rcx, rdi
call fcn.1400d1eb0
mov r8, rax
lea rdx, str.Right_Button_Action_t
mov rcx, rdi
call fcn.1400cf4d0
mov edx, ebx
mov dword [rsp + 0x58], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cd9e8
mov rax, qword [rcx]
lea r8, [rsp + 0x58]
mov edx, 0x10000138
call qword [rax + 0x18]
mov edx, dword [rsp + 0x58]
mov rcx, rdi
call fcn.1400d1eb0
mov r8, rax
lea rdx, str.Middle_Button_Action_t
mov rcx, rdi
call fcn.1400cf4d0
mov edx, ebx
mov dword [rbp + 0x9c], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cda2a
mov rax, qword [rcx]
lea r8, [rbp + 0x9c]
mov edx, 0x1000015b
call qword [rax + 0x18]
mov edx, dword [rbp + 0x9c]
mov rcx, rdi
call fcn.1400d1eb0
mov r8, rax
lea rdx, str.Fourth_Button_Action_t
mov rcx, rdi
call fcn.1400cf4d0
mov edx, ebx
mov dword [rsp + 0x60], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cda66
mov rax, qword [rcx]
lea r8, [rsp + 0x60]
mov edx, 0x1000015c
call qword [rax + 0x18]
mov edx, dword [rsp + 0x60]
mov rcx, rdi
call fcn.1400d1eb0
mov r8, rax
lea rdx, str.Fifth_Button_Action_t
mov rcx, rdi
call fcn.1400cf4d0
mov dword [rbp + 0x20], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cef7f
mov rax, qword [rcx]
lea r8, [rbp + 0x20]
mov edx, 0x10000102
call qword [rax + 0x18]
mov eax, dword [rbp + 0x20]
cmp eax, 9
ja 0x1400cef7f
mov ecx, 0x324
bt ecx, eax
jae 0x1400cef7f
mov edx, ebx
mov dword [rsp + 0x68], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cdada
mov rax, qword [rcx]
lea r8, [rsp + 0x68]
mov edx, 0x10000104
call qword [rax + 0x18]
mov edx, dword [rsp + 0x68]
mov r8d, r13d
mov rcx, rdi
call fcn.1400d1180
mov r8, rax
lea rdx, str.Firmware_Revision_t
mov rcx, rdi
call fcn.1400cf4d0
mov r12d, ebx
mov dword [rbp + 0x80], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cdb21
mov rax, qword [rcx]
lea r8, [rbp + 0x80]
mov edx, 0x1000014f
call qword [rax + 0x18]
mov r12d, dword [rbp + 0x80]
mov r15d, ebx
mov dword [rsp + 0x70], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cdb45
mov rax, qword [rcx]
lea r8, [rsp + 0x70]
mov edx, 0x1000014e
call qword [rax + 0x18]
mov r15d, dword [rsp + 0x70]
mov r14d, ebx
mov dword [rbp + 0x28], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cdb66
mov rax, qword [rcx]
lea r8, [rbp + 0x28]
mov edx, 0x1000014d
call qword [rax + 0x18]
mov r14d, dword [rbp + 0x28]
mov edx, ebx
mov dword [rsp + 0x78], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cdb88
mov rax, qword [rcx]
lea r8, [rsp + 0x78]
mov edx, 0x1000010e
call qword [rax + 0x18]
mov edx, dword [rsp + 0x78]
mov dword [rsp + 0x20], r12d
mov r9d, r15d
mov r8d, r14d
mov rcx, rdi
call fcn.1400d1270
mov r8, rax
lea rdx, str.Gestures_Enabled_t
mov rcx, rdi
call fcn.1400cf4d0
lea r14, [0x14013e630]
lea r15, [rdi + 0x430]
cmp dword [r15 + 0x30], 0xffffffff
je 0x1400ce1b9
mov edx, ebx
mov dword [rbp + 0xa0], ebx
mov rcx, qword [r15 + 8]
test rcx, rcx
je 0x1400cdbef
mov rax, qword [rcx]
lea r8, [rbp + 0xa0]
mov edx, 0x10000102
call qword [rax + 0x18]
mov edx, dword [rbp + 0xa0]
mov eax, ebx
cmp edx, 2
sete al
test eax, eax
je 0x1400ce1b9
mov eax, ebx
mov dword [rbp - 0x80], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cdc1e
mov rax, qword [rcx]
lea r8, [rbp - 0x80]
mov edx, 0x10000146
call qword [rax + 0x18]
mov eax, dword [rbp - 0x80]
lea r12, [0x14013e250]
mov r8, r12
test eax, eax
lea r13, [0x14013e248]
cmovne r8, r13
lea rdx, str.MultiFinger_Gestures_t
mov rcx, rdi
call fcn.1400cf4d0
mov eax, ebx
mov dword [rbp + 0x30], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cdc63
mov rax, qword [rcx]
lea r8, [rbp + 0x30]
mov edx, 0x10000177
call qword [rax + 0x18]
mov eax, dword [rbp + 0x30]
mov r8, r12
test eax, eax
cmovne r8, r13
lea rdx, str.MultiFinger_Report_t
mov rcx, rdi
call fcn.1400cf4d0
mov eax, ebx
mov dword [rbp - 0x78], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cdc9a
mov rax, qword [rcx]
lea r8, [rbp - 0x78]
mov edx, 0x1000379
call qword [rax + 0x18]
mov eax, dword [rbp - 0x78]
mov r8d, 0xa
lea rdx, [rbp + 0x160]
mov ecx, eax
call fcn.1400e7044
mov r8, rax
lea rdx, str.Max_Number_Finger_Report_t
mov rcx, rdi
call fcn.1400cf4d0
mov eax, ebx
mov dword [rbp + 0x88], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cdce8
mov rax, qword [rcx]
lea r8, [rbp + 0x88]
mov edx, 0x1000017a
call qword [rax + 0x18]
mov eax, dword [rbp + 0x88]
mov r8, r12
test eax, eax
cmovne r8, r13
lea rdx, str.MultiFinger_PacketGroups_t
mov rcx, rdi
call fcn.1400cf4d0
mov eax, ebx
mov dword [rbp - 0x70], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cdd1f
mov rax, qword [rcx]
lea r8, [rbp - 0x70]
mov edx, 0x10000189
call qword [rax + 0x18]
mov eax, dword [rbp - 0x70]
mov r8, r12
test eax, eax
cmovne r8, r13
lea rdx, str.Cover_Gesture_t
mov rcx, rdi
call fcn.1400cf4d0
mov eax, ebx
mov dword [rbp + 0x38], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cdd56
mov rax, qword [rcx]
lea r8, [rbp + 0x38]
mov edx, 0x10000d5
call qword [rax + 0x18]
mov eax, dword [rbp + 0x38]
bt eax, 0x11
mov r8, r12
cmovb r8, r13
lea rdx, str.Supports_W_t
mov rcx, rdi
call fcn.1400cf4d0
mov eax, ebx
mov dword [rbp - 0x68], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cdd8f
mov rax, qword [rcx]
lea r8, [rbp - 0x68]
mov edx, 0x10000d5
call qword [rax + 0x18]
mov eax, dword [rbp - 0x68]
bt eax, 0xb
mov r8, r12
cmovb r8, r13
lea rdx, str.Imaging_Sensor_t
mov rcx, rdi
call fcn.1400cf4d0
mov eax, ebx
mov dword [rbp + 0xa8], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cddd1
mov rax, qword [rcx]
lea r8, [rbp + 0xa8]
mov edx, 0x10000d5
call qword [rax + 0x18]
mov eax, dword [rbp + 0xa8]
bt eax, 9
mov r8, r12
cmovb r8, r13
lea rdx, str.Report_V_t
mov rcx, rdi
call fcn.1400cf4d0
mov eax, ebx
mov dword [rbp - 0x60], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cde0a
mov rax, qword [rcx]
lea r8, [rbp - 0x60]
mov edx, 0x10000d5
call qword [rax + 0x18]
mov eax, dword [rbp - 0x60]
bt eax, 0xd
mov r8, r13
cmovb r8, r12
lea rdx, str.1:1_FW_Filter_t
mov rcx, rdi
call fcn.1400cf4d0
mov eax, ebx
mov dword [rbp + 0x40], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cde43
mov rax, qword [rcx]
lea r8, [rbp + 0x40]
mov edx, 0x10000d5
call qword [rax + 0x18]
mov eax, dword [rbp + 0x40]
bt eax, 0xc
mov r8, r12
cmovb r8, r13
lea rdx, str.RMI_Backdoor_t
mov rcx, rdi
call fcn.1400cf4d0
mov eax, ebx
mov dword [rbp - 0x58], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cde7c
mov rax, qword [rcx]
lea r8, [rbp - 0x58]
mov edx, 0x10000150
call qword [rax + 0x18]
mov eax, dword [rbp - 0x58]
lea rcx, [0x14013e624]
mov r8, r14
test eax, eax
cmovne r8, rcx
lea rdx, str.Taps_Zones_t
mov rcx, rdi
call fcn.1400cf4d0
mov edx, ebx
mov dword [rbp + 0x90], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cdec3
mov rax, qword [rcx]
lea r8, [rbp + 0x90]
mov edx, 0x10000131
call qword [rax + 0x18]
mov edx, dword [rbp + 0x90]
mov rcx, rdi
call fcn.1400d1eb0
mov r8, rax
lea rdx, str.Top_Left_Corner_Action_t
mov rcx, rdi
call fcn.1400cf4d0
mov edx, ebx
mov dword [rbp - 0x50], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cdefc
mov rax, qword [rcx]
lea r8, [rbp - 0x50]
mov edx, 0x10000132
call qword [rax + 0x18]
mov edx, dword [rbp - 0x50]
mov rcx, rdi
call fcn.1400d1eb0
mov r8, rax
lea rdx, str.Top_Right_Corner_Action_t
mov rcx, rdi
call fcn.1400cf4d0
mov edx, ebx
mov dword [rbp + 0x48], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cdf35
mov rax, qword [rcx]
lea r8, [rbp + 0x48]
mov edx, 0x10000134
call qword [rax + 0x18]
mov edx, dword [rbp + 0x48]
mov rcx, rdi
call fcn.1400d1eb0
mov r8, rax
lea rdx, str.Bottom_Left_Corner_Action_t
mov rcx, rdi
call fcn.1400cf4d0
mov edx, ebx
mov dword [rbp - 0x48], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cdf6e
mov rax, qword [rcx]
lea r8, [rbp - 0x48]
mov edx, 0x10000133
call qword [rax + 0x18]
mov edx, dword [rbp - 0x48]
mov rcx, rdi
call fcn.1400d1eb0
mov r8, rax
lea rdx, str.Bottom_Right_Corner_Action_t
mov rcx, rdi
call fcn.1400cf4d0
mov dword [rbp + 0xb0], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cdfba
mov rax, qword [rcx]
lea r8, [rbp + 0xb0]
mov edx, 0x10000153
call qword [rax + 0x18]
cmp dword [rbp + 0xb0], 0
je 0x1400cdfba
lea r8, str.Always
jmp 0x1400cdfed
mov eax, ebx
mov dword [rbp - 0x40], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cdfd9
mov rax, qword [rcx]
lea r8, [rbp - 0x40]
mov edx, 0x10000152
call qword [rax + 0x18]
mov eax, dword [rbp - 0x40]
lea rcx, str.When_Dragging
lea r8, str.None
test eax, eax
cmovne r8, rcx
lea rdx, str.Edge_Motion_t
mov rcx, rdi
call fcn.1400cf4d0
mov eax, ebx
mov dword [rbp + 0x50], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ce01b
mov rax, qword [rcx]
lea r8, [rbp + 0x50]
mov edx, 0x10000111
call qword [rax + 0x18]
mov eax, dword [rbp + 0x50]
mov r8d, 0xa
lea rdx, [rbp + 0x160]
mov ecx, eax
call fcn.1400e7044
mov r8, rax
lea rdx, str.Edge_Motion_Speed_t
mov rcx, rdi
call fcn.1400cf4d0
mov eax, ebx
mov dword [rbp - 0x38], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ce060
mov rax, qword [rcx]
lea r8, [rbp - 0x38]
mov edx, 0x10000159
call qword [rax + 0x18]
mov eax, dword [rbp - 0x38]
mov r8, r12
test eax, eax
cmovne r8, r13
lea rdx, str.Pressure_Edge_Motion_t
mov rcx, rdi
call fcn.1400cf4d0
mov dword [rbp + 0x3b8], ebx
mov rcx, qword [r15 + 8]
test rcx, rcx
jne 0x1400ce08b
lea rcx, [r15 + 0x20]
mov rax, qword [rcx]
lea r8, [rbp + 0x3b8]
mov edx, 0x100015e
call qword [rax + 0x18]
test eax, eax
jne 0x1400ce0b8
mov edx, dword [rbp + 0x3b8]
mov rcx, rdi
call fcn.1400d1a60
lea r12, [0x140125de0]
jmp 0x1400ce0c2
lea r12, [0x140125de0]
mov rax, r12
mov r8, rax
lea rdx, str.Slow_Motion_Key_t
mov rcx, rdi
call fcn.1400cf4d0
mov rcx, qword [r15 + 8]
test rcx, rcx
jne 0x1400ce0e1
lea rcx, [r15 + 0x20]
mov rax, qword [rcx]
lea r8, [rbp + 0x3b8]
mov edx, 0x100015f
call qword [rax + 0x18]
test eax, eax
jne 0x1400ce107
mov edx, dword [rbp + 0x3b8]
mov rcx, rdi
call fcn.1400d1a60
jmp 0x1400ce10a
mov rax, r12
mov r8, rax
lea rdx, str.Constrained_Motion_Key_t
mov rcx, rdi
call fcn.1400cf4d0
mov dword [rbp + 0x98], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ce15a
mov rax, qword [rcx]
lea r8, [rbp + 0x98]
mov edx, 0x1000131
call qword [rax + 0x18]
mov ecx, dword [rbp + 0x98]
test ecx, ecx
je 0x1400ce15a
mov r8d, 0xa
lea rdx, [rbp + 0x160]
call fcn.1400e7044
jmp 0x1400ce15d
mov rax, r12
mov r8, rax
lea rdx, str.Slow_Cursor_Speed_t
mov rcx, rdi
call fcn.1400cf4d0
mov dword [rbp - 0x30], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ce1a4
mov rax, qword [rcx]
lea r8, [rbp - 0x30]
mov edx, 0x100013b
call qword [rax + 0x18]
mov ecx, dword [rbp - 0x30]
test ecx, ecx
je 0x1400ce1a4
mov r8d, 0xa
lea rdx, [rbp + 0x160]
call fcn.1400e7044
jmp 0x1400ce1a7
mov rax, r12
mov r8, rax
lea rdx, str.Tapping_Speed_t
mov rcx, rdi
call fcn.1400cf4d0
mov eax, ebx
mov dword [rbp + 0x58], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ce1d8
mov rax, qword [rcx]
lea r8, [rbp + 0x58]
mov edx, 0x10000128
call qword [rax + 0x18]
mov eax, dword [rbp + 0x58]
mov r8d, 0xa
lea rdx, [rbp + 0x160]
mov ecx, eax
call fcn.1400e7044
mov r8, rax
lea rdx, str.Touch_Threshold_t
mov rcx, rdi
call fcn.1400cf4d0
mov dword [rbp - 0x28], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ce234
mov rax, qword [rcx]
lea r8, [rbp - 0x28]
mov edx, 0x1000132
call qword [rax + 0x18]
mov ecx, dword [rbp - 0x28]
test ecx, ecx
je 0x1400ce234
mov r8d, 0xa
lea rdx, [rbp + 0x160]
call fcn.1400e7044
mov r14, rax
mov r8, r14
lea rdx, str.PalmCheck_t
mov rcx, rdi
call fcn.1400cf4d0
mov eax, ebx
mov dword [rbp + 0xb8], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ce26e
mov rax, qword [rcx]
lea r8, [rbp + 0xb8]
mov edx, 0x10000127
call qword [rax + 0x18]
mov eax, dword [rbp + 0xb8]
mov r8d, 0xa
lea rdx, [rbp + 0x160]
mov ecx, eax
call fcn.1400e7044
mov r8, rax
lea rdx, str.Maximum_Z_t
mov rcx, rdi
call fcn.1400cf4d0
mov r14d, ebx
mov dword [rbp - 0x20], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ce2b5
mov rax, qword [rcx]
lea r8, [rbp - 0x20]
mov edx, 0x10000114
call qword [rax + 0x18]
mov r14d, dword [rbp - 0x20]
mov r8d, ebx
mov dword [rbp + 0x60], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ce2d6
mov rax, qword [rcx]
lea r8, [rbp + 0x60]
mov edx, 0x10000113
call qword [rax + 0x18]
mov r8d, dword [rbp + 0x60]
mov r9d, r14d
lea rdx, str.__d___d_
lea rcx, [rdi + 0x30]
call qword [sym.imp.USER32.dll_wsprintfW]
lea r8, [rdi + 0x30]
lea rdx, str.Resolution__DPI__t
mov rcx, rdi
call fcn.1400cf4d0
mov r12d, ebx
mov dword [rbp - 0x18], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ce31e
mov rax, qword [rcx]
lea r8, [rbp - 0x18]
mov edx, 0x10000118
call qword [rax + 0x18]
mov r12d, dword [rbp - 0x18]
mov r15d, ebx
mov dword [rbp + 0xac], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ce348
mov rax, qword [rcx]
lea r8, [rbp + 0xac]
mov edx, 0x10000117
call qword [rax + 0x18]
mov r15d, dword [rbp + 0xac]
mov r14d, ebx
mov dword [rbp - 0x10], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ce369
mov rax, qword [rcx]
lea r8, [rbp - 0x10]
mov edx, 0x10000116
call qword [rax + 0x18]
mov r14d, dword [rbp - 0x10]
mov r8d, ebx
mov dword [rbp + 0x68], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ce38a
mov rax, qword [rcx]
lea r8, [rbp + 0x68]
mov edx, 0x10000115
call qword [rax + 0x18]
mov r8d, dword [rbp + 0x68]
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r15d
mov r9d, r14d
lea rdx, str.__d___d____d___d_
lea rcx, [rdi + 0x30]
call qword [sym.imp.USER32.dll_wsprintfW]
lea r8, [rdi + 0x30]
lea rdx, str.Sensor_Rectangle_t
mov rcx, rdi
call fcn.1400cf4d0
lea r15, [rdi + 0x430]
cmp dword [r15 + 0x30], 0xffffffff
je 0x1400ce95f
mov edx, ebx
mov dword [rbp - 8], ebx
mov rcx, qword [r15 + 8]
test rcx, rcx
je 0x1400ce3ed
mov rax, qword [rcx]
lea r8, [rbp - 8]
mov edx, 0x10000102
call qword [rax + 0x18]
mov edx, dword [rbp - 8]
mov eax, ebx
cmp edx, 2
sete al
test eax, eax
je 0x1400ce95f
mov r12d, ebx
mov dword [rbp + 0xa4], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ce427
mov rax, qword [rcx]
lea r8, [rbp + 0xa4]
mov edx, 0x1000206
call qword [rax + 0x18]
mov r12d, dword [rbp + 0xa4]
mov r15d, ebx
mov dword [rbp], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ce448
mov rax, qword [rcx]
lea r8, [rbp]
mov edx, 0x1000205
call qword [rax + 0x18]
mov r15d, dword [rbp]
mov r14d, ebx
mov dword [rbp + 0x70], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ce469
mov rax, qword [rcx]
lea r8, [rbp + 0x70]
mov edx, 0x1000204
call qword [rax + 0x18]
mov r14d, dword [rbp + 0x70]
mov r8d, ebx
mov dword [rsp + 0x30], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ce48d
mov rax, qword [rcx]
lea r8, [rsp + 0x30]
mov edx, 0x1000203
call qword [rax + 0x18]
mov r8d, dword [rsp + 0x30]
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r15d
mov r9d, r14d
lea rdx, str.__d___d____d___d_
lea rcx, [rdi + 0x30]
call qword [sym.imp.USER32.dll_wsprintfW]
lea r8, [rdi + 0x30]
lea rdx, str.Sensor_FW_Coords_t
mov rcx, rdi
call fcn.1400cf4d0
mov r12d, ebx
mov dword [rsp + 0x34], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ce4e2
mov rax, qword [rcx]
lea r8, [rsp + 0x34]
mov edx, 0x1000011c
call qword [rax + 0x18]
mov r12d, dword [rsp + 0x34]
mov r15d, ebx
mov dword [rsp + 0x3c], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ce506
mov rax, qword [rcx]
lea r8, [rsp + 0x3c]
mov edx, 0x1000011b
call qword [rax + 0x18]
mov r15d, dword [rsp + 0x3c]
mov r14d, ebx
mov dword [rsp + 0x44], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ce52a
mov rax, qword [rcx]
lea r8, [rsp + 0x44]
mov edx, 0x1000011a
call qword [rax + 0x18]
mov r14d, dword [rsp + 0x44]
mov r8d, ebx
mov dword [rsp + 0x4c], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ce54e
mov rax, qword [rcx]
lea r8, [rsp + 0x4c]
mov edx, 0x10000119
call qword [rax + 0x18]
mov r8d, dword [rsp + 0x4c]
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r15d
mov r9d, r14d
lea rdx, str.__d___d____d___d_
lea rcx, [rdi + 0x30]
call qword [sym.imp.USER32.dll_wsprintfW]
lea r8, [rdi + 0x30]
lea rdx, str.Bezel_Rectangle_t
mov rcx, rdi
call fcn.1400cf4d0
mov r12d, ebx
mov dword [rsp + 0x54], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ce5a3
mov rax, qword [rcx]
lea r8, [rsp + 0x54]
mov edx, 0x10000120
call qword [rax + 0x18]
mov r12d, dword [rsp + 0x54]
mov r15d, ebx
mov dword [rsp + 0x5c], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ce5c7
mov rax, qword [rcx]
lea r8, [rsp + 0x5c]
mov edx, 0x1000011f
call qword [rax + 0x18]
mov r15d, dword [rsp + 0x5c]
mov r14d, ebx
mov dword [rsp + 0x64], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ce5eb
mov rax, qword [rcx]
lea r8, [rsp + 0x64]
mov edx, 0x1000011e
call qword [rax + 0x18]
mov r14d, dword [rsp + 0x64]
mov r8d, ebx
mov dword [rsp + 0x6c], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ce60f
mov rax, qword [rcx]
lea r8, [rsp + 0x6c]
mov edx, 0x1000011d
call qword [rax + 0x18]
mov r8d, dword [rsp + 0x6c]
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r15d
mov r9d, r14d
lea rdx, str.__d___d____d___d_
lea rcx, [rdi + 0x30]
call qword [sym.imp.USER32.dll_wsprintfW]
lea r8, [rdi + 0x30]
lea rdx, str.Edge_Motion_Rectangle_t
mov rcx, rdi
call fcn.1400cf4d0
mov r12d, ebx
mov dword [rsp + 0x74], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ce664
mov rax, qword [rcx]
lea r8, [rsp + 0x74]
mov edx, 0x10000126
call qword [rax + 0x18]
mov r12d, dword [rsp + 0x74]
mov r15d, ebx
mov dword [rsp + 0x7c], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ce688
mov rax, qword [rcx]
lea r8, [rsp + 0x7c]
mov edx, 0x10000125
call qword [rax + 0x18]
mov r15d, dword [rsp + 0x7c]
mov r14d, ebx
mov dword [rbp - 0x7c], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ce6a9
mov rax, qword [rcx]
lea r8, [rbp - 0x7c]
mov edx, 0x10000124
call qword [rax + 0x18]
mov r14d, dword [rbp - 0x7c]
mov r8d, ebx
mov dword [rbp - 0x74], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ce6ca
mov rax, qword [rcx]
lea r8, [rbp - 0x74]
mov edx, 0x10000123
call qword [rax + 0x18]
mov r8d, dword [rbp - 0x74]
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r15d
mov r9d, r14d
lea rdx, str.__d___d____d___d_
lea rcx, [rdi + 0x30]
call qword [sym.imp.USER32.dll_wsprintfW]
lea r8, [rdi + 0x30]
lea rdx, str.Wide_Border_Rectangle_t
mov rcx, rdi
call fcn.1400cf4d0
mov r14d, ebx
mov dword [rbp - 0x6c], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ce71c
mov rax, qword [rcx]
lea r8, [rbp - 0x6c]
mov edx, 0x1000012a
call qword [rax + 0x18]
mov r14d, dword [rbp - 0x6c]
mov r8d, ebx
mov dword [rbp - 0x64], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ce73d
mov rax, qword [rcx]
lea r8, [rbp - 0x64]
mov edx, 0x10000129
call qword [rax + 0x18]
mov r8d, dword [rbp - 0x64]
mov r9d, r14d
lea rdx, str.__d___d_
lea rcx, [rdi + 0x30]
call qword [sym.imp.USER32.dll_wsprintfW]
lea r8, [rdi + 0x30]
lea rdx, str.Top_Left_Corner_Zone_t
mov rcx, rdi
call fcn.1400cf4d0
mov r14d, ebx
mov dword [rbp - 0x5c], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ce785
mov rax, qword [rcx]
lea r8, [rbp - 0x5c]
mov edx, 0x1000012c
call qword [rax + 0x18]
mov r14d, dword [rbp - 0x5c]
mov r8d, ebx
mov dword [rbp - 0x54], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ce7a6
mov rax, qword [rcx]
lea r8, [rbp - 0x54]
mov edx, 0x1000012b
call qword [rax + 0x18]
mov r8d, dword [rbp - 0x54]
mov r9d, r14d
lea rdx, str.__d___d_
lea rcx, [rdi + 0x30]
call qword [sym.imp.USER32.dll_wsprintfW]
lea r8, [rdi + 0x30]
lea rdx, str.Top_Right_Corner_Zone_t
mov rcx, rdi
call fcn.1400cf4d0
mov r14d, ebx
mov dword [rbp - 0x4c], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ce7ee
mov rax, qword [rcx]
lea r8, [rbp - 0x4c]
mov edx, 0x10000130
call qword [rax + 0x18]
mov r14d, dword [rbp - 0x4c]
mov r8d, ebx
mov dword [rbp - 0x44], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ce80f
mov rax, qword [rcx]
lea r8, [rbp - 0x44]
mov edx, 0x1000012f
call qword [rax + 0x18]
mov r8d, dword [rbp - 0x44]
mov r9d, r14d
lea rdx, str.__d___d_
lea rcx, [rdi + 0x30]
call qword [sym.imp.USER32.dll_wsprintfW]
lea r8, [rdi + 0x30]
lea rdx, str.Bottom_Left_Corner_Zone_t
mov rcx, rdi
call fcn.1400cf4d0
mov r14d, ebx
mov dword [rbp - 0x3c], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ce857
mov rax, qword [rcx]
lea r8, [rbp - 0x3c]
mov edx, 0x1000012e
call qword [rax + 0x18]
mov r14d, dword [rbp - 0x3c]
mov r8d, ebx
mov dword [rbp - 0x34], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ce878
mov rax, qword [rcx]
lea r8, [rbp - 0x34]
mov edx, 0x1000012d
call qword [rax + 0x18]
mov r8d, dword [rbp - 0x34]
mov r9d, r14d
lea rdx, str.__d___d_
lea rcx, [rdi + 0x30]
call qword [sym.imp.USER32.dll_wsprintfW]
lea r8, [rdi + 0x30]
lea rdx, str.Bottom_Right_Corner_Zone_t
mov rcx, rdi
call fcn.1400cf4d0
mov edx, ebx
mov dword [rbp - 0x2c], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ce8be
mov rax, qword [rcx]
lea r8, [rbp - 0x2c]
mov edx, 0x10000105
call qword [rax + 0x18]
mov edx, dword [rbp - 0x2c]
mov rcx, rdi
call fcn.1400d1be0
mov r8, rax
lea rdx, str.Bezel_Geometry_t
mov rcx, rdi
call fcn.1400cf4d0
mov eax, ebx
mov dword [rbp - 0x24], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ce8f7
mov rax, qword [rcx]
lea r8, [rbp - 0x24]
mov edx, 0x10000179
call qword [rax + 0x18]
mov eax, dword [rbp - 0x24]
lea r12, [0x14013e250]
mov r8, r12
test eax, eax
lea r13, [0x14013e248]
cmovne r8, r13
lea rdx, str.ClearPad_t
mov rcx, rdi
call fcn.1400cf4d0
mov eax, ebx
mov dword [rbp - 0x1c], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ce93c
mov rax, qword [rcx]
lea r8, [rbp - 0x1c]
mov edx, 0x10000170
call qword [rax + 0x18]
mov eax, dword [rbp - 0x1c]
bt eax, 0x17
mov r8, r12
cmovb r8, r13
lea rdx, str.New_Absolute_Packet_t
mov rcx, rdi
call fcn.1400cf4d0
lea r15, [rdi + 0x430]
jmp 0x1400ce96d
lea r13, [0x14013e248]
lea r12, [0x14013e250]
mov r14d, ebx
mov dword [rbp - 0x14], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ce98e
mov rax, qword [rcx]
lea r8, [rbp - 0x14]
mov edx, 0x10000145
call qword [rax + 0x18]
mov r14d, dword [rbp - 0x14]
mov edx, ebx
mov dword [rbp - 0xc], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ce9ad
mov rax, qword [rcx]
lea r8, [rbp - 0xc]
mov edx, 0x10000d5
call qword [rax + 0x18]
mov edx, dword [rbp - 0xc]
mov r8d, r14d
mov rcx, rdi
call fcn.1400d1db0
mov r8, rax
lea rdx, str.Buttons_t
mov rcx, rdi
call fcn.1400cf4d0
mov dword [rbp - 4], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cea0f
mov rax, qword [rcx]
lea r8, [rbp - 4]
mov edx, 0x10000143
call qword [rax + 0x18]
mov ecx, dword [rbp - 4]
test ecx, ecx
jle 0x1400cea0f
mov r8d, 0xa
lea rdx, [rbp + 0x160]
call fcn.1400e7044
mov r8, rax
lea rdx, str.Extended_Buttons_t
mov rcx, rdi
call fcn.1400cf4d0
mov eax, ebx
mov dword [rbp + 4], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cea2e
mov rax, qword [rcx]
lea r8, [rbp + 4]
mov edx, 0x10000147
call qword [rax + 0x18]
mov eax, dword [rbp + 4]
mov r8, r12
test eax, eax
cmovne r8, r13
lea rdx, str.Stylus_Input_t
mov rcx, rdi
call fcn.1400cf4d0
mov eax, ebx
mov dword [rbp + 0xc], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cea65
mov rax, qword [rcx]
lea r8, [rbp + 0xc]
mov edx, 0x10000d5
call qword [rax + 0x18]
mov eax, dword [rbp + 0xc]
bt eax, 0x14
lea rax, str.Type_1
lea r14, str.None
mov r8, r14
cmovb r8, rax
lea rdx, str.Secure_Key_t
mov rcx, rdi
call fcn.1400cf4d0
mov edx, ebx
mov dword [rbp + 0x14], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ceaac
mov rax, qword [rcx]
lea r8, [rbp + 0x14]
mov edx, 0x10000d4
call qword [rax + 0x18]
mov edx, dword [rbp + 0x14]
dec edx
je 0x1400ceaca
dec edx
je 0x1400ceac1
dec edx
jne 0x1400cead1
lea r14, [0x14013dd34]
jmp 0x1400cead1
lea r14, [0x14012bacc]
jmp 0x1400cead1
lea r14, [0x14013dd30]
mov r8, r14
lea rdx, str.Lock_Type_t
mov rcx, rdi
call fcn.1400cf4d0
mov edx, ebx
mov dword [rbp + 0x1c], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ceb02
mov rax, qword [rcx]
lea r8, [rbp + 0x1c]
mov edx, 0x10000109
call qword [rax + 0x18]
mov edx, dword [rbp + 0x1c]
mov rcx, rdi
call fcn.1400d1310
mov r8, rax
lea rdx, str.ASIC_Type_t
mov rcx, rdi
call fcn.1400cf4d0
mov r14d, ebx
mov dword [rbp + 0x24], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ceb3d
mov rax, qword [rcx]
lea r8, [rbp + 0x24]
mov edx, 0x10000102
call qword [rax + 0x18]
mov r14d, dword [rbp + 0x24]
mov edx, ebx
mov dword [rbp + 0x2c], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ceb5c
mov rax, qword [rcx]
lea r8, [rbp + 0x2c]
mov edx, 0x10000106
call qword [rax + 0x18]
mov edx, dword [rbp + 0x2c]
mov r8d, r14d
mov rcx, rdi
call fcn.1400d1410
mov r8, rax
lea rdx, str.Sensor_Type_t
mov rcx, rdi
call fcn.1400cf4d0
mov r14d, ebx
mov dword [rbp + 0x34], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ceb9a
mov rax, qword [rcx]
lea r8, [rbp + 0x34]
mov edx, 0x10000102
call qword [rax + 0x18]
mov r14d, dword [rbp + 0x34]
mov edx, ebx
mov dword [rbp + 0x3c], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cebb9
mov rax, qword [rcx]
lea r8, [rbp + 0x3c]
mov edx, 0x10000107
call qword [rax + 0x18]
mov edx, dword [rbp + 0x3c]
mov r8d, r14d
mov rcx, rdi
call fcn.1400d18b0
mov r8, rax
lea rdx, str.Product_Type_t
mov rcx, rdi
call fcn.1400cf4d0
mov eax, ebx
mov dword [rbp + 0x44], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cebf5
mov rax, qword [rcx]
lea r8, [rbp + 0x44]
mov edx, 0x10000d5
call qword [rax + 0x18]
mov eax, dword [rbp + 0x44]
test al, 0x80
mov r8, r12
cmovne r8, r13
lea rdx, str.PS2_Passthrough_t
mov rcx, rdi
call fcn.1400cf4d0
mov eax, ebx
mov dword [rbp + 0x4c], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cec2c
mov rax, qword [rcx]
lea r8, [rbp + 0x4c]
mov edx, 0x10000d5
call qword [rax + 0x18]
mov eax, dword [rbp + 0x4c]
test al, 0x40
cmovne r12, r13
mov r8, r12
lea rdx, str.PS2_Glasspass_t
mov rcx, rdi
call fcn.1400cf4d0
mov eax, ebx
mov dword [rbp + 0x54], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cec63
mov rax, qword [rcx]
lea r8, [rbp + 0x54]
mov edx, 0x10000d5
call qword [rax + 0x18]
mov eax, dword [rbp + 0x54]
mov r8d, 0x10
lea rdx, [rbp + 0x160]
mov ecx, eax
call fcn.1400e7044
mov r8, rax
lea rdx, str.Capabilities_t
mov rcx, rdi
call fcn.1400cf4d0
mov eax, ebx
mov dword [rbp + 0x5c], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ceca8
mov rax, qword [rcx]
lea r8, [rbp + 0x5c]
mov edx, 0x10000fd
call qword [rax + 0x18]
mov eax, dword [rbp + 0x5c]
mov r8d, 0x10
lea rdx, [rbp + 0x160]
mov ecx, eax
call fcn.1400e7044
mov r8, rax
lea rdx, str.RMI4_Capabilities_t
mov rcx, rdi
call fcn.1400cf4d0
mov ecx, ebx
mov dword [rbp + 0x64], ebx
mov r9, qword [rsi]
test r9, r9
je 0x1400cecf0
mov rax, qword [r9]
lea r8, [rbp + 0x64]
mov edx, 0x10000d5
mov rcx, r9
call qword [rax + 0x18]
mov ecx, dword [rbp + 0x64]
shr ecx, 0x15
and ecx, 1
mov r8d, 0xa
lea rdx, [rbp + 0x160]
call fcn.1400e7044
mov r8, rax
lea rdx, str.Peak_Detect_t
mov rcx, rdi
call fcn.1400cf4d0
mov eax, ebx
mov dword [rbp + 0x6c], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400ced39
mov rax, qword [rcx]
lea r8, [rbp + 0x6c]
mov edx, 0x1000134
call qword [rax + 0x18]
mov eax, dword [rbp + 0x6c]
mov r8d, 0xa
lea rdx, [rbp + 0x160]
mov ecx, eax
call fcn.1400e7044
mov r8, rax
lea rdx, str.Rotation_Angle_t
mov rcx, rdi
call fcn.1400cf4d0
cmp dword [r15 + 0x30], 0xffffffff
je 0x1400cee30
mov r8d, ebx
mov dword [rbp + 0x74], ebx
mov rcx, qword [r15 + 8]
test rcx, rcx
je 0x1400ced8c
mov rax, qword [rcx]
lea r8, [rbp + 0x74]
mov edx, 0x10000102
call qword [rax + 0x18]
mov r8d, dword [rbp + 0x74]
mov eax, ebx
cmp r8d, 5
sete al
test eax, eax
je 0x1400cee30
mov eax, ebx
mov dword [rbp + 0x7c], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cedbc
mov rax, qword [rcx]
lea r8, [rbp + 0x7c]
mov edx, 0x1000325
call qword [rax + 0x18]
mov eax, dword [rbp + 0x7c]
mov r8d, 0xa
lea rdx, [rbp + 0x160]
mov ecx, eax
call fcn.1400e7044
mov r8, rax
lea rdx, str.Ballistics_Algorithm_t
mov rcx, rdi
call fcn.1400cf4d0
mov eax, ebx
mov dword [rbp + 0x84], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cee0a
mov rax, qword [rcx]
lea r8, [rbp + 0x84]
mov edx, 0x1000297
call qword [rax + 0x18]
mov eax, dword [rbp + 0x84]
mov r8d, 0x10
lea rdx, [rbp + 0x160]
mov ecx, eax
call fcn.1400e7044
mov r8, rax
lea rdx, str.Manufacturer_Info_t
mov rcx, rdi
call fcn.1400cf4d0
mov rcx, r15
call fcn.1400d2f10
test eax, eax
je 0x1400cee5a
mov rcx, r15
call fcn.1400d2f10
mov ecx, eax
mov r8d, 0xa
lea rdx, [rbp + 0x160]
call fcn.1400e7044
jmp 0x1400cee61
lea rax, str.Not_Supported
mov r8, rax
lea rdx, str.Report_Rate_t
mov rcx, rdi
call fcn.1400cf4d0
mov eax, ebx
mov dword [rbp + 0x8c], ebx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400cee9b
mov rax, qword [rcx]
lea r8, [rbp + 0x8c]
mov edx, 0x10000d5
call qword [rax + 0x18]
mov eax, dword [rbp + 0x8c]
bt eax, 0x12
jae 0x1400cef32
cmp dword [r15 + 0x30], 0xffffffff
jne 0x1400ceeb1
or ebx, 0xffffffff
jmp 0x1400ceed8
mov dword [rbp + 0x94], ebx
mov rcx, qword [r15 + 8]
test rcx, rcx
je 0x1400ceed8
mov rax, qword [rcx]
lea r8, [rbp + 0x94]
mov edx, 0x100001e0
call qword [rax + 0x18]
mov ebx, dword [rbp + 0x94]
test ebx, ebx
je 0x1400cef19
dec ebx
je 0x1400cef10
dec ebx
je 0x1400cef07
dec ebx
je 0x1400ceefe
dec ebx
je 0x1400ceef5
lea rax, [0x140125de0]
jmp 0x1400cef20
lea rax, [0x14013df28]
jmp 0x1400cef20
lea rax, [0x14013df20]
jmp 0x1400cef20
lea rax, [0x14013df18]
jmp 0x1400cef20
lea rax, [0x140125d98]
jmp 0x1400cef20
lea rax, [0x140125cf0]
mov r8, rax
lea rdx, str.ACM_t
mov rcx, rdi
call fcn.1400cf4d0
mov rcx, rdi
call fcn.1400cf670
mov edx, eax
mov rcx, rdi
call fcn.1400d20f0
mov rcx, r15
call fcn.1400d3080
test eax, eax
je 0x1400cef58
mov rcx, rdi
call fcn.1400cfbd0
mov r8d, dword [rdi + 0x470]
lea rdx, str.StoreDeviceDetails_buffer_size_is__d_n
lea rcx, [rbp + 0x160]
call fcn.1400e7a5c
lea rcx, [rbp + 0x160]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rax, qword [rdi + 0x468]
mov rbx, qword [rsp + 0x4a8]
add rsp, 0x460
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret