Function at 0x1400ff720
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
push rdi
push r12
push r13
sub rsp, 0x188
mov rax, qword [0x14020cc08]
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 0x140100851
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.0x1400ff7d5
mov edx, ebx
mov rcx, r12
call qword [sym.imp.USER32.dll_GetSubMenu]
cmp rdi, rax
je 0x1400ff7a9
mov rcx, r12
add ebx, 1
call qword [sym.imp.USER32.dll_GetMenuItemCount]
cmp ebx, eax
jl 0x1400ff784
jmp case.default.0x1400ff7d5
cmp r13d, 6
ja case.default.0x1400ff7d5
lea rdx, [0x140000000]
mov qword [rsp + 0x178], r14
mov qword [rsp + 0x170], r15
mov ecx, dword [rdx + r13*4 + 0x100870]
add rcx, rdx
jmp rcx
mov rcx, rdi
call fcn.1400d4b30
mov r9, qword [0x1402006b8]
xor edx, edx
mov r9, qword [r9 + 0x438]
mov r8d, 0x9c4a
mov rcx, rdi
call fcn.1400df660
mov r9, qword [0x1402006b8]
xor edx, edx
mov r9, qword [r9 + 0x1a48]
mov r8d, 0x9c4e
mov rcx, rdi
call fcn.1400df660
mov r9, qword [0x1402006b8]
cmp dword [rbp + 0x284], 2
mov r9, qword [r9 + 0x1a58]
mov edx, 3
mov r8d, 0x9c4f
cmove edx, esi
mov rcx, rdi
call fcn.1400df660
mov r9, qword [0x1402006b8]
xor edx, edx
mov r9, qword [r9 + 0x440]
mov r8d, 0x9c4b
mov rcx, rdi
call fcn.1400df660
mov rcx, rdi
call fcn.1400d6540
mov r9, qword [0x1402006b8]
xor edx, edx
mov r9, qword [r9 + 0xb20]
mov r8d, 0x9c4c
mov rcx, rdi
call fcn.1400df660
mov rcx, rdi
call fcn.1400d6540
mov rcx, rbp
call fcn.14015f660
test eax, eax
je 0x1400ffbcf
mov rcx, rbp
mov ebx, 1
call fcn.14015f660
mov r12d, esi
test eax, eax
mov r13d, eax
jle 0x1400ff8d9
nop
nop
mov edx, r12d
mov rcx, rbp
call fcn.14015f760
test eax, eax
cmove ebx, esi
add r12d, 1
cmp r12d, r13d
jl 0x1400ff8c0
cmp byte [reloc.WS2_32.dll_accept], sil
je 0x1400ffbcf
cmp byte [reloc.WS2_32.dll_accept], sil
je 0x1400ffa0b
mov r9, qword [0x1402006b8]
xor edx, edx
mov r8d, 0xa028
mov r9, qword [r9 + 0x540]
mov rcx, rdi
call fcn.1400df660
movsx r11d, byte [reloc.WS2_32.dll_bind]
test r11d, r11d
js 0x1400ff940
cmp r11d, 1
jle 0x1400ff93b
cmp r11d, 3
jne 0x1400ff940
lea ecx, [r11 + 0xd]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x1400ff940
jmp 0x1400ff95e
test r11d, r11d
je 0x1400ff95e
mov r9, qword [0x1402006b8]
xor edx, edx
mov r8d, 0xa02b
mov r9, qword [r9 + 0x538]
mov rcx, rdi
call fcn.1400df660
cmp dword [0x14020e1cc], 6
movsx eax, byte [reloc.WS2_32.dll_bind]
mov ecx, esi
setb cl
test eax, eax
js 0x1400ff98f
cmp eax, 1
jle 0x1400ff991
cmp eax, 3
jne 0x1400ff98f
lea ecx, [rax + 0xd]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x1400ff9b7
jmp 0x1400ff995
mov eax, ecx
test eax, eax
je 0x1400ff9b7
test ebx, ebx
je 0x1400ff9b7
mov r9, qword [0x1402006b8]
xor edx, edx
mov r8d, 0xa029
mov r9, qword [r9 + 0x530]
mov rcx, rdi
call fcn.1400df660
cmp dword [0x14020e1cc], 6
movsx eax, byte [reloc.WS2_32.dll_bind]
setb sil
test eax, eax
js 0x1400ff9e7
cmp eax, 1
jle 0x1400ff9e9
cmp eax, 3
jne 0x1400ff9e7
lea ecx, [rax + 0xd]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x1400ff9ed
jmp 0x1400ffa0b
mov eax, esi
test eax, eax
je 0x1400ffa0b
mov r9, qword [0x1402006b8]
xor edx, edx
mov r8d, 0xa02a
mov r9, qword [r9 + 0x528]
mov rcx, rdi
call fcn.1400df660
movsx eax, byte [reloc.WS2_32.dll_bind]
test eax, eax
js 0x1400ffa52
cmp eax, 1
jle 0x1400ffa30
cmp eax, 3
jne 0x1400ffa52
lea ecx, [rax + 0xd]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x1400ffa34
jmp 0x1400ffa52
test eax, eax
je 0x1400ffa52
mov r9, qword [0x1402006b8]
xor edx, edx
mov r8d, 0xa033
mov r9, qword [r9 + 0x2f98]
mov rcx, rdi
call fcn.1400df660
movsx eax, byte [reloc.WS2_32.dll_bind]
test eax, eax
js 0x1400ffa99
cmp eax, 1
jle 0x1400ffa77
cmp eax, 3
jne 0x1400ffa99
lea ecx, [rax + 0xd]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x1400ffa7b
jmp 0x1400ffa99
test eax, eax
je 0x1400ffa99
mov r9, qword [0x1402006b8]
xor edx, edx
mov r8d, 0xa030
mov r9, qword [r9 + 0x518]
mov rcx, rdi
call fcn.1400df660
movsx eax, byte [reloc.WS2_32.dll_bind]
test eax, eax
js 0x1400ffac2
cmp eax, 1
jle 0x1400ffabe
cmp eax, 3
jne 0x1400ffac2
lea ecx, [rax + 0xd]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x1400ffac2
jmp 0x1400ffae0
test eax, eax
je 0x1400ffae0
mov r9, qword [0x1402006b8]
xor edx, edx
mov r8d, 0xa02f
mov r9, qword [r9 + 0x520]
mov rcx, rdi
call fcn.1400df660
mov rcx, rdi
call fcn.1400d6540
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x1400ffb17
mov r9, qword [0x1402006b8]
xor edx, edx
mov r8d, 0xa06c
mov r9, qword [r9 + 0x2500]
mov rcx, rdi
call fcn.1400df660
mov rcx, rdi
call fcn.1400d6540
mov r9, qword [0x1402006b8]
xor edx, edx
mov r8d, 0xa069
mov r9, qword [r9 + 0x1cf8]
mov rcx, rdi
call fcn.1400df660
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x1400ffb5c
mov r9, qword [0x1402006b8]
xor edx, edx
mov r8d, 0xa02c
mov r9, qword [r9 + 0x1380]
mov rcx, rdi
call fcn.1400df660
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x1400ffb83
mov r9, qword [0x1402006b8]
xor edx, edx
mov r8d, 0xa02e
mov r9, qword [r9 + 0x1390]
mov rcx, rdi
call fcn.1400df660
mov r9, qword [0x1402006b8]
xor edx, edx
mov r8d, 0xa031
mov r9, qword [r9 + 0x13a0]
mov rcx, rdi
call fcn.1400df660
mov rcx, rdi
call fcn.1400d6540
mov r9, qword [0x1402006b8]
xor edx, edx
mov r9, qword [r9 + 0x1368]
mov r8d, 0xa068
mov rcx, rdi
call fcn.1400df660
mov rcx, rdi
call fcn.1400d6540
mov r9, qword [0x1402006b8]
mov r8d, 0x9c4d
mov r9, qword [r9 + 0x1630]
jmp 0x140100827
mov rcx, rbp
call fcn.14015f660
mov r12d, esi
mov ebx, 1
test eax, eax
mov rcx, rdi
cmovne r12d, ebx
call fcn.1400d4b30
cmp byte [reloc.WS2_32.dll_accept], sil
mov ebx, 3
je 0x1400ffc38
mov r9, qword [0x1402006b8]
mov edx, ebx
test r12d, r12d
mov r9, qword [r9 + 0x448]
mov r8d, 0x9c54
mov rcx, rdi
cmovne edx, esi
call fcn.1400df660
cmp byte [reloc.WS2_32.dll_accept], sil
je 0x1400ffc65
mov r9, qword [0x1402006b8]
mov edx, ebx
test r12d, r12d
mov r9, qword [r9 + 0x450]
mov r8d, 0x9c55
mov rcx, rdi
cmovne edx, esi
call fcn.1400df660
cmp byte [reloc.WS2_32.dll_accept], sil
je 0x1400ffc99
mov rcx, rbp
call fcn.1400f8d00
mov r9, qword [0x1402006b8]
mov edx, ebx
mov r9, qword [r9 + 0x458]
test eax, eax
mov r8d, 0x9c56
cmovne edx, esi
mov rcx, rdi
call fcn.1400df660
mov rcx, rdi
call fcn.1400d6540
cmp byte [reloc.WS2_32.dll_accept], sil
je 0x1400ffcce
mov r9, qword [0x1402006b8]
mov edx, ebx
test r12d, r12d
mov r9, qword [r9 + 0x30c8]
mov r8d, 0x9c9c
mov rcx, rdi
cmovne edx, esi
call fcn.1400df660
movzx eax, byte [reloc.WS2_32.dll_accept]
test al, al
je 0x1400ffd03
mov r9, qword [0x1402006b8]
mov edx, ebx
test r12d, r12d
mov r9, qword [r9 + 0x30d8]
mov r8d, 0x9c9d
mov rcx, rdi
cmovne edx, esi
call fcn.1400df660
mov al, byte [reloc.WS2_32.dll_accept]
cmp byte [reloc.WS2_32.dll_accept], sil
jne 0x1400ffd10
test al, al
je 0x1400ffd18
mov rcx, rdi
call fcn.1400d6540
mov r9, qword [0x1402006b8]
xor edx, edx
mov r8d, 0x9c57
mov r9, qword [r9 + 0x460]
mov rcx, rdi
call fcn.1400df660
mov r9, qword [0x1402006b8]
xor edx, edx
mov r9, qword [r9 + 0x468]
mov r8d, 0x9c5d
mov rcx, rdi
call fcn.1400df660
cmp byte [reloc.WS2_32.dll_accept], sil
jne 0x1400ffd6a
cmp byte [reloc.WS2_32.dll_accept], sil
je 0x140100831
mov rcx, rdi
call fcn.1400d6540
mov rdx, qword [0x1402006b8]
mov r8d, 0x272b
mov rdx, qword [rdx + 0x3168]
mov rcx, rdi
call fcn.1400d4b60
cmp byte [reloc.WS2_32.dll_accept], sil
mov rdi, rax
je 0x1400ffdbe
mov r9, qword [0x1402006b8]
mov edx, ebx
test r12d, r12d
mov r9, qword [r9 + 0x3178]
mov r8d, 0x9c9e
mov rcx, rax
cmovne edx, esi
call fcn.1400df660
cmp byte [reloc.WS2_32.dll_accept], sil
je 0x140100831
mov r9, qword [0x1402006b8]
test r12d, r12d
mov r8d, 0x9c9f
mov r9, qword [r9 + 0x3188]
cmovne ebx, esi
mov edx, ebx
jmp 0x140100829
mov rcx, rdi
call fcn.1400d4b30
mov r11, qword [rbp + 0xf8]
mov r9, qword [0x1402006b8]
mov r9, qword [r9 + 0x1d58]
neg r11
mov r8d, 0x9c63
sbb edx, edx
mov rcx, rdi
and edx, 8
call fcn.1400df660
mov r11, qword [rbp + 0x130]
mov r9, qword [0x1402006b8]
mov r9, qword [r9 + 0x28f0]
neg r11
mov r8d, 0x9c77
sbb edx, edx
mov rcx, rdi
and edx, 8
call fcn.1400df660
mov r11, qword [rbp + 0xb8]
mov r9, qword [0x1402006b8]
mov r9, qword [r9 + 0x1f60]
neg r11
mov r8d, 0x9c67
sbb edx, edx
mov rcx, rdi
and edx, 8
call fcn.1400df660
mov rcx, rdi
call fcn.1400d6540
mov r11d, dword [rbp + 0x458]
cmp r11d, dword [0x1401fcc48]
jge 0x1400ffe91
mov ebx, esi
jmp 0x1400ffea0
cmp r11d, dword [0x1401fcc4c]
mov ebx, esi
setge bl
add ebx, 1
cmp dword [rbp + 0x454], 1
mov r12d, 8
jne 0x1400ffeb9
cmp ebx, 2
jne 0x1400ffeb9
mov edx, r12d
jmp 0x1400ffebb
mov edx, esi
mov r9, qword [0x1402006b8]
bts edx, 9
mov r8d, 0x9c76
mov r9, qword [r9 + 0x26f0]
mov rcx, rdi
call fcn.1400df660
cmp dword [rbp + 0x454], 1
jne 0x1400ffeee
cmp ebx, 1
jne 0x1400ffeee
mov edx, r12d
jmp 0x1400ffef0
mov edx, esi
mov r9, qword [0x1402006b8]
bts edx, 9
mov r8d, 0x9c75
mov r9, qword [r9 + 0x26e0]
mov rcx, rdi
call fcn.1400df660
cmp dword [rbp + 0x454], 1
jne 0x1400fff22
test ebx, ebx
jne 0x1400fff22
mov edx, r12d
jmp 0x1400fff24
mov edx, esi
mov r9, qword [0x1402006b8]
bts edx, 9
mov r8d, 0x9c74
mov r9, qword [r9 + 0x26d0]
mov rcx, rdi
call fcn.1400df660
mov r9, qword [0x1402006b8]
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.1400df660
mov rcx, rdi
call fcn.1400d6540
mov rdx, qword [0x1402006b8]
mov r8d, 0x2723
mov rdx, qword [rdx + 0x10d0]
mov rcx, rdi
call fcn.1400d4b60
mov r9, qword [0x1402006b8]
xor edx, edx
mov r9, qword [r9 + 0x10f0]
mov r8d, 0x9c6d
mov rcx, rax
mov rbx, rax
call fcn.1400df660
mov r9, qword [0x1402006b8]
mov r9, qword [r9 + 0x1100]
xor edx, edx
mov r8d, 0x9c6e
mov rcx, rbx
call fcn.1400df660
mov r9, qword [0x1402006b8]
xor edx, edx
mov r9, qword [r9 + 0x1110]
mov r8d, 0x9c6f
mov rcx, rbx
call fcn.1400df660
mov r9, qword [0x1402006b8]
xor edx, edx
mov r9, qword [r9 + 0x10e0]
mov r8d, 0x9c6c
mov rcx, rbx
call fcn.1400df660
mov rdx, qword [0x1402006b8]
mov r8d, 0x271c
mov rdx, qword [rdx + 0x470]
mov rcx, rdi
call fcn.1400d4b60
mov r9, qword [0x1402006b8]
xor edx, edx
mov r9, qword [r9 + 0x478]
mov r8d, 0x9c5e
mov rcx, rax
mov rbx, rax
call fcn.1400df660
mov r9, qword [0x1402006b8]
mov r9, qword [r9 + 0x480]
xor edx, edx
mov r8d, 0x9c5f
mov rcx, rbx
call fcn.1400df660
mov rcx, rbx
call fcn.1400d6540
mov r9, qword [0x1402006b8]
xor edx, edx
mov r9, qword [r9 + 0x488]
mov r8d, 0x9c60
mov rcx, rbx
call fcn.1400df660
mov rcx, rdi
call fcn.1400d6540
mov rdx, rdi
mov rcx, rbp
call fcn.1400fcc50
mov rdx, qword [0x1402006b8]
mov r8d, 0x2728
mov rdx, qword [rdx + 0x1fb0]
mov rcx, rdi
call fcn.1400d4b60
cmp byte [0x14020dec6], sil
mov r15, rax
je 0x140100136
mov rax, qword [rbp + 0x5a8]
mov ebx, 3
test rax, rax
je 0x1401000e6
cmp qword [rax + 0x30], rsi
je 0x1401000e6
mov edx, esi
jmp 0x1401000e8
mov edx, ebx
mov r9, qword [0x1402006b8]
mov r8d, 0x9c68
mov rcx, r15
mov r9, qword [r9 + 0x1fc0]
call fcn.1400df660
mov r11, qword [rbp + 0x5a8]
test r11, r11
je 0x140100118
cmp qword [r11 + 0x28], rsi
je 0x140100118
mov ebx, esi
mov r9, qword [0x1402006b8]
mov r8d, 0x9c69
mov edx, ebx
mov r9, qword [r9 + 0x1fd0]
mov rcx, r15
call fcn.1400df660
mov r9, qword [0x1402006b8]
xor edx, edx
mov r8d, 0x9c71
mov r9, qword [r9 + 0x2640]
mov rcx, r15
call fcn.1400df660
cmp byte [0x14020dec6], sil
je 0x14010021a
mov r9, qword [0x1402006b8]
xor edx, edx
mov r8d, 0x9c78
mov r9, qword [r9 + 0x2a68]
mov rcx, r15
call fcn.1400df660
cmp byte [0x14020dec6], sil
je 0x14010021a
lea rcx, [rsp + 0x40]
call fcn.1400012c0
mov r14, qword [rbp + 0x5a0]
mov r13d, 0xb3b0
test r14, r14
je 0x140100210
mov rcx, r15
call fcn.1400d6540
mov ebx, 1
cmp r13d, 0xb798
je 0x14010020a
mov rax, qword [rbp + 0x5a8]
mov r12d, esi
test rax, rax
je 0x1401001d4
cmp r14, rax
cmove r12d, ebx
mov rdx, qword [r14 + 0x18]
lea rcx, [rsp + 0x40]
call fcn.14017a7e0
mov r9, qword [rsp + 0x48]
neg r12d
sbb edx, edx
movsxd r8, r13d
mov rcx, r15
and edx, 8
bts edx, 9
call fcn.1400df660
mov r14, qword [r14 + 0x30]
add r13d, ebx
test r14, r14
jne 0x1401001b5
mov r12d, 8
lea rcx, [rsp + 0x40]
call fcn.140177510
cmp byte [0x14020e168], sil
je 0x14010022e
cmp byte [rbp + 0x230], sil
je 0x140100244
jmp 0x140100237
cmp byte [rbp + 0x230], sil
jne 0x140100244
xor edx, edx
xor ecx, ecx
call fcn.1400dc400
test eax, eax
je 0x140100262
mov r9, qword [0x1402006b8]
xor edx, edx
mov r8d, 0x9c72
mov r9, qword [r9 + 0x2680]
mov rcx, rdi
call fcn.1400df660
mov r9, qword [0x1402006b8]
xor edx, edx
mov r8d, 0x9c64
mov r9, qword [r9 + 0x13b0]
mov rcx, rdi
call fcn.1400df660
mov rcx, rdi
call fcn.1400d6540
mov rdx, qword [0x1402006b8]
mov r8d, 0x2729
mov rdx, qword [rdx + 0x2358]
mov rcx, rdi
call fcn.1400d4b60
mov r9, qword [0x1402006b8]
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.1400df660
cmp dword [rbp + 0x3b8], 1
mov r9, qword [0x1402006b8]
mov r9, qword [r9 + 0x2378]
mov edx, esi
mov r8d, 0x9c6b
cmove edx, r12d
mov rcx, rbx
bts edx, 9
call fcn.1400df660
cmp dword [rbp + 0x3b8], 2
mov r9, qword [0x1402006b8]
mov r9, qword [r9 + 0x2388]
cmove esi, r12d
mov r8d, 0x9c70
bts esi, 9
mov rcx, rbx
mov edx, esi
jmp 0x14010082c
mov rcx, rdi
call fcn.1400d4b30
movzx r11d, byte [rbp + 0x220]
mov r9, qword [0x1402006b8]
mov r9, qword [r9 + 0x490]
neg r11b
mov r8d, 0x9c7c
sbb edx, edx
mov rcx, rdi
and edx, 8
call fcn.1400df660
movzx eax, byte [rbp + 0x221]
mov r9, qword [0x1402006b8]
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.1400df660
movzx r11d, byte [rbp + 0x222]
mov r9, qword [0x1402006b8]
mov r9, qword [r9 + 0x4a0]
neg r11b
mov r8d, 0x9c7e
sbb edx, edx
mov rcx, rdi
and edx, 8
call fcn.1400df660
movzx r11d, byte [rbp + 0x224]
movzx eax, byte [rbp + 0x223]
mov r9, qword [0x1402006b8]
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.1400df660
mov rcx, rdi
call fcn.1400d6540
movzx r11d, byte [rbp + 0x223]
mov r9, qword [0x1402006b8]
mov r9, qword [r9 + 0x4a8]
neg r11b
mov r8d, 0x9c7f
sbb edx, edx
mov rcx, rdi
and edx, 8
call fcn.1400df660
mov r9, qword [0x1402006b8]
xor edx, edx
mov r9, qword [r9 + 0x2ba8]
mov r8d, 0x9c85
mov rcx, rdi
call fcn.1400df660
mov rcx, rdi
call fcn.1400d6540
mov r9, qword [0x1402006b8]
xor edx, edx
mov r9, qword [r9 + 0x1da8]
mov r8d, 0x9c83
mov rcx, rdi
call fcn.1400df660
mov r9, qword [0x1402006b8]
xor edx, edx
mov r9, qword [r9 + 0x1db8]
mov r8d, 0x9c84
mov rcx, rdi
call fcn.1400df660
cmp qword [0x14020e128], rsi
je 0x140100831
lea rcx, [rsp + 0x40]
call fcn.1400012c0
mov rcx, qword [rbp + 0x108]
mov rsi, qword [0x14020e128]
call fcn.1400c0cb0
test rax, rax
mov r12, rax
jne 0x1401004da
mov rcx, qword [0x14020e128]
call fcn.1400c09f0
mov r12, rax
mov rcx, rdi
mov r14d, 0xafc8
call fcn.1400d6540
test rsi, rsi
je 0x140100588
mov ebx, 1
mov r13d, 0xb3b0
mov r15d, 0x208
cmp r14d, r13d
je 0x140100588
cmp rsi, r12
mov ebp, 0x200
cmove ebp, r15d
cmp dword [0x14020ddd4], 0
je 0x14010053b
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetMenuItemCount]
test eax, eax
jle 0x14010053b
cdq
idiv dword [0x14020ddd4]
test edx, edx
jne 0x14010053b
or ebp, 0x20
mov rcx, rsi
call fcn.1400c08f0
lea rcx, [rsp + 0x40]
mov rdx, rax
call fcn.14017a7e0
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.1400df390
mov rsi, qword [rsi + 0x18]
add r14d, ebx
test rsi, rsi
jne 0x140100502
lea rcx, [rsp + 0x40]
call fcn.140177510
jmp 0x140100831
mov rcx, rdi
call fcn.1400d4b30
mov r9, qword [0x1402006b8]
xor edx, edx
mov r9, qword [r9 + 0x1468]
mov r8d, 0x9c9a
mov rcx, rdi
call fcn.1400df660
mov r9, qword [0x1402006b8]
xor edx, edx
mov r9, qword [r9 + 0x1478]
mov r8d, 0x9c9b
mov rcx, rdi
call fcn.1400df660
cmp qword [0x14020dce0], rsi
je 0x140100831
lea rcx, [rsp + 0x40]
call fcn.1400012c0
mov rbp, qword [0x14020dce0]
mov rcx, rdi
mov r13d, 0xabe0
call fcn.1400d6540
test rbp, rbp
je 0x14010068b
mov ebx, 1
mov r14d, 0xafc8
lea r15d, [rbx + 0x1f]
nop
cmp r13d, r14d
je 0x14010068b
mov rdx, qword [rbp]
lea rcx, [rsp + 0x40]
call fcn.14017a7e0
cmp dword [0x14020ddd4], esi
mov r12d, esi
je 0x140100658
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetMenuItemCount]
test eax, eax
jle 0x140100658
cdq
idiv dword [0x14020ddd4]
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.1400df390
mov rbp, qword [rbp + 0x28]
add r13d, ebx
test rbp, rbp
jne 0x140100620
lea rcx, [rsp + 0x40]
call fcn.140177510
jmp 0x140100831
mov rcx, rdi
call fcn.1400d4b30
mov r9, qword [0x1402006b8]
xor edx, edx
mov r9, qword [r9 + 0x4c0]
mov r8d, 0x9c88
mov rcx, rdi
call fcn.1400df660
mov r9, qword [0x1402006b8]
mov edx, 3
cmp dword [rbp + 0x284], edx
mov r9, qword [r9 + 0x4c8]
mov r8d, 0x9c89
cmove edx, esi
mov rcx, rdi
call fcn.1400df660
mov r9, qword [0x1402006b8]
xor edx, edx
mov r9, qword [r9 + 0x16a8]
mov r8d, 0x9c8c
mov rcx, rdi
call fcn.1400df660
mov rcx, rdi
call fcn.1400d6540
mov r9, qword [0x1402006b8]
mov r8d, 0x9c8a
mov r9, qword [r9 + 0x4d0]
jmp 0x140100827
mov rcx, rdi
call fcn.1400d4b30
mov r9, qword [0x1402006b8]
xor edx, edx
mov r9, qword [r9 + 0x4d8]
mov r8d, 0x9c90
mov rcx, rdi
call fcn.1400df660
mov r9, qword [0x1402006b8]
xor edx, edx
mov r9, qword [r9 + 0xeb8]
mov r8d, 0x9c94
mov rcx, rdi
call fcn.1400df660
mov r9, qword [0x1402006b8]
xor edx, edx
mov r9, qword [r9 + 0x1d08]
mov r8d, 0x9c96
mov rcx, rdi
call fcn.1400df660
mov r9, qword [0x1402006b8]
xor edx, edx
mov r9, qword [r9 + 0x1190]
mov r8d, 0x9c95
mov rcx, rdi
call fcn.1400df660
mov rcx, rdi
call fcn.1400d6540
mov r9, qword [0x1402006b8]
xor edx, edx
mov r9, qword [r9 + 0x4e0]
mov r8d, 0x9c91
mov rcx, rdi
call fcn.1400df660
mov r9, qword [0x1402006b8]
xor edx, edx
mov r9, qword [r9 + 0x4e8]
mov r8d, 0x9c92
mov rcx, rdi
call fcn.1400df660
mov r9, qword [0x1402006b8]
xor edx, edx
mov r9, qword [r9 + 0x2f78]
mov r8d, 0x9c97
mov rcx, rdi
call fcn.1400df660
mov rcx, rdi
call fcn.1400d6540
mov r9, qword [0x1402006b8]
mov r8d, 0x9c93
mov r9, qword [r9 + 0x4f0]
xor edx, edx
mov rcx, rdi
call fcn.1400df660
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.1401a8fd0
add rsp, 0x188
pop r13
pop r12
pop rdi
pop rbp
ret