Function at 0x14016a860
Capabilities:
Print debug messages

Disassembly:
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x60]
sub rsp, 0x160
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rsp + 0x1a8], rbx
mov rax, qword [0x1402bb010]
xor rax, rsp
mov qword [rbp + 0x50], rax
movzx esi, r8b
mov rbx, rdx
mov r14, rcx
xor r15d, r15d
mov dword [rsp + 0x20], r15d
lea rcx, [rsp + 0x30]
call fcn.14006ed80
nop
mov rdi, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x14016a8bd
mov rdi, qword [rbx]
lea rdx, str.feature:
lea rcx, [rsp + 0x40]
call fcn.14006f790
mov rcx, rax
mov rdx, rdi
call fcn.14006f790
mov rcx, rax
lea rdx, str.__status:
call fcn.14006f790
mov rcx, rax
movzx edx, sil
call qword [0x1401a9518]
mov rcx, rax
lea rdx, [0x1401b5868]
call fcn.14006f790
mov rcx, rax
lea rdx, str.ProductAdapt::ProductFeature::SetValueByFeature
call fcn.14006f790
mov rcx, rax
lea rdx, [0x1401b5840]
call fcn.14006f790
mov rcx, rax
lea rdx, [0x140169700]
call qword [0x1401a91e8]
nop
movdqa xmm0, xmmword [0x14024d4b0]
movdqu xmmword [rbp + 0x40], xmm0
mov word [rbp + 0x30], r15w
mov dword [rsp + 0x20], 2
mov rcx, qword [rbp - 0x48]
test cl, 2
jne 0x14016a978
mov rax, qword [rbp - 0x78]
mov r8, qword [rax]
test r8, r8
je 0x14016a978
mov rax, qword [rsp + 0x68]
mov rdx, qword [rax]
cmp r8, qword [rbp - 0x50]
cmovb r8, qword [rbp - 0x50]
sub r8, rdx
jmp 0x14016a9a1
test cl, 4
jne 0x14016a9ae
mov rax, qword [rbp - 0x80]
mov rcx, qword [rax]
test rcx, rcx
je 0x14016a9ae
mov rax, qword [rsp + 0x60]
mov rdx, qword [rax]
mov rax, qword [rbp - 0x68]
movsxd r8, dword [rax]
add r8, r8
sub r8, rdx
add r8, rcx
sar r8, 1
lea rcx, [rbp + 0x30]
call fcn.140053f60
nop
lea rcx, [rbp + 0x30]
cmp qword [rbp + 0x48], 8
cmovae rcx, qword [rbp + 0x30]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea rcx, [rbp + 0x30]
call fcn.1400524a0
nop
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_stringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rsp + rcx + 0x30], rax
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rsp + rcx + 0x2c], edx
lea rcx, [rsp + 0x48]
call fcn.14006f390
lea rcx, [rsp + 0x50]
call qword [0x1401a93c8]
lea rcx, [rbp - 0x38]
call qword [0x1401a9368]
lea rdx, [0x1402e6288]
cmp qword [0x1402e62a0], 0x10
cmovae rdx, qword [0x1402e6288]
mov rcx, rbx
mov r15, qword [rbx + 0x18]
cmp r15, 0x10
jb 0x14016aa3a
mov rcx, qword [rbx]
mov rdi, qword [rbx + 0x10]
cmp rdi, qword [0x1402e6298]
jne 0x14016aa5c
mov r8, rdi
call fcn.14017097b
test eax, eax
jne 0x14016aa5c
mov byte [r14 + 4], sil
jmp 0x14016addf
lea rdx, [0x1402e62a8]
cmp qword [0x1402e62c0], 0x10
cmovae rdx, qword [0x1402e62a8]
mov rcx, rbx
cmp r15, 0x10
jb 0x14016aa7f
mov rcx, qword [rbx]
cmp rdi, qword [0x1402e62b8]
jne 0x14016aa9d
mov r8, rdi
call fcn.14017097b
test eax, eax
jne 0x14016aa9d
mov byte [r14 + 5], sil
jmp 0x14016addf
lea rdx, [0x1402e62c8]
cmp qword [0x1402e62e0], 0x10
cmovae rdx, qword [0x1402e62c8]
mov rcx, rbx
cmp r15, 0x10
jb 0x14016aac0
mov rcx, qword [rbx]
cmp rdi, qword [0x1402e62d8]
jne 0x14016aade
mov r8, rdi
call fcn.14017097b
test eax, eax
jne 0x14016aade
mov byte [r14 + 6], sil
jmp 0x14016addf
lea rdx, [0x1402e62e8]
cmp qword [0x1402e6300], 0x10
cmovae rdx, qword [0x1402e62e8]
mov rcx, rbx
cmp r15, 0x10
jb 0x14016ab01
mov rcx, qword [rbx]
cmp rdi, qword [0x1402e62f8]
jne 0x14016ab1f
mov r8, rdi
call fcn.14017097b
test eax, eax
jne 0x14016ab1f
mov byte [r14 + 7], sil
jmp 0x14016addf
lea rdx, [0x1402e6308]
cmp qword [0x1402e6320], 0x10
cmovae rdx, qword [0x1402e6308]
mov rcx, rbx
cmp r15, 0x10
jb 0x14016ab42
mov rcx, qword [rbx]
cmp rdi, qword [0x1402e6318]
jne 0x14016ab60
mov r8, rdi
call fcn.14017097b
test eax, eax
jne 0x14016ab60
mov byte [r14 + 8], sil
jmp 0x14016addf
lea rdx, [0x1402e6328]
cmp qword [0x1402e6340], 0x10
cmovae rdx, qword [0x1402e6328]
mov rcx, rbx
cmp r15, 0x10
jb 0x14016ab83
mov rcx, qword [rbx]
cmp rdi, qword [0x1402e6338]
jne 0x14016aba1
mov r8, rdi
call fcn.14017097b
test eax, eax
jne 0x14016aba1
mov byte [r14 + 9], sil
jmp 0x14016addf
lea rdx, [0x1402e6348]
cmp qword [0x1402e6360], 0x10
cmovae rdx, qword [0x1402e6348]
mov rcx, rbx
cmp r15, 0x10
jb 0x14016abc4
mov rcx, qword [rbx]
cmp rdi, qword [0x1402e6358]
jne 0x14016abe2
mov r8, rdi
call fcn.14017097b
test eax, eax
jne 0x14016abe2
mov byte [r14 + 0xa], sil
jmp 0x14016addf
lea rdx, [0x1402e6368]
cmp qword [0x1402e6380], 0x10
cmovae rdx, qword [0x1402e6368]
mov rcx, rbx
cmp r15, 0x10
jb 0x14016ac05
mov rcx, qword [rbx]
cmp rdi, qword [0x1402e6378]
jne 0x14016ac23
mov r8, rdi
call fcn.14017097b
test eax, eax
jne 0x14016ac23
mov byte [r14 + 0xb], sil
jmp 0x14016addf
lea rdx, [0x1402e6388]
cmp qword [0x1402e63a0], 0x10
cmovae rdx, qword [0x1402e6388]
mov rcx, rbx
cmp r15, 0x10
jb 0x14016ac46
mov rcx, qword [rbx]
cmp rdi, qword [0x1402e6398]
jne 0x14016ac64
mov r8, rdi
call fcn.14017097b
test eax, eax
jne 0x14016ac64
mov byte [r14 + 0xc], sil
jmp 0x14016addf
lea rdx, [0x1402e63a8]
cmp qword [0x1402e63c0], 0x10
cmovae rdx, qword [0x1402e63a8]
mov rcx, rbx
cmp r15, 0x10
jb 0x14016ac87
mov rcx, qword [rbx]
cmp rdi, qword [0x1402e63b8]
jne 0x14016aca5
mov r8, rdi
call fcn.14017097b
test eax, eax
jne 0x14016aca5
mov byte [r14 + 0xd], sil
jmp 0x14016addf
lea rdx, [0x1402e63c8]
cmp qword [0x1402e63e0], 0x10
cmovae rdx, qword [0x1402e63c8]
mov rcx, rbx
cmp r15, 0x10
jb 0x14016acc8
mov rcx, qword [rbx]
cmp rdi, qword [0x1402e63d8]
jne 0x14016ace6
mov r8, rdi
call fcn.14017097b
test eax, eax
jne 0x14016ace6
mov byte [r14 + 0xe], sil
jmp 0x14016addf
lea rdx, [0x1402e63e8]
cmp qword [0x1402e6400], 0x10
cmovae rdx, qword [0x1402e63e8]
mov rcx, rbx
cmp r15, 0x10
jb 0x14016ad09
mov rcx, qword [rbx]
cmp rdi, qword [0x1402e63f8]
jne 0x14016ad27
mov r8, rdi
call fcn.14017097b
test eax, eax
jne 0x14016ad27
mov byte [r14 + 0xf], sil
jmp 0x14016addf
lea rdx, [0x1402e6408]
cmp qword [0x1402e6420], 0x10
cmovae rdx, qword [0x1402e6408]
mov rcx, rbx
cmp r15, 0x10
jb 0x14016ad4a
mov rcx, qword [rbx]
cmp rdi, qword [0x1402e6418]
jne 0x14016ad65
mov r8, rdi
call fcn.14017097b
test eax, eax
jne 0x14016ad65
mov byte [r14 + 0x10], sil
jmp 0x14016addf
lea rdx, [0x1402e6428]
cmp qword [0x1402e6440], 0x10
cmovae rdx, qword [0x1402e6428]
mov rcx, rbx
cmp r15, 0x10
jb 0x14016ad88
mov rcx, qword [rbx]
cmp rdi, qword [0x1402e6438]
jne 0x14016ada3
mov r8, rdi
call fcn.14017097b
test eax, eax
jne 0x14016ada3
mov byte [r14 + 0x11], sil
jmp 0x14016addf
lea rdx, [0x1402e6448]
cmp qword [0x1402e6460], 0x10
cmovae rdx, qword [0x1402e6448]
cmp r15, 0x10
jb 0x14016adc3
mov rbx, qword [rbx]
cmp rdi, qword [0x1402e6458]
jne 0x14016addf
mov r8, rdi
mov rcx, rbx
call fcn.14017097b
test eax, eax
jne 0x14016addf
mov byte [r14 + 0x12], sil
mov rcx, qword [rbp + 0x50]
xor rcx, rsp
call fcn.14016ee40
mov rbx, qword [rsp + 0x1a8]
add rsp, 0x160
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret