Function at 0x140049270
Capabilities:
Check os version
Inspect section memory permissions

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xa0
mov qword [rbp - 0x49], 0xfffffffffffffffe
mov rbx, rcx
mov rcx, qword [rcx + 8]
test rcx, rcx
je 0x1400492b3
mov rax, qword [rcx]
call qword [rax + 0x18]
add rsp, 0xa0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rax, qword [rbx + 0x10]
test rax, rax
jne 0x1400492d6
lea r8, str.Customized.cpp
mov edx, 0x20d
lea rcx, str._VCpl__RETURN_ON_FALSE:_Line___d__File___s_n
call fcn.140055180
jmp 0x1400492a1
mov r9d, dword [rax + 0x2c]
not r9d
and r9d, 1
lea r8, str.ShowTrayIcon
lea rdx, str.General
lea rcx, [0x140400ce0]
call fcn.140107c34
mov rax, qword [rbx + 0x10]
mov r9d, dword [rax + 0x2c]
shr r9d, 2
not r9d
and r9d, 1
lea r8, str.JDPopup
lea rdx, str.General
lea rcx, [0x140400ce0]
call fcn.140107c34
mov rcx, qword [rbx + 0x10]
xor r12d, r12d
test dword [rcx + 0x2c], 0x10000
jne 0x140049342
test byte [rcx + 0x30], 0x10
je 0x140049417
mov rsi, qword [rcx + 0x1bd8]
test rsi, rsi
je 0x140049417
mov rdi, rsi
test rsi, rsi
je 0x14004aa45
mov rsi, qword [rsi]
mov rdi, qword [rdi + 0x10]
test rdi, rdi
je 0x14004940a
xor edx, edx
mov rcx, rdi
call fcn.1400c0350
mov dword [rsp + 0x20], r12d
lea r9, vtable.type_info.0
lea r8, vtable.type_info.0
xor edx, edx
mov rcx, rax
call fcn.1402c2cf4
mov r14, rax
test rax, rax
je 0x14004940a
mov ecx, dword [rdi + 0x168]
test ecx, ecx
je 0x14004940a
test byte [rdi + 0x310], 1
je 0x1400493d8
xor edx, edx
mov rcx, rax
call fcn.14000fe30
mov r9d, 1
mov r8d, r9d
lea rdx, [0x140342300]
mov rcx, r14
call fcn.14000f4d0
mov ecx, dword [rdi + 0x168]
test ecx, ecx
je 0x14004940a
test dword [rdi + 0x308], 0x100
je 0x14004940a
xor edx, edx
mov rcx, r14
call fcn.14000fe30
mov r9d, 1
mov r8d, r9d
lea rdx, [0x140342720]
mov rcx, r14
call fcn.14000f4d0
test rsi, rsi
jne 0x140049352
mov rcx, qword [rbx + 0x10]
test dword [rcx + 0x6c], 0x800
je 0x140049435
mov dword [rbx + 0x1c], 1
mov dword [rbx + 0x28], 1
mov eax, 1
jmp 0x140049438
mov eax, dword [rbx + 0x1c]
test dword [rcx + 0x30], 0x40000000
je 0x14004945b
mov dword [rbx + 0x28], 1
mov dword [rbx + 0x24], 3
mov dword [rbx + 0x1c], 1
mov eax, 1
test dword [rcx + 0x34], 0x800
je 0x140049477
mov dword [rbx + 0x1c], 1
mov dword [rbx + 0x20], 1
mov eax, 1
cmp dword [rcx + 0x64], r12d
je 0x14004948f
mov dword [rbx + 0x1c], 1
mov eax, dword [rcx + 0x64]
mov dword [rbx + 0x24], eax
mov eax, 1
test byte [rcx + 0x110], 0x20
je 0x1400494a8
mov dword [rbx + 0x1c], 1
mov dword [rbx + 0x24], r12d
mov eax, 1
mov rdx, rcx
test eax, eax
je 0x14004953c
test dword [rcx + 0x78], 0x2000000
je 0x14004953c
mov r9d, dword [rbx + 0x28]
lea r8, str.Enabled
lea rdx, str.PowerMgnt
lea rcx, [0x140400ce0]
call fcn.140107c34
mov r9d, dword [rbx + 0x24]
lea r8, str.DelayTime
lea rdx, str.PowerMgnt
lea rcx, [0x140400ce0]
call fcn.140107c34
mov r9d, dword [rbx + 0x20]
lea r8, str.OnlyBattery
lea rdx, str.PowerMgnt
lea rcx, [0x140400ce0]
call fcn.140107c34
mov r9d, dword [rbx + 0x2c]
lea r8, str.PowerState
lea rdx, str.PowerMgnt
lea rcx, [0x140400ce0]
call fcn.140107c34
mov rdx, qword [rbx + 0x10]
test dword [rdx + 0x2c], 0x10000000
jne 0x14004954f
test byte [rdx + 0x30], 0x40
je 0x140049623
cmp dword [0x1403ff444], r12d
jne 0x14004956f
mov dword [0x1403ff440], 0x114
lea rcx, [0x1403ff440]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [0x1403ff444], 6
jne 0x140049623
cmp dword [0x1403ff448], r12d
jne 0x140049623
mov rax, qword [rbx + 0x10]
mov rdi, qword [rax + 0x1bd8]
test rdi, rdi
je 0x140049623
mov rcx, rdi
mov rdi, qword [rdi]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x140049594
mov eax, dword [rcx + 0x1d8]
cmp eax, 1
jne 0x1400495c4
mov rax, qword [rbx + 0x10]
test dword [rax + 0x2c], 0x10000000
jmp 0x1400495d1
cmp eax, 9
jne 0x140049594
mov rax, qword [rbx + 0x10]
test byte [rax + 0x30], 0x40
je 0x140049594
mov edx, 5
call fcn.1400c0350
mov dword [rsp + 0x20], r12d
lea r9, vtable.type_info.0
lea r8, vtable.type_info.0
xor edx, edx
mov rcx, rax
call fcn.1402c2cf4
mov rsi, rax
test rax, rax
je 0x140049594
xor edx, edx
xor ecx, ecx
call fcn.1400559d0
mov rcx, rsi
call fcn.140055760
mov rcx, rsi
call fcn.140055830
mov rcx, rsi
call fcn.140055900
mov rax, qword [rbx + 0x10]
test byte [rax + 0x34], 0x80
je 0x140049736
cmp dword [0x1403ff444], r12d
jne 0x140049651
mov dword [0x1403ff440], 0x114
lea rcx, [0x1403ff440]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [0x1403ff444], 6
jne 0x140049736
cmp dword [0x1403ff448], r12d
jne 0x140049736
lea rdx, [0x140345b70]
lea rcx, [rbp + 0x67]
call fcn.140015b30
nop
mov rax, qword [rbx + 0x10]
mov rsi, qword [rax + 0x1bd8]
test rsi, rsi
je 0x140049729
mov rdi, rsi
mov rsi, qword [rsi]
mov rdi, qword [rdi + 0x10]
test rdi, rdi
je 0x140049687
cmp dword [rdi + 0x168], 0
jne 0x140049687
mov rax, qword [rdi]
lea rdx, [rbp + 0x67]
mov rcx, rdi
call qword [rax + 0x78]
test eax, eax
je 0x140049687
lea rcx, [rbp + 0x67]
call fcn.14001c920
xor r8d, r8d
lea rdx, str.DIGITALMICWAVE
lea rcx, [rbp + 0x67]
call fcn.14001c9a0
cmp eax, 0xffffffff
je 0x140049687
mov edx, 5
mov rcx, rdi
call fcn.1400c0350
mov dword [rsp + 0x20], r12d
lea r9, vtable.type_info.0
lea r8, vtable.type_info.0
xor edx, edx
mov rcx, rax
call fcn.1402c2cf4
mov rdi, rax
test rax, rax
je 0x140049687
mov rcx, rax
call fcn.140055760
mov rcx, rdi
call fcn.140055830
mov rcx, rdi
call fcn.140055900
nop
mov rcx, qword [rbp + 0x67]
add rcx, 0xffffffffffffffe8
call fcn.14000dc70
mov rax, qword [rbx + 0x10]
test dword [rax + 0x34], 0x8000000
je 0x140049807
lea rdx, [0x140345b70]
lea rcx, [rbp + 0x67]
call fcn.140015b30
nop
mov rax, qword [rbx + 0x10]
mov rsi, qword [rax + 0x1bd8]
test rsi, rsi
je 0x1400497f6
mov rdi, rsi
mov rsi, qword [rsi]
mov rdi, qword [rdi + 0x10]
test rdi, rdi
je 0x140049763
cmp dword [rdi + 0x168], 0
jne 0x140049763
mov rax, qword [rdi]
lea rdx, [rbp + 0x67]
mov rcx, rdi
call qword [rax + 0x78]
test eax, eax
je 0x140049763
cmp dword [rdi + 0x1d8], 4
jne 0x140049763
mov rax, qword [rbx + 0x10]
test dword [rax + 0x34], 0x8000000
je 0x140049763
mov edx, 5
mov rcx, rdi
call fcn.1400c0350
mov dword [rsp + 0x20], r12d
lea r9, vtable.type_info.0
lea r8, vtable.type_info.0
xor edx, edx
mov rcx, rax
call fcn.1402c2cf4
mov rdi, rax
test rax, rax
je 0x140049763
mov rcx, rax
call fcn.140055760
mov rcx, rdi
call fcn.140055830
mov rcx, rdi
call fcn.140055900
nop
mov rcx, qword [rbp + 0x67]
add rcx, 0xffffffffffffffe8
call fcn.14000dc70
mov rax, qword [rbx + 0x10]
test dword [rax + 0x2c], 0x40000000
je 0x1400498fe
mov rdi, qword [rax + 0x1bd8]
test rdi, rdi
je 0x1400498fe
mov rcx, rdi
test rdi, rdi
je 0x14004aa4b
mov rdi, qword [rdi]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x1400498f1
cmp dword [rcx + 0x168], 0
je 0x1400498f1
cmp dword [rcx + 0x1d8], 8
jne 0x1400498f1
test byte [rcx + 0x314], 1
je 0x1400498f1
mov edx, 7
call fcn.1400c0350
mov dword [rsp + 0x20], r12d
lea r9, vtable.type_info.0
lea r8, vtable.type_info.0
xor edx, edx
mov rcx, rax
call fcn.1402c2cf4
mov r10, rax
test rax, rax
je 0x1400498f1
mov edx, r12d
mov r9d, dword [rax + 0x68]
test r9d, r9d
je 0x1400498f1
mov r11, qword [0x14034fd60]
mov rsi, qword [0x14034fd58]
cmp edx, r9d
jae 0x1400498d9
mov r8, qword [r10 + 0x60]
test r8, r8
je 0x1400498d9
mov eax, edx
lea rcx, [rax + rax*8]
lea rax, [r8 + rcx*8]
test rax, rax
je 0x1400498d9
cmp rsi, qword [rax + 0x20]
jne 0x1400498d9
cmp r11, qword [rax + 0x28]
je 0x1400498e2
inc edx
cmp edx, r9d
jae 0x1400498f1
jmp 0x1400498b0
lea rdx, [rax + 0x30]
xor r8d, r8d
mov rcx, r10
call fcn.1400758a0
test rdi, rdi
jne 0x140049824
mov rax, qword [rbx + 0x10]
test dword [rax + 0x30], 0x820
je 0x1400499ce
mov rsi, qword [rax + 0x1bd8]
test rsi, rsi
je 0x1400499ce
nop dword [rax + rax]
mov rdi, rsi
test rsi, rsi
je 0x14004aa51
mov rsi, qword [rsi]
mov rdi, qword [rdi + 0x10]
test rdi, rdi
je 0x1400499c1
test byte [rdi + 0x310], 8
je 0x1400499c1
test byte [rdi + 0x314], 0xe0
jne 0x140049964
test dword [rdi + 0x318], 0x40000
jne 0x140049964
mov rax, qword [rbx + 0x10]
test byte [rax + 0x30], 0x20
jne 0x1400499c1
mov edx, 1
mov rcx, rdi
call fcn.1400c0350
mov dword [rsp + 0x20], r12d
lea r9, vtable.type_info.0
lea r8, vtable.type_info.0
xor edx, edx
mov rcx, rax
call fcn.1402c2cf4
mov r14, rax
test rax, rax
je 0x1400499c1
cmp dword [rdi + 0x168], 0
je 0x1400499c1
xor edx, edx
mov rcx, rax
call fcn.14000fe30
mov r9d, 1
mov r8d, r9d
lea rdx, [0x1403422b8]
mov rcx, r14
call fcn.14000f4d0
test rsi, rsi
jne 0x140049920
mov rax, qword [rbx + 0x10]
test dword [rax + 0x6c], 0x200
je 0x140049ae3
mov r14, qword [rax + 0x1bd8]
test r14, r14
je 0x140049ae3
nop dword [rax + rax]
mov rdi, r14
test r14, r14
je 0x14004aa57
mov r14, qword [r14]
mov rdi, qword [rdi + 0x10]
test rdi, rdi
je 0x140049ad6
test byte [rdi + 0x314], 0xe0
jne 0x140049a25
test dword [rdi + 0x318], 0x40000
je 0x140049ad6
mov eax, dword [rdi + 0x1d8]
sub eax, 8
cmp eax, 1
ja 0x140049a44
mov rax, qword [rbx + 0x10]
test dword [rax + 0x30], 0x100
jne 0x140049ad6
mov edx, 3
mov rcx, rdi
call fcn.1400c0350
mov dword [rsp + 0x20], r12d
lea r9, vtable.type_info.0
lea r8, vtable.type_info.0
xor edx, edx
mov rcx, rax
call fcn.1402c2cf4
mov rsi, rax
test rax, rax
je 0x140049ad6
cmp dword [rdi + 0x168], 0
je 0x140049a8c
mov edx, 1
mov rcx, rax
call fcn.140057dd0
test byte [rdi + 0x314], 0x20
je 0x140049aba
xor edx, edx
lea r8d, [rdx + 1]
mov rcx, rsi
call fcn.140057f30
mov edx, 1
mov r8d, edx
mov rcx, rsi
call fcn.140057f30
mov edx, 3
jmp 0x140049ac8
test dword [rdi + 0x318], 0x40000
je 0x140049ad6
xor edx, edx
mov r8d, 1
mov rcx, rsi
call fcn.140057f30
test r14, r14
jne 0x1400499f0
mov rax, qword [rbx + 0x10]
test dword [rax + 0x6c], 0x400
je 0x140049c15
mov r14, qword [rax + 0x1bd8]
test r14, r14
je 0x140049c15
mov rdi, r14
test r14, r14
je 0x14004aa5d
mov r14, qword [r14]
mov rdi, qword [rdi + 0x10]
test rdi, rdi
je 0x140049c08
test dword [rdi + 0x314], 0x1000000
je 0x140049c08
mov eax, dword [rdi + 0x1d8]
sub eax, 8
cmp eax, 1
ja 0x140049b4b
mov rax, qword [rbx + 0x10]
test dword [rax + 0x30], 0x100
jne 0x140049c08
mov edx, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov rcx, rdi
call fcn.140019040
mov rcx, rax
mov dword [rsp + 0x20], r12d
lea r9, vtable.type_info.0
lea r8, vtable.type_info.0
xor edx, edx
call fcn.1402c2cf4
mov rsi, rax
test rax, rax
jne 0x140049bdd
lea edx, [rax + 0xd]
mov rcx, rdi
call fcn.140019040
mov rcx, rax
mov dword [rsp + 0x20], r12d
lea r9, vtable.type_info.0
lea r8, vtable.type_info.0
xor edx, edx
call fcn.1402c2cf4
mov rsi, rax
test rax, rax
jne 0x140049bdd
lea edx, [rax + 0x12]
mov rcx, rdi
call fcn.140019040
mov rcx, rax
mov dword [rsp + 0x20], r12d
lea r9, vtable.type_info.0
lea r8, vtable.type_info.0
xor edx, edx
call fcn.1402c2cf4
mov rsi, rax
test rax, rax
je 0x140049c08
cmp dword [rdi + 0x168], 0
je 0x140049c08
mov r9d, 1
mov r8d, r9d
lea rdx, [0x140342030]
mov rcx, rsi
call fcn.14000f4d0
xor edx, edx
mov rcx, rsi
call fcn.14000fe30
test r14, r14
jne 0x140049b00
mov rax, qword [rbx + 0x10]
test dword [rax + 0x30], 0x10000
je 0x140049c9f
mov rdi, qword [rax + 0x1bd8]
test rdi, rdi
je 0x140049c9f
nop
mov rcx, rdi
test rdi, rdi
je 0x14004aa63
mov rdi, qword [rdi]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x140049c96
xor edx, edx
call fcn.1400c0350
mov dword [rsp + 0x20], r12d
lea r9, vtable.type_info.0
lea r8, vtable.type_info.0
xor edx, edx
mov rcx, rax
call fcn.1402c2cf4
mov rsi, rax
test rax, rax
je 0x140049c96
xor edx, edx
mov rcx, rax
call fcn.14000fe30
mov r9d, 1
mov r8d, r9d
lea rdx, [0x140342810]
mov rcx, rsi
call fcn.14000f4d0
test rdi, rdi
jne 0x140049c30
mov rax, qword [rbx + 0x10]
lea r15, vtable.CDolbySetting.0
test dword [rax + 0x30], 0x2000000
jne 0x140049cbc
test dword [rax + 0x6c], 0xf000
je 0x140049e09
mov ecx, 0x40
call fcn.1400f8110
mov rdi, rax
mov qword [rbp + 0x67], rax
test rax, rax
je 0x140049ce6
mov rcx, rax
call fcn.1400bf9f0
mov qword [rdi], r15
mov dword [rdi + 0x18], 3
jmp 0x140049ce9
mov rdi, r12
test rdi, rdi
je 0x140049e09
mov rax, qword [rbx + 0x10]
mov rsi, qword [rax + 0x1bd8]
test rsi, rsi
je 0x140049dfc
nop word [rax + rax]
mov rdx, rsi
test rsi, rsi
je 0x14004aa69
mov rsi, qword [rsi]
mov rdx, qword [rdx + 0x10]
test rdx, rdx
je 0x140049df3
cmp dword [rdx + 0x168], 0
je 0x140049df3
test dword [rdx + 0x314], 0x8000000
je 0x140049df3
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
test eax, eax
je 0x140049df3
mov rax, qword [rbx + 0x10]
test dword [rax + 0x30], 0x2000000
jne 0x140049d70
test dword [rax + 0x6c], 0x1000
je 0x140049d82
xor edx, edx
lea r8d, [rdx + 1]
mov rcx, rdi
call fcn.140057f30
mov rax, qword [rbx + 0x10]
test dword [rax + 0x30], 0x2000000
jne 0x140049d94
test dword [rax + 0x6c], 0x2000
je 0x140049da9
mov edx, 5
lea r8d, [rdx - 4]
mov rcx, rdi
call fcn.140057f30
mov rax, qword [rbx + 0x10]
test dword [rax + 0x30], 0x2000000
jne 0x140049dbb
test dword [rax + 0x6c], 0x4000
je 0x140049dd0
mov edx, 6
lea r8d, [rdx - 5]
mov rcx, rdi
call fcn.140057f30
mov rax, qword [rbx + 0x10]
test dword [rax + 0x30], 0x2000000
jne 0x140049de2
test dword [rax + 0x6c], 0x8000
je 0x140049df3
mov edx, 2
lea r8d, [rdx - 1]
mov rcx, rdi
call fcn.140057f30
test rsi, rsi
jne 0x140049d10
mov rax, qword [rdi]
mov edx, 1
mov rcx, rdi
call qword [rax]
mov rax, qword [rbx + 0x10]
mov ecx, dword [rax + 0x30]
bt ecx, 0x1a
jb 0x140049e27
test ecx, ecx
js 0x140049e27
test dword [rax + 0x6c], 0x20000
je 0x140049ed4
mov rdi, qword [rax + 0x1bd8]
test rdi, rdi
je 0x140049ed4
mov esi, 0x13
nop dword [rax]
mov rcx, rdi
test rdi, rdi
je 0x14004aa6f
mov rdi, qword [rdi]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x140049ec7
cmp dword [rcx + 0x168], 0
je 0x140049ec7
test dword [rcx + 0x314], 0x8000000
je 0x140049ec7
mov rdx, qword [rbx + 0x10]
mov eax, dword [rdx + 0x30]
bt eax, 0x1a
jae 0x140049e83
mov dword [rbp - 0x39], 3
jmp 0x140049ea2
test eax, eax
jns 0x140049e90
mov dword [rbp - 0x39], 6
jmp 0x140049ea2
mov eax, dword [rdx + 0x6c]
bt eax, 0x11
jae 0x140049ea6
shr eax, 0x12
and eax, 7
mov dword [rbp - 0x39], eax
mov word [rbp - 0x41], si
add rcx, 0x108
lea r8, [rbp - 0x41]
lea rdx, [0x1403425b8]
call fcn.14000ff50
lea rcx, [rbp - 0x41]
call qword [sym.imp.ole32.dll_PropVariantClear]
test rdi, rdi
jne 0x140049e40
mov rax, qword [rbx + 0x10]
test dword [rax + 0x30], 0x20000000
je 0x140049f5a
mov rdi, qword [rax + 0x1bd8]
test rdi, rdi
je 0x140049f5a
nop dword [rax]
mov rcx, rdi
test rdi, rdi
je 0x14004aa75
mov rdi, qword [rdi]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x140049f51
mov edx, 0xa
call fcn.140019040
mov rcx, rax
mov dword [rsp + 0x20], r12d
lea r9, vtable.type_info.0
lea r8, vtable.type_info.0
xor edx, edx
call fcn.1402c2cf4
mov rsi, rax
test rax, rax
je 0x140049f51
mov edx, 2
mov rcx, rax
call fcn.1400e3810
mov edx, 1
mov rcx, rsi
call fcn.1400e35c0
test rdi, rdi
jne 0x140049ef0
mov rax, qword [rbx + 0x10]
mov rcx, rax
test dword [rax + 0xdc], 0x1000000
je 0x14004a06e
test dword [rax + 0x548], 0x4000000
jne 0x14004a06e
mov rdi, qword [rax + 0x1bd8]
test rdi, rdi
je 0x14004a06e
nop dword [rax]
mov rsi, rdi
test rdi, rdi
je 0x14004aa7b
mov rdi, qword [rdi]
mov rsi, qword [rsi + 0x10]
test rsi, rsi
je 0x14004a061
cmp dword [rsi + 0x168], 0
jne 0x14004a061
mov rcx, rsi
call fcn.14009e550
test eax, eax
je 0x14004a061
mov edx, 2
mov rcx, rsi
call fcn.1400c0350
mov dword [rsp + 0x20], r12d
lea r9, vtable.type_info.0
lea r8, vtable.type_info.0
xor edx, edx
mov rcx, rax
call fcn.1402c2cf4
mov rsi, rax
test rax, rax
je 0x14004a061
mov rcx, qword [rbx + 0x10]
mov edx, dword [rcx + 0x104]
mov ecx, edx
shr ecx, 5
and ecx, 1
mov r8d, ecx
or r8d, 2
and dl, 0x40
cmove r8d, ecx
mov r9d, 1
lea rdx, [0x140341610]
mov rcx, rax
call fcn.14000f4d0
mov rax, qword [rbx + 0x10]
test dword [rax + 0x4c], 0x8000
je 0x14004a04e
mov edx, 1
mov rcx, rsi
call fcn.14009e180
mov rax, qword [rbx + 0x10]
test byte [rax + 0x50], 1
je 0x14004a061
mov edx, 1
mov rcx, rsi
call fcn.14009e3d0
test rdi, rdi
jne 0x140049f90
mov rcx, qword [rbx + 0x10]
lea rsi, vtable.CSonicFocusSetting.0
cmp dword [rcx + 0x14c], 0
je 0x14004a13f
test dword [rcx + 0x114], 0x100
jne 0x14004a13f
lea rcx, [rbp - 0x29]
call fcn.1400bf9f0
mov qword [rbp - 0x29], rsi
mov dword [rbp - 0x11], 0x14
mov qword [rbp + 0xf], r12
mov dword [rbp + 0x17], 5
mov rax, qword [rbx + 0x10]
mov rdi, qword [rax + 0x1bd8]
test rdi, rdi
je 0x14004a132
mov rdx, rdi
test rdi, rdi
je 0x14004aa81
mov rdi, qword [rdi]
mov rdx, qword [rdx + 0x10]
test rdx, rdx
je 0x14004a12d
cmp dword [rdx + 0x168], 0
je 0x14004a12d
test dword [rdx + 0x314], 0x40000
je 0x14004a12d
lea rcx, [rbp - 0x29]
call fcn.1400d0100
test eax, eax
je 0x14004a12d
lea rcx, [rbp - 0x29]
call fcn.1400d01a0
mov edx, 1
lea rcx, [rbp - 0x29]
call fcn.1400d0340
mov rax, qword [rbx + 0x10]
mov ecx, dword [rax + 0x14c]
mov edx, r12d
test ecx, ecx
cmovne edx, ecx
lea rcx, [rbp - 0x29]
call fcn.1400d0420
test rdi, rdi
jne 0x14004a0c1
mov qword [rbp - 0x29], rsi
lea rcx, [rbp - 0x29]
call fcn.1400bfb00
mov rax, qword [rbx + 0x10]
test dword [rax + 0x118], 0x800
je 0x14004a1e5
lea rcx, [rbp - 0x29]
call fcn.1400bf9f0
mov qword [rbp - 0x29], rsi
mov dword [rbp - 0x11], 0x14
mov qword [rbp + 0xf], r12
mov dword [rbp + 0x17], 5
mov rax, qword [rbx + 0x10]
mov rdi, qword [rax + 0x1bd8]
test rdi, rdi
je 0x14004a1d8
mov rdx, rdi
test rdi, rdi
je 0x14004aa87
mov rdi, qword [rdi]
mov rdx, qword [rdx + 0x10]
test rdx, rdx
je 0x14004a1d3
cmp dword [rdx + 0x168], 0
je 0x14004a1d3
test dword [rdx + 0x314], 0x40000
je 0x14004a1d3
lea rcx, [rbp - 0x29]
call fcn.1400d0100
test eax, eax
je 0x14004a1d3
lea rcx, [rbp - 0x29]
call fcn.1400d01a0
mov edx, 1
lea rcx, [rbp - 0x29]
call fcn.1400d0340
test rdi, rdi
jne 0x14004a182
mov qword [rbp - 0x29], rsi
lea rcx, [rbp - 0x29]
call fcn.1400bfb00
mov rax, qword [rbx + 0x10]
test dword [rax + 0x10c], 0x1000000
je 0x14004a206
mov edx, 1
mov rcx, rax
call fcn.1400355f0
mov rax, qword [rbx + 0x10]
test dword [rax + 0x34], 0x20000000
je 0x14004a5f5
mov ecx, 0x40
call fcn.1400f8110
mov rsi, rax
mov qword [rbp + 0x67], rax
test rax, rax
je 0x14004a23d
mov rcx, rax
call fcn.1400bf9f0
mov qword [rsi], r15
mov dword [rsi + 0x18], 3
jmp 0x14004a240
mov rsi, r12
mov ecx, 0x80
call fcn.1400f8110
mov qword [rbp + 0x67], rax
test rax, rax
je 0x14004a260
mov rcx, rax
call fcn.140075010
mov rdi, rax
jmp 0x14004a263
mov rdi, r12
test rsi, rsi
je 0x14004a5e3
test rdi, rdi
je 0x14004a5d6
mov rax, qword [rbx + 0x10]
mov r14, qword [rax + 0x1bd8]
test r14, r14
je 0x14004a5d6
nop dword [rax]
mov rdx, r14
test r14, r14
je 0x14004aa8d
mov r14, qword [r14]
mov rdx, qword [rdx + 0x10]
test rdx, rdx
je 0x14004a5cd
mov eax, dword [rdx + 0x318]
test eax, 0xe02000
je 0x14004a5cd
cmp dword [rdx + 0x168], 0
je 0x14004a5cd
mov ecx, dword [rdx + 0x1d8]
bt eax, 0xd
jae 0x14004a437
sub ecx, 1
je 0x14004a35a
cmp ecx, 7
jne 0x14004a5cd
test byte [rdx + 0x314], 1
je 0x14004a5cd
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
mov edx, r12d
mov r9d, dword [rdi + 0x68]
test r9d, r9d
je 0x14004a5cd
mov r10, qword [0x14034fd60]
mov r11, qword [0x14034fd58]
nop dword [rax]
cmp edx, r9d
jae 0x14004a34d
mov r8, qword [rdi + 0x60]
test r8, r8
je 0x14004a34d
mov eax, edx
lea rcx, [rax + rax*8]
lea rax, [r8 + rcx*8]
test rax, rax
je 0x14004a34d
cmp r11, qword [rax + 0x20]
jne 0x14004a34d
cmp r10, qword [rax + 0x28]
je 0x14004a4b8
inc edx
cmp edx, r9d
jae 0x14004a5cd
jmp 0x14004a320
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x10]
test eax, eax
je 0x14004a5cd
mov r9d, 1
mov r8d, r9d
lea rdx, [0x140340f50]
mov rcx, rsi
call fcn.14000f4d0
mov r9d, 1
mov r8d, r9d
lea rdx, [0x140340f38]
mov rcx, rsi
call fcn.14000f4d0
mov r9d, 1
mov r8d, r9d
lea rdx, [0x140340ff8]
mov rcx, rsi
call fcn.14000f4d0
mov r9d, 1
mov r8d, r9d
lea rdx, [0x140340fe0]
mov rcx, rsi
call fcn.14000f4d0
mov r9d, 1
mov r8d, r9d
lea rdx, [0x140340fc8]
mov rcx, rsi
call fcn.14000f4d0
mov r9d, 1
mov r8d, r9d
lea rdx, [0x140340fb0]
mov rcx, rsi
call fcn.14000f4d0
mov r9d, 1
mov r8d, r9d
lea rdx, [0x140340f98]
mov rcx, rsi
call fcn.14000f4d0
mov r9d, 1
mov r8d, r9d
lea rdx, [0x140340f80]
mov rcx, rsi
call fcn.14000f4d0
lea rdx, [0x140340f68]
jmp 0x14004a5bc
sub ecx, 1
je 0x14004a4cc
cmp ecx, 7
jne 0x14004a5cd
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
test eax, eax
je 0x14004a5cd
cmp dword [rdi + 0x78], 0
je 0x14004a5cd
mov edx, r12d
mov r9d, dword [rdi + 0x68]
test r9d, r9d
je 0x14004a5cd
mov r10, qword [0x14034fd60]
mov r11, qword [0x14034fd58]
cmp edx, r9d
jae 0x14004a4ab
mov r8, qword [rdi + 0x60]
test r8, r8
je 0x14004a4ab
mov eax, edx
lea rcx, [rax + rax*8]
lea rax, [r8 + rcx*8]
test rax, rax
je 0x14004a4ab
cmp r11, qword [rax + 0x20]
jne 0x14004a4ab
cmp r10, qword [rax + 0x28]
je 0x14004a4b8
inc edx
cmp edx, r9d
jae 0x14004a5cd
jmp 0x14004a482
lea rdx, [rax + 0x30]
xor r8d, r8d
mov rcx, rdi
call fcn.1400758a0
jmp 0x14004a5cd
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x10]
test eax, eax
je 0x14004a5cd
mov r9d, 1
mov r8d, r9d
lea rdx, [0x140343ce0]
mov rcx, rsi
call fcn.14000f4d0
mov r9d, 1
mov r8d, r9d
lea rdx, [0x140343cc8]
mov rcx, rsi
call fcn.14000f4d0
mov r9d, 1
mov r8d, r9d
lea rdx, [0x140343cb0]
mov rcx, rsi
call fcn.14000f4d0
mov r9d, 1
mov r8d, r9d
lea rdx, [0x140343c98]
mov rcx, rsi
call fcn.14000f4d0
mov r9d, 1
mov r8d, r9d
lea rdx, [0x140343c50]
mov rcx, rsi
call fcn.14000f4d0
mov r9d, 1
mov r8d, r9d
lea rdx, [0x140343c38]
mov rcx, rsi
call fcn.14000f4d0
mov r9d, 1
mov r8d, r9d
lea rdx, [0x140343228]
mov rcx, rsi
call fcn.14000f4d0
mov r9d, 1
mov r8d, r9d
lea rdx, [0x140342f78]
mov rcx, rsi
call fcn.14000f4d0
mov r9d, 1
mov r8d, r9d
lea rdx, [0x140343c80]
mov rcx, rsi
call fcn.14000f4d0
lea rdx, [0x140343c68]
mov r9d, 1
mov r8d, r9d
mov rcx, rsi
call fcn.14000f4d0
test r14, r14
jne 0x14004a290
mov rax, qword [rsi]
mov edx, 1
mov rcx, rsi
call qword [rax]
test rdi, rdi
je 0x14004a5f5
mov rax, qword [rdi]
mov edx, 1
mov rcx, rdi
call qword [rax]
mov rax, qword [rbx + 0x10]
cmp dword [rax + 0x48], 0
je 0x14004a780
mov ecx, 0x40
call fcn.1400f8110
mov rdi, rax
mov qword [rbp + 0x67], rax
test rax, rax
je 0x14004a62d
mov rcx, rax
call fcn.1400bf9f0
mov qword [rdi], r15
mov dword [rdi + 0x18], 3
jmp 0x14004a630
mov rdi, r12
mov rsi, qword [rbx + 0x10]
mov r15d, dword [rsi + 0x48]
test rdi, rdi
je 0x14004a780
mov rsi, qword [rsi + 0x1bd8]
test rsi, rsi
je 0x14004a773
mov rdx, rsi
test rsi, rsi
je 0x14004aa93
mov rsi, qword [rsi]
mov rdx, qword [rdx + 0x10]
test rdx, rdx
je 0x14004a76a
cmp dword [rdx + 0x168], 0
je 0x14004a76a
mov eax, dword [rdx + 0x318]
mov r14d, eax
and r14d, 0xe00000
bt eax, 0xd
jb 0x14004a699
test r14d, r14d
je 0x14004a76a
cmp dword [rdx + 0x1d8], 1
jne 0x14004a76a
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
test eax, eax
je 0x14004a76a
test r15d, r15d
je 0x14004a76a
mov r9d, 1
mov rcx, rdi
mov r8d, r9d
test r14d, r14d
je 0x14004a716
lea rdx, [0x140343c80]
call fcn.14000f4d0
mov r9d, 1
mov r8d, r9d
lea rdx, [0x140343ce0]
mov rcx, rdi
call fcn.14000f4d0
mov r9d, 1
mov r8d, r9d
lea rdx, [0x140343cb0]
mov rcx, rdi
call fcn.14000f4d0
lea rdx, [0x140343c50]
jmp 0x14004a759
lea rdx, [0x140340f50]
call fcn.14000f4d0
mov r9d, 1
mov r8d, r9d
lea rdx, [0x140340ff8]
mov rcx, rdi
call fcn.14000f4d0
mov r9d, 1
mov r8d, r9d
lea rdx, [0x140340fc8]
mov rcx, rdi
call fcn.14000f4d0
lea rdx, [0x140340f98]
mov r9d, 1
mov r8d, r9d
mov rcx, rdi
call fcn.14000f4d0
test rsi, rsi
jne 0x14004a651
mov rax, qword [rdi]
mov edx, 1
mov rcx, rdi
call qword [rax]
mov rax, qword [rbx + 0x10]
test byte [rax + 0x50], 4
je 0x14004a796
mov rcx, rax
call fcn.140035d70
mov rax, qword [rbx + 0x10]
test byte [rax + 0x50], 0x20
je 0x14004a7a8
mov rcx, rax
call fcn.140035db0
mov rax, qword [rbx + 0x10]
test byte [rax + 0x50], 0x80
je 0x14004a7ba
mov rcx, rax
call fcn.140033780
mov rax, qword [rbx + 0x10]
cmp dword [rax + 0x200], 0
je 0x14004a938
mov qword [rbp + 0x67], r12
mov r14, qword [rax + 0x1bd8]
test r14, r14
je 0x14004a938
nop dword [rax + rax]
mov rsi, r14
test r14, r14
je 0x14004aa99
mov r14, qword [r14]
mov rsi, qword [rsi + 0x10]
test rsi, rsi
je 0x14004a92b
cmp dword [rsi + 0x1d8], 0
je 0x14004a92b
xor edx, edx
mov rcx, rsi
call fcn.140019040
mov rcx, rax
mov dword [rsp + 0x20], r12d
lea r9, vtable.type_info.0
lea r8, vtable.type_info.0
xor edx, edx
call fcn.1402c2cf4
mov rdi, rax
test rax, rax
je 0x14004a92b
mov rcx, qword [rbx + 0x10]
mov eax, dword [rcx + 0x200]
cmp eax, 4
je 0x14004a8ae
cmp eax, 6
je 0x14004a879
cmp eax, 8
jne 0x14004a905
lea r8, [rbp + 0x67]
lea edx, [rax + 0x38]
mov rcx, rdi
call fcn.1400d5bf0
test eax, eax
jne 0x14004a8c3
call fcn.1401098dc
mov r9d, 8
jmp 0x14004a8ea
lea r8, [rbp + 0x67]
mov edx, 0x10
mov rcx, rdi
call fcn.1400d5bf0
mov rcx, rdi
test eax, eax
jne 0x14004a8c6
lea r8, [rbp + 0x67]
lea edx, [rax + 0x20]
call fcn.1400d5bf0
test eax, eax
jne 0x14004a8c3
call fcn.1401098dc
mov r9d, 6
jmp 0x14004a8ea
lea r8, [rbp + 0x67]
mov edx, 4
mov rcx, rdi
call fcn.1400d5bf0
test eax, eax
je 0x14004a8df
mov rcx, rdi
mov rdx, qword [rbp + 0x67]
call fcn.1400d5f30
test eax, eax
je 0x14004a905
mov rax, qword [rbx + 0x10]
mov edi, dword [rax + 0x200]
jmp 0x14004a908
call fcn.1401098dc
mov r9d, 4
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
lea r8, str.SetDefNoSupport
mov rdx, qword [rsi + 0x118]
call qword [rax + 0x100]
mov edi, r12d
call fcn.1401098dc
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
mov r9d, edi
lea r8, str.SetDefCh
mov rdx, qword [rsi + 0x118]
call qword [rax + 0x100]
test r14, r14
jne 0x14004a7e0
mov rax, qword [rbx + 0x10]
test dword [rax + 0xd4], 0x10000
je 0x14004a9ee
mov rdi, qword [rax + 0x1bd8]
test rdi, rdi
je 0x14004a9ee
nop dword [rax + rax]
mov rsi, rdi
test rdi, rdi
je 0x14004aa9f
mov rdi, qword [rdi]
mov rsi, qword [rsi + 0x10]
test rsi, rsi
je 0x14004a9e1
cmp dword [rsi + 0x1d8], 1
jne 0x14004a9e1
call fcn.1400f9930
mov rdx, rax
lea rcx, [rbp + 0x67]
call fcn.14000db40
nop
mov rax, qword [rbx + 0x10]
mov rcx, qword [rax + 0x550]
test rcx, rcx
je 0x14004a9b2
mov r8d, 0xe22
lea rdx, [rbp + 0x67]
call fcn.14008dbe0
mov rcx, qword [rbp + 0x67]
add rcx, 0xffffffffffffffe8
call fcn.140015740
add rax, 0x18
mov qword [rbp + 0x6f], rax
lea rdx, [rbp + 0x6f]
mov rcx, rsi
call fcn.14001c420
nop
mov rcx, qword [rbp + 0x67]
add rcx, 0xffffffffffffffe8
call fcn.14000dc70
test rdi, rdi
jne 0x14004a960
mov rax, qword [rbx + 0x10]
test byte [rax + 0x1d8], 8
je 0x1400492a1
mov rbx, qword [rax + 0x1bd8]
test rbx, rbx
je 0x1400492a1
nop dword [rax + rax]
mov rcx, rbx
test rbx, rbx
je 0x14004aaa5
mov rbx, qword [rbx]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14004aa3b
cmp dword [rcx + 0x1d8], 3
jne 0x14004aa3b
mov edx, 1
call fcn.14001c4c0
test rbx, rbx
jne 0x14004aa10
jmp 0x1400492a1
call fcn.1400f91a0
int3
call fcn.1400f91a0
int3
call fcn.1400f91a0
int3
call fcn.1400f91a0
int3
call fcn.1400f91a0
int3
call fcn.1400f91a0
int3
call fcn.1400f91a0
int3
call fcn.1400f91a0
int3
call fcn.1400f91a0
int3
call fcn.1400f91a0
nop
call fcn.1400f91a0
nop
call fcn.1400f91a0
nop
call fcn.1400f91a0
int3
call fcn.1400f91a0
int3
call fcn.1400f91a0
int3
call fcn.1400f91a0
int3
call fcn.1400f91a0
int3