Function at 0x1400508a0
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov dword [rax + 0x20], r9d
mov dword [rax + 0x18], r8d
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x238]
sub rsp, 0x2f8
cmp qword [rdx + 0x38], 0
movaps xmmword [rax - 0x58], xmm6
mov r14, rdx
mov r15, rcx
jne 0x1400508f3
lea rdx, str.f:checkpoints_tpdrv_buildersuperman1_syntpenhCZone.h
lea rcx, str.m_pManagedPointingDevice
mov r8d, 0x1a9
call fcn.1400eb260
mov rcx, qword [r14 + 0x38]
mov edx, 1
call fcn.14002f4e0
cmp qword [r14 + 0x38], 0
mov ebx, eax
jne 0x140050923
lea rdx, str.f:checkpoints_tpdrv_buildersuperman1_syntpenhCZone.h
lea rcx, str.m_pManagedPointingDevice
mov r8d, 0x1a9
call fcn.1400eb260
mov rcx, qword [r14 + 0x38]
mov edx, 0x10
call fcn.14002f4e0
mov r13d, dword [rbp + 0x268]
mov r12d, dword [rbp + 0x260]
movsd xmm6, qword [0x1401475f0]
xor esi, esi
mov edi, eax
lea ecx, [rsi + 0x11]
test ebx, ebx
jne 0x14005095a
test eax, eax
je 0x140050e5c
mov r15d, esi
mov dword [rbp - 0x5c], esi
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov ecx, 0x8000
test cx, ax
je 0x1400509a7
cmp qword [r14 + 0x38], rsi
jne 0x14005098f
lea rdx, str.f:checkpoints_tpdrv_buildersuperman1_syntpenhCZone.h
lea rcx, str.m_pManagedPointingDevice
mov r8d, 0x1a9
call fcn.1400eb260
mov rcx, qword [r14 + 0x38]
mov edx, 2
call fcn.14002f4e0
mov ebx, esi
mov edi, esi
mov r15d, eax
mov dword [rbp - 0x5c], eax
test r12d, r12d
mov r12, qword [rbp + 0x240]
je 0x1400509ea
mov eax, dword [r12 + 0x9c]
test eax, eax
jne 0x1400509ce
mov rcx, qword [r12 + 0x30]
mov edx, r13d
call fcn.1400cc890
jmp 0x1400509de
cmp eax, 6
jne 0x1400509de
mov rdx, r14
mov rcx, r12
call fcn.140058010
mov dword [r12 + 0x9c], reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov r11d, dword [rbp + 0x250]
mov r8d, dword [rbp + 0x258]
cmp dword [r12 + 0x94], esi
je 0x140050a3d
test r11d, r11d
je 0x140050a34
movd xmm1, r8d
movd xmm0, r11d
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movss xmm0, dword [r12 + 0x98]
cvtps2pd xmm1, xmm1
andps xmm1, xmm6
cvtpd2ps xmm2, xmm1
comiss xmm0, xmm2
ja 0x140050a3d
mov r9d, dword [0x1402954f0]
jmp 0x140050a5d
mov r9d, dword [0x1402954f0]
movzx eax, r11w
imul ax, r11w
movsx ecx, ax
test r11d, r11d
jle 0x140050a5a
add r9d, ecx
jmp 0x140050a5d
sub r9d, ecx
mov r10d, dword [0x1402954f4]
movzx eax, r8w
imul ax, r8w
movsx ecx, ax
test r8d, r8d
jle 0x140050a7a
add r10d, ecx
jmp 0x140050a7d
sub r10d, ecx
mov dword [0x1402954f4], r10d
test r15d, r15d
je 0x140050a94
mov r9d, esi
mov dword [0x1402954f0], esi
jmp 0x140050adb
mov eax, r10d
cdq
mov r8d, eax
mov eax, r9d
xor r8d, edx
sub r8d, edx
cdq
xor eax, edx
sub eax, edx
add eax, eax
cmp eax, r8d
cmovl r9d, esi
mov eax, r9d
mov dword [0x1402954f0], r9d
cdq
mov ecx, eax
lea eax, [r8 + r8]
mov r8d, dword [rbp + 0x258]
xor ecx, edx
sub ecx, edx
cmp eax, ecx
cmovl r10d, esi
mov dword [0x1402954f4], r10d
movsxd r12, ebx
movsxd r13, edi
mov ecx, 0xffff8001
nop word [rax + rax]
mov eax, r9d
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x64
jg 0x140050b0e
mov eax, r10d
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x64
jle 0x140050d89
mov eax, r10d
mov r15d, 1
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x64
jle 0x140050c6d
or ecx, 0xffffffff
test r8d, r8d
mov eax, 0x51eb851f
cmovg ecx, r15d
imul r10d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul ecx, edx
imul ebx, ecx, 0x78
cmp ebx, 0x7fff
jle 0x140050b56
mov ebx, 0x7fff
jmp 0x140050b60
mov eax, 0xffff8001
cmp ebx, eax
cmovl ebx, eax
test r12, r12
je 0x140050b96
mov rdi, qword [r14 + 0x40]
cmp qword [r14 + 0x38], rsi
jne 0x140050b88
lea rdx, str.f:checkpoints_tpdrv_buildersuperman1_syntpenhCZone.h
lea rcx, str.m_pManagedPointingDevice
mov r8d, 0x1a9
call fcn.1400eb260
mov r9d, 2
mov r8d, 0x3e8
jmp 0x140050bf9
test r13, r13
je 0x140050bcd
cmp qword [r14 + 0x38], rsi
jne 0x140050bba
lea rdx, str.f:checkpoints_tpdrv_buildersuperman1_syntpenhCZone.h
lea rcx, str.m_pManagedPointingDevice
mov r8d, 0x1a9
call fcn.1400eb260
test ebx, ebx
mov r8d, esi
setns r8b
xor r9d, r9d
inc r8d
xor edx, edx
jmp 0x140050bfc
mov rdi, qword [r14 + 0x40]
cmp qword [r14 + 0x38], rsi
jne 0x140050bf0
lea rdx, str.f:checkpoints_tpdrv_buildersuperman1_syntpenhCZone.h
lea rcx, str.m_pManagedPointingDevice
mov r8d, 0x1a9
call fcn.1400eb260
xor r9d, r9d
mov r8d, 0x3e9
mov rdx, rdi
mov rcx, qword [r14 + 0x38]
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], ebx
call fcn.14002f5c0
mov r10d, dword [0x1402954f4]
mov r8d, dword [rbp + 0x258]
mov r9d, dword [0x1402954f0]
mov r11d, dword [rbp + 0x250]
mov eax, 0x88888889
imul ebx
add edx, ebx
mov ebx, 0xffffffff
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov ecx, eax
mov eax, r15d
xor ecx, edx
sub ecx, edx
test r8d, r8d
cmovg eax, ebx
imul ecx, eax
imul eax, ecx, 0x64
mov ecx, 0xffff8001
add r10d, eax
mov dword [0x1402954f4], r10d
jmp 0x140050c70
or ebx, 0xffffffff
mov eax, r9d
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x64
jle 0x140050af0
test r11d, r11d
mov edi, r15d
mov eax, 0x51eb851f
cmovg edi, ebx
imul r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edi
imul ebx, edx, 0x78
cmp ebx, 0x7fff
jle 0x140050cb1
mov ebx, 0x7fff
jmp 0x140050cb6
cmp ebx, ecx
cmovl ebx, ecx
test r12, r12
je 0x140050cf9
mov r15, qword [r14 + 0x40]
cmp qword [r14 + 0x38], rsi
jne 0x140050cde
lea rdx, str.f:checkpoints_tpdrv_buildersuperman1_syntpenhCZone.h
lea rcx, str.m_pManagedPointingDevice
mov r8d, 0x1a9
call fcn.1400eb260
mov eax, 1
mov dword [rsp + 0x30], esi
mov r8d, 0x3e8
mov dword [rsp + 0x28], eax
mov r9d, eax
mov rdx, r15
jmp 0x140050d33
cmp qword [r14 + 0x38], rsi
jne 0x140050d18
lea rdx, str.f:checkpoints_tpdrv_buildersuperman1_syntpenhCZone.h
lea rcx, str.m_pManagedPointingDevice
mov r8d, 0x1a9
call fcn.1400eb260
test ebx, ebx
mov r8d, esi
mov dword [rsp + 0x30], esi
setns r8b
xor r9d, r9d
mov dword [rsp + 0x28], r15d
add r8d, 3
xor edx, edx
mov rcx, qword [r14 + 0x38]
mov dword [rsp + 0x20], ebx
call fcn.14002f5c0
mov r9d, dword [0x1402954f0]
mov r10d, dword [0x1402954f4]
mov r11d, dword [rbp + 0x250]
mov r8d, dword [rbp + 0x258]
mov eax, 0x88888889
imul ebx
add edx, ebx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
xor eax, edx
sub eax, edx
imul eax, edi
imul eax, eax, 0x64
add r9d, eax
mov dword [0x1402954f0], r9d
jmp 0x140050ae1
mov r15, qword [rbp + 0x240]
cmp dword [r15 + 0x9c], 0xc
jne 0x140050e22
cmp dword [rbp - 0x5c], esi
je 0x140050de8
mov rcx, qword [r15 + 0x30]
mov edx, 0xa
mov rcx, qword [rcx + 0xe8]
call qword [sym.imp.USER32.dll_KillTimer]
mov rax, qword [r15 + 0x20]
lea rcx, [0x140296290]
mov r8d, dword [rax + 0x54]
mov r9d, 6
mov rdx, r14
mov qword [rsp + 0x20], r14
call fcn.14000c5b0
mov dword [r15 + 0x9c], 6
jmp 0x140050e22
mov rbx, qword [0x140296048]
lea rcx, [0x140296290]
mov rdx, r14
call fcn.14000c950
mov rdx, r14
mov rcx, rbx
call qword [sym.imp.USER32.dll_KillTimer]
mov rcx, qword [0x140298800]
mov edx, 0x102
call fcn.1400c9cc0
mov dword [r15 + 0x9c], esi
cmp qword [r14 + 0x38], rsi
jne 0x140050e41
lea rdx, str.f:checkpoints_tpdrv_buildersuperman1_syntpenhCZone.h
lea rcx, str.m_pManagedPointingDevice
mov r8d, 0x1a9
call fcn.1400eb260
mov rcx, qword [r14 + 0x38]
call fcn.14002f500
test eax, eax
jne 0x140050e93
mov r12d, dword [rbp + 0x260]
mov r13d, dword [rbp + 0x268]
mov eax, dword [rbp + 0x258]
mov ebx, dword [rbp + 0x250]
mov rcx, qword [r15 + 0x10]
neg eax
mov edx, ebx
mov r8d, eax
mov dword [rbp + 0x258], eax
call fcn.1400c8e60
test eax, eax
je 0x140050e9d
test r12d, r12d
je 0x140050e93
mov rcx, qword [r15 + 0x30]
mov edx, r13d
call fcn.1400cc890
mov eax, 1
jmp 0x140052ea6
mov ecx, 1
mov word [rbp + 0x248], si
mov dword [rbp - 0x60], esi
mov dword [rbp - 0x5c], ecx
test r12d, r12d
je 0x140050ec0
mov rcx, qword [r15 + 0x30]
mov edx, r13d
call fcn.1400cc890
lea rcx, [rbp - 0x70]
call fcn.140091270
mov rcx, qword [r15 + 0x10]
lea rax, [rbp + 0x248]
lea r9, [rbp - 0x68]
lea r8, [rbp - 0x80]
lea rdx, [rbp - 0x70]
mov qword [rsp + 0x20], rax
call fcn.1400c6ee0
mov rdi, rax
test rax, rax
je 0x140050e93
mov rcx, r14
call fcn.140005b30
mov eax, dword [rax + 0x7e0]
cmp dword [r15 + 0x60], eax
je 0x140050f3d
mov rcx, r14
call fcn.140005b30
mov ecx, dword [rax + 0x7e0]
mov dword [r15 + 0x60], ecx
mov rcx, r14
call fcn.140005b30
cmp dword [rax + 0x7e0], 1
mov rax, qword [r15 + 0x20]
jne 0x140050f36
mov byte [rax + 0xc1], 1
jmp 0x140050f3d
mov byte [rax + 0xc1], sil
test byte [0x140296c9c], 4
jne 0x140050f5b
mov rcx, r14
call fcn.140005b30
cmp dword [rax + 0x7e0], 1
jne 0x140050feb
mov eax, 0x10
mov word [rbp + 0x248], ax
cmp qword [r15 + 0x58], rdi
jne 0x140050f77
mov rax, qword [r15 + 0x20]
cmp qword [rax + 0x18], r14
je 0x140050faf
mov rcx, qword [r15 + 0x20]
mov r8, r14
mov rdx, rdi
add rcx, 0x18
call fcn.1400d81a0
mov rcx, qword [r15 + 0x20]
mov qword [r15 + 0x58], rdi
mov rax, qword [rcx]
lea rbx, [rcx + 0x18]
call qword [rax + 0x70]
mov rcx, rbx
and eax, 8
mov edx, eax
call fcn.1400d9110
mov ebx, dword [rbp + 0x250]
mov rcx, r14
call fcn.140005b30
cmp dword [rax + 0x7e0], 1
je 0x140050fe0
mov rcx, qword [r15 + 0x10]
mov rdx, rdi
call fcn.1400c80e0
mov word [rbp + 0x248], ax
mov rax, qword [r15 + 0x20]
mov byte [rax + 0xc1], sil
jmp 0x140050feb
mov rax, qword [r15 + 0x20]
mov byte [rax + 0xc1], 1
movzx eax, word [rbp + 0x248]
cmp ax, 6
je 0x140050e93
movaps xmmword [rsp + 0x2d0], xmm7
cmp ax, 9
jne 0x1400510b3
mov rax, qword [rbp - 0x80]
mov rcx, qword [rbp - 0x68]
mov rbx, rsi
cmp rdi, rax
mov r15, rsi
cmove rax, rsi
cmp rdi, rcx
cmove rcx, rsi
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x68], rcx
test rax, rax
je 0x14005104b
mov rcx, rax
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, qword [rbp - 0x68]
mov rbx, rax
mov rax, qword [rbp - 0x80]
test rcx, rcx
je 0x140051061
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, qword [rbp - 0x68]
mov r15, rax
mov rax, qword [rbp - 0x80]
test rax, rax
je 0x140051071
cmp rbx, rdi
cmovne rax, rsi
mov qword [rbp - 0x80], rax
test rcx, rcx
je 0x14005107f
cmp r15, rdi
je 0x14005108a
mov qword [rbp - 0x68], rsi
mov r9d, esi
mov dword [rbp + 0x258], esi
jmp 0x140051091
mov r9d, dword [rbp + 0x258]
mov ebx, dword [rbp + 0x250]
mov r15, qword [rbp + 0x240]
test rax, rax
cmove ebx, esi
mov word [rbp + 0x248], si
mov dword [rbp + 0x250], ebx
jmp 0x140051116
cmp ax, 0x10
ja 0x14005110f
mov ecx, 0x12186
bt ecx, eax
jae 0x14005110f
xor edx, edx
lea r8, [rsp + 0x78]
xor r9d, r9d
lea ecx, [rdx + 0x68]
mov r12d, esi
mov dword [rbp - 0x60], esi
call qword [sym.imp.USER32.dll_SystemParametersInfoW]
test eax, eax
je 0x14005110f
mov eax, dword [rsp + 0x78]
mov dword [rbp - 0x5c], eax
cmp eax, 1
je 0x14005110f
xor r9d, r9d
mov r13d, 1
xor r8d, r8d
lea ecx, [r9 + 0x69]
mov edx, r13d
call qword [sym.imp.USER32.dll_SystemParametersInfoW]
test eax, eax
cmovne r12d, r13d
mov dword [rbp - 0x60], r12d
mov r9d, dword [rbp + 0x258]
cmp dword [r15 + 0x94], esi
je 0x14005114e
test ebx, ebx
je 0x140051168
movd xmm1, r9d
movd xmm0, ebx
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movss xmm0, dword [r15 + 0x98]
cvtps2pd xmm1, xmm1
andps xmm1, xmm6
cvtpd2ps xmm2, xmm1
comiss xmm0, xmm2
jbe 0x140051168
movzx eax, bx
imul ax, bx
cwde
test ebx, ebx
jle 0x140051162
add dword [0x1402954f8], eax
jmp 0x140051168
sub dword [0x1402954f8], eax
mov r15d, dword [rbp + 0x258]
movzx eax, r15w
imul ax, r15w
cwde
test r15d, r15d
jle 0x140051186
add dword [0x1402954fc], eax
jmp 0x14005118c
sub dword [0x1402954fc], eax
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov ecx, 0x8000
test cx, ax
je 0x1400511a9
mov dword [0x1402954f8], esi
jmp 0x1400511f0
mov r9d, dword [0x1402954fc]
mov ecx, dword [0x1402954f8]
mov eax, r9d
cdq
mov r8d, eax
mov eax, ecx
xor r8d, edx
sub r8d, edx
cdq
xor eax, edx
sub eax, edx
add eax, eax
cmp eax, r8d
cmovl ecx, esi
mov eax, ecx
mov dword [0x1402954f8], ecx
lea ecx, [r8 + r8]
cdq
xor eax, edx
sub eax, edx
cmp ecx, eax
cmovl r9d, esi
mov dword [0x1402954fc], r9d
lea rdx, [rbp - 0x30]
mov r8d, 0x100
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetClassNameW]
movzx eax, word [rbp + 0x248]
cmp ax, 1
je 0x140051243
cmp ax, 0x10
je 0x140051243
lea rdx, str.Chrome_WidgetWin_0
lea rcx, [rbp - 0x30]
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x140051243
mov r9d, esi
mov eax, ebx
cdq
xor eax, edx
sub eax, edx
cmp eax, 9
setg r9b
mov dword [rsp + 0x78], r9d
jmp 0x14005124a
mov r9d, esi
mov dword [rsp + 0x78], esi
mov r12d, esi
mov eax, r15d
mov r13d, 0x64
cdq
xor eax, edx
sub eax, edx
cmp eax, 9
mov eax, 0x640
setg r12b
mov dword [rsp + 0x70], r12d
test r9d, r9d
je 0x140051276
movzx ebx, ax
jmp 0x140051279
mov ebx, r13d
mov r11d, dword [0x140295504]
test r12d, r12d
je 0x1400512be
movzx ecx, ax
mov dword [rsp + 0x60], ecx
mov r8d, dword [0x1402954fc]
mov r10d, dword [0x140295500]
test r9d, r9d
jne 0x1400512eb
test r10d, r10d
jle 0x1400512eb
mov r9d, dword [0x1402954f8]
mov eax, r9d
cdq
xor eax, edx
sub eax, edx
cmp eax, 0xc8
cmovg r9d, esi
jmp 0x1400512f2
mov ecx, r13d
mov dword [rsp + 0x60], ecx
test r11d, r11d
jle 0x14005128c
mov r8d, dword [0x1402954fc]
mov eax, r8d
cdq
xor eax, edx
sub eax, edx
cmp eax, 0xc8
cmovg r8d, esi
mov dword [0x1402954fc], r8d
jmp 0x140051293
mov r9d, dword [0x1402954f8]
test r12d, r12d
je 0x140051312
mov eax, r8d
movsx ecx, cx
cdq
xor eax, edx
sub eax, edx
cmp eax, ecx
jle 0x140051312
mov dword [0x140295504], 5
jmp 0x140051321
test r11d, r11d
jle 0x140051321
dec r11d
mov dword [0x140295504], r11d
movsxd r11, dword [rsp + 0x78]
test r11d, r11d
je 0x140051346
mov eax, r9d
movsx ecx, bx
cdq
xor eax, edx
sub eax, edx
cmp eax, ecx
jle 0x140051346
mov dword [0x140295500], 5
jmp 0x140051355
test r10d, r10d
jle 0x140051355
dec r10d
mov dword [0x140295500], r10d
movzx eax, word [rbp + 0x248]
movss xmm7, dword [0x14014bc54]
movsxd r10, r12d
sub ax, 7
movsx r15d, bx
mov qword [rsp + 0x68], r11
cmp ax, 1
mov qword [rbp - 0x78], r10
mov dword [rsp + 0x74], r15d
cmovbe r9d, esi
mov dword [0x1402954f8], r9d
mov r9, qword [0x140298800]
jmp 0x1400513aa
mov r12d, dword [rsp + 0x70]
jmp case.0x140051560.4
mov r12d, dword [rsp + 0x70]
mov r10, qword [rbp - 0x78]
mov r11, qword [rsp + 0x68]
mov ebx, dword [rsp + 0x60]
nop
mov eax, dword [0x1402954f8]
cdq
xor eax, edx
sub eax, edx
cmp eax, r15d
jg 0x1400513d3
mov eax, r8d
movsx ecx, bx
cdq
xor eax, edx
sub eax, edx
cmp eax, ecx
jle 0x140052a20
movsx rax, word [rbp + 0x248]
mov edx, 1
cmp eax, 0xc
ja case.0x140051401.1
lea rcx, [0x140000000]
mov ecx, dword [rcx + rax*4 + 0x52ec4]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
cmp dword [0x1402954f8], r15d
jle 0x140051411
xor r8d, r8d
jmp 0x140051424
mov eax, r15d
neg eax
cmp dword [0x1402954f8], eax
jge 0x14005143c
mov rax, rdx
mov r8d, eax
mov rcx, rdi
call fcn.1400583d0
mov r9, qword [0x140298800]
mov r8d, dword [0x1402954fc]
mov edx, eax
movsx eax, bx
cmp r8d, eax
jle 0x140051451
xor r8d, r8d
mov rcx, rdi
xor edx, edx
jmp 0x140051516
neg eax
cmp r8d, eax
jge 0x14005152b
xor edx, edx
mov rcx, rdi
lea r8d, [rdx + 1]
jmp 0x140051516
cmp dword [0x1402954f8], r15d
jle 0x140051478
xor r8d, r8d
jmp 0x14005148b
mov eax, r15d
neg eax
cmp dword [0x1402954f8], eax
jge 0x1400514a4
mov rax, rdx
mov r8d, eax
mov rcx, qword [rbp - 0x80]
call fcn.1400583d0
mov r9, qword [0x140298800]
mov r8d, dword [0x1402954fc]
mov edx, eax
movsx eax, bx
cmp r8d, eax
jle 0x1400514b7
mov rcx, qword [rbp - 0x68]
xor r8d, r8d
xor edx, edx
jmp 0x140051516
neg eax
cmp r8d, eax
jge 0x14005152b
mov rcx, qword [rbp - 0x68]
xor edx, edx
lea r8d, [rdx + 1]
jmp 0x140051516
cmp dword [0x1402954f8], r15d
jle 0x1400514db
xor r8d, r8d
mov rcx, rdi
jmp 0x140051516
mov eax, r15d
neg eax
cmp dword [0x1402954f8], eax
jge case.0x140051401.1
mov rcx, rdi
jmp 0x140051510
cmp dword [0x1402954f8], r15d
jle 0x1400514ff
mov rcx, qword [rbp - 0x80]
xor r8d, r8d
jmp 0x140051516
mov eax, r15d
neg eax
cmp dword [0x1402954f8], eax
jge case.0x140051401.1
mov rcx, qword [rbp - 0x80]
mov rax, rdx
mov r8d, eax
call fcn.1400583d0
mov r9, qword [0x140298800]
mov r8d, dword [0x1402954fc]
mov edx, eax
test edx, edx
je 0x140052e67
mov r11, qword [rsp + 0x68]
movsxd r10, r12d
movsx rax, word [rbp + 0x248]
cmp eax, 0x10
ja case.0x140051560.4
mov rcx, rax
lea rax, [0x140000000]
mov edx, dword [rax + rcx*4 + 0x52ef8]
add rdx, rax
jmp rdx
movsx ebx, bx
cmp r8d, ebx
jg 0x140051573
mov eax, ebx
neg eax
cmp r8d, eax
jge 0x1400515e5
or r15d, 0xffffffff
mov eax, r8d
cdq
idiv ebx
test r10, r10
mov r12d, eax
mov eax, 0xfffffff0
cmovne r15d, eax
cmp dword [r9], esi
jne 0x1400515aa
mov rcx, r9
call fcn.1400c9fd0
mov rcx, qword [0x140298800]
mov edx, 0x102
call fcn.1400c9cc0
imul r15d, r12d
xor r8d, r8d
xor edx, edx
mov ecx, 0x800
mov r9d, r15d
mov dword [rsp + 0x20], esi
call fcn.1400c9a80
mov r8d, dword [0x1402954fc]
mov r15d, dword [rsp + 0x74]
imul ebx, r12d
mov r9, qword [0x140298800]
sub r8d, ebx
mov dword [0x1402954fc], r8d
cmp dword [0x1402954f8], r15d
jle 0x140051638
cmp dword [r9], esi
je 0x14005160c
mov rcx, r9
call fcn.1400c9fd0
mov rcx, qword [0x140298800]
mov edx, 0x10f
call fcn.1400c9cc0
mov r9d, 0x78
xor r8d, r8d
xor edx, edx
mov ecx, 0x1000
mov dword [rsp + 0x20], esi
call fcn.1400c9a80
sub dword [0x1402954f8], r15d
mov r8d, dword [0x1402954fc]
jmp 0x140052a02
movsxd r12, dword [rsp + 0x70]
mov ebx, dword [rsp + 0x60]
mov r11, qword [rsp + 0x68]
mov eax, r15d
mov r10, r12
neg eax
cmp dword [0x1402954f8], eax
jge case.0x140051560.4
cmp dword [r9], esi
je 0x140051678
mov rcx, r9
call fcn.1400c9fd0
mov rcx, qword [0x140298800]
mov edx, 0x10f
call fcn.1400c9cc0
mov r9d, 0xffffff88
xor r8d, r8d
xor edx, edx
mov ecx, 0x1000
mov dword [rsp + 0x20], esi
call fcn.1400c9a80
add dword [0x1402954f8], r15d
mov r8d, dword [0x1402954fc]
mov r9, qword [0x140298800]
jmp 0x14005139c
mov eax, dword [0x140296ca0]
test eax, eax
je 0x1400516bf
xorps xmm6, xmm6
cvtsi2ss xmm6, rax
jmp 0x1400516c2
movaps xmm6, xmm7
mov eax, r8d
movsx ebx, bx
divss xmm6, xmm7
cdq
xor eax, edx
sub eax, edx
cmp eax, ebx
jle 0x140051792
or r15d, 0xffffffff
mov eax, r8d
cdq
idiv ebx
test r10, r10
mov r12d, eax
mov eax, 0xfffffff0
cmovne r15d, eax
cmp dword [r9], esi
jne 0x140051710
mov rcx, r9
call fcn.1400c9fd0
mov rcx, qword [0x140298800]
mov edx, 0x102
call fcn.1400c9cc0
mov rax, qword [rbp + 0x240]
mov dword [rsp + 0x58], esi
mov dword [rsp + 0x50], esi
movd xmm1, r15d
movd xmm0, r12d
mov rcx, qword [rax + 0x20]
mov qword [rsp + 0x48], rsi
mov dword [rsp + 0x40], esi
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
mov eax, 1
mov dword [rsp + 0x38], 6
mulss xmm1, xmm0
mulss xmm1, xmm6
mov dword [rsp + 0x30], eax
add rcx, 0x18
mov rdx, r14
cvttss2si r9, xmm1
mov r8d, eax
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], esi
call fcn.1400d8380
mov r8d, dword [0x1402954fc]
mov r9, qword [0x140298800]
imul ebx, r12d
mov r15d, dword [rsp + 0x74]
sub r8d, ebx
mov dword [0x1402954fc], r8d
mov eax, dword [0x140296ca4]
test eax, eax
je 0x1400517a6
xorps xmm6, xmm6
cvtsi2ss xmm6, rax
jmp 0x1400517a9
movaps xmm6, xmm7
mov ecx, dword [0x1402954f8]
movsxd r12, dword [rsp + 0x70]
mov ebx, dword [rsp + 0x60]
divss xmm6, xmm7
mov r11, qword [rsp + 0x68]
mov eax, ecx
mov r10, r12
cdq
xor eax, edx
sub eax, edx
cmp eax, r15d
jle case.0x140051560.4
or ebx, 0xffffffff
mov eax, ecx
cdq
idiv r15d
cmp r11, 0
mov r15d, eax
mov eax, 0xfffffff0
cmovne ebx, eax
cmp dword [r9], esi
je 0x14005180a
mov rcx, r9
call fcn.1400c9fd0
mov rcx, qword [0x140298800]
mov edx, 0x10f
call fcn.1400c9cc0
mov dword [rsp + 0x50], esi
mov qword [rsp + 0x48], rsi
movd xmm1, ebx
mov rbx, qword [rbp + 0x240]
mov dword [rsp + 0x40], esi
mov eax, 1
movd xmm0, r15d
mov rcx, qword [rbx + 0x20]
cvtdq2ps xmm1, xmm1
mov dword [rsp + 0x38], 6
mov dword [rsp + 0x30], eax
mov r8d, eax
mov rdx, r14
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
mulss xmm1, xmm6
add rcx, 0x18
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], esi
cvttss2si r9, xmm1
call fcn.1400d88e0
mov eax, dword [rsp + 0x74]
mov r8d, dword [0x1402954fc]
imul eax, r15d
sub dword [0x1402954f8], eax
jmp 0x1400529fd
movsx ebx, bx
cmp r8d, ebx
jle 0x1400518f4
or r15d, 0xffffffff
mov eax, r8d
cdq
idiv ebx
test r10, r10
mov r12d, eax
mov eax, 0xfffffff0
cmovne r15d, eax
cmp dword [r9], esi
jne 0x1400518bf
mov rcx, r9
call fcn.1400c9fd0
mov rcx, qword [0x140298800]
mov edx, 0x102
call fcn.1400c9cc0
mov rax, qword [rbp + 0x240]
imul r15d, r12d
lea r9, [rbp - 0x70]
mov rcx, qword [rax + 0x10]
mov rdx, rdi
mov r8d, r15d
mov dword [rsp + 0x20], esi
call fcn.1400c8dc0
mov r8d, dword [0x1402954fc]
imul ebx, r12d
sub r8d, ebx
jmp 0x1400529f6
mov eax, ebx
neg eax
cmp r8d, eax
jge 0x1400513aa
or r15d, 0xffffffff
mov eax, r8d
cdq
idiv ebx
test r10, r10
mov r12d, eax
mov eax, 0xfffffff0
cmovne r15d, eax
cmp dword [r9], esi
jne 0x140051938
mov rcx, r9
call fcn.1400c9fd0
mov rcx, qword [0x140298800]
mov edx, 0x102
call fcn.1400c9cc0
mov rax, qword [rbp + 0x240]
imul r15d, r12d
lea r9, [rbp - 0x70]
mov rcx, qword [rax + 0x10]
mov rdx, rdi
mov r8d, r15d
mov dword [rsp + 0x20], esi
call fcn.1400c8dc0
mov r8d, dword [0x1402954fc]
imul ebx, r12d
sub r8d, ebx
jmp 0x1400529f6
movsx ebx, bx
cmp r8d, ebx
jle 0x1400519e1
or r15d, 0xffffffff
mov eax, r8d
cdq
idiv ebx
test r10, r10
mov r12d, eax
mov eax, 0xfffffff0
cmovne r15d, eax
cmp dword [r9], esi
jne 0x1400519ac
mov rcx, r9
call fcn.1400c9fd0
mov rcx, qword [0x140298800]
mov edx, 0x102
call fcn.1400c9cc0
mov rax, qword [rbp + 0x240]
imul r15d, r12d
lea r9, [rbp - 0x70]
mov rcx, qword [rax + 0x10]
mov rdx, rdi
mov r8d, r15d
mov dword [rsp + 0x20], esi
call fcn.1400c8e10
mov r8d, dword [0x1402954fc]
imul ebx, r12d
sub r8d, ebx
jmp 0x1400529f6
mov eax, ebx
neg eax
cmp r8d, eax
jge 0x1400513aa
or r15d, 0xffffffff
mov eax, r8d
cdq
idiv ebx
test r10, r10
mov r12d, eax
mov eax, 0xfffffff0
cmovne r15d, eax
cmp dword [r9], esi
jne 0x140051a25
mov rcx, r9
call fcn.1400c9fd0
mov rcx, qword [0x140298800]
mov edx, 0x102
call fcn.1400c9cc0
mov rax, qword [rbp + 0x240]
imul r15d, r12d
lea r9, [rbp - 0x70]
mov rcx, qword [rax + 0x10]
mov rdx, rdi
mov r8d, r15d
mov dword [rsp + 0x20], esi
call fcn.1400c8e10
mov r8d, dword [0x1402954fc]
imul ebx, r12d
sub r8d, ebx
jmp 0x1400529f6
cmp dword [0x1402954f8], r15d
jle 0x140051abd
cmp dword [r9], esi
je 0x140051a81
mov rcx, r9
call fcn.1400c9fd0
mov rcx, qword [0x140298800]
mov edx, 0x10f
call fcn.1400c9cc0
lea rcx, [0x140295650]
mov r9d, 0x27
mov r8d, 0x100
mov rdx, rdi
mov qword [rsp + 0x20], 0x14d0001
call fcn.140097860
sub dword [0x1402954f8], r15d
mov qword [rsp + 0x20], 0x14d0001
mov r9d, 0x27
jmp 0x140051b22
mov eax, r15d
neg eax
cmp dword [0x1402954f8], eax
jge 0x140051b45
cmp dword [r9], esi
je 0x140051ae8
mov rcx, r9
call fcn.1400c9fd0
mov rcx, qword [0x140298800]
mov edx, 0x10f
call fcn.1400c9cc0
lea rcx, [0x140295650]
mov r9d, 0x25
mov r8d, 0x100
mov rdx, rdi
mov qword [rsp + 0x20], 0x14b0001
call fcn.140097860
add dword [0x1402954f8], r15d
mov qword [rsp + 0x20], 0x14b0001
mov r9d, 0x25
lea rcx, [0x140295650]
mov r8d, 0x101
mov rdx, rdi
call fcn.140097760
mov r9, qword [0x140298800]
mov r8d, dword [0x1402954fc]
movsx ebx, bx
cmp r8d, ebx
jle 0x140051bba
or r15d, 0xffffffff
mov eax, r8d
cdq
idiv ebx
cmp qword [rbp - 0x78], rsi
mov r12d, eax
mov eax, 0xfffffff0
cmovne r15d, eax
cmp dword [r9], esi
jne 0x140051b85
mov rcx, r9
call fcn.1400c9fd0
mov rcx, qword [0x140298800]
mov edx, 0x102
call fcn.1400c9cc0
mov rax, qword [rbp + 0x240]
imul r15d, r12d
lea r9, [rbp - 0x70]
mov rcx, qword [rax + 0x10]
mov rdx, rdi
mov r8d, r15d
mov dword [rsp + 0x20], esi
call fcn.1400c8dc0
mov r8d, dword [0x1402954fc]
imul ebx, r12d
sub r8d, ebx
jmp 0x1400529f6
mov r11, qword [rsp + 0x68]
mov eax, ebx
movsxd r10, r12d
neg eax
cmp r8d, eax
jge 0x1400513aa
or r15d, 0xffffffff
mov eax, r8d
cdq
idiv ebx
cmp qword [rbp - 0x78], rsi
mov r12d, eax
mov eax, 0xfffffff0
cmovne r15d, eax
cmp dword [r9], esi
jne 0x140051c07
mov rcx, r9
call fcn.1400c9fd0
mov rcx, qword [0x140298800]
mov edx, 0x102
call fcn.1400c9cc0
mov rax, qword [rbp + 0x240]
imul r15d, r12d
lea r9, [rbp - 0x70]
mov rcx, qword [rax + 0x10]
mov rdx, rdi
mov r8d, r15d
mov dword [rsp + 0x20], esi
call fcn.1400c8dc0
mov r8d, dword [0x1402954fc]
imul ebx, r12d
sub r8d, ebx
jmp 0x1400529f6
cmp dword [0x1402954f8], r15d
jle 0x140051c9d
cmp dword [r9], esi
je 0x140051c63
mov rcx, r9
call fcn.1400c9fd0
mov rcx, qword [0x140298800]
mov edx, 0x10f
call fcn.1400c9cc0
cmp dword [rsp + 0x78], esi
mov eax, 3
mov r9d, 1
cmovne r9d, eax
mov rax, qword [rbp - 0x80]
lea rcx, [0x140295650]
mov r8d, 0x114
mov rdx, rdi
mov qword [rsp + 0x20], rax
call fcn.140097860
sub dword [0x1402954f8], r15d
jmp 0x140051cfa
mov eax, r15d
neg eax
cmp dword [0x1402954f8], eax
jge 0x140051d08
cmp dword [r9], esi
je 0x140051cc8
mov rcx, r9
call fcn.1400c9fd0
mov rcx, qword [0x140298800]
mov edx, 0x10f
call fcn.1400c9cc0
mov eax, dword [rsp + 0x78]
lea rcx, [0x140295650]
mov r8d, 0x114
neg eax
mov rax, qword [rbp - 0x80]
mov rdx, rdi
sbb r9, r9
mov qword [rsp + 0x20], rax
and r9d, 2
call fcn.140097860
add dword [0x1402954f8], r15d
mov r9, qword [0x140298800]
mov r8d, dword [0x1402954fc]
movsx ebx, bx
cmp r8d, ebx
jle 0x140051d87
cmp dword [r9], esi
jne 0x140051d2e
mov rcx, r9
call fcn.1400c9fd0
mov rcx, qword [0x140298800]
mov edx, 0x102
call fcn.1400c9cc0
mov eax, 3
mov r9d, 1
test r12d, r12d
cmovne r9d, eax
mov rax, qword [rbp - 0x68]
mov r8d, 0x115
mov qword [rsp + 0x20], rax
lea rcx, [0x140295650]
mov rdx, rdi
call fcn.140097860
mov r8d, dword [0x1402954fc]
mov r9, qword [0x140298800]
mov r11, qword [rsp + 0x68]
sub r8d, ebx
mov ebx, dword [rsp + 0x60]
movsxd r10, r12d
mov dword [0x1402954fc], r8d
jmp case.0x140051560.4
mov r11, qword [rsp + 0x68]
mov eax, ebx
movsxd r10, r12d
neg eax
cmp r8d, eax
jge 0x1400513aa
cmp dword [r9], esi
jne 0x140051dba
mov rcx, r9
call fcn.1400c9fd0
mov rcx, qword [0x140298800]
mov edx, 0x102
call fcn.1400c9cc0
mov eax, r12d
mov r8d, 0x115
neg eax
mov rax, qword [rbp - 0x68]
sbb r9, r9
mov qword [rsp + 0x20], rax
and r9d, 2
lea rcx, [0x140295650]
mov rdx, rdi
call fcn.140097860
mov r8d, dword [0x1402954fc]
add r8d, ebx
mov dword [0x1402954fc], r8d
nop word [rax + rax]
mov ebx, dword [rsp + 0x60]
mov r9, qword [0x140298800]
mov r11, qword [rsp + 0x68]
movsxd r10, r12d
jmp case.0x140051560.4
cmp dword [0x1402954f8], r15d
jle 0x140051e79
cmp dword [r9], esi
je 0x140051e3f
mov rcx, r9
call fcn.1400c9fd0
mov rcx, qword [0x140298800]
mov edx, 0x10f
call fcn.1400c9cc0
cmp dword [rsp + 0x78], esi
mov eax, 3
mov r9d, 1
cmovne r9d, eax
mov rax, qword [rbp - 0x80]
lea rcx, [0x140295650]
mov r8d, 0x114
mov rdx, rdi
mov qword [rsp + 0x20], rax
call fcn.140097760
sub dword [0x1402954f8], r15d
jmp 0x140051ed6
mov eax, r15d
neg eax
cmp dword [0x1402954f8], eax
jge 0x140051ee4
cmp dword [r9], esi
je 0x140051ea4
mov rcx, r9
call fcn.1400c9fd0
mov rcx, qword [0x140298800]
mov edx, 0x10f
call fcn.1400c9cc0
mov eax, dword [rsp + 0x78]
lea rcx, [0x140295650]
mov r8d, 0x114
neg eax
mov rax, qword [rbp - 0x80]
mov rdx, rdi
sbb r9, r9
mov qword [rsp + 0x20], rax
and r9d, 2
call fcn.140097760
add dword [0x1402954f8], r15d
mov r9, qword [0x140298800]
mov r8d, dword [0x1402954fc]
movsx ebx, bx
cmp r8d, ebx
jle 0x140051f49
cmp dword [r9], esi
jne 0x140051f0a
mov rcx, r9
call fcn.1400c9fd0
mov rcx, qword [0x140298800]
mov edx, 0x102
call fcn.1400c9cc0
mov eax, 3
mov r9d, 1
test r12d, r12d
cmovne r9d, eax
mov rax, qword [rbp - 0x68]
lea rcx, [0x140295650]
mov r8d, 0x115
mov rdx, rdi
mov qword [rsp + 0x20], rax
call fcn.140097760
mov r8d, dword [0x1402954fc]
sub r8d, ebx
jmp 0x140051dee
mov r11, qword [rsp + 0x68]
mov eax, ebx
movsxd r10, r12d
neg eax
cmp r8d, eax
jge 0x1400513aa
cmp dword [r9], esi
jne 0x140051f7c
mov rcx, r9
call fcn.1400c9fd0
mov rcx, qword [0x140298800]
mov edx, 0x102
call fcn.1400c9cc0
mov eax, r12d
lea rcx, [0x140295650]
mov r8d, 0x115
neg eax
mov rax, qword [rbp - 0x68]
mov rdx, rdi
sbb r9, r9
mov qword [rsp + 0x20], rax
and r9d, 2
call fcn.140097760
jmp 0x140051de4
mov rcx, qword [rbp - 0x80]
call qword [sym.imp.USER32.dll_GetParent]
mov ecx, dword [0x1402954f8]
mov rbx, rax
cmp ecx, r15d
jle 0x14005201e
mov rcx, qword [0x140298800]
cmp dword [rcx], esi
je 0x140051fe4
call fcn.1400c9fd0
mov rcx, qword [0x140298800]
mov edx, 0x10f
call fcn.1400c9cc0
cmp dword [rsp + 0x78], esi
mov eax, 3
mov r9d, 1
cmovne r9d, eax
mov rax, qword [rbp - 0x80]
lea rcx, [0x140295650]
mov r8d, 0x114
mov rdx, rbx
mov qword [rsp + 0x20], rax
call fcn.140097860
sub dword [0x1402954f8], r15d
jmp 0x14005207a
mov eax, r15d
neg eax
cmp ecx, eax
jge 0x14005207a
mov rcx, qword [0x140298800]
cmp dword [rcx], esi
je 0x140052048
call fcn.1400c9fd0
mov rcx, qword [0x140298800]
mov edx, 0x10f
call fcn.1400c9cc0
mov eax, dword [rsp + 0x78]
lea rcx, [0x140295650]
mov r8d, 0x114
neg eax
mov rax, qword [rbp - 0x80]
mov rdx, rbx
sbb r9, r9
mov qword [rsp + 0x20], rax
and r9d, 2
call fcn.140097860
add dword [0x1402954f8], r15d
mov rcx, qword [rbp - 0x68]
call qword [sym.imp.USER32.dll_GetParent]
mov ecx, dword [rsp + 0x60]
mov r8d, dword [0x1402954fc]
movsx ebx, cx
mov rdi, rax
cmp r8d, ebx
jle 0x1400520ae
mov rcx, qword [0x140298800]
cmp dword [rcx], esi
jne 0x140051d2e
jmp 0x140051d18
mov eax, ebx
neg eax
cmp r8d, eax
jge 0x140051e00
mov rcx, qword [0x140298800]
cmp dword [rcx], esi
jne 0x140051dba
jmp 0x140051da4
mov rcx, qword [rbp - 0x80]
call qword [sym.imp.USER32.dll_GetParent]
mov ecx, dword [0x1402954f8]
mov rbx, rax
cmp ecx, r15d
jle 0x140052142
mov rcx, qword [0x140298800]
cmp dword [rcx], esi
je 0x140052108
call fcn.1400c9fd0
mov rcx, qword [0x140298800]
mov edx, 0x10f
call fcn.1400c9cc0
cmp dword [rsp + 0x78], esi
mov eax, 3
mov r9d, 1
cmovne r9d, eax
mov rax, qword [rbp - 0x80]
lea rcx, [0x140295650]
mov r8d, 0x114
mov rdx, rbx
mov qword [rsp + 0x20], rax
call fcn.140097760
sub dword [0x1402954f8], r15d
jmp 0x14005219e
mov eax, r15d
neg eax
cmp ecx, eax
jge 0x14005219e
mov rcx, qword [0x140298800]
cmp dword [rcx], esi
je 0x14005216c
call fcn.1400c9fd0
mov rcx, qword [0x140298800]
mov edx, 0x10f
call fcn.1400c9cc0
mov eax, dword [rsp + 0x78]
lea rcx, [0x140295650]
mov r8d, 0x114
neg eax
mov rax, qword [rbp - 0x80]
mov rdx, rbx
sbb r9, r9
mov qword [rsp + 0x20], rax
and r9d, 2
call fcn.140097760
add dword [0x1402954f8], r15d
mov rcx, qword [rbp - 0x68]
call qword [sym.imp.USER32.dll_GetParent]
mov ecx, dword [rsp + 0x60]
mov r8d, dword [0x1402954fc]
movsx ebx, cx
mov rdi, rax
cmp r8d, ebx
jle 0x140052214
mov rcx, qword [0x140298800]
cmp dword [rcx], esi
jne 0x1400521df
call fcn.1400c9fd0
mov rcx, qword [0x140298800]
mov edx, 0x102
call fcn.1400c9cc0
test r12d, r12d
mov eax, 3
mov r9d, 1
cmovne r9d, eax
mov rax, qword [rbp - 0x68]
lea rcx, [0x140295650]
mov r8d, 0x115
mov rdx, rdi
mov qword [rsp + 0x20], rax
call fcn.140097760
jmp 0x140051d5e
mov eax, ebx
neg eax
cmp r8d, eax
jge 0x140051e00
mov rcx, qword [0x140298800]
cmp dword [rcx], esi
jne 0x140051f7c
jmp 0x140051f66
cmp dword [0x1402954f8], r15d
jle 0x140052289
cmp dword [r9], esi
je 0x14005225c
mov rcx, r9
call fcn.1400c9fd0
mov rcx, qword [0x140298800]
mov edx, 0x10f
call fcn.1400c9cc0
lea rcx, [0x140295650]
mov r9d, 0x27
mov r8d, 0x100
mov rdx, rdi
mov qword [rsp + 0x20], 0x14d0001
call fcn.140097860
sub dword [0x1402954f8], r15d
jmp 0x1400522df
mov eax, r15d
neg eax
cmp dword [0x1402954f8], eax
jge 0x1400522ed
cmp dword [r9], esi
je 0x1400522b4
mov rcx, r9
call fcn.1400c9fd0
mov rcx, qword [0x140298800]
mov edx, 0x10f
call fcn.1400c9cc0
lea rcx, [0x140295650]
mov r9d, 0x25
mov r8d, 0x100
mov rdx, rdi
mov qword [rsp + 0x20], 0x14b0001
call fcn.140097860
add dword [0x1402954f8], r15d
mov r9, qword [0x140298800]
mov r8d, dword [0x1402954fc]
movsx ebx, bx
cmp r8d, ebx
jle 0x14005232d
cmp dword [r9], esi
jne 0x140052313
mov rcx, r9
call fcn.1400c9fd0
mov rcx, qword [0x140298800]
mov edx, 0x102
call fcn.1400c9cc0
mov qword [rsp + 0x20], 0x1500001
mov r9d, 0x28
mov r8d, 0x100
jmp 0x140051d4f
mov r11, qword [rsp + 0x68]
mov eax, ebx
movsxd r10, r12d
neg eax
cmp r8d, eax
jge 0x1400513aa
cmp dword [r9], esi
jne 0x140052360
mov rcx, r9
call fcn.1400c9fd0
mov rcx, qword [0x140298800]
mov edx, 0x102
call fcn.1400c9cc0
mov qword [rsp + 0x20], 0x1480001
mov r9d, 0x26
mov r8d, 0x100
jmp 0x140051dd5
mov eax, dword [0x1402954f8]
mov ecx, 1
mov dword [rbp - 0x48], esi
cdq
mov dword [rbp - 0x58], ecx
mov qword [rbp - 0x40], rsi
xor eax, edx
sub eax, edx
cmp eax, r15d
jle 0x1400522ed
lea r9d, [rcx + 0x27]
mov edx, ecx
lea r8, [rbp - 0x58]
lea rcx, [0x140295650]
mov qword [rbp - 0x50], 0x11
call fcn.140097a90
cmp dword [0x1402954f8], r15d
mov ecx, 0x27
mov eax, 0x25
lea r9d, [rcx + 1]
lea edx, [rcx - 0x26]
cmovg ax, cx
lea r8, [rbp - 0x58]
lea rcx, [0x140295650]
mov word [rbp - 0x4e], si
mov dword [rbp - 0x4c], esi
mov word [rbp - 0x50], ax
call fcn.140097a90
cmp dword [0x1402954f8], r15d
mov ecx, 0x27
mov eax, 0x25
lea r9d, [rcx + 1]
lea edx, [rcx - 0x26]
cmovg ax, cx
lea r8, [rbp - 0x58]
lea rcx, [0x140295650]
mov word [rbp - 0x4e], si
mov dword [rbp - 0x4c], 2
mov word [rbp - 0x50], ax
call fcn.140097a90
mov r9d, 0x28
lea r8, [rbp - 0x58]
lea rcx, [0x140295650]
lea edx, [r9 - 0x27]
mov dword [rbp - 0x50], 0x11
mov dword [rbp - 0x4c], 2
call fcn.140097a90
cmp dword [0x1402954f8], r15d
mov r9, qword [0x140298800]
jle 0x140052496
cmp dword [r9], esi
je 0x14005248a
mov rcx, r9
call fcn.1400c9fd0
mov rcx, qword [0x140298800]
mov edx, 0x10f
call fcn.1400c9cc0
mov r9, qword [0x140298800]
sub dword [0x1402954f8], r15d
jmp 0x1400522e6
mov eax, r15d
neg eax
cmp dword [0x1402954f8], eax
jge 0x1400522e6
cmp dword [r9], esi
je 0x1400524cc
mov rcx, r9
call fcn.1400c9fd0
mov rcx, qword [0x140298800]
mov edx, 0x10f
call fcn.1400c9cc0
mov r9, qword [0x140298800]
add dword [0x1402954f8], r15d
jmp 0x1400522e6
cmp dword [0x1402954f8], r15d
jle 0x140052539
cmp dword [r9], esi
je 0x1400524ff
mov rcx, r9
call fcn.1400c9fd0
mov rcx, qword [0x140298800]
mov edx, 0x10f
call fcn.1400c9cc0
cmp dword [rsp + 0x78], esi
mov eax, 3
mov r9d, 1
cmovne r9d, eax
mov rax, qword [rbp - 0x80]
lea rcx, [0x140295650]
mov r8d, 0x114
mov rdx, rdi
mov qword [rsp + 0x20], rax
call fcn.140097860
sub dword [0x1402954f8], r15d
jmp 0x140052596
mov eax, r15d
neg eax
cmp dword [0x1402954f8], eax
jge 0x1400525a4
cmp dword [r9], esi
je 0x140052564
mov rcx, r9
call fcn.1400c9fd0
mov rcx, qword [0x140298800]
mov edx, 0x10f
call fcn.1400c9cc0
mov eax, dword [rsp + 0x78]
lea rcx, [0x140295650]
mov r8d, 0x114
neg eax
mov rax, qword [rbp - 0x80]
mov rdx, rdi
sbb r9, r9
mov qword [rsp + 0x20], rax
and r9d, 2
call fcn.140097860
add dword [0x1402954f8], r15d
mov r9, qword [0x140298800]
mov r8d, dword [0x1402954fc]
movsx r12d, bx
cmp r8d, r12d
jle 0x14005261e
or ebx, 0xffffffff
mov eax, r8d
cdq
idiv r12d
cmp qword [rbp - 0x78], rsi
mov r15d, eax
mov eax, 0xfffffff0
cmovne ebx, eax
cmp dword [r9], esi
jne 0x1400525e4
mov rcx, r9
call fcn.1400c9fd0
mov rcx, qword [0x140298800]
mov edx, 0x102
call fcn.1400c9cc0
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
lea r9, [rbp - 0x70]
mov rdx, rdi
imul ebx, r15d
test ax, ax
mov rax, qword [rbp + 0x240]
mov r8d, ebx
mov rcx, qword [rax + 0x10]
jns 0x14005269f
mov dword [rsp + 0x20], 8
jmp 0x1400526a3
mov r10, qword [rbp - 0x78]
mov r11, qword [rsp + 0x68]
mov eax, r12d
neg eax
cmp r8d, eax
jge 0x140051395
or ebx, 0xffffffff
mov eax, r8d
cdq
idiv r12d
cmp r10, 0
mov r15d, eax
mov eax, 0xfffffff0
cmovne ebx, eax
cmp dword [r9], esi
jne 0x14005266c
mov rcx, r9
call fcn.1400c9fd0
mov rcx, qword [0x140298800]
mov edx, 0x102
call fcn.1400c9cc0
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
lea r9, [rbp - 0x70]
mov rdx, rdi
imul ebx, r15d
test ax, ax
mov rax, qword [rbp + 0x240]
mov r8d, ebx
mov rcx, qword [rax + 0x10]
jns 0x14005269f
mov dword [rsp + 0x20], 8
jmp 0x1400526a3
mov dword [rsp + 0x20], esi
call fcn.1400c8dc0
mov r8d, dword [0x1402954fc]
imul r15d, r12d
sub r8d, r15d
jmp 0x1400529f6
mov rcx, qword [rbp - 0x80]
call qword [sym.imp.USER32.dll_GetParent]
cmp dword [0x1402954f8], r15d
mov rbx, rax
jle 0x14005272c
mov rcx, qword [0x140298800]
cmp dword [rcx], esi
je 0x1400526f2
call fcn.1400c9fd0
mov rcx, qword [0x140298800]
mov edx, 0x10f
call fcn.1400c9cc0
cmp dword [rsp + 0x78], esi
mov eax, 3
mov r9d, 1
cmovne r9d, eax
mov rax, qword [rbp - 0x80]
lea rcx, [0x140295650]
mov r8d, 0x114
mov rdx, rbx
mov qword [rsp + 0x20], rax
call fcn.140097760
sub dword [0x1402954f8], r15d
jmp 0x14005278c
mov eax, r15d
neg eax
cmp dword [0x1402954f8], eax
jge 0x14005278c
mov rcx, qword [0x140298800]
cmp dword [rcx], esi
je 0x14005275a
call fcn.1400c9fd0
mov rcx, qword [0x140298800]
mov edx, 0x10f
call fcn.1400c9cc0
mov eax, dword [rsp + 0x78]
lea rcx, [0x140295650]
mov r8d, 0x114
neg eax
mov rax, qword [rbp - 0x80]
mov rdx, rbx
sbb r9, r9
mov qword [rsp + 0x20], rax
and r9d, 2
call fcn.140097760
add dword [0x1402954f8], r15d
mov ebx, dword [rsp + 0x60]
mov r8d, dword [0x1402954fc]
movsx r12d, bx
cmp r8d, r12d
jg 0x1400527ae
mov eax, r12d
neg eax
cmp r8d, eax
jge 0x140052a06
mov rcx, qword [0x140298800]
or ebx, 0xffffffff
mov eax, r8d
cdq
idiv r12d
cmp qword [rbp - 0x78], rsi
mov r15d, eax
mov eax, 0xfffffff0
cmovne ebx, eax
cmp dword [rcx], esi
jne 0x1400527e8
call fcn.1400c9fd0
mov rcx, qword [0x140298800]
mov edx, 0x102
call fcn.1400c9cc0
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
lea r9, [rbp - 0x70]
mov rdx, rdi
imul ebx, r15d
test ax, ax
mov rax, qword [rbp + 0x240]
mov r8d, ebx
mov rcx, qword [rax + 0x10]
jns 0x14005281b
mov dword [rsp + 0x20], 8
jmp 0x14005281f
mov dword [rsp + 0x20], esi
call fcn.1400c8e10
mov r8d, dword [0x1402954fc]
imul r15d, r12d
sub r8d, r15d
jmp 0x1400529f6
mov ecx, dword [0x1402954f8]
cmp ecx, r15d
jg 0x14005284f
mov eax, r15d
neg eax
cmp ecx, eax
jge 0x1400528e9
mov eax, dword [0x1402954f8]
mov ecx, 1
cdq
idiv r15d
test r11, r11
mov edx, 0x10
cmovne ecx, edx
mov edx, 0xffffffff
mov ebx, edx
mov r15d, edx
imul cx, ax
imul ax, cx, 0x78
movzx ecx, ax
shl ecx, 0x10
mov eax, ecx
cmp rax, rdx
movzx eax, word [rbp - 0x70]
cmovbe ebx, ecx
movzx ecx, word [rbp - 0x6c]
shl ecx, 0x10
or rcx, rax
cmp rcx, rdx
cmovbe r15d, ecx
cmp dword [r9], esi
je 0x1400528bc
mov rcx, r9
call fcn.1400c9fd0
mov rcx, qword [0x140298800]
mov edx, 0x10f
call fcn.1400c9cc0
mov r9d, r15d
mov r8d, ebx
mov edx, 0x20e
mov rcx, rdi
call qword [sym.imp.USER32.dll_SendMessageW]
mov r8d, dword [0x1402954fc]
mov r9, qword [0x140298800]
mov r15d, dword [rsp + 0x74]
mov dword [0x1402954f8], esi
mov ecx, dword [rsp + 0x60]
movsx ebx, cx
cmp r8d, ebx
jle 0x140052979
or r15d, 0xffffffff
mov eax, r8d
cdq
idiv ebx
cmp qword [rbp - 0x78], rsi
mov r12d, eax
mov eax, 0xfffffff0
cmovne r15d, eax
cmp dword [r9], esi
jne 0x140052931
mov rcx, r9
call fcn.1400c9fd0
mov rcx, qword [0x140298800]
mov edx, 0x102
call fcn.1400c9cc0
mov rax, qword [rbp + 0x240]
imul r15d, r12d
lea r9, [rbp - 0x70]
mov rcx, qword [rax + 0x10]
mov rdx, rdi
mov r8d, r15d
mov dword [rsp + 0x20], esi
call fcn.1400c8dc0
mov r8d, dword [0x1402954fc]
imul r12d, ebx
mov r9, qword [0x140298800]
mov r15d, dword [rsp + 0x74]
sub r8d, r12d
mov dword [0x1402954fc], r8d
jmp 0x14005139c
mov r11, qword [rsp + 0x68]
mov eax, ebx
movsxd r10, r12d
neg eax
cmp r8d, eax
jge 0x1400513aa
or r15d, 0xffffffff
mov eax, r8d
cdq
idiv ebx
cmp qword [rbp - 0x78], rsi
mov r12d, eax
mov eax, 0xfffffff0
cmovne r15d, eax
cmp dword [r9], esi
jne 0x1400529c6
mov rcx, r9
call fcn.1400c9fd0
mov rcx, qword [0x140298800]
mov edx, 0x102
call fcn.1400c9cc0
mov rax, qword [rbp + 0x240]
imul r15d, r12d
lea r9, [rbp - 0x70]
mov rcx, qword [rax + 0x10]
mov rdx, rdi
mov r8d, r15d
mov dword [rsp + 0x20], esi
call fcn.1400c8dc0
mov r8d, dword [0x1402954fc]
imul r12d, ebx
sub r8d, r12d
mov dword [0x1402954fc], r8d
mov r15d, dword [rsp + 0x74]
mov ebx, dword [rsp + 0x60]
mov r12d, dword [rsp + 0x70]
mov r10, qword [rbp - 0x78]
mov r9, qword [0x140298800]
mov r11, qword [rsp + 0x68]
jmp case.0x140051560.4
cmp dword [rbp - 0x60], esi
je 0x140052a5c
xor edx, edx
lea r8, [rbp - 0x60]
xor r9d, r9d
lea ecx, [rdx + 0x68]
call qword [sym.imp.USER32.dll_SystemParametersInfoW]
test eax, eax
je 0x140052a55
mov eax, dword [rbp - 0x5c]
cmp dword [rbp - 0x60], eax
je 0x140052a55
xor r9d, r9d
xor r8d, r8d
mov edx, eax
lea ecx, [r9 + 0x69]
call qword [sym.imp.USER32.dll_SystemParametersInfoW]
mov r9, qword [0x140298800]
mov edx, 0x102
mov rcx, r9
call fcn.1400c9cc0
movzx eax, word [rbp + 0x248]
cmp ax, 1
jne 0x140052c1c
mov r9d, dword [0x1402954fc]
movzx r14d, si
cmp r9d, r13d
jle 0x140052aac
lea ecx, [r9 - 0x65]
mov eax, 0x51eb851f
mul ecx
shr edx, 5
inc edx
imul ecx, edx, 0xffffff9c
add r9d, ecx
imul r14w, dx, 0xff88
mov dword [0x1402954fc], r9d
cmp r9d, 0xffffff9c
jge 0x140052adb
mov ecx, 0xffffff9b
mov eax, 0x51eb851f
sub ecx, r9d
mul ecx
shr edx, 5
inc edx
imul eax, edx, 0x64
add r9d, eax
imul ax, dx, 0x78
mov dword [0x1402954fc], r9d
add r14w, ax
test r14w, r14w
je 0x140052ba8
mov eax, dword [0x14029550c]
test al, 1
jne 0x140052b09
or eax, 1
mov ecx, 0x17
mov dword [0x14029550c], eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [0x140295508], eax
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov ebx, esi
test ax, ax
mov eax, 8
lea ecx, [rax + 8]
cmovne ebx, eax
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140052b32
or ebx, 4
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140052b50
cmp dword [0x140295508], esi
setne sil
inc esi
or ebx, esi
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140052b6f
mov eax, dword [0x140295508]
neg eax
sbb ecx, ecx
add ecx, 2
or ebx, ecx
movsx eax, word [rbp - 0x6c]
movsx r9d, r14w
mov r8d, 0x20a
shl eax, 0x10
shl r9d, 0x10
mov rdx, rdi
movsxd rcx, eax
movsx rax, word [rbp - 0x70]
or rcx, rax
mov eax, ebx
mov qword [rsp + 0x20], rcx
lea rcx, [0x140295650]
or r9, rax
call fcn.140097860
mov ecx, dword [0x1402954f8]
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, r13d
jle 0x140052c10
nop word [rax + rax]
cmp ecx, r13d
jle 0x140052bcf
mov eax, 0x27
sub ecx, r13d
jmp 0x140052bd7
mov eax, 0x25
add ecx, r13d
mov dword [0x1402954f8], ecx
lea rcx, [0x140295650]
mov r9d, eax
mov r8d, 0x100
mov rdx, rdi
mov qword [rsp + 0x20], 0x14d0001
call fcn.140097860
mov ecx, dword [0x1402954f8]
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, r13d
jg 0x140052bc0
mov esi, 1
mov eax, esi
jmp 0x140052e9e
cmp ax, 4
jne 0x140052c8c
mov eax, dword [rbp + 0x258]
test eax, eax
je 0x140052c52
mov r8d, eax
imul r8d, eax
test eax, eax
jns 0x140052c3a
neg r8d
mov rbx, qword [rbp + 0x240]
xor r9d, r9d
mov rdx, rdi
mov rcx, qword [rbx + 0x10]
call fcn.1400c8cd0
jmp 0x140052c59
mov rbx, qword [rbp + 0x240]
mov eax, dword [rbp + 0x250]
test eax, eax
je 0x140052c10
mov r8d, eax
imul r8d, eax
test eax, eax
jns 0x140052c71
neg r8d
mov rcx, qword [rbx + 0x10]
mov esi, 1
mov rdx, rdi
mov r9d, esi
call fcn.1400c8cd0
mov eax, esi
jmp 0x140052e9e
cmp ax, 0x10
jne 0x140052c9c
mov eax, 1
jmp 0x140052e9e
mov eax, dword [rbp + 0x250]
mov r14d, esi
mov ebx, r13d
cdq
lea rcx, [rbp - 0x30]
xor eax, edx
sub eax, edx
lea rdx, str.Chrome_WidgetWin_0
cmp eax, 9
mov eax, 0x640
setg r14b
test r14d, r14d
cmovne ebx, eax
test r12d, r12d
cmovne r13d, eax
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
cmove r14d, esi
mov esi, 1
lea r15d, [rsi + 2]
nop word [rax + rax]
mov eax, dword [0x1402954f8]
cdq
xor eax, edx
sub eax, edx
cmp eax, ebx
jg 0x140052d13
mov eax, dword [0x1402954fc]
cdq
xor eax, edx
sub eax, edx
cmp eax, r13d
jle 0x140052c15
cmp dword [0x1402954f8], ebx
mov ecx, esi
jle 0x140052d22
xor r8d, r8d
jmp 0x140052d31
mov eax, ebx
neg eax
cmp dword [0x1402954f8], eax
jge 0x140052d3d
mov r8d, esi
mov edx, esi
mov rcx, rdi
call fcn.1400583d0
mov ecx, eax
cmp dword [0x1402954fc], r13d
jle 0x140052d4b
xor r8d, r8d
jmp 0x140052d5b
mov eax, r13d
neg eax
cmp dword [0x1402954fc], eax
jge 0x140052d67
mov r8d, esi
xor edx, edx
mov rcx, rdi
call fcn.1400583d0
mov ecx, eax
test ecx, ecx
je 0x140052e9c
cmp dword [0x1402954f8], ebx
jle 0x140052da7
mov rax, qword [rbp - 0x80]
mov r9, rsi
test r14d, r14d
lea rcx, [0x140295650]
mov r8d, 0x114
mov rdx, rdi
cmovne r9, r15
mov qword [rsp + 0x20], rax
call fcn.140097860
sub dword [0x1402954f8], ebx
jmp 0x140052de3
mov eax, ebx
neg eax
cmp dword [0x1402954f8], eax
jge 0x140052de3
mov eax, r14d
lea rcx, [0x140295650]
mov r8d, 0x114
neg eax
mov rax, qword [rbp - 0x80]
mov rdx, rdi
sbb r9, r9
mov qword [rsp + 0x20], rax
and r9d, 2
call fcn.140097860
add dword [0x1402954f8], ebx
cmp dword [0x1402954fc], r13d
jle 0x140052e20
mov rax, qword [rbp - 0x68]
mov r9, rsi
test r12d, r12d
lea rcx, [0x140295650]
mov r8d, 0x115
mov rdx, rdi
cmovne r9, r15
mov qword [rsp + 0x20], rax
call fcn.140097860
sub dword [0x1402954fc], r13d
jmp 0x140052cf0
mov eax, r13d
neg eax
cmp dword [0x1402954fc], eax
jge 0x140052cf0
mov eax, r12d
lea rcx, [0x140295650]
mov r8d, 0x115
neg eax
mov rax, qword [rbp - 0x68]
mov rdx, rdi
sbb r9, r9
mov qword [rsp + 0x20], rax
and r9d, 2
call fcn.140097860
add dword [0x1402954fc], r13d
jmp 0x140052cf0
cmp dword [rbp - 0x60], esi
je 0x140052e9c
xor edx, edx
lea r8, [rbp - 0x60]
xor r9d, r9d
lea ecx, [rdx + 0x68]
call qword [sym.imp.USER32.dll_SystemParametersInfoW]
test eax, eax
je 0x140052e9c
mov eax, dword [rbp - 0x5c]
cmp dword [rbp - 0x60], eax
je 0x140052e9c
xor r9d, r9d
xor r8d, r8d
mov edx, eax
lea ecx, [r9 + 0x69]
call qword [sym.imp.USER32.dll_SystemParametersInfoW]
xor eax, eax
movaps xmm7, xmmword [rsp + 0x2d0]
movaps xmm6, xmmword [rsp + 0x2e0]
add rsp, 0x2f8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret