Function at 0x14005a0f0
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 - 0x228]
sub rsp, 0x2e8
cmp qword [rdx + 0x38], 0
movaps xmmword [rax - 0x58], xmm6
mov r14, rdx
mov r15, rcx
jne 0x14005a143
lea rdx, str.f:checkpoints_tpdrv_buildersuperman1_syntpenhCZone.h
lea rcx, str.m_pManagedPointingDevice
mov r8d, 0x1c1
call fcn.1400be660
mov rcx, qword [r14 + 0x38]
mov edx, 1
call fcn.140037670
cmp qword [r14 + 0x38], 0
mov ebx, eax
jne 0x14005a173
lea rdx, str.f:checkpoints_tpdrv_buildersuperman1_syntpenhCZone.h
lea rcx, str.m_pManagedPointingDevice
mov r8d, 0x1c1
call fcn.1400be660
mov rcx, qword [r14 + 0x38]
mov edx, 0x10
call fcn.140037670
mov r13d, dword [rbp + 0x258]
mov r12d, dword [rbp + 0x250]
movsd xmm6, qword [0x140159260]
xor esi, esi
mov edi, eax
lea ecx, [rsi + 0x11]
test ebx, ebx
jne 0x14005a1aa
test eax, eax
je 0x14005a6bc
mov r15d, esi
mov dword [rbp - 0x5c], esi
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov ecx, 0x8000
test cx, ax
je 0x14005a1f7
cmp qword [r14 + 0x38], rsi
jne 0x14005a1df
lea rdx, str.f:checkpoints_tpdrv_buildersuperman1_syntpenhCZone.h
lea rcx, str.m_pManagedPointingDevice
mov r8d, 0x1c1
call fcn.1400be660
mov rcx, qword [r14 + 0x38]
mov edx, 2
call fcn.140037670
mov ebx, esi
mov edi, esi
mov r15d, eax
mov dword [rbp - 0x5c], eax
test r12d, r12d
mov r12, qword [rbp + 0x230]
je 0x14005a23a
mov eax, dword [r12 + 0xa0]
test eax, eax
jne 0x14005a21e
mov rcx, qword [r12 + 0x30]
mov edx, r13d
call fcn.1400dba20
jmp 0x14005a22e
cmp eax, 6
jne 0x14005a22e
mov rdx, r14
mov rcx, r12
call fcn.140061840
mov dword [r12 + 0xa0], reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov r11d, dword [rbp + 0x240]
mov r8d, dword [rbp + 0x248]
cmp dword [r12 + 0x94], esi
je 0x14005a28d
test r11d, r11d
je 0x14005a284
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 0x14005a28d
mov r9d, dword [0x1402ad750]
jmp 0x14005a2ad
mov r9d, dword [0x1402ad750]
movzx eax, r11w
imul ax, r11w
movsx ecx, ax
test r11d, r11d
jle 0x14005a2aa
add r9d, ecx
jmp 0x14005a2ad
sub r9d, ecx
mov r10d, dword [0x1402ad754]
movzx eax, r8w
imul ax, r8w
movsx ecx, ax
test r8d, r8d
jle 0x14005a2ca
add r10d, ecx
jmp 0x14005a2cd
sub r10d, ecx
mov dword [0x1402ad754], r10d
test r15d, r15d
je 0x14005a2e4
mov r9d, esi
mov dword [0x1402ad750], esi
jmp 0x14005a32b
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 [0x1402ad750], r9d
cdq
mov ecx, eax
lea eax, [r8 + r8]
mov r8d, dword [rbp + 0x248]
xor ecx, edx
sub ecx, edx
cmp eax, ecx
cmovl r10d, esi
mov dword [0x1402ad754], 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 0x14005a35e
mov eax, r10d
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x64
jle 0x14005a5d9
mov eax, r10d
mov r15d, 1
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x64
jle 0x14005a4bd
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 0x14005a3a6
mov ebx, 0x7fff
jmp 0x14005a3b0
mov eax, 0xffff8001
cmp ebx, eax
cmovl ebx, eax
test r12, r12
je 0x14005a3e6
mov rdi, qword [r14 + 0x40]
cmp qword [r14 + 0x38], rsi
jne 0x14005a3d8
lea rdx, str.f:checkpoints_tpdrv_buildersuperman1_syntpenhCZone.h
lea rcx, str.m_pManagedPointingDevice
mov r8d, 0x1c1
call fcn.1400be660
mov r9d, 2
mov r8d, 0x3e8
jmp 0x14005a449
test r13, r13
je 0x14005a41d
cmp qword [r14 + 0x38], rsi
jne 0x14005a40a
lea rdx, str.f:checkpoints_tpdrv_buildersuperman1_syntpenhCZone.h
lea rcx, str.m_pManagedPointingDevice
mov r8d, 0x1c1
call fcn.1400be660
test ebx, ebx
mov r8d, esi
setns r8b
xor r9d, r9d
inc r8d
xor edx, edx
jmp 0x14005a44c
mov rdi, qword [r14 + 0x40]
cmp qword [r14 + 0x38], rsi
jne 0x14005a440
lea rdx, str.f:checkpoints_tpdrv_buildersuperman1_syntpenhCZone.h
lea rcx, str.m_pManagedPointingDevice
mov r8d, 0x1c1
call fcn.1400be660
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.140037750
mov r10d, dword [0x1402ad754]
mov r8d, dword [rbp + 0x248]
mov r9d, dword [0x1402ad750]
mov r11d, dword [rbp + 0x240]
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 [0x1402ad754], r10d
jmp 0x14005a4c0
or ebx, 0xffffffff
mov eax, r9d
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x64
jle 0x14005a340
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 0x14005a501
mov ebx, 0x7fff
jmp 0x14005a506
cmp ebx, ecx
cmovl ebx, ecx
test r12, r12
je 0x14005a549
mov r15, qword [r14 + 0x40]
cmp qword [r14 + 0x38], rsi
jne 0x14005a52e
lea rdx, str.f:checkpoints_tpdrv_buildersuperman1_syntpenhCZone.h
lea rcx, str.m_pManagedPointingDevice
mov r8d, 0x1c1
call fcn.1400be660
mov eax, 1
mov dword [rsp + 0x30], esi
mov r8d, 0x3e8
mov dword [rsp + 0x28], eax
mov r9d, eax
mov rdx, r15
jmp 0x14005a583
cmp qword [r14 + 0x38], rsi
jne 0x14005a568
lea rdx, str.f:checkpoints_tpdrv_buildersuperman1_syntpenhCZone.h
lea rcx, str.m_pManagedPointingDevice
mov r8d, 0x1c1
call fcn.1400be660
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.140037750
mov r9d, dword [0x1402ad750]
mov r10d, dword [0x1402ad754]
mov r11d, dword [rbp + 0x240]
mov r8d, dword [rbp + 0x248]
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 [0x1402ad750], r9d
jmp 0x14005a331
mov r15, qword [rbp + 0x230]
cmp dword [r15 + 0xa0], 0xc
jne 0x14005a632
cmp dword [rbp - 0x5c], esi
je 0x14005a66a
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, [0x1402ae518]
mov r8d, dword [rax + 0x54]
mov r9d, 6
mov rdx, r14
mov qword [rsp + 0x20], r14
call fcn.140015780
mov dword [r15 + 0xa0], 6
mov edi, 1
cmp qword [r14 + 0x38], rsi
jne 0x14005a656
lea rdx, str.f:checkpoints_tpdrv_buildersuperman1_syntpenhCZone.h
lea rcx, str.m_pManagedPointingDevice
mov r8d, 0x1c1
call fcn.1400be660
mov rcx, qword [r14 + 0x38]
call fcn.140037690
test eax, eax
je 0x14005a6ae
mov eax, edi
jmp 0x14005c6de
mov rbx, qword [0x1402ae2c8]
mov edi, 1
lea rcx, [0x1402ae518]
mov r8d, edi
mov rdx, r14
call fcn.140015b20
mov rdx, r14
mov rcx, rbx
call qword [sym.imp.USER32.dll_KillTimer]
mov rcx, qword [0x1402b0a80]
mov edx, 0x102
call fcn.1400d8e70
mov dword [r15 + 0xa0], esi
jmp 0x14005a637
mov r12d, dword [rbp + 0x250]
mov r13d, dword [rbp + 0x258]
mov eax, dword [rbp + 0x248]
mov ebx, dword [rbp + 0x240]
mov rcx, qword [r15 + 0x10]
neg eax
mov edx, ebx
mov r8d, eax
mov dword [rbp + 0x248], eax
call fcn.1400d8010
test eax, eax
je 0x14005a6fd
test r12d, r12d
je 0x14005a6f3
mov rcx, qword [r15 + 0x30]
mov edx, r13d
call fcn.1400dba20
mov eax, 1
jmp 0x14005c6de
mov ecx, 1
mov word [rbp + 0x238], si
mov dword [rbp - 0x60], esi
mov dword [rbp - 0x5c], ecx
test r12d, r12d
je 0x14005a720
mov rcx, qword [r15 + 0x30]
mov edx, r13d
call fcn.1400dba20
lea rcx, [rbp - 0x70]
call fcn.140091c80
mov rcx, qword [r15 + 0x10]
lea rax, [rbp + 0x238]
lea r9, [rbp - 0x68]
lea r8, [rbp - 0x80]
lea rdx, [rbp - 0x70]
mov qword [rsp + 0x20], rax
call fcn.1400d6090
mov rdi, rax
test rax, rax
je 0x14005a6f3
mov rcx, r14
call fcn.14000f3f0
mov eax, dword [rax + 0x7e0]
cmp dword [r15 + 0x60], eax
je 0x14005a79d
mov rcx, r14
call fcn.14000f3f0
mov ecx, dword [rax + 0x7e0]
mov dword [r15 + 0x60], ecx
mov rcx, r14
call fcn.14000f3f0
cmp dword [rax + 0x7e0], 1
mov rax, qword [r15 + 0x20]
jne 0x14005a796
mov byte [rax + 0xc5], 1
jmp 0x14005a79d
mov byte [rax + 0xc5], sil
test byte [0x1402aef4c], 4
jne 0x14005a7bb
mov rcx, r14
call fcn.14000f3f0
cmp dword [rax + 0x7e0], 1
jne 0x14005a851
mov eax, 0x10
mov word [rbp + 0x238], ax
cmp qword [r15 + 0x58], rdi
jne 0x14005a7d7
mov rax, qword [r15 + 0x20]
cmp qword [rax + 0x18], r14
je 0x14005a815
mov rcx, qword [r15 + 0x20]
mov r9d, 1
mov r8, r14
add rcx, 0x18
mov rdx, rdi
call fcn.1400e6a80
mov rcx, qword [r15 + 0x20]
mov qword [r15 + 0x58], rdi
mov rax, qword [rcx]
lea rbx, [rcx + 0x18]
call qword [rax + 0x78]
mov rcx, rbx
and eax, 8
mov edx, eax
call fcn.1400e7bf0
mov ebx, dword [rbp + 0x240]
mov rcx, r14
call fcn.14000f3f0
cmp dword [rax + 0x7e0], 1
je 0x14005a846
mov rcx, qword [r15 + 0x10]
mov rdx, rdi
call fcn.1400d7290
mov word [rbp + 0x238], ax
mov rax, qword [r15 + 0x20]
mov byte [rax + 0xc5], sil
jmp 0x14005a851
mov rax, qword [r15 + 0x20]
mov byte [rax + 0xc5], 1
movzx eax, word [rbp + 0x238]
cmp ax, 6
je 0x14005a6f3
cmp ax, 9
jne 0x14005a911
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 0x14005a8a9
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 0x14005a8bf
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, qword [rbp - 0x68]
mov r15, rax
mov rax, qword [rbp - 0x80]
test rax, rax
je 0x14005a8cf
cmp rbx, rdi
cmovne rax, rsi
mov qword [rbp - 0x80], rax
test rcx, rcx
je 0x14005a8dd
cmp r15, rdi
je 0x14005a8e8
mov qword [rbp - 0x68], rsi
mov r9d, esi
mov dword [rbp + 0x248], esi
jmp 0x14005a8ef
mov r9d, dword [rbp + 0x248]
mov ebx, dword [rbp + 0x240]
mov r15, qword [rbp + 0x230]
test rax, rax
cmove ebx, esi
mov word [rbp + 0x238], si
mov dword [rbp + 0x240], ebx
jmp 0x14005a974
cmp ax, 0x10
ja 0x14005a96d
mov ecx, 0x12186
bt ecx, eax
jae 0x14005a96d
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 0x14005a96d
mov eax, dword [rsp + 0x78]
mov dword [rbp - 0x5c], eax
cmp eax, 1
je 0x14005a96d
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 + 0x248]
cmp dword [r15 + 0x94], esi
je 0x14005a9ac
test ebx, ebx
je 0x14005a9c6
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 0x14005a9c6
movzx eax, bx
imul ax, bx
cwde
test ebx, ebx
jle 0x14005a9c0
add dword [0x1402ad758], eax
jmp 0x14005a9c6
sub dword [0x1402ad758], eax
mov r15d, dword [rbp + 0x248]
movzx eax, r15w
imul ax, r15w
cwde
test r15d, r15d
jle 0x14005a9e4
add dword [0x1402ad75c], eax
jmp 0x14005a9ea
sub dword [0x1402ad75c], eax
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov ecx, 0x8000
test cx, ax
je 0x14005aa07
mov dword [0x1402ad758], esi
jmp 0x14005aa4e
mov r9d, dword [0x1402ad75c]
mov ecx, dword [0x1402ad758]
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 [0x1402ad758], ecx
lea ecx, [r8 + r8]
cdq
xor eax, edx
sub eax, edx
cmp ecx, eax
cmovl r9d, esi
mov dword [0x1402ad75c], r9d
lea rdx, [rbp - 0x30]
mov r8d, 0x100
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetClassNameW]
movzx eax, word [rbp + 0x238]
cmp ax, 1
je 0x14005aaa1
cmp ax, 0x10
je 0x14005aaa1
lea rdx, str.Chrome_WidgetWin_0
lea rcx, [rbp - 0x30]
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x14005aaa1
mov r9d, esi
mov eax, ebx
cdq
xor eax, edx
sub eax, edx
cmp eax, 9
setg r9b
mov dword [rsp + 0x78], r9d
jmp 0x14005aaa8
mov r9d, esi
mov dword [rsp + 0x78], esi
mov r13d, esi
mov eax, r15d
mov r12d, 0x64
cdq
xor eax, edx
sub eax, edx
cmp eax, 9
mov eax, 0x640
setg r13b
mov dword [rsp + 0x70], r13d
test r9d, r9d
je 0x14005aad4
movzx ebx, ax
jmp 0x14005aad7
mov ebx, r12d
mov r11d, dword [0x1402ad764]
test r13d, r13d
je 0x14005ab1c
movzx ecx, ax
mov dword [rsp + 0x60], ecx
mov r8d, dword [0x1402ad75c]
mov r10d, dword [0x1402ad760]
test r9d, r9d
jne 0x14005ab49
test r10d, r10d
jle 0x14005ab49
mov r9d, dword [0x1402ad758]
mov eax, r9d
cdq
xor eax, edx
sub eax, edx
cmp eax, 0xc8
cmovg r9d, esi
jmp 0x14005ab50
mov ecx, r12d
mov dword [rsp + 0x60], ecx
test r11d, r11d
jle 0x14005aaea
mov r8d, dword [0x1402ad75c]
mov eax, r8d
cdq
xor eax, edx
sub eax, edx
cmp eax, 0xc8
cmovg r8d, esi
mov dword [0x1402ad75c], r8d
jmp 0x14005aaf1
mov r9d, dword [0x1402ad758]
test r13d, r13d
je 0x14005ab70
mov eax, r8d
movsx ecx, cx
cdq
xor eax, edx
sub eax, edx
cmp eax, ecx
jle 0x14005ab70
mov dword [0x1402ad764], 5
jmp 0x14005ab7f
test r11d, r11d
jle 0x14005ab7f
dec r11d
mov dword [0x1402ad764], r11d
movsxd r11, dword [rsp + 0x78]
test r11d, r11d
je 0x14005aba4
mov eax, r9d
movsx ecx, bx
cdq
xor eax, edx
sub eax, edx
cmp eax, ecx
jle 0x14005aba4
mov dword [0x1402ad760], 5
jmp 0x14005abb3
test r10d, r10d
jle 0x14005abb3
dec r10d
mov dword [0x1402ad760], r10d
movzx eax, word [rbp + 0x238]
movsxd r10, r13d
movsx r15d, bx
sub ax, 7
mov qword [rbp - 0x78], r10
mov qword [rsp + 0x68], r11
cmp ax, 1
mov dword [rsp + 0x74], r15d
cmovbe r9d, esi
mov dword [0x1402ad758], r9d
mov r9, qword [0x1402b0a80]
jmp 0x14005ac05
mov r13d, dword [rsp + 0x70]
jmp case.0x14005adc0.4
mov r13d, dword [rsp + 0x70]
mov r10, qword [rbp - 0x78]
mov r11, qword [rsp + 0x68]
mov ebx, dword [rsp + 0x60]
nop dword [rax]
mov eax, dword [0x1402ad758]
cdq
xor eax, edx
sub eax, edx
cmp eax, r15d
jg 0x14005ac33
mov eax, r8d
movsx ecx, bx
cdq
xor eax, edx
sub eax, edx
cmp eax, ecx
jle 0x14005c270
movsx rax, word [rbp + 0x238]
mov edx, 1
cmp eax, 0xc
ja case.0x14005ac61.1
lea rcx, [0x140000000]
mov ecx, dword [rcx + rax*4 + 0x5c6fc]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
cmp dword [0x1402ad758], r15d
jle 0x14005ac71
xor r8d, r8d
jmp 0x14005ac84
mov eax, r15d
neg eax
cmp dword [0x1402ad758], eax
jge 0x14005ac9c
mov rax, rdx
mov r8d, eax
mov rcx, rdi
call fcn.140061b10
mov r9, qword [0x1402b0a80]
mov r8d, dword [0x1402ad75c]
mov edx, eax
movsx eax, bx
cmp r8d, eax
jle 0x14005acb1
xor r8d, r8d
mov rcx, rdi
xor edx, edx
jmp 0x14005ad76
neg eax
cmp r8d, eax
jge 0x14005ad8b
xor edx, edx
mov rcx, rdi
lea r8d, [rdx + 1]
jmp 0x14005ad76
cmp dword [0x1402ad758], r15d
jle 0x14005acd8
xor r8d, r8d
jmp 0x14005aceb
mov eax, r15d
neg eax
cmp dword [0x1402ad758], eax
jge 0x14005ad04
mov rax, rdx
mov r8d, eax
mov rcx, qword [rbp - 0x80]
call fcn.140061b10
mov r9, qword [0x1402b0a80]
mov r8d, dword [0x1402ad75c]
mov edx, eax
movsx eax, bx
cmp r8d, eax
jle 0x14005ad17
mov rcx, qword [rbp - 0x68]
xor r8d, r8d
xor edx, edx
jmp 0x14005ad76
neg eax
cmp r8d, eax
jge 0x14005ad8b
mov rcx, qword [rbp - 0x68]
xor edx, edx
lea r8d, [rdx + 1]
jmp 0x14005ad76
cmp dword [0x1402ad758], r15d
jle 0x14005ad3b
xor r8d, r8d
mov rcx, rdi
jmp 0x14005ad76
mov eax, r15d
neg eax
cmp dword [0x1402ad758], eax
jge case.0x14005ac61.1
mov rcx, rdi
jmp 0x14005ad70
cmp dword [0x1402ad758], r15d
jle 0x14005ad5f
mov rcx, qword [rbp - 0x80]
xor r8d, r8d
jmp 0x14005ad76
mov eax, r15d
neg eax
cmp dword [0x1402ad758], eax
jge case.0x14005ac61.1
mov rcx, qword [rbp - 0x80]
mov rax, rdx
mov r8d, eax
call fcn.140061b10
mov r9, qword [0x1402b0a80]
mov r8d, dword [0x1402ad75c]
mov edx, eax
test edx, edx
je 0x14005c6a7
mov r11, qword [rsp + 0x68]
movsxd r10, r13d
movsx rax, word [rbp + 0x238]
cmp eax, 0x10
ja case.0x14005adc0.4
mov rcx, rax
lea rax, [0x140000000]
mov edx, dword [rax + rcx*4 + 0x5c730]
add rdx, rax
jmp rdx
movsx ebx, bx
cmp r8d, ebx
jg 0x14005add3
mov eax, ebx
neg eax
cmp r8d, eax
jge 0x14005ae45
or r15d, 0xffffffff
mov eax, r8d
cdq
idiv ebx
test r10, r10
mov r13d, eax
mov eax, 0xfffffff0
cmovne r15d, eax
cmp dword [r9], esi
jne 0x14005ae0a
mov rcx, r9
call fcn.1400d9180
mov rcx, qword [0x1402b0a80]
mov edx, 0x102
call fcn.1400d8e70
imul r15d, r13d
xor r8d, r8d
xor edx, edx
mov ecx, 0x800
mov r9d, r15d
mov dword [rsp + 0x20], esi
call fcn.1400d8c30
mov r8d, dword [0x1402ad75c]
mov r15d, dword [rsp + 0x74]
imul ebx, r13d
mov r9, qword [0x1402b0a80]
sub r8d, ebx
mov dword [0x1402ad75c], r8d
cmp dword [0x1402ad758], r15d
jle 0x14005ae98
cmp dword [r9], esi
je 0x14005ae6c
mov rcx, r9
call fcn.1400d9180
mov rcx, qword [0x1402b0a80]
mov edx, 0x10f
call fcn.1400d8e70
mov r9d, 0x78
xor r8d, r8d
xor edx, edx
mov ecx, 0x1000
mov dword [rsp + 0x20], esi
call fcn.1400d8c30
sub dword [0x1402ad758], r15d
mov r8d, dword [0x1402ad75c]
jmp 0x14005c252
movsxd r13, dword [rsp + 0x70]
mov ebx, dword [rsp + 0x60]
mov r11, qword [rsp + 0x68]
mov eax, r15d
mov r10, r13
neg eax
cmp dword [0x1402ad758], eax
jge case.0x14005adc0.4
cmp dword [r9], esi
je 0x14005aed8
mov rcx, r9
call fcn.1400d9180
mov rcx, qword [0x1402b0a80]
mov edx, 0x10f
call fcn.1400d8e70
mov r9d, 0xffffff88
xor r8d, r8d
xor edx, edx
mov ecx, 0x1000
mov dword [rsp + 0x20], esi
call fcn.1400d8c30
add dword [0x1402ad758], r15d
mov r8d, dword [0x1402ad75c]
mov r9, qword [0x1402b0a80]
jmp 0x14005abf7
mov eax, dword [0x1402aef50]
test eax, eax
je 0x14005af1f
xorps xmm6, xmm6
cvtsi2ss xmm6, rax
jmp 0x14005af27
movss xmm6, dword [0x14015de1c]
divss xmm6, dword [0x14015de1c]
mov eax, r8d
movsx ebx, bx
cdq
xor eax, edx
sub eax, edx
cmp eax, ebx
jle 0x14005affb
or r15d, 0xffffffff
mov eax, r8d
cdq
idiv ebx
test r10, r10
mov r13d, eax
mov eax, 0xfffffff0
cmovne r15d, eax
cmp dword [r9], esi
jne 0x14005af79
mov rcx, r9
call fcn.1400d9180
mov rcx, qword [0x1402b0a80]
mov edx, 0x102
call fcn.1400d8e70
mov rax, qword [rbp + 0x230]
mov dword [rsp + 0x58], esi
mov dword [rsp + 0x50], esi
movd xmm1, r15d
movd xmm0, r13d
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.1400e6c90
mov r8d, dword [0x1402ad75c]
mov r9, qword [0x1402b0a80]
imul ebx, r13d
mov r15d, dword [rsp + 0x74]
sub r8d, ebx
mov dword [0x1402ad75c], r8d
mov ecx, dword [0x1402ad758]
movsxd r13, dword [rsp + 0x70]
mov ebx, dword [rsp + 0x60]
mov r11, qword [rsp + 0x68]
mov eax, ecx
mov r10, r13
cdq
xor eax, edx
sub eax, edx
cmp eax, r15d
jle case.0x14005adc0.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 0x14005b058
mov rcx, r9
call fcn.1400d9180
mov rcx, qword [0x1402b0a80]
mov edx, 0x10f
call fcn.1400d8e70
mov dword [rsp + 0x50], esi
mov qword [rsp + 0x48], rsi
movd xmm1, ebx
mov rbx, qword [rbp + 0x230]
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.1400e7300
mov eax, dword [rsp + 0x74]
mov r8d, dword [0x1402ad75c]
imul eax, r15d
sub dword [0x1402ad758], eax
jmp 0x14005c24d
movsx ebx, bx
cmp r8d, ebx
jle 0x14005b142
or r15d, 0xffffffff
mov eax, r8d
cdq
idiv ebx
test r10, r10
mov r13d, eax
mov eax, 0xfffffff0
cmovne r15d, eax
cmp dword [r9], esi
jne 0x14005b10d
mov rcx, r9
call fcn.1400d9180
mov rcx, qword [0x1402b0a80]
mov edx, 0x102
call fcn.1400d8e70
mov rax, qword [rbp + 0x230]
imul r15d, r13d
lea r9, [rbp - 0x70]
mov rcx, qword [rax + 0x10]
mov rdx, rdi
mov r8d, r15d
mov dword [rsp + 0x20], esi
call fcn.1400d7f70
mov r8d, dword [0x1402ad75c]
imul ebx, r13d
sub r8d, ebx
jmp 0x14005c246
mov eax, ebx
neg eax
cmp r8d, eax
jge 0x14005ac05
or r15d, 0xffffffff
mov eax, r8d
cdq
idiv ebx
test r10, r10
mov r13d, eax
mov eax, 0xfffffff0
cmovne r15d, eax
cmp dword [r9], esi
jne 0x14005b186
mov rcx, r9
call fcn.1400d9180
mov rcx, qword [0x1402b0a80]
mov edx, 0x102
call fcn.1400d8e70
mov rax, qword [rbp + 0x230]
imul r15d, r13d
lea r9, [rbp - 0x70]
mov rcx, qword [rax + 0x10]
mov rdx, rdi
mov r8d, r15d
mov dword [rsp + 0x20], esi
call fcn.1400d7f70
mov r8d, dword [0x1402ad75c]
imul ebx, r13d
sub r8d, ebx
jmp 0x14005c246
movsx ebx, bx
cmp r8d, ebx
jle 0x14005b22f
or r15d, 0xffffffff
mov eax, r8d
cdq
idiv ebx
test r10, r10
mov r13d, eax
mov eax, 0xfffffff0
cmovne r15d, eax
cmp dword [r9], esi
jne 0x14005b1fa
mov rcx, r9
call fcn.1400d9180
mov rcx, qword [0x1402b0a80]
mov edx, 0x102
call fcn.1400d8e70
mov rax, qword [rbp + 0x230]
imul r15d, r13d
lea r9, [rbp - 0x70]
mov rcx, qword [rax + 0x10]
mov rdx, rdi
mov r8d, r15d
mov dword [rsp + 0x20], esi
call fcn.1400d7fc0
mov r8d, dword [0x1402ad75c]
imul ebx, r13d
sub r8d, ebx
jmp 0x14005c246
mov eax, ebx
neg eax
cmp r8d, eax
jge 0x14005ac05
or r15d, 0xffffffff
mov eax, r8d
cdq
idiv ebx
test r10, r10
mov r13d, eax
mov eax, 0xfffffff0
cmovne r15d, eax
cmp dword [r9], esi
jne 0x14005b273
mov rcx, r9
call fcn.1400d9180
mov rcx, qword [0x1402b0a80]
mov edx, 0x102
call fcn.1400d8e70
mov rax, qword [rbp + 0x230]
imul r15d, r13d
lea r9, [rbp - 0x70]
mov rcx, qword [rax + 0x10]
mov rdx, rdi
mov r8d, r15d
mov dword [rsp + 0x20], esi
call fcn.1400d7fc0
mov r8d, dword [0x1402ad75c]
imul ebx, r13d
sub r8d, ebx
jmp 0x14005c246
cmp dword [0x1402ad758], r15d
jle 0x14005b30b
cmp dword [r9], esi
je 0x14005b2cf
mov rcx, r9
call fcn.1400d9180
mov rcx, qword [0x1402b0a80]
mov edx, 0x10f
call fcn.1400d8e70
lea rcx, [0x1402ad8a0]
mov r9d, 0x27
mov r8d, 0x100
mov rdx, rdi
mov qword [rsp + 0x20], 0x14d0001
call fcn.14009a2d0
sub dword [0x1402ad758], r15d
mov qword [rsp + 0x20], 0x14d0001
mov r9d, 0x27
jmp 0x14005b370
mov eax, r15d
neg eax
cmp dword [0x1402ad758], eax
jge 0x14005b393
cmp dword [r9], esi
je 0x14005b336
mov rcx, r9
call fcn.1400d9180
mov rcx, qword [0x1402b0a80]
mov edx, 0x10f
call fcn.1400d8e70
lea rcx, [0x1402ad8a0]
mov r9d, 0x25
mov r8d, 0x100
mov rdx, rdi
mov qword [rsp + 0x20], 0x14b0001
call fcn.14009a2d0
add dword [0x1402ad758], r15d
mov qword [rsp + 0x20], 0x14b0001
mov r9d, 0x25
lea rcx, [0x1402ad8a0]
mov r8d, 0x101
mov rdx, rdi
call fcn.14009a1a0
mov r9, qword [0x1402b0a80]
mov r8d, dword [0x1402ad75c]
movsx ebx, bx
cmp r8d, ebx
jle 0x14005b408
or r15d, 0xffffffff
mov eax, r8d
cdq
idiv ebx
cmp qword [rbp - 0x78], rsi
mov r13d, eax
mov eax, 0xfffffff0
cmovne r15d, eax
cmp dword [r9], esi
jne 0x14005b3d3
mov rcx, r9
call fcn.1400d9180
mov rcx, qword [0x1402b0a80]
mov edx, 0x102
call fcn.1400d8e70
mov rax, qword [rbp + 0x230]
imul r15d, r13d
lea r9, [rbp - 0x70]
mov rcx, qword [rax + 0x10]
mov rdx, rdi
mov r8d, r15d
mov dword [rsp + 0x20], esi
call fcn.1400d7f70
mov r8d, dword [0x1402ad75c]
imul ebx, r13d
sub r8d, ebx
jmp 0x14005c246
mov r11, qword [rsp + 0x68]
mov eax, ebx
movsxd r10, r13d
neg eax
cmp r8d, eax
jge 0x14005ac05
or r15d, 0xffffffff
mov eax, r8d
cdq
idiv ebx
cmp qword [rbp - 0x78], rsi
mov r13d, eax
mov eax, 0xfffffff0
cmovne r15d, eax
cmp dword [r9], esi
jne 0x14005b455
mov rcx, r9
call fcn.1400d9180
mov rcx, qword [0x1402b0a80]
mov edx, 0x102
call fcn.1400d8e70
mov rax, qword [rbp + 0x230]
imul r15d, r13d
lea r9, [rbp - 0x70]
mov rcx, qword [rax + 0x10]
mov rdx, rdi
mov r8d, r15d
mov dword [rsp + 0x20], esi
call fcn.1400d7f70
mov r8d, dword [0x1402ad75c]
imul ebx, r13d
sub r8d, ebx
jmp 0x14005c246
cmp dword [0x1402ad758], r15d
jle 0x14005b4eb
cmp dword [r9], esi
je 0x14005b4b1
mov rcx, r9
call fcn.1400d9180
mov rcx, qword [0x1402b0a80]
mov edx, 0x10f
call fcn.1400d8e70
cmp dword [rsp + 0x78], esi
mov eax, 3
mov r9d, 1
cmovne r9d, eax
mov rax, qword [rbp - 0x80]
lea rcx, [0x1402ad8a0]
mov r8d, 0x114
mov rdx, rdi
mov qword [rsp + 0x20], rax
call fcn.14009a2d0
sub dword [0x1402ad758], r15d
jmp 0x14005b548
mov eax, r15d
neg eax
cmp dword [0x1402ad758], eax
jge 0x14005b556
cmp dword [r9], esi
je 0x14005b516
mov rcx, r9
call fcn.1400d9180
mov rcx, qword [0x1402b0a80]
mov edx, 0x10f
call fcn.1400d8e70
mov eax, dword [rsp + 0x78]
lea rcx, [0x1402ad8a0]
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.14009a2d0
add dword [0x1402ad758], r15d
mov r9, qword [0x1402b0a80]
mov r8d, dword [0x1402ad75c]
movsx ebx, bx
cmp r8d, ebx
jle 0x14005b5d5
cmp dword [r9], esi
jne 0x14005b57c
mov rcx, r9
call fcn.1400d9180
mov rcx, qword [0x1402b0a80]
mov edx, 0x102
call fcn.1400d8e70
mov eax, 3
mov r9d, 1
test r13d, r13d
cmovne r9d, eax
mov rax, qword [rbp - 0x68]
mov r8d, 0x115
mov qword [rsp + 0x20], rax
lea rcx, [0x1402ad8a0]
mov rdx, rdi
call fcn.14009a2d0
mov r8d, dword [0x1402ad75c]
mov r9, qword [0x1402b0a80]
mov r11, qword [rsp + 0x68]
sub r8d, ebx
mov ebx, dword [rsp + 0x60]
movsxd r10, r13d
mov dword [0x1402ad75c], r8d
jmp case.0x14005adc0.4
mov r11, qword [rsp + 0x68]
mov eax, ebx
movsxd r10, r13d
neg eax
cmp r8d, eax
jge 0x14005ac05
cmp dword [r9], esi
jne 0x14005b608
mov rcx, r9
call fcn.1400d9180
mov rcx, qword [0x1402b0a80]
mov edx, 0x102
call fcn.1400d8e70
mov eax, r13d
mov r8d, 0x115
neg eax
mov rax, qword [rbp - 0x68]
sbb r9, r9
mov qword [rsp + 0x20], rax
and r9d, 2
lea rcx, [0x1402ad8a0]
mov rdx, rdi
call fcn.14009a2d0
mov r8d, dword [0x1402ad75c]
add r8d, ebx
mov dword [0x1402ad75c], r8d
nop dword [rax]
nop word [rax + rax]
mov ebx, dword [rsp + 0x60]
mov r9, qword [0x1402b0a80]
mov r11, qword [rsp + 0x68]
movsxd r10, r13d
jmp case.0x14005adc0.4
cmp dword [0x1402ad758], r15d
jle 0x14005b6c9
cmp dword [r9], esi
je 0x14005b68f
mov rcx, r9
call fcn.1400d9180
mov rcx, qword [0x1402b0a80]
mov edx, 0x10f
call fcn.1400d8e70
cmp dword [rsp + 0x78], esi
mov eax, 3
mov r9d, 1
cmovne r9d, eax
mov rax, qword [rbp - 0x80]
lea rcx, [0x1402ad8a0]
mov r8d, 0x114
mov rdx, rdi
mov qword [rsp + 0x20], rax
call fcn.14009a1a0
sub dword [0x1402ad758], r15d
jmp 0x14005b726
mov eax, r15d
neg eax
cmp dword [0x1402ad758], eax
jge 0x14005b734
cmp dword [r9], esi
je 0x14005b6f4
mov rcx, r9
call fcn.1400d9180
mov rcx, qword [0x1402b0a80]
mov edx, 0x10f
call fcn.1400d8e70
mov eax, dword [rsp + 0x78]
lea rcx, [0x1402ad8a0]
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.14009a1a0
add dword [0x1402ad758], r15d
mov r9, qword [0x1402b0a80]
mov r8d, dword [0x1402ad75c]
movsx ebx, bx
cmp r8d, ebx
jle 0x14005b799
cmp dword [r9], esi
jne 0x14005b75a
mov rcx, r9
call fcn.1400d9180
mov rcx, qword [0x1402b0a80]
mov edx, 0x102
call fcn.1400d8e70
mov eax, 3
mov r9d, 1
test r13d, r13d
cmovne r9d, eax
mov rax, qword [rbp - 0x68]
lea rcx, [0x1402ad8a0]
mov r8d, 0x115
mov rdx, rdi
mov qword [rsp + 0x20], rax
call fcn.14009a1a0
mov r8d, dword [0x1402ad75c]
sub r8d, ebx
jmp 0x14005b63c
mov r11, qword [rsp + 0x68]
mov eax, ebx
movsxd r10, r13d
neg eax
cmp r8d, eax
jge 0x14005ac05
cmp dword [r9], esi
jne 0x14005b7cc
mov rcx, r9
call fcn.1400d9180
mov rcx, qword [0x1402b0a80]
mov edx, 0x102
call fcn.1400d8e70
mov eax, r13d
lea rcx, [0x1402ad8a0]
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.14009a1a0
jmp 0x14005b632
mov rcx, qword [rbp - 0x80]
call qword [sym.imp.USER32.dll_GetParent]
mov ecx, dword [0x1402ad758]
mov rbx, rax
cmp ecx, r15d
jle 0x14005b86e
mov rcx, qword [0x1402b0a80]
cmp dword [rcx], esi
je 0x14005b834
call fcn.1400d9180
mov rcx, qword [0x1402b0a80]
mov edx, 0x10f
call fcn.1400d8e70
cmp dword [rsp + 0x78], esi
mov eax, 3
mov r9d, 1
cmovne r9d, eax
mov rax, qword [rbp - 0x80]
lea rcx, [0x1402ad8a0]
mov r8d, 0x114
mov rdx, rbx
mov qword [rsp + 0x20], rax
call fcn.14009a2d0
sub dword [0x1402ad758], r15d
jmp 0x14005b8ca
mov eax, r15d
neg eax
cmp ecx, eax
jge 0x14005b8ca
mov rcx, qword [0x1402b0a80]
cmp dword [rcx], esi
je 0x14005b898
call fcn.1400d9180
mov rcx, qword [0x1402b0a80]
mov edx, 0x10f
call fcn.1400d8e70
mov eax, dword [rsp + 0x78]
lea rcx, [0x1402ad8a0]
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.14009a2d0
add dword [0x1402ad758], r15d
mov rcx, qword [rbp - 0x68]
call qword [sym.imp.USER32.dll_GetParent]
mov ecx, dword [rsp + 0x60]
mov r8d, dword [0x1402ad75c]
movsx ebx, cx
mov rdi, rax
cmp r8d, ebx
jle 0x14005b8fe
mov rcx, qword [0x1402b0a80]
cmp dword [rcx], esi
jne 0x14005b57c
jmp 0x14005b566
mov eax, ebx
neg eax
cmp r8d, eax
jge 0x14005b650
mov rcx, qword [0x1402b0a80]
cmp dword [rcx], esi
jne 0x14005b608
jmp 0x14005b5f2
mov rcx, qword [rbp - 0x80]
call qword [sym.imp.USER32.dll_GetParent]
mov ecx, dword [0x1402ad758]
mov rbx, rax
cmp ecx, r15d
jle 0x14005b992
mov rcx, qword [0x1402b0a80]
cmp dword [rcx], esi
je 0x14005b958
call fcn.1400d9180
mov rcx, qword [0x1402b0a80]
mov edx, 0x10f
call fcn.1400d8e70
cmp dword [rsp + 0x78], esi
mov eax, 3
mov r9d, 1
cmovne r9d, eax
mov rax, qword [rbp - 0x80]
lea rcx, [0x1402ad8a0]
mov r8d, 0x114
mov rdx, rbx
mov qword [rsp + 0x20], rax
call fcn.14009a1a0
sub dword [0x1402ad758], r15d
jmp 0x14005b9ee
mov eax, r15d
neg eax
cmp ecx, eax
jge 0x14005b9ee
mov rcx, qword [0x1402b0a80]
cmp dword [rcx], esi
je 0x14005b9bc
call fcn.1400d9180
mov rcx, qword [0x1402b0a80]
mov edx, 0x10f
call fcn.1400d8e70
mov eax, dword [rsp + 0x78]
lea rcx, [0x1402ad8a0]
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.14009a1a0
add dword [0x1402ad758], r15d
mov rcx, qword [rbp - 0x68]
call qword [sym.imp.USER32.dll_GetParent]
mov ecx, dword [rsp + 0x60]
mov r8d, dword [0x1402ad75c]
movsx ebx, cx
mov rdi, rax
cmp r8d, ebx
jle 0x14005ba64
mov rcx, qword [0x1402b0a80]
cmp dword [rcx], esi
jne 0x14005ba2f
call fcn.1400d9180
mov rcx, qword [0x1402b0a80]
mov edx, 0x102
call fcn.1400d8e70
test r13d, r13d
mov eax, 3
mov r9d, 1
cmovne r9d, eax
mov rax, qword [rbp - 0x68]
lea rcx, [0x1402ad8a0]
mov r8d, 0x115
mov rdx, rdi
mov qword [rsp + 0x20], rax
call fcn.14009a1a0
jmp 0x14005b5ac
mov eax, ebx
neg eax
cmp r8d, eax
jge 0x14005b650
mov rcx, qword [0x1402b0a80]
cmp dword [rcx], esi
jne 0x14005b7cc
jmp 0x14005b7b6
cmp dword [0x1402ad758], r15d
jle 0x14005bad9
cmp dword [r9], esi
je 0x14005baac
mov rcx, r9
call fcn.1400d9180
mov rcx, qword [0x1402b0a80]
mov edx, 0x10f
call fcn.1400d8e70
lea rcx, [0x1402ad8a0]
mov r9d, 0x27
mov r8d, 0x100
mov rdx, rdi
mov qword [rsp + 0x20], 0x14d0001
call fcn.14009a2d0
sub dword [0x1402ad758], r15d
jmp 0x14005bb2f
mov eax, r15d
neg eax
cmp dword [0x1402ad758], eax
jge 0x14005bb3d
cmp dword [r9], esi
je 0x14005bb04
mov rcx, r9
call fcn.1400d9180
mov rcx, qword [0x1402b0a80]
mov edx, 0x10f
call fcn.1400d8e70
lea rcx, [0x1402ad8a0]
mov r9d, 0x25
mov r8d, 0x100
mov rdx, rdi
mov qword [rsp + 0x20], 0x14b0001
call fcn.14009a2d0
add dword [0x1402ad758], r15d
mov r9, qword [0x1402b0a80]
mov r8d, dword [0x1402ad75c]
movsx ebx, bx
cmp r8d, ebx
jle 0x14005bb7d
cmp dword [r9], esi
jne 0x14005bb63
mov rcx, r9
call fcn.1400d9180
mov rcx, qword [0x1402b0a80]
mov edx, 0x102
call fcn.1400d8e70
mov qword [rsp + 0x20], 0x1500001
mov r9d, 0x28
mov r8d, 0x100
jmp 0x14005b59d
mov r11, qword [rsp + 0x68]
mov eax, ebx
movsxd r10, r13d
neg eax
cmp r8d, eax
jge 0x14005ac05
cmp dword [r9], esi
jne 0x14005bbb0
mov rcx, r9
call fcn.1400d9180
mov rcx, qword [0x1402b0a80]
mov edx, 0x102
call fcn.1400d8e70
mov qword [rsp + 0x20], 0x1480001
mov r9d, 0x26
mov r8d, 0x100
jmp 0x14005b623
mov eax, dword [0x1402ad758]
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 0x14005bb3d
lea r9d, [rcx + 0x27]
mov edx, ecx
lea r8, [rbp - 0x58]
lea rcx, [0x1402ad8a0]
mov qword [rbp - 0x50], 0x11
call fcn.14009a550
cmp dword [0x1402ad758], r15d
mov ecx, 0x27
mov eax, 0x25
lea r9d, [rcx + 1]
lea edx, [rcx - 0x26]
cmovg ax, cx
lea r8, [rbp - 0x58]
lea rcx, [0x1402ad8a0]
mov word [rbp - 0x4e], si
mov dword [rbp - 0x4c], esi
mov word [rbp - 0x50], ax
call fcn.14009a550
cmp dword [0x1402ad758], r15d
mov ecx, 0x27
mov eax, 0x25
lea r9d, [rcx + 1]
lea edx, [rcx - 0x26]
cmovg ax, cx
lea r8, [rbp - 0x58]
lea rcx, [0x1402ad8a0]
mov word [rbp - 0x4e], si
mov dword [rbp - 0x4c], 2
mov word [rbp - 0x50], ax
call fcn.14009a550
mov r9d, 0x28
lea r8, [rbp - 0x58]
lea rcx, [0x1402ad8a0]
lea edx, [r9 - 0x27]
mov dword [rbp - 0x50], 0x11
mov dword [rbp - 0x4c], 2
call fcn.14009a550
cmp dword [0x1402ad758], r15d
mov r9, qword [0x1402b0a80]
jle 0x14005bce6
cmp dword [r9], esi
je 0x14005bcda
mov rcx, r9
call fcn.1400d9180
mov rcx, qword [0x1402b0a80]
mov edx, 0x10f
call fcn.1400d8e70
mov r9, qword [0x1402b0a80]
sub dword [0x1402ad758], r15d
jmp 0x14005bb36
mov eax, r15d
neg eax
cmp dword [0x1402ad758], eax
jge 0x14005bb36
cmp dword [r9], esi
je 0x14005bd1c
mov rcx, r9
call fcn.1400d9180
mov rcx, qword [0x1402b0a80]
mov edx, 0x10f
call fcn.1400d8e70
mov r9, qword [0x1402b0a80]
add dword [0x1402ad758], r15d
jmp 0x14005bb36
cmp dword [0x1402ad758], r15d
jle 0x14005bd89
cmp dword [r9], esi
je 0x14005bd4f
mov rcx, r9
call fcn.1400d9180
mov rcx, qword [0x1402b0a80]
mov edx, 0x10f
call fcn.1400d8e70
cmp dword [rsp + 0x78], esi
mov eax, 3
mov r9d, 1
cmovne r9d, eax
mov rax, qword [rbp - 0x80]
lea rcx, [0x1402ad8a0]
mov r8d, 0x114
mov rdx, rdi
mov qword [rsp + 0x20], rax
call fcn.14009a2d0
sub dword [0x1402ad758], r15d
jmp 0x14005bde6
mov eax, r15d
neg eax
cmp dword [0x1402ad758], eax
jge 0x14005bdf4
cmp dword [r9], esi
je 0x14005bdb4
mov rcx, r9
call fcn.1400d9180
mov rcx, qword [0x1402b0a80]
mov edx, 0x10f
call fcn.1400d8e70
mov eax, dword [rsp + 0x78]
lea rcx, [0x1402ad8a0]
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.14009a2d0
add dword [0x1402ad758], r15d
mov r9, qword [0x1402b0a80]
mov r8d, dword [0x1402ad75c]
movsx r13d, bx
cmp r8d, r13d
jle 0x14005be6e
or ebx, 0xffffffff
mov eax, r8d
cdq
idiv r13d
cmp qword [rbp - 0x78], rsi
mov r15d, eax
mov eax, 0xfffffff0
cmovne ebx, eax
cmp dword [r9], esi
jne 0x14005be34
mov rcx, r9
call fcn.1400d9180
mov rcx, qword [0x1402b0a80]
mov edx, 0x102
call fcn.1400d8e70
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 + 0x230]
mov r8d, ebx
mov rcx, qword [rax + 0x10]
jns 0x14005beef
mov dword [rsp + 0x20], 8
jmp 0x14005bef3
mov r10, qword [rbp - 0x78]
mov r11, qword [rsp + 0x68]
mov eax, r13d
neg eax
cmp r8d, eax
jge 0x14005abf0
or ebx, 0xffffffff
mov eax, r8d
cdq
idiv r13d
cmp r10, 0
mov r15d, eax
mov eax, 0xfffffff0
cmovne ebx, eax
cmp dword [r9], esi
jne 0x14005bebc
mov rcx, r9
call fcn.1400d9180
mov rcx, qword [0x1402b0a80]
mov edx, 0x102
call fcn.1400d8e70
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 + 0x230]
mov r8d, ebx
mov rcx, qword [rax + 0x10]
jns 0x14005beef
mov dword [rsp + 0x20], 8
jmp 0x14005bef3
mov dword [rsp + 0x20], esi
call fcn.1400d7f70
mov r8d, dword [0x1402ad75c]
imul r15d, r13d
sub r8d, r15d
jmp 0x14005c246
mov rcx, qword [rbp - 0x80]
call qword [sym.imp.USER32.dll_GetParent]
cmp dword [0x1402ad758], r15d
mov rbx, rax
jle 0x14005bf7c
mov rcx, qword [0x1402b0a80]
cmp dword [rcx], esi
je 0x14005bf42
call fcn.1400d9180
mov rcx, qword [0x1402b0a80]
mov edx, 0x10f
call fcn.1400d8e70
cmp dword [rsp + 0x78], esi
mov eax, 3
mov r9d, 1
cmovne r9d, eax
mov rax, qword [rbp - 0x80]
lea rcx, [0x1402ad8a0]
mov r8d, 0x114
mov rdx, rbx
mov qword [rsp + 0x20], rax
call fcn.14009a1a0
sub dword [0x1402ad758], r15d
jmp 0x14005bfdc
mov eax, r15d
neg eax
cmp dword [0x1402ad758], eax
jge 0x14005bfdc
mov rcx, qword [0x1402b0a80]
cmp dword [rcx], esi
je 0x14005bfaa
call fcn.1400d9180
mov rcx, qword [0x1402b0a80]
mov edx, 0x10f
call fcn.1400d8e70
mov eax, dword [rsp + 0x78]
lea rcx, [0x1402ad8a0]
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.14009a1a0
add dword [0x1402ad758], r15d
mov ebx, dword [rsp + 0x60]
mov r8d, dword [0x1402ad75c]
movsx r13d, bx
cmp r8d, r13d
jg 0x14005bffe
mov eax, r13d
neg eax
cmp r8d, eax
jge 0x14005c256
mov rcx, qword [0x1402b0a80]
or ebx, 0xffffffff
mov eax, r8d
cdq
idiv r13d
cmp qword [rbp - 0x78], rsi
mov r15d, eax
mov eax, 0xfffffff0
cmovne ebx, eax
cmp dword [rcx], esi
jne 0x14005c038
call fcn.1400d9180
mov rcx, qword [0x1402b0a80]
mov edx, 0x102
call fcn.1400d8e70
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 + 0x230]
mov r8d, ebx
mov rcx, qword [rax + 0x10]
jns 0x14005c06b
mov dword [rsp + 0x20], 8
jmp 0x14005c06f
mov dword [rsp + 0x20], esi
call fcn.1400d7fc0
mov r8d, dword [0x1402ad75c]
imul r15d, r13d
sub r8d, r15d
jmp 0x14005c246
mov ecx, dword [0x1402ad758]
cmp ecx, r15d
jg 0x14005c09f
mov eax, r15d
neg eax
cmp ecx, eax
jge 0x14005c139
mov eax, dword [0x1402ad758]
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 ax, cx
imul ax, ax, 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 0x14005c10c
mov rcx, r9
call fcn.1400d9180
mov rcx, qword [0x1402b0a80]
mov edx, 0x10f
call fcn.1400d8e70
mov r9d, r15d
mov r8d, ebx
mov edx, 0x20e
mov rcx, rdi
call qword [sym.imp.USER32.dll_SendMessageW]
mov r8d, dword [0x1402ad75c]
mov r9, qword [0x1402b0a80]
mov r15d, dword [rsp + 0x74]
mov dword [0x1402ad758], esi
mov ecx, dword [rsp + 0x60]
movsx ebx, cx
cmp r8d, ebx
jle 0x14005c1c9
or r15d, 0xffffffff
mov eax, r8d
cdq
idiv ebx
cmp qword [rbp - 0x78], rsi
mov r13d, eax
mov eax, 0xfffffff0
cmovne r15d, eax
cmp dword [r9], esi
jne 0x14005c181
mov rcx, r9
call fcn.1400d9180
mov rcx, qword [0x1402b0a80]
mov edx, 0x102
call fcn.1400d8e70
mov rax, qword [rbp + 0x230]
imul r15d, r13d
lea r9, [rbp - 0x70]
mov rcx, qword [rax + 0x10]
mov rdx, rdi
mov r8d, r15d
mov dword [rsp + 0x20], esi
call fcn.1400d7f70
mov r8d, dword [0x1402ad75c]
imul r13d, ebx
mov r9, qword [0x1402b0a80]
mov r15d, dword [rsp + 0x74]
sub r8d, r13d
mov dword [0x1402ad75c], r8d
jmp 0x14005abf7
mov r11, qword [rsp + 0x68]
mov eax, ebx
movsxd r10, r13d
neg eax
cmp r8d, eax
jge 0x14005ac05
or r15d, 0xffffffff
mov eax, r8d
cdq
idiv ebx
cmp qword [rbp - 0x78], rsi
mov r13d, eax
mov eax, 0xfffffff0
cmovne r15d, eax
cmp dword [r9], esi
jne 0x14005c216
mov rcx, r9
call fcn.1400d9180
mov rcx, qword [0x1402b0a80]
mov edx, 0x102
call fcn.1400d8e70
mov rax, qword [rbp + 0x230]
imul r15d, r13d
lea r9, [rbp - 0x70]
mov rcx, qword [rax + 0x10]
mov rdx, rdi
mov r8d, r15d
mov dword [rsp + 0x20], esi
call fcn.1400d7f70
mov r8d, dword [0x1402ad75c]
imul r13d, ebx
sub r8d, r13d
mov dword [0x1402ad75c], r8d
mov r15d, dword [rsp + 0x74]
mov ebx, dword [rsp + 0x60]
mov r13d, dword [rsp + 0x70]
mov r10, qword [rbp - 0x78]
mov r9, qword [0x1402b0a80]
mov r11, qword [rsp + 0x68]
jmp case.0x14005adc0.4
cmp dword [rbp - 0x60], esi
je 0x14005c2ac
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 0x14005c2a5
mov eax, dword [rbp - 0x5c]
cmp dword [rbp - 0x60], eax
je 0x14005c2a5
xor r9d, r9d
xor r8d, r8d
mov edx, eax
lea ecx, [r9 + 0x69]
call qword [sym.imp.USER32.dll_SystemParametersInfoW]
mov r9, qword [0x1402b0a80]
mov edx, 0x102
mov rcx, r9
call fcn.1400d8e70
movzx eax, word [rbp + 0x238]
cmp ax, 1
jne 0x14005c46c
mov r9d, dword [0x1402ad75c]
movzx r14d, si
cmp r9d, r12d
jle 0x14005c2fc
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 [0x1402ad75c], r9d
cmp r9d, 0xffffff9c
jge 0x14005c32b
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 [0x1402ad75c], r9d
add r14w, ax
test r14w, r14w
je 0x14005c3f8
mov eax, dword [0x1402ad76c]
test al, 1
jne 0x14005c359
or eax, 1
mov ecx, 0x17
mov dword [0x1402ad76c], eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [0x1402ad768], 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 0x14005c382
or ebx, 4
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14005c3a0
cmp dword [0x1402ad768], esi
setne sil
inc esi
or ebx, esi
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14005c3bf
mov eax, dword [0x1402ad768]
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, [0x1402ad8a0]
or r9, rax
call fcn.14009a2d0
mov ecx, dword [0x1402ad758]
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, r12d
jle 0x14005c460
nop word [rax + rax]
cmp ecx, r12d
jle 0x14005c41f
mov eax, 0x27
sub ecx, r12d
jmp 0x14005c427
mov eax, 0x25
add ecx, r12d
mov dword [0x1402ad758], ecx
lea rcx, [0x1402ad8a0]
mov r9d, eax
mov r8d, 0x100
mov rdx, rdi
mov qword [rsp + 0x20], 0x14d0001
call fcn.14009a2d0
mov ecx, dword [0x1402ad758]
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, r12d
jg 0x14005c410
mov esi, 1
mov eax, esi
jmp 0x14005c6de
cmp ax, 4
jne 0x14005c4dc
mov eax, dword [rbp + 0x248]
test eax, eax
je 0x14005c4a2
mov r8d, eax
imul r8d, eax
test eax, eax
jns 0x14005c48a
neg r8d
mov rbx, qword [rbp + 0x230]
xor r9d, r9d
mov rdx, rdi
mov rcx, qword [rbx + 0x10]
call fcn.1400d7e80
jmp 0x14005c4a9
mov rbx, qword [rbp + 0x230]
mov eax, dword [rbp + 0x240]
test eax, eax
je 0x14005c460
mov r8d, eax
imul r8d, eax
test eax, eax
jns 0x14005c4c1
neg r8d
mov rcx, qword [rbx + 0x10]
mov esi, 1
mov rdx, rdi
mov r9d, esi
call fcn.1400d7e80
mov eax, esi
jmp 0x14005c6de
cmp ax, 0x10
je 0x14005a6f3
mov eax, dword [rbp + 0x240]
mov r14d, esi
mov ebx, r12d
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 r13d, r13d
cmovne r12d, eax
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
cmove r14d, esi
mov esi, 1
lea r15d, [rsi + 2]
mov eax, dword [0x1402ad758]
cdq
xor eax, edx
sub eax, edx
cmp eax, ebx
jg 0x14005c553
mov eax, dword [0x1402ad75c]
cdq
xor eax, edx
sub eax, edx
cmp eax, r12d
jle 0x14005c465
cmp dword [0x1402ad758], ebx
mov ecx, esi
jle 0x14005c562
xor r8d, r8d
jmp 0x14005c571
mov eax, ebx
neg eax
cmp dword [0x1402ad758], eax
jge 0x14005c57d
mov r8d, esi
mov edx, esi
mov rcx, rdi
call fcn.140061b10
mov ecx, eax
cmp dword [0x1402ad75c], r12d
jle 0x14005c58b
xor r8d, r8d
jmp 0x14005c59b
mov eax, r12d
neg eax
cmp dword [0x1402ad75c], eax
jge 0x14005c5a7
mov r8d, esi
xor edx, edx
mov rcx, rdi
call fcn.140061b10
mov ecx, eax
test ecx, ecx
je 0x14005c6dc
cmp dword [0x1402ad758], ebx
jle 0x14005c5e7
mov rax, qword [rbp - 0x80]
mov r9, rsi
test r14d, r14d
lea rcx, [0x1402ad8a0]
mov r8d, 0x114
mov rdx, rdi
cmovne r9, r15
mov qword [rsp + 0x20], rax
call fcn.14009a2d0
sub dword [0x1402ad758], ebx
jmp 0x14005c623
mov eax, ebx
neg eax
cmp dword [0x1402ad758], eax
jge 0x14005c623
mov eax, r14d
lea rcx, [0x1402ad8a0]
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.14009a2d0
add dword [0x1402ad758], ebx
cmp dword [0x1402ad75c], r12d
jle 0x14005c660
mov rax, qword [rbp - 0x68]
mov r9, rsi
test r13d, r13d
lea rcx, [0x1402ad8a0]
mov r8d, 0x115
mov rdx, rdi
cmovne r9, r15
mov qword [rsp + 0x20], rax
call fcn.14009a2d0
sub dword [0x1402ad75c], r12d
jmp 0x14005c530
mov eax, r12d
neg eax
cmp dword [0x1402ad75c], eax
jge 0x14005c530
mov eax, r13d
lea rcx, [0x1402ad8a0]
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.14009a2d0
add dword [0x1402ad75c], r12d
jmp 0x14005c530
cmp dword [rbp - 0x60], esi
je 0x14005c6dc
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 0x14005c6dc
mov eax, dword [rbp - 0x5c]
cmp dword [rbp - 0x60], eax
je 0x14005c6dc
xor r9d, r9d
xor r8d, r8d
mov edx, eax
lea ecx, [r9 + 0x69]
call qword [sym.imp.USER32.dll_SystemParametersInfoW]
xor eax, eax
movaps xmm6, xmmword [rsp + 0x2d0]
add rsp, 0x2e8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret