Function at 0x450640
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
sub rsp, 0xe58
mov qword [rsp + 0x180], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov qword [rax - 8], rdi
mov qword [rax - 0x10], r12
mov qword [rax - 0x18], r13
mov qword [rax - 0x20], r14
mov qword [rax - 0x28], r15
mov rax, qword [0x00522be8]
xor rax, rsp
mov qword [rsp + 0xe28], rax
mov r15, rcx
mov rdi, qword [rcx]
test rdi, rdi
je 0x45192c
mov rdi, qword [rdi + 0x10]
test rdi, rdi
je 0x4506da
mov rcx, qword [rdi]
mov rax, qword [rcx]
lea rdx, str.Left_Slider_Zone
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test eax, eax
jne 0x4506bf
mov rdi, qword [rdi + 8]
test rdi, rdi
jne 0x4506a0
jmp 0x4506da
mov rcx, qword [rdi]
test rcx, rcx
je 0x4506da
xor r8d, r8d
xor edx, edx
call fcn.00471340
mov dword [rsp + 0xf0], eax
jmp 0x4506e5
mov dword [rsp + 0xf0], 0x11
mov rax, qword [r15]
mov rdi, qword [rax + 0x10]
test rdi, rdi
je 0x45073a
nop
nop
nop
nop
mov rcx, qword [rdi]
mov rax, qword [rcx]
lea rdx, str.Pinch
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test eax, eax
jne 0x45071f
mov rdi, qword [rdi + 8]
test rdi, rdi
jne 0x450700
jmp 0x45073a
mov rcx, qword [rdi]
test rcx, rcx
je 0x45073a
xor r8d, r8d
xor edx, edx
call fcn.00471340
mov dword [rsp + 0x90], eax
jmp 0x450745
mov dword [rsp + 0x90], 0x80000401
mov rax, qword [r15]
xor edx, edx
mov dword [rsp + 0xc4], edx
mov rcx, qword [rax + 0x58]
test rcx, rcx
je 0x450774
mov rax, qword [rcx]
lea r8, [rsp + 0xc4]
mov edx, 0x10000d5
call qword [rax + 0x18]
mov edx, dword [rsp + 0xc4]
shr edx, 0xb
and edx, 1
mov rax, qword [r15]
mov rdi, qword [rax + 0x10]
lea rax, str.Free_Twist
test rdi, rdi
je 0x4507d2
lea rsi, str.Twist
test edx, edx
cmovne rsi, rax
nop
nop
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test eax, eax
jne 0x4507bb
mov rdi, qword [rdi + 8]
test rdi, rdi
jne 0x4507a0
jmp 0x4507d2
mov rcx, qword [rdi]
test rcx, rcx
je 0x4507d2
xor r8d, r8d
xor edx, edx
call fcn.00471340
mov r14d, eax
jmp 0x4507d8
mov r14d, 0x80000100
mov rdi, qword [r15]
mov rsi, qword [rdi + 0x10]
mov rbx, rsi
test rsi, rsi
je 0x4507fe
mov rax, qword [rdi + 0x288]
nop
cmp rax, qword [rbx]
je 0x450800
mov rbx, qword [rbx + 8]
test rbx, rbx
jne 0x4507f0
xor ebx, ebx
test rsi, rsi
je 0x45081e
mov rax, qword [rdi + 0x290]
nop
cmp rax, qword [rsi]
je 0x450820
mov rsi, qword [rsi + 8]
test rsi, rsi
jne 0x450810
xor esi, esi
mov rdi, qword [rdi + 0x10]
mov qword [rsp + 0x150], rdi
test rdi, rdi
je 0x450969
mov rbp, qword [rdi]
test rbp, rbp
je 0x450969
lea r13, [0x00400000]
nop
nop
xor r8d, r8d
xor edx, edx
mov rcx, rbp
call fcn.00471410
cmp eax, 0xa
ja case.0x450873.1
mov eax, eax
mov ecx, dword [r13 + rax*4 + 0x51984]
add rcx, r13
jmp rcx
mov rax, qword [rbp]
mov rcx, rbp
call qword [rax + 0x90]
xor r8d, r8d
xor edx, edx
mov rcx, rbp
call fcn.00471340
bt eax, 0x1d
jae case.0x450873.1
mov rbp, rdi
mov qword [rsp + 0xa0], rdi
lea rcx, [rdi + 0x10]
mov rdi, qword [rcx]
mov qword [rsp + 0x150], rdi
cmp rbp, rbx
jne 0x4508c6
mov rax, qword [r15]
mov qword [rax + 0x288], 0
cmp rbp, rsi
jne 0x4508d9
mov rax, qword [r15]
mov qword [rax + 0x290], 0
mov r12, qword [r15]
test rbp, rbp
je case.0x450873.1
mov rdx, qword [rcx]
test rdx, rdx
je 0x4508f3
mov rax, qword [rbp + 8]
mov qword [rdx + 8], rax
jmp 0x4508fc
mov rax, qword [rbp + 8]
mov qword [r12 + 0x10], rax
mov rdx, qword [rbp + 8]
test rdx, rdx
je 0x45090e
mov rax, qword [rcx]
mov qword [rdx + 0x10], rax
jmp 0x450916
mov rax, qword [rcx]
mov qword [r12 + 0x18], rax
cmp dword [r12 + 0x24], 0
je 0x450939
mov rcx, qword [rbp]
test rcx, rcx
je 0x450939
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov qword [rbp], 0
mov rcx, rbp
call fcn.004a6f90
add dword [r12 + 0x20], 0xffffffff
test rdi, rdi
je 0x450969
mov rdi, qword [rdi + 8]
mov qword [rsp + 0x150], rdi
test rdi, rdi
je 0x450969
mov rbp, qword [rdi]
test rbp, rbp
jne 0x450850
mov r13d, dword [0x005264ec]
mov ebp, dword [r15 + 0x10]
lea r12, [r15 + 0x40]
mov rdi, qword [r12 + 8]
cmp rdi, qword [r12 + 0x10]
jbe 0x450989
call fcn.004a7de0
mov qword [rsp + 0xe0], r12
mov qword [rsp + 0xe8], rdi
movaps xmm0, xmmword [rsp + 0xe0]
movdqa xmmword [rsp + 0xe0], xmm0
mov rsi, qword [rsp + 0xe0]
mov rdi, qword [rsp + 0xe8]
nop
nop
mov rbx, qword [r12 + 0x10]
cmp qword [r12 + 8], rbx
jbe 0x4509d1
call fcn.004a7de0
test rsi, rsi
je 0x4509db
cmp rsi, r12
je 0x4509e0
call fcn.004a7de0
cmp rdi, rbx
je 0x450a1f
test rsi, rsi
jne 0x4509ef
call fcn.004a7de0
cmp rdi, qword [rsi + 0x10]
jb 0x4509fa
call fcn.004a7de0
mov rax, qword [rdi]
test rax, rax
je 0x450a06
cmp dword [rax], ebp
je 0x450a17
cmp rdi, qword [rsi + 0x10]
jb 0x450a11
call fcn.004a7de0
add rdi, 8
jmp 0x4509c0
mov rdi, qword [rax + 0x68]
xor ebx, ebx
jmp 0x450a24
xor ebx, ebx
mov rdi, rbx
mov esi, dword [r15 + 8]
and esi, 0x1f
mov rax, qword [r15]
mov rcx, qword [rax + 0x58]
mov rax, qword [rcx]
lea r8, [rsp + 0xd8]
mov edx, 0x10000101
call qword [rax + 0x18]
mov ecx, 0xffffffff
test eax, eax
cmove ecx, dword [rsp + 0xd8]
mov rax, qword [0x00526438]
test rax, rax
je 0x450a90
mov r9d, r13d
mov r8, rdi
mov edx, esi
call rax
test eax, eax
je 0x450a90
mov rax, qword [0x005263b0]
test rax, rax
je 0x450a90
mov r8d, 1
mov rdx, qword [0x00526530]
lea rcx, str.SynTP
call rax
lea rdi, [0x004eabc0]
mov qword [rsp + 0x100], rdi
lea rcx, [rsp + 0x120]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov dword [rsp + 0x11c], 1
mov qword [rsp + 0x108], rbx
mov qword [rsp + 0x110], rbx
mov dword [rsp + 0x118], ebx
lea rax, vtable.r.0
mov qword [rsp + 0x100], rax
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], rbx
lea r13, str.SoftwareSynapticsSynTPEnhZoneConfig
mov r9, r13
mov r8d, 1
lea rdx, [rsp + 0x100]
mov rcx, qword [r15]
call fcn.00417fb0
test eax, eax
jne 0x450bc1
mov qword [rsp + 0x100], rdi
mov rdi, qword [rsp + 0x108]
test rdi, rdi
je 0x450bae
test rdi, rdi
je 0x450bae
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x450b48
mov rax, qword [rdi + 8]
mov qword [rcx + 8], rax
jmp 0x450b54
mov rax, qword [rdi + 8]
mov qword [rsp + 0x108], rax
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x450b67
mov rax, qword [rdi + 0x10]
mov qword [rcx + 0x10], rax
jmp 0x450b73
mov rax, qword [rdi + 0x10]
mov qword [rsp + 0x110], rax
mov rsi, qword [rdi + 8]
cmp dword [rsp + 0x11c], 0
je 0x450b96
mov rcx, qword [rdi]
test rcx, rcx
je 0x450b96
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov qword [rdi], rbx
mov rcx, rdi
call fcn.004a6f90
mov rdi, rsi
add dword [rsp + 0x118], 0xffffffff
test rsi, rsi
jne 0x450b30
lea rcx, [rsp + 0x120]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
jmp 0x45192c
lea r8, str.Slider0_Zone
mov rdx, qword [r15]
mov rcx, r15
call fcn.0044fd80
mov esi, eax
cmp eax, 0xffffffff
je 0x450c84
mov rdi, qword [r15]
mov dword [rsp + 0xcc], ebx
mov rcx, qword [rdi + 0x58]
test rcx, rcx
je 0x450c0e
mov rax, qword [rcx]
lea r8, [rsp + 0xcc]
mov edx, 0x10000102
call qword [rax + 0x18]
cmp dword [rsp + 0xcc], 8
je 0x450c6b
mov dword [rsp + 0xd4], ebx
mov rcx, qword [rdi + 0x58]
test rcx, rcx
je 0x450c3b
mov rax, qword [rcx]
lea r8, [rsp + 0xd4]
mov edx, 0x10000102
call qword [rax + 0x18]
cmp dword [rsp + 0xd4], 9
je 0x450c6b
mov rax, qword [r15]
mov dword [rsp + 0xc0], ebx
mov rcx, qword [rax + 0x58]
test rcx, rcx
je 0x450c84
mov rax, qword [rcx]
lea r8, [rsp + 0xc0]
mov edx, 0x10000107
call qword [rax + 0x18]
cmp dword [rsp + 0xc0], 0xd
jne 0x450c84
mov r9d, esi
mov r8d, 0xb
lea rdx, [rsp + 0x100]
mov rcx, qword [r15]
call fcn.0040e1e0
lea r8, str.Slider1_Zone
mov rdx, qword [r15]
mov rcx, r15
call fcn.0044fd80
mov esi, eax
cmp eax, 0xffffffff
je 0x450d47
mov rdi, qword [r15]
mov dword [rsp + 0xb8], ebx
mov rcx, qword [rdi + 0x58]
test rcx, rcx
je 0x450cd1
mov rax, qword [rcx]
lea r8, [rsp + 0xb8]
mov edx, 0x10000102
call qword [rax + 0x18]
cmp dword [rsp + 0xb8], 8
je 0x450d2e
mov dword [rsp + 0xc8], ebx
mov rcx, qword [rdi + 0x58]
test rcx, rcx
je 0x450cfe
mov rax, qword [rcx]
lea r8, [rsp + 0xc8]
mov edx, 0x10000102
call qword [rax + 0x18]
cmp dword [rsp + 0xc8], 9
je 0x450d2e
mov rax, qword [r15]
mov dword [rsp + 0xd0], ebx
mov rcx, qword [rax + 0x58]
test rcx, rcx
je 0x450d47
mov rax, qword [rcx]
lea r8, [rsp + 0xd0]
mov edx, 0x10000107
call qword [rax + 0x18]
cmp dword [rsp + 0xd0], 0xd
jne 0x450d47
mov r9d, esi
mov r8d, 0xc
lea rdx, [rsp + 0x100]
mov rcx, qword [r15]
call fcn.0040e1e0
mov rax, qword [r15]
mov dword [rsp + 0xbc], ebx
mov rcx, qword [rax + 0x58]
test rcx, rcx
je 0x450eaf
mov rax, qword [rcx]
lea r8, [rsp + 0xbc]
mov edx, 0x10000102
call qword [rax + 0x18]
cmp dword [rsp + 0xbc], 2
jne 0x450eaf
lea r8, str.Left_Slider_Zone
mov rdx, qword [r15]
mov rcx, r15
call fcn.0044fd80
cmp eax, 0xffffffff
je 0x450dc3
mov r9d, eax
mov r8d, 0xa
lea rdx, [rsp + 0x100]
mov rcx, qword [r15]
call fcn.0040e1e0
test rax, rax
je 0x450dc3
mov edx, dword [rsp + 0xf0]
mov rcx, rax
call fcn.00472100
mov rdx, qword [r15]
cmp dword [rdx + 0x83c], 0
je 0x450eaf
lea r8, str.Pinch
mov rcx, r15
call fcn.0044fd80
cmp eax, 0xffffffff
je 0x450e20
mov r9d, eax
mov r8d, 0xf
lea rdx, [rsp + 0x100]
mov rcx, qword [r15]
call fcn.0040e1e0
test rax, rax
je 0x450e20
mov rax, qword [r15]
mov rcx, qword [rax + 0x288]
test rcx, rcx
je 0x450e20
mov edx, dword [rsp + 0x90]
call fcn.00472100
mov rax, qword [r15]
mov ecx, ebx
mov dword [rsp + 0x90], ebx
mov rdi, qword [rax + 0x58]
test rdi, rdi
je 0x450e52
mov rax, qword [rdi]
lea r8, [rsp + 0x90]
mov edx, 0x10000d5
mov rcx, rdi
call qword [rax + 0x18]
mov ecx, dword [rsp + 0x90]
shr ecx, 0xb
and ecx, 1
lea r8, str.Twist
lea rcx, str.Free_Twist
cmovne r8, rcx
mov rdx, qword [r15]
mov rcx, r15
call fcn.0044fd80
cmp eax, 0xffffffff
je 0x450eaf
mov r9d, eax
mov r8d, 0x10
lea rdx, [rsp + 0x100]
mov rcx, qword [r15]
call fcn.0040e1e0
test rax, rax
je 0x450eaf
mov rax, qword [r15]
mov rcx, qword [rax + 0x290]
test rcx, rcx
je 0x450eaf
mov edx, r14d
call fcn.00472100
xor r14d, r14d
mov dword [rsp + 0xb0], r14d
mov dword [rsp + 0xb4], r14d
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0xb0]
lea r8, [rsp + 0xb0]
lea rdx, str.IlluminationInactiveState
lea rcx, [rsp + 0x100]
call fcn.004928b0
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0xb4]
lea r8, [rsp + 0xb4]
lea rdx, str.IlluminationActiveState
lea rcx, [rsp + 0x100]
call fcn.004928b0
mov word [rsp + 0x190], r14w
mov rcx, qword [r15]
add rcx, 0x58
mov r8d, 0x10000603
lea rdx, [rsp + 0xf0]
call fcn.004174d0
mov rdx, qword [rax]
test rdx, rdx
je 0x450f44
mov rdx, qword [rdx]
jmp 0x450f47
mov rdx, r14
lea rcx, [rsp + 0x3a0]
call fcn.0040b6f0
mov rdi, qword [rsp + 0xf0]
test rdi, rdi
je 0x450f99
mov eax, 0xffffffff
lock xadd dword [rdi + 0x10], eax
add eax, 0xffffffff
jne 0x450f99
test rdi, rdi
je 0x450f99
mov rcx, qword [rdi]
test rcx, rcx
je 0x450f83
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x450f91
call fcn.004a8850
mov rcx, rdi
call fcn.004a6f90
mov ebp, dword [r15 + 0x10]
mov rdi, qword [r12 + 8]
cmp rdi, qword [r12 + 0x10]
jbe 0x450fae
call fcn.004a7de0
mov qword [rsp + 0xa0], r12
mov qword [rsp + 0xa8], rdi
movaps xmm0, xmmword [rsp + 0xa0]
movdqa xmmword [rsp + 0xa0], xmm0
mov rsi, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0xa8]
nop
mov rbx, qword [r12 + 0x10]
cmp qword [r12 + 8], rbx
jbe 0x450ff1
call fcn.004a7de0
test rsi, rsi
je 0x450ffb
cmp rsi, r12
je 0x451000
call fcn.004a7de0
cmp rdi, rbx
je 0x45103d
test rsi, rsi
jne 0x45100f
call fcn.004a7de0
cmp rdi, qword [rsi + 0x10]
jb 0x45101a
call fcn.004a7de0
mov rax, qword [rdi]
test rax, rax
je 0x451026
cmp dword [rax], ebp
je 0x451037
cmp rdi, qword [rsi + 0x10]
jb 0x451031
call fcn.004a7de0
add rdi, 8
jmp 0x450fe0
mov rsi, qword [rax + 0x68]
jmp 0x451040
mov rsi, r14
mov rcx, r14
movzx eax, word [rcx + r13]
mov word [rsp + rcx + 0x190], ax
add rcx, 2
test ax, ax
jne 0x451043
mov edx, dword [0x004e8098]
cmp word [rsp + 0x5a0], r14w
je 0x4510c3
cmp word [rsp + 0x190], r14w
je 0x45108c
lea rdi, [rsp + 0x190]
xor eax, eax
mov rcx, 0xffffffffffffffff
repne scasw ax, word [rdi]
mov dword [rdi - 2], edx
lea rdi, [rsp + 0x190]
xor eax, eax
mov rcx, 0xffffffffffffffff
repne scasw ax, word [rdi]
lea r8, [rsp + 0x5a0]
xor ecx, ecx
nop
nop
movzx eax, word [r8 + rcx]
mov word [rdi + rcx - 2], ax
add rcx, 2
test ax, ax
jne 0x4510b0
test rsi, rsi
je 0x451122
cmp word [rsi], r14w
je 0x451122
cmp word [rsp + 0x190], r14w
je 0x4510f0
lea rdi, [rsp + 0x190]
xor eax, eax
mov rcx, 0xffffffffffffffff
repne scasw ax, word [rdi]
mov dword [rdi - 2], edx
lea rdi, [rsp + 0x190]
xor eax, eax
mov rcx, 0xffffffffffffffff
repne scasw ax, word [rdi]
xor ecx, ecx
nop
nop
nop
movzx eax, word [rsi + rcx]
mov word [rdi + rcx - 2], ax
add rcx, 2
test ax, ax
jne 0x451110
lea rcx, [rsp + 0x158]
call fcn.004926d0
nop
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], r14d
xor r9d, r9d
lea r8, [rsp + 0x190]
mov rdx, 0xffffffff80000002
lea rcx, [rsp + 0x160]
call fcn.0049da30
test eax, eax
je 0x4513e1
mov rcx, qword [r15]
call fcn.0040dd90
test eax, eax
jne 0x4513e1
lea rcx, [rsp + 0x160]
call fcn.0049d930
mov r8d, 0x40
lea rdx, [rsp + 0xda0]
lea rcx, [rsp + 0x160]
call fcn.0049d9b0
test eax, eax
je 0x4513e1
lea rdx, str.LED_Zone
lea rcx, [rsp + 0xda0]
call fcn.004a8fa0
test rax, rax
je 0x4512fd
mov ecx, 0x140
call fcn.004a7ed0
mov qword [rsp + 0xa0], rax
test rax, rax
je 0x4511fb
mov dword [rsp + 0x20], 2
mov r9d, 9
lea r8, [rsp + 0xda0]
mov rdx, qword [r15]
mov rcx, rax
call fcn.00407ce0
mov rsi, rax
jmp 0x4511fe
mov rsi, r14
test rsi, rsi
je 0x451325
mov rdi, qword [r15]
mov ecx, 0x18
call fcn.004a7ed0
mov rdx, rax
test rax, rax
je 0x451229
mov qword [rax + 8], r14
mov qword [rax + 0x10], r14
mov qword [rax], rsi
jmp 0x45122c
mov rdx, r14
test rdx, rdx
je 0x451325
mov rax, qword [rdi + 0x18]
test rax, rax
je 0x45124c
mov qword [rdx + 0x10], rax
mov rax, qword [rdi + 0x18]
mov qword [rax + 8], rdx
jmp 0x451250
mov qword [rdi + 0x10], rdx
mov qword [rdi + 0x18], rdx
add dword [rdi + 0x20], 1
cmp qword [rdx], 0
je 0x451325
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x60]
test eax, eax
je 0x451325
lea rax, [rsp + 0x100]
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x80], 9
mov dword [rsp + 0x78], r14d
mov dword [rsp + 0x70], r14d
mov eax, dword [rsp + 0xb4]
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0xb0]
mov dword [rsp + 0x60], eax
mov dword [rsp + 0x58], r14d
mov dword [rsp + 0x50], r14d
mov dword [rsp + 0x48], 1
mov dword [rsp + 0x40], 0xfff
mov dword [rsp + 0x38], 1
mov dword [rsp + 0x30], r14d
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 0xfff
mov r9d, 1
xor r8d, r8d
mov edx, r9d
mov rcx, rsi
call fcn.00407df0
test eax, eax
je 0x451325
mov r8d, 0x40
lea rdx, [rsp + 0xda0]
lea rcx, [rsp + 0x160]
call fcn.0049d9b0
test eax, eax
je 0x4513e1
jmp 0x4511a1
lea rcx, [rsp + 0x158]
call fcn.00490620
nop
lea rax, [0x004eabc0]
mov qword [rsp + 0x100], rax
mov rdi, qword [rsp + 0x108]
test rdi, rdi
je 0x4513ce
nop
test rdi, rdi
je 0x4513ce
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x451368
mov rax, qword [rdi + 8]
mov qword [rcx + 8], rax
jmp 0x451374
mov rax, qword [rdi + 8]
mov qword [rsp + 0x108], rax
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x451387
mov rax, qword [rdi + 0x10]
mov qword [rcx + 0x10], rax
jmp 0x451393
mov rax, qword [rdi + 0x10]
mov qword [rsp + 0x110], rax
mov rsi, qword [rdi + 8]
cmp dword [rsp + 0x11c], 0
je 0x4513b6
mov rcx, qword [rdi]
test rcx, rcx
je 0x4513b6
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov qword [rdi], r14
mov rcx, rdi
call fcn.004a6f90
mov rdi, rsi
add dword [rsp + 0x118], 0xffffffff
test rsi, rsi
jne 0x451350
lea rcx, [rsp + 0x120]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
jmp 0x45192c
mov ebp, dword [r15 + 0x10]
mov rdi, qword [r12 + 8]
cmp rdi, qword [r12 + 0x10]
jbe 0x4513f6
call fcn.004a7de0
mov qword [rsp + 0xa0], r12
mov qword [rsp + 0xa8], rdi
movaps xmm0, xmmword [rsp + 0xa0]
movdqa xmmword [rsp + 0xa0], xmm0
mov rsi, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0xa8]
nop
nop
nop
mov rbx, qword [r12 + 0x10]
cmp qword [r12 + 8], rbx
jbe 0x451441
call fcn.004a7de0
test rsi, rsi
je 0x45144b
cmp rsi, r12
je 0x451450
call fcn.004a7de0
cmp rdi, rbx
je 0x4515b9
test rsi, rsi
jne 0x451463
call fcn.004a7de0
cmp rdi, qword [rsi + 0x10]
jb 0x45146e
call fcn.004a7de0
mov rax, qword [rdi]
test rax, rax
je 0x45147a
cmp dword [rax], ebp
je 0x45148b
cmp rdi, qword [rsi + 0x10]
jb 0x451485
call fcn.004a7de0
add rdi, 8
jmp 0x451430
lea r14, [rax + 0x78]
test r14, r14
je 0x4515b6
mov rdi, qword [r14 + 8]
cmp rdi, qword [r14 + 0x10]
jbe 0x4514a7
call fcn.004a7de0
mov qword [rsp + 0xa0], r14
mov qword [rsp + 0xa8], rdi
movaps xmm0, xmmword [rsp + 0xa0]
movdqa xmmword [rsp + 0xa0], xmm0
mov r12, qword [rsp + 0xa0]
mov rbp, qword [rsp + 0xa8]
nop
nop
mov rdi, qword [r14 + 0x10]
cmp qword [r14 + 8], rdi
jbe 0x4514ef
call fcn.004a7de0
test r12, r12
je 0x4514f9
cmp r12, r14
je 0x4514fe
call fcn.004a7de0
cmp rbp, rdi
je 0x4515b1
test r12, r12
jne 0x451511
call fcn.004a7de0
cmp rbp, qword [r12 + 0x10]
jb 0x45151d
call fcn.004a7de0
mov rbx, qword [rbp]
test rbx, rbx
je 0x45159c
cmp dword [rbx + 0x68], 2
jne 0x45159c
lea rdi, str.Slider0
lea rsi, [rbx + 4]
mov ecx, 8
repe cmpsw word [rsi], word [rdi]
jne 0x451564
lea r8, str.Slider0_Zone
mov rdx, qword [r15]
mov rcx, r15
call fcn.0044fd80
mov edx, eax
mov rcx, qword [r15]
call fcn.0040a760
mov qword [rbx + 0x4f0], rax
lea rdi, str.Slider1
lea rsi, [rbx + 4]
mov ecx, 8
repe cmpsw word [rsi], word [rdi]
jne 0x45159c
lea r8, str.Slider1_Zone
mov rdx, qword [r15]
mov rcx, r15
call fcn.0044fd80
mov edx, eax
mov rcx, qword [r15]
call fcn.0040a760
mov qword [rbx + 0x4f0], rax
cmp rbp, qword [r12 + 0x10]
jb 0x4515a8
call fcn.004a7de0
add rbp, 8
jmp 0x4514e0
xor r14d, r14d
jmp 0x4515b9
xor r14d, r14d
cmp dword [r15 + 0x1c], 0
je 0x451876
cmp dword [r15 + 0x68], 5
jne 0x4515d2
cmp dword [r15 + 0x6c], 5
je 0x45164e
xor edx, edx
mov rcx, qword [0x00526530]
call qword [sym.imp.USER32.dll_ShowWindow]
mov rdi, qword [0x00526530]
mov edx, 0xffffffec
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetWindowLongW]
movsxd r8, eax
btr r8, 0x13
mov edx, 0xffffffec
mov rcx, rdi
call qword [sym.imp.USER32.dll_SetWindowLongPtrW]
mov r9d, 0x85
xor r8d, r8d
xor edx, edx
mov rcx, qword [0x00526530]
call qword [sym.imp.USER32.dll_RedrawWindow]
mov edx, 0xffffffec
mov r8d, 0x800a8
mov rcx, qword [0x00526530]
call qword [sym.imp.USER32.dll_SetWindowLongPtrW]
mov edx, 5
mov rcx, qword [0x00526530]
call qword [sym.imp.USER32.dll_ShowWindow]
xor r9d, r9d
lea r8, [rsp + 0xe0]
xor edx, edx
lea ecx, [rdx + 0x30]
call qword [sym.imp.USER32.dll_SystemParametersInfoW]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, str.DISPLAY
call qword [sym.imp.GDI32.dll_CreateDCW]
mov rsi, rax
mov edx, 8
mov rcx, rax
call qword [sym.imp.GDI32.dll_GetDeviceCaps]
mov dword [r15 + 0x68], eax
mov edx, 0xa
mov rcx, rsi
call qword [sym.imp.GDI32.dll_GetDeviceCaps]
mov dword [r15 + 0x6c], eax
cmp dword [r15 + 0x294], 0
je 0x4516bc
mov dword [r15 + 0x74], 0x3f800000
mov dword [r15 + 0x78], 0x3f800000
jmp 0x4516ee
cvtsi2sd xmm1, dword [r15 + 0x68]
cvtsi2sd xmm0, dword [r15 + 0x60]
divsd xmm1, xmm0
cvtsd2ss xmm1, xmm1
movss dword [r15 + 0x74], xmm1
cvtsi2sd xmm2, eax
cvtsi2sd xmm0, dword [r15 + 0x64]
divsd xmm2, xmm0
cvtsd2ss xmm1, xmm2
movss dword [r15 + 0x78], xmm1
mov eax, dword [r15 + 0x38]
sub eax, dword [r15 + 0x30]
cvtsi2ss xmm2, eax
mulss xmm2, dword [r15 + 0x74]
mov ecx, dword [rsp + 0xe8]
mov eax, ecx
mov edx, dword [rsp + 0xe0]
sub eax, edx
cvtsi2ss xmm1, eax
mulss xmm1, dword [r15 + 0x7c]
movaps xmm0, xmm2
movss xmm3, dword [0x004eec70]
mulss xmm0, xmm3
subss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [r15 + 0x20], eax
cmp eax, edx
jge 0x45173f
mov dword [r15 + 0x20], edx
cvttss2si eax, xmm2
sub ecx, eax
cmp dword [r15 + 0x20], ecx
jle 0x45174f
mov dword [r15 + 0x20], ecx
mov r8d, dword [r15 + 0x20]
lea edi, [rax + r8]
mov dword [r15 + 0x28], edi
mov eax, dword [r15 + 0x3c]
sub eax, dword [r15 + 0x34]
cvtsi2ss xmm2, eax
mulss xmm2, dword [r15 + 0x78]
mov ecx, dword [rsp + 0xec]
mov eax, ecx
mov edx, dword [rsp + 0xe4]
sub eax, edx
cvtsi2ss xmm1, eax
mulss xmm1, dword [r15 + 0x80]
movaps xmm0, xmm2
mulss xmm0, xmm3
subss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [r15 + 0x24], eax
cmp eax, edx
jge 0x4517a7
mov dword [r15 + 0x24], edx
cvttss2si eax, xmm2
sub ecx, eax
cmp dword [r15 + 0x24], ecx
jle 0x4517b7
mov dword [r15 + 0x24], ecx
mov r9d, dword [r15 + 0x24]
add eax, r9d
mov dword [r15 + 0x2c], eax
sub eax, r9d
sub edi, r8d
mov dword [rsp + 0x30], 0x40
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], edi
mov rdx, 0xffffffffffffffff
mov rcx, qword [0x00526530]
call qword [sym.imp.USER32.dll_SetWindowPos]
cmp dword [r15 + 0x294], 0
je 0x451836
mov r9d, dword [r15 + 0x2c]
sub r9d, dword [r15 + 0x24]
mov r8d, dword [r15 + 0x28]
sub r8d, dword [r15 + 0x20]
mov dword [rsp + 0x28], 0x12
mov dword [rsp + 0x20], 0x12
xor edx, edx
xor ecx, ecx
call qword [sym.imp.GDI32.dll_CreateRoundRectRgn]
mov r8d, 1
mov rdx, rax
mov rcx, qword [0x00526530]
call qword [sym.imp.USER32.dll_SetWindowRgn]
mov rcx, rsi
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rcx, qword [0x00526530]
call qword [sym.imp.USER32.dll_GetDC]
mov rdi, rax
mov qword [rsp + 0x20], r14
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
mov rcx, r15
call fcn.0044ded0
mov rdx, rdi
mov rcx, qword [0x00526530]
call qword [sym.imp.USER32.dll_ReleaseDC]
nop
lea rcx, [rsp + 0x158]
call fcn.00490620
nop
lea rax, [0x004eabc0]
mov qword [rsp + 0x100], rax
mov rdi, qword [rsp + 0x108]
test rdi, rdi
je 0x45191e
test rdi, rdi
je 0x45191e
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x4518b8
mov rax, qword [rdi + 8]
mov qword [rcx + 8], rax
jmp 0x4518c4
mov rax, qword [rdi + 8]
mov qword [rsp + 0x108], rax
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x4518d7
mov rax, qword [rdi + 0x10]
mov qword [rcx + 0x10], rax
jmp 0x4518e3
mov rax, qword [rdi + 0x10]
mov qword [rsp + 0x110], rax
mov rsi, qword [rdi + 8]
cmp dword [rsp + 0x11c], 0
je 0x451906
mov rcx, qword [rdi]
test rcx, rcx
je 0x451906
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov qword [rdi], r14
mov rcx, rdi
call fcn.004a6f90
mov rdi, rsi
add dword [rsp + 0x118], 0xffffffff
test rsi, rsi
jne 0x4518a0
lea rcx, [rsp + 0x120]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov rcx, qword [rsp + 0xe28]
xor rcx, rsp
call fcn.004a7100
mov rbx, qword [rsp + 0xe68]
mov rbp, qword [rsp + 0xe70]
mov rsi, qword [rsp + 0xe78]
mov rdi, qword [rsp + 0xe50]
mov r12, qword [rsp + 0xe48]
mov r13, qword [rsp + 0xe40]
mov r14, qword [rsp + 0xe38]
mov r15, qword [rsp + 0xe30]
add rsp, 0xe58
ret