Function at 0x1400ff3e0
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
push rdi
push r12
push r13
sub rsp, 0x188
mov rax, qword [0x14020cc58]
xor rax, rsp
mov qword [rsp + 0x160], rax
mov rbp, rcx
mov rcx, qword [rcx + 0x78]
movsxd r13, r8d
mov rdi, rdx
call qword [sym.imp.USER32.dll_GetMenu]
test rax, rax
mov r12, rax
je 0x140100511
mov qword [rsp + 0x1c0], rbx
mov qword [rsp + 0x180], rsi
xor esi, esi
mov rcx, rax
mov ebx, esi
call qword [sym.imp.USER32.dll_GetMenuItemCount]
test eax, eax
jle case.default.0x1400ff495
mov edx, ebx
mov rcx, r12
call qword [sym.imp.USER32.dll_GetSubMenu]
cmp rdi, rax
je 0x1400ff469
mov rcx, r12
add ebx, 1
call qword [sym.imp.USER32.dll_GetMenuItemCount]
cmp ebx, eax
jl 0x1400ff444
jmp case.default.0x1400ff495
cmp r13d, 6
ja case.default.0x1400ff495
lea rdx, [0x140000000]
mov qword [rsp + 0x178], r14
mov qword [rsp + 0x170], r15
mov ecx, dword [rdx + r13*4 + 0x100530]
add rcx, rdx
jmp rcx
mov rcx, rdi
call fcn.1400d48e0
mov r9, qword [0x140200708]
xor edx, edx
mov r9, qword [r9 + 0x438]
mov r8d, 0x9c4a
mov rcx, rdi
call fcn.1400df3e0
mov r9, qword [0x140200708]
xor edx, edx
mov r9, qword [r9 + 0x1a48]
mov r8d, 0x9c4e
mov rcx, rdi
call fcn.1400df3e0
mov r9, qword [0x140200708]
cmp dword [rbp + 0x284], 2
mov r9, qword [r9 + 0x1a58]
mov edx, 3
mov r8d, 0x9c4f
cmove edx, esi
mov rcx, rdi
call fcn.1400df3e0
mov r9, qword [0x140200708]
xor edx, edx
mov r9, qword [r9 + 0x440]
mov r8d, 0x9c4b
mov rcx, rdi
call fcn.1400df3e0
mov rcx, rdi
call fcn.1400d63b0
mov r9, qword [0x140200708]
xor edx, edx
mov r9, qword [r9 + 0xb20]
mov r8d, 0x9c4c
mov rcx, rdi
call fcn.1400df3e0
mov rcx, rdi
call fcn.1400d63b0
mov rcx, rbp
call fcn.14015f2e0
test eax, eax
je 0x1400ff88f
mov rcx, rbp
mov ebx, 1
call fcn.14015f2e0
mov r12d, esi
test eax, eax
mov r13d, eax
jle 0x1400ff599
nop
nop
mov edx, r12d
mov rcx, rbp
call fcn.14015f3e0
test eax, eax
cmove ebx, esi
add r12d, 1
cmp r12d, r13d
jl 0x1400ff580
cmp byte [reloc.WS2_32.dll_accept], sil
je 0x1400ff88f
cmp byte [reloc.WS2_32.dll_accept], sil
je 0x1400ff6cb
mov r9, qword [0x140200708]
xor edx, edx
mov r8d, 0xa028
mov r9, qword [r9 + 0x540]
mov rcx, rdi
call fcn.1400df3e0
movsx r11d, byte [reloc.WS2_32.dll_bind]
test r11d, r11d
js 0x1400ff600
cmp r11d, 1
jle 0x1400ff5fb
cmp r11d, 3
jne 0x1400ff600
lea ecx, [r11 + 0xd]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x1400ff600
jmp 0x1400ff61e
test r11d, r11d
je 0x1400ff61e
mov r9, qword [0x140200708]
xor edx, edx
mov r8d, 0xa02b
mov r9, qword [r9 + 0x538]
mov rcx, rdi
call fcn.1400df3e0
cmp dword [0x14020e204], 6
movsx eax, byte [reloc.WS2_32.dll_bind]
mov ecx, esi
setb cl
test eax, eax
js 0x1400ff64f
cmp eax, 1
jle 0x1400ff651
cmp eax, 3
jne 0x1400ff64f
lea ecx, [rax + 0xd]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x1400ff677
jmp 0x1400ff655
mov eax, ecx
test eax, eax
je 0x1400ff677
test ebx, ebx
je 0x1400ff677
mov r9, qword [0x140200708]
xor edx, edx
mov r8d, 0xa029
mov r9, qword [r9 + 0x530]
mov rcx, rdi
call fcn.1400df3e0
cmp dword [0x14020e204], 6
movsx eax, byte [reloc.WS2_32.dll_bind]
setb sil
test eax, eax
js 0x1400ff6a7
cmp eax, 1
jle 0x1400ff6a9
cmp eax, 3
jne 0x1400ff6a7
lea ecx, [rax + 0xd]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x1400ff6ad
jmp 0x1400ff6cb
mov eax, esi
test eax, eax
je 0x1400ff6cb
mov r9, qword [0x140200708]
xor edx, edx
mov r8d, 0xa02a
mov r9, qword [r9 + 0x528]
mov rcx, rdi
call fcn.1400df3e0
movsx eax, byte [reloc.WS2_32.dll_bind]
test eax, eax
js 0x1400ff712
cmp eax, 1
jle 0x1400ff6f0
cmp eax, 3
jne 0x1400ff712
lea ecx, [rax + 0xd]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x1400ff6f4
jmp 0x1400ff712
test eax, eax
je 0x1400ff712
mov r9, qword [0x140200708]
xor edx, edx
mov r8d, 0xa033
mov r9, qword [r9 + 0x2f98]
mov rcx, rdi
call fcn.1400df3e0
movsx eax, byte [reloc.WS2_32.dll_bind]
test eax, eax
js 0x1400ff759
cmp eax, 1
jle 0x1400ff737
cmp eax, 3
jne 0x1400ff759
lea ecx, [rax + 0xd]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x1400ff73b
jmp 0x1400ff759
test eax, eax
je 0x1400ff759
mov r9, qword [0x140200708]
xor edx, edx
mov r8d, 0xa030
mov r9, qword [r9 + 0x518]
mov rcx, rdi
call fcn.1400df3e0
movsx eax, byte [reloc.WS2_32.dll_bind]
test eax, eax
js 0x1400ff782
cmp eax, 1
jle 0x1400ff77e
cmp eax, 3
jne 0x1400ff782
lea ecx, [rax + 0xd]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x1400ff782
jmp 0x1400ff7a0
test eax, eax
je 0x1400ff7a0
mov r9, qword [0x140200708]
xor edx, edx
mov r8d, 0xa02f
mov r9, qword [r9 + 0x520]
mov rcx, rdi
call fcn.1400df3e0
mov rcx, rdi
call fcn.1400d63b0
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x1400ff7d7
mov r9, qword [0x140200708]
xor edx, edx
mov r8d, 0xa06c
mov r9, qword [r9 + 0x2500]
mov rcx, rdi
call fcn.1400df3e0
mov rcx, rdi
call fcn.1400d63b0
mov r9, qword [0x140200708]
xor edx, edx
mov r8d, 0xa069
mov r9, qword [r9 + 0x1cf8]
mov rcx, rdi
call fcn.1400df3e0
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x1400ff81c
mov r9, qword [0x140200708]
xor edx, edx
mov r8d, 0xa02c
mov r9, qword [r9 + 0x1380]
mov rcx, rdi
call fcn.1400df3e0
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x1400ff843
mov r9, qword [0x140200708]
xor edx, edx
mov r8d, 0xa02e
mov r9, qword [r9 + 0x1390]
mov rcx, rdi
call fcn.1400df3e0
mov r9, qword [0x140200708]
xor edx, edx
mov r8d, 0xa031
mov r9, qword [r9 + 0x13a0]
mov rcx, rdi
call fcn.1400df3e0
mov rcx, rdi
call fcn.1400d63b0
mov r9, qword [0x140200708]
xor edx, edx
mov r9, qword [r9 + 0x1368]
mov r8d, 0xa068
mov rcx, rdi
call fcn.1400df3e0
mov rcx, rdi
call fcn.1400d63b0
mov r9, qword [0x140200708]
mov r8d, 0x9c4d
mov r9, qword [r9 + 0x1630]
jmp 0x1401004e7
mov rcx, rbp
call fcn.14015f2e0
mov r12d, esi
mov ebx, 1
test eax, eax
mov rcx, rdi
cmovne r12d, ebx
call fcn.1400d48e0
cmp byte [reloc.WS2_32.dll_accept], sil
mov ebx, 3
je 0x1400ff8f8
mov r9, qword [0x140200708]
mov edx, ebx
test r12d, r12d
mov r9, qword [r9 + 0x448]
mov r8d, 0x9c54
mov rcx, rdi
cmovne edx, esi
call fcn.1400df3e0
cmp byte [reloc.WS2_32.dll_accept], sil
je 0x1400ff925
mov r9, qword [0x140200708]
mov edx, ebx
test r12d, r12d
mov r9, qword [r9 + 0x450]
mov r8d, 0x9c55
mov rcx, rdi
cmovne edx, esi
call fcn.1400df3e0
cmp byte [reloc.WS2_32.dll_accept], sil
je 0x1400ff959
mov rcx, rbp
call fcn.1400f89e0
mov r9, qword [0x140200708]
mov edx, ebx
mov r9, qword [r9 + 0x458]
test eax, eax
mov r8d, 0x9c56
cmovne edx, esi
mov rcx, rdi
call fcn.1400df3e0
mov rcx, rdi
call fcn.1400d63b0
cmp byte [reloc.WS2_32.dll_accept], sil
je 0x1400ff98e
mov r9, qword [0x140200708]
mov edx, ebx
test r12d, r12d
mov r9, qword [r9 + 0x30c8]
mov r8d, 0x9c9c
mov rcx, rdi
cmovne edx, esi
call fcn.1400df3e0
movzx eax, byte [reloc.WS2_32.dll_accept]
test al, al
je 0x1400ff9c3
mov r9, qword [0x140200708]
mov edx, ebx
test r12d, r12d
mov r9, qword [r9 + 0x30d8]
mov r8d, 0x9c9d
mov rcx, rdi
cmovne edx, esi
call fcn.1400df3e0
mov al, byte [reloc.WS2_32.dll_accept]
cmp byte [reloc.WS2_32.dll_accept], sil
jne 0x1400ff9d0
test al, al
je 0x1400ff9d8
mov rcx, rdi
call fcn.1400d63b0
mov r9, qword [0x140200708]
xor edx, edx
mov r8d, 0x9c57
mov r9, qword [r9 + 0x460]
mov rcx, rdi
call fcn.1400df3e0
mov r9, qword [0x140200708]
xor edx, edx
mov r9, qword [r9 + 0x468]
mov r8d, 0x9c5d
mov rcx, rdi
call fcn.1400df3e0
cmp byte [reloc.WS2_32.dll_accept], sil
jne 0x1400ffa2a
cmp byte [reloc.WS2_32.dll_accept], sil
je 0x1401004f1
mov rcx, rdi
call fcn.1400d63b0
mov rdx, qword [0x140200708]
mov r8d, 0x272b
mov rdx, qword [rdx + 0x3168]
mov rcx, rdi
call fcn.1400d4910
cmp byte [reloc.WS2_32.dll_accept], sil
mov rdi, rax
je 0x1400ffa7e
mov r9, qword [0x140200708]
mov edx, ebx
test r12d, r12d
mov r9, qword [r9 + 0x3178]
mov r8d, 0x9c9e
mov rcx, rax
cmovne edx, esi
call fcn.1400df3e0
cmp byte [reloc.WS2_32.dll_accept], sil
je 0x1401004f1
mov r9, qword [0x140200708]
test r12d, r12d
mov r8d, 0x9c9f
mov r9, qword [r9 + 0x3188]
cmovne ebx, esi
mov edx, ebx
jmp 0x1401004e9
mov rcx, rdi
call fcn.1400d48e0
mov r11, qword [rbp + 0xf8]
mov r9, qword [0x140200708]
mov r9, qword [r9 + 0x1d58]
neg r11
mov r8d, 0x9c63
sbb edx, edx
mov rcx, rdi
and edx, 8
call fcn.1400df3e0
mov r11, qword [rbp + 0x130]
mov r9, qword [0x140200708]
mov r9, qword [r9 + 0x28f0]
neg r11
mov r8d, 0x9c77
sbb edx, edx
mov rcx, rdi
and edx, 8
call fcn.1400df3e0
mov r11, qword [rbp + 0xb8]
mov r9, qword [0x140200708]
mov r9, qword [r9 + 0x1f60]
neg r11
mov r8d, 0x9c67
sbb edx, edx
mov rcx, rdi
and edx, 8
call fcn.1400df3e0
mov rcx, rdi
call fcn.1400d63b0
mov r11d, dword [rbp + 0x458]
cmp r11d, dword [0x1401fcc68]
jge 0x1400ffb51
mov ebx, esi
jmp 0x1400ffb60
cmp r11d, dword [0x1401fcc6c]
mov ebx, esi
setge bl
add ebx, 1
cmp dword [rbp + 0x454], 1
mov r12d, 8
jne 0x1400ffb79
cmp ebx, 2
jne 0x1400ffb79
mov edx, r12d
jmp 0x1400ffb7b
mov edx, esi
mov r9, qword [0x140200708]
bts edx, 9
mov r8d, 0x9c76
mov r9, qword [r9 + 0x26f0]
mov rcx, rdi
call fcn.1400df3e0
cmp dword [rbp + 0x454], 1
jne 0x1400ffbae
cmp ebx, 1
jne 0x1400ffbae
mov edx, r12d
jmp 0x1400ffbb0
mov edx, esi
mov r9, qword [0x140200708]
bts edx, 9
mov r8d, 0x9c75
mov r9, qword [r9 + 0x26e0]
mov rcx, rdi
call fcn.1400df3e0
cmp dword [rbp + 0x454], 1
jne 0x1400ffbe2
test ebx, ebx
jne 0x1400ffbe2
mov edx, r12d
jmp 0x1400ffbe4
mov edx, esi
mov r9, qword [0x140200708]
bts edx, 9
mov r8d, 0x9c74
mov r9, qword [r9 + 0x26d0]
mov rcx, rdi
call fcn.1400df3e0
mov r9, qword [0x140200708]
mov edx, esi
cmp dword [rbp + 0x454], edx
mov r9, qword [r9 + 0x26c0]
mov r8d, 0x9c73
cmove edx, r12d
mov rcx, rdi
bts edx, 9
call fcn.1400df3e0
mov rcx, rdi
call fcn.1400d63b0
mov rdx, qword [0x140200708]
mov r8d, 0x2723
mov rdx, qword [rdx + 0x10d0]
mov rcx, rdi
call fcn.1400d4910
mov r9, qword [0x140200708]
xor edx, edx
mov r9, qword [r9 + 0x10f0]
mov r8d, 0x9c6d
mov rcx, rax
mov rbx, rax
call fcn.1400df3e0
mov r9, qword [0x140200708]
mov r9, qword [r9 + 0x1100]
xor edx, edx
mov r8d, 0x9c6e
mov rcx, rbx
call fcn.1400df3e0
mov r9, qword [0x140200708]
xor edx, edx
mov r9, qword [r9 + 0x1110]
mov r8d, 0x9c6f
mov rcx, rbx
call fcn.1400df3e0
mov r9, qword [0x140200708]
xor edx, edx
mov r9, qword [r9 + 0x10e0]
mov r8d, 0x9c6c
mov rcx, rbx
call fcn.1400df3e0
mov rdx, qword [0x140200708]
mov r8d, 0x271c
mov rdx, qword [rdx + 0x470]
mov rcx, rdi
call fcn.1400d4910
mov r9, qword [0x140200708]
xor edx, edx
mov r9, qword [r9 + 0x478]
mov r8d, 0x9c5e
mov rcx, rax
mov rbx, rax
call fcn.1400df3e0
mov r9, qword [0x140200708]
mov r9, qword [r9 + 0x480]
xor edx, edx
mov r8d, 0x9c5f
mov rcx, rbx
call fcn.1400df3e0
mov rcx, rbx
call fcn.1400d63b0
mov r9, qword [0x140200708]
xor edx, edx
mov r9, qword [r9 + 0x488]
mov r8d, 0x9c60
mov rcx, rbx
call fcn.1400df3e0
mov rcx, rdi
call fcn.1400d63b0
mov rdx, rdi
mov rcx, rbp
call fcn.1400fc910
mov rdx, qword [0x140200708]
mov r8d, 0x2728
mov rdx, qword [rdx + 0x1fb0]
mov rcx, rdi
call fcn.1400d4910
cmp byte [0x14020df03], sil
mov r15, rax
je 0x1400ffdf6
mov rax, qword [rbp + 0x5a8]
mov ebx, 3
test rax, rax
je 0x1400ffda6
cmp qword [rax + 0x30], rsi
je 0x1400ffda6
mov edx, esi
jmp 0x1400ffda8
mov edx, ebx
mov r9, qword [0x140200708]
mov r8d, 0x9c68
mov rcx, r15
mov r9, qword [r9 + 0x1fc0]
call fcn.1400df3e0
mov r11, qword [rbp + 0x5a8]
test r11, r11
je 0x1400ffdd8
cmp qword [r11 + 0x28], rsi
je 0x1400ffdd8
mov ebx, esi
mov r9, qword [0x140200708]
mov r8d, 0x9c69
mov edx, ebx
mov r9, qword [r9 + 0x1fd0]
mov rcx, r15
call fcn.1400df3e0
mov r9, qword [0x140200708]
xor edx, edx
mov r8d, 0x9c71
mov r9, qword [r9 + 0x2640]
mov rcx, r15
call fcn.1400df3e0
cmp byte [0x14020df03], sil
je 0x1400ffeda
mov r9, qword [0x140200708]
xor edx, edx
mov r8d, 0x9c78
mov r9, qword [r9 + 0x2a68]
mov rcx, r15
call fcn.1400df3e0
cmp byte [0x14020df03], sil
je 0x1400ffeda
lea rcx, [rsp + 0x40]
call fcn.14017d460
mov r14, qword [rbp + 0x5a0]
mov r13d, 0xb3b0
test r14, r14
je 0x1400ffed0
mov rcx, r15
call fcn.1400d63b0
mov ebx, 1
cmp r13d, 0xb798
je 0x1400ffeca
mov rax, qword [rbp + 0x5a8]
mov r12d, esi
test rax, rax
je 0x1400ffe94
cmp r14, rax
cmove r12d, ebx
mov rdx, qword [r14 + 0x18]
lea rcx, [rsp + 0x40]
call fcn.14017a460
mov r9, qword [rsp + 0x48]
neg r12d
sbb edx, edx
movsxd r8, r13d
mov rcx, r15
and edx, 8
bts edx, 9
call fcn.1400df3e0
mov r14, qword [r14 + 0x30]
add r13d, ebx
test r14, r14
jne 0x1400ffe75
mov r12d, 8
lea rcx, [rsp + 0x40]
call fcn.1400012c0
cmp byte [0x14020e1a0], sil
je 0x1400ffeee
cmp byte [rbp + 0x230], sil
je 0x1400fff04
jmp 0x1400ffef7
cmp byte [rbp + 0x230], sil
jne 0x1400fff04
xor edx, edx
xor ecx, ecx
call fcn.1400dc100
test eax, eax
je 0x1400fff22
mov r9, qword [0x140200708]
xor edx, edx
mov r8d, 0x9c72
mov r9, qword [r9 + 0x2680]
mov rcx, rdi
call fcn.1400df3e0
mov r9, qword [0x140200708]
xor edx, edx
mov r8d, 0x9c64
mov r9, qword [r9 + 0x13b0]
mov rcx, rdi
call fcn.1400df3e0
mov rcx, rdi
call fcn.1400d63b0
mov rdx, qword [0x140200708]
mov r8d, 0x2729
mov rdx, qword [rdx + 0x2358]
mov rcx, rdi
call fcn.1400d4910
mov r9, qword [0x140200708]
mov edx, esi
cmp dword [rbp + 0x3b8], edx
mov r9, qword [r9 + 0x2368]
mov r8d, 0x9c6a
cmove edx, r12d
mov rcx, rax
mov rbx, rax
bts edx, 9
call fcn.1400df3e0
cmp dword [rbp + 0x3b8], 1
mov r9, qword [0x140200708]
mov r9, qword [r9 + 0x2378]
mov edx, esi
mov r8d, 0x9c6b
cmove edx, r12d
mov rcx, rbx
bts edx, 9
call fcn.1400df3e0
cmp dword [rbp + 0x3b8], 2
mov r9, qword [0x140200708]
mov r9, qword [r9 + 0x2388]
cmove esi, r12d
mov r8d, 0x9c70
bts esi, 9
mov rcx, rbx
mov edx, esi
jmp 0x1401004ec
mov rcx, rdi
call fcn.1400d48e0
movzx r11d, byte [rbp + 0x220]
mov r9, qword [0x140200708]
mov r9, qword [r9 + 0x490]
neg r11b
mov r8d, 0x9c7c
sbb edx, edx
mov rcx, rdi
and edx, 8
call fcn.1400df3e0
movzx eax, byte [rbp + 0x221]
mov r9, qword [0x140200708]
mov r9, qword [r9 + 0x498]
neg al
movzx eax, byte [rbp + 0x223]
sbb edx, edx
mov r8d, 0x9c7d
and edx, 8
neg al
sbb ecx, ecx
and ecx, 3
or edx, ecx
mov rcx, rdi
call fcn.1400df3e0
movzx r11d, byte [rbp + 0x222]
mov r9, qword [0x140200708]
mov r9, qword [r9 + 0x4a0]
neg r11b
mov r8d, 0x9c7e
sbb edx, edx
mov rcx, rdi
and edx, 8
call fcn.1400df3e0
movzx r11d, byte [rbp + 0x224]
movzx eax, byte [rbp + 0x223]
mov r9, qword [0x140200708]
neg r11b
mov r8d, 0x9c82
mov r9, qword [r9 + 0x1120]
sbb edx, edx
and edx, 8
neg al
sbb ecx, ecx
and ecx, 3
or edx, ecx
mov rcx, rdi
call fcn.1400df3e0
mov rcx, rdi
call fcn.1400d63b0
movzx r11d, byte [rbp + 0x223]
mov r9, qword [0x140200708]
mov r9, qword [r9 + 0x4a8]
neg r11b
mov r8d, 0x9c7f
sbb edx, edx
mov rcx, rdi
and edx, 8
call fcn.1400df3e0
mov r9, qword [0x140200708]
xor edx, edx
mov r9, qword [r9 + 0x2ba8]
mov r8d, 0x9c85
mov rcx, rdi
call fcn.1400df3e0
mov rcx, rdi
call fcn.1400d63b0
mov r9, qword [0x140200708]
xor edx, edx
mov r9, qword [r9 + 0x1da8]
mov r8d, 0x9c83
mov rcx, rdi
call fcn.1400df3e0
mov r9, qword [0x140200708]
xor edx, edx
mov r9, qword [r9 + 0x1db8]
mov r8d, 0x9c84
mov rcx, rdi
call fcn.1400df3e0
cmp qword [0x14020e160], rsi
je 0x1401004f1
lea rcx, [rsp + 0x40]
call fcn.14017d460
mov rcx, qword [rbp + 0x108]
mov rsi, qword [0x14020e160]
call fcn.1400c0e20
test rax, rax
mov r12, rax
jne 0x14010019a
mov rcx, qword [0x14020e160]
call fcn.1400c0b60
mov r12, rax
mov rcx, rdi
mov r14d, 0xafc8
call fcn.1400d63b0
test rsi, rsi
je 0x140100248
mov ebx, 1
mov r13d, 0xb3b0
mov r15d, 0x208
cmp r14d, r13d
je 0x140100248
cmp rsi, r12
mov ebp, 0x200
cmove ebp, r15d
cmp dword [0x14020de14], 0
je 0x1401001fb
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetMenuItemCount]
test eax, eax
jle 0x1401001fb
cdq
idiv dword [0x14020de14]
test edx, edx
jne 0x1401001fb
or ebp, 0x20
mov rcx, rsi
call fcn.1400c0a60
lea rcx, [rsp + 0x40]
mov rdx, rax
call fcn.14017a460
movzx r11d, byte [rsi + 0x31]
movzx eax, byte [rsi + 0x30]
mov r9, qword [rsp + 0x48]
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x28], r11d
movsxd r8, r14d
mov edx, ebp
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.1400df110
mov rsi, qword [rsi + 0x18]
add r14d, ebx
test rsi, rsi
jne 0x1401001c2
lea rcx, [rsp + 0x40]
call fcn.1400012c0
jmp 0x1401004f1
mov rcx, rdi
call fcn.1400d48e0
mov r9, qword [0x140200708]
xor edx, edx
mov r9, qword [r9 + 0x1468]
mov r8d, 0x9c9a
mov rcx, rdi
call fcn.1400df3e0
mov r9, qword [0x140200708]
xor edx, edx
mov r9, qword [r9 + 0x1478]
mov r8d, 0x9c9b
mov rcx, rdi
call fcn.1400df3e0
cmp qword [0x14020dd20], rsi
je 0x1401004f1
lea rcx, [rsp + 0x40]
call fcn.14017d460
mov rbp, qword [0x14020dd20]
mov rcx, rdi
mov r13d, 0xabe0
call fcn.1400d63b0
test rbp, rbp
je 0x14010034b
mov ebx, 1
mov r14d, 0xafc8
lea r15d, [rbx + 0x1f]
nop
cmp r13d, r14d
je 0x14010034b
mov rdx, qword [rbp]
lea rcx, [rsp + 0x40]
call fcn.14017a460
cmp dword [0x14020de14], esi
mov r12d, esi
je 0x140100318
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetMenuItemCount]
test eax, eax
jle 0x140100318
cdq
idiv dword [0x14020de14]
test edx, edx
cmove r12d, r15d
movzx ecx, byte [rbp + 0x40]
movzx eax, byte [rbp + 0x41]
mov r9, qword [rsp + 0x48]
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
mov rcx, rdi
movsxd r8, r13d
mov edx, r12d
call fcn.1400df110
mov rbp, qword [rbp + 0x28]
add r13d, ebx
test rbp, rbp
jne 0x1401002e0
lea rcx, [rsp + 0x40]
call fcn.1400012c0
jmp 0x1401004f1
mov rcx, rdi
call fcn.1400d48e0
mov r9, qword [0x140200708]
xor edx, edx
mov r9, qword [r9 + 0x4c0]
mov r8d, 0x9c88
mov rcx, rdi
call fcn.1400df3e0
mov r9, qword [0x140200708]
mov edx, 3
cmp dword [rbp + 0x284], edx
mov r9, qword [r9 + 0x4c8]
mov r8d, 0x9c89
cmove edx, esi
mov rcx, rdi
call fcn.1400df3e0
mov r9, qword [0x140200708]
xor edx, edx
mov r9, qword [r9 + 0x16a8]
mov r8d, 0x9c8c
mov rcx, rdi
call fcn.1400df3e0
mov rcx, rdi
call fcn.1400d63b0
mov r9, qword [0x140200708]
mov r8d, 0x9c8a
mov r9, qword [r9 + 0x4d0]
jmp 0x1401004e7
mov rcx, rdi
call fcn.1400d48e0
mov r9, qword [0x140200708]
xor edx, edx
mov r9, qword [r9 + 0x4d8]
mov r8d, 0x9c90
mov rcx, rdi
call fcn.1400df3e0
mov r9, qword [0x140200708]
xor edx, edx
mov r9, qword [r9 + 0xeb8]
mov r8d, 0x9c94
mov rcx, rdi
call fcn.1400df3e0
mov r9, qword [0x140200708]
xor edx, edx
mov r9, qword [r9 + 0x1d08]
mov r8d, 0x9c96
mov rcx, rdi
call fcn.1400df3e0
mov r9, qword [0x140200708]
xor edx, edx
mov r9, qword [r9 + 0x1190]
mov r8d, 0x9c95
mov rcx, rdi
call fcn.1400df3e0
mov rcx, rdi
call fcn.1400d63b0
mov r9, qword [0x140200708]
xor edx, edx
mov r9, qword [r9 + 0x4e0]
mov r8d, 0x9c91
mov rcx, rdi
call fcn.1400df3e0
mov r9, qword [0x140200708]
xor edx, edx
mov r9, qword [r9 + 0x4e8]
mov r8d, 0x9c92
mov rcx, rdi
call fcn.1400df3e0
mov r9, qword [0x140200708]
xor edx, edx
mov r9, qword [r9 + 0x2f78]
mov r8d, 0x9c97
mov rcx, rdi
call fcn.1400df3e0
mov rcx, rdi
call fcn.1400d63b0
mov r9, qword [0x140200708]
mov r8d, 0x9c93
mov r9, qword [r9 + 0x4f0]
xor edx, edx
mov rcx, rdi
call fcn.1400df3e0
mov r14, qword [rsp + 0x178]
mov r15, qword [rsp + 0x170]
mov rbx, qword [rsp + 0x1c0]
mov rsi, qword [rsp + 0x180]
mov rcx, qword [rsp + 0x160]
xor rcx, rsp
call fcn.1401a8ec0
add rsp, 0x188
pop r13
pop r12
pop rdi
pop rbp
ret