Function at 0x1400ff410
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 0x140100541
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.0x1400ff4c5
mov edx, ebx
mov rcx, r12
call qword [sym.imp.USER32.dll_GetSubMenu]
cmp rdi, rax
je 0x1400ff499
mov rcx, r12
add ebx, 1
call qword [sym.imp.USER32.dll_GetMenuItemCount]
cmp ebx, eax
jl 0x1400ff474
jmp case.default.0x1400ff4c5
cmp r13d, 6
ja case.default.0x1400ff4c5
lea rdx, [0x140000000]
mov qword [rsp + 0x178], r14
mov qword [rsp + 0x170], r15
mov ecx, dword [rdx + r13*4 + 0x100560]
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.1400df410
mov r9, qword [0x140200708]
xor edx, edx
mov r9, qword [r9 + 0x1a48]
mov r8d, 0x9c4e
mov rcx, rdi
call fcn.1400df410
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.1400df410
mov r9, qword [0x140200708]
xor edx, edx
mov r9, qword [r9 + 0x440]
mov r8d, 0x9c4b
mov rcx, rdi
call fcn.1400df410
mov rcx, rdi
call fcn.1400d63c0
mov r9, qword [0x140200708]
xor edx, edx
mov r9, qword [r9 + 0xb20]
mov r8d, 0x9c4c
mov rcx, rdi
call fcn.1400df410
mov rcx, rdi
call fcn.1400d63c0
mov rcx, rbp
call fcn.14015f320
test eax, eax
je 0x1400ff8bf
mov rcx, rbp
mov ebx, 1
call fcn.14015f320
mov r12d, esi
test eax, eax
mov r13d, eax
jle 0x1400ff5c9
nop
nop
mov edx, r12d
mov rcx, rbp
call fcn.14015f420
test eax, eax
cmove ebx, esi
add r12d, 1
cmp r12d, r13d
jl 0x1400ff5b0
cmp byte [reloc.WS2_32.dll_accept], sil
je 0x1400ff8bf
cmp byte [reloc.WS2_32.dll_accept], sil
je 0x1400ff6fb
mov r9, qword [0x140200708]
xor edx, edx
mov r8d, 0xa028
mov r9, qword [r9 + 0x540]
mov rcx, rdi
call fcn.1400df410
movsx r11d, byte [reloc.WS2_32.dll_bind]
test r11d, r11d
js 0x1400ff630
cmp r11d, 1
jle 0x1400ff62b
cmp r11d, 3
jne 0x1400ff630
lea ecx, [r11 + 0xd]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x1400ff630
jmp 0x1400ff64e
test r11d, r11d
je 0x1400ff64e
mov r9, qword [0x140200708]
xor edx, edx
mov r8d, 0xa02b
mov r9, qword [r9 + 0x538]
mov rcx, rdi
call fcn.1400df410
cmp dword [0x14020e204], 6
movsx eax, byte [reloc.WS2_32.dll_bind]
mov ecx, esi
setb cl
test eax, eax
js 0x1400ff67f
cmp eax, 1
jle 0x1400ff681
cmp eax, 3
jne 0x1400ff67f
lea ecx, [rax + 0xd]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x1400ff6a7
jmp 0x1400ff685
mov eax, ecx
test eax, eax
je 0x1400ff6a7
test ebx, ebx
je 0x1400ff6a7
mov r9, qword [0x140200708]
xor edx, edx
mov r8d, 0xa029
mov r9, qword [r9 + 0x530]
mov rcx, rdi
call fcn.1400df410
cmp dword [0x14020e204], 6
movsx eax, byte [reloc.WS2_32.dll_bind]
setb sil
test eax, eax
js 0x1400ff6d7
cmp eax, 1
jle 0x1400ff6d9
cmp eax, 3
jne 0x1400ff6d7
lea ecx, [rax + 0xd]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x1400ff6dd
jmp 0x1400ff6fb
mov eax, esi
test eax, eax
je 0x1400ff6fb
mov r9, qword [0x140200708]
xor edx, edx
mov r8d, 0xa02a
mov r9, qword [r9 + 0x528]
mov rcx, rdi
call fcn.1400df410
movsx eax, byte [reloc.WS2_32.dll_bind]
test eax, eax
js 0x1400ff742
cmp eax, 1
jle 0x1400ff720
cmp eax, 3
jne 0x1400ff742
lea ecx, [rax + 0xd]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x1400ff724
jmp 0x1400ff742
test eax, eax
je 0x1400ff742
mov r9, qword [0x140200708]
xor edx, edx
mov r8d, 0xa033
mov r9, qword [r9 + 0x2f98]
mov rcx, rdi
call fcn.1400df410
movsx eax, byte [reloc.WS2_32.dll_bind]
test eax, eax
js 0x1400ff789
cmp eax, 1
jle 0x1400ff767
cmp eax, 3
jne 0x1400ff789
lea ecx, [rax + 0xd]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x1400ff76b
jmp 0x1400ff789
test eax, eax
je 0x1400ff789
mov r9, qword [0x140200708]
xor edx, edx
mov r8d, 0xa030
mov r9, qword [r9 + 0x518]
mov rcx, rdi
call fcn.1400df410
movsx eax, byte [reloc.WS2_32.dll_bind]
test eax, eax
js 0x1400ff7b2
cmp eax, 1
jle 0x1400ff7ae
cmp eax, 3
jne 0x1400ff7b2
lea ecx, [rax + 0xd]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x1400ff7b2
jmp 0x1400ff7d0
test eax, eax
je 0x1400ff7d0
mov r9, qword [0x140200708]
xor edx, edx
mov r8d, 0xa02f
mov r9, qword [r9 + 0x520]
mov rcx, rdi
call fcn.1400df410
mov rcx, rdi
call fcn.1400d63c0
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x1400ff807
mov r9, qword [0x140200708]
xor edx, edx
mov r8d, 0xa06c
mov r9, qword [r9 + 0x2500]
mov rcx, rdi
call fcn.1400df410
mov rcx, rdi
call fcn.1400d63c0
mov r9, qword [0x140200708]
xor edx, edx
mov r8d, 0xa069
mov r9, qword [r9 + 0x1cf8]
mov rcx, rdi
call fcn.1400df410
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x1400ff84c
mov r9, qword [0x140200708]
xor edx, edx
mov r8d, 0xa02c
mov r9, qword [r9 + 0x1380]
mov rcx, rdi
call fcn.1400df410
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x1400ff873
mov r9, qword [0x140200708]
xor edx, edx
mov r8d, 0xa02e
mov r9, qword [r9 + 0x1390]
mov rcx, rdi
call fcn.1400df410
mov r9, qword [0x140200708]
xor edx, edx
mov r8d, 0xa031
mov r9, qword [r9 + 0x13a0]
mov rcx, rdi
call fcn.1400df410
mov rcx, rdi
call fcn.1400d63c0
mov r9, qword [0x140200708]
xor edx, edx
mov r9, qword [r9 + 0x1368]
mov r8d, 0xa068
mov rcx, rdi
call fcn.1400df410
mov rcx, rdi
call fcn.1400d63c0
mov r9, qword [0x140200708]
mov r8d, 0x9c4d
mov r9, qword [r9 + 0x1630]
jmp 0x140100517
mov rcx, rbp
call fcn.14015f320
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 0x1400ff928
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.1400df410
cmp byte [reloc.WS2_32.dll_accept], sil
je 0x1400ff955
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.1400df410
cmp byte [reloc.WS2_32.dll_accept], sil
je 0x1400ff989
mov rcx, rbp
call fcn.1400f8a10
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.1400df410
mov rcx, rdi
call fcn.1400d63c0
cmp byte [reloc.WS2_32.dll_accept], sil
je 0x1400ff9be
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.1400df410
movzx eax, byte [reloc.WS2_32.dll_accept]
test al, al
je 0x1400ff9f3
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.1400df410
mov al, byte [reloc.WS2_32.dll_accept]
cmp byte [reloc.WS2_32.dll_accept], sil
jne 0x1400ffa00
test al, al
je 0x1400ffa08
mov rcx, rdi
call fcn.1400d63c0
mov r9, qword [0x140200708]
xor edx, edx
mov r8d, 0x9c57
mov r9, qword [r9 + 0x460]
mov rcx, rdi
call fcn.1400df410
mov r9, qword [0x140200708]
xor edx, edx
mov r9, qword [r9 + 0x468]
mov r8d, 0x9c5d
mov rcx, rdi
call fcn.1400df410
cmp byte [reloc.WS2_32.dll_accept], sil
jne 0x1400ffa5a
cmp byte [reloc.WS2_32.dll_accept], sil
je 0x140100521
mov rcx, rdi
call fcn.1400d63c0
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 0x1400ffaae
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.1400df410
cmp byte [reloc.WS2_32.dll_accept], sil
je 0x140100521
mov r9, qword [0x140200708]
test r12d, r12d
mov r8d, 0x9c9f
mov r9, qword [r9 + 0x3188]
cmovne ebx, esi
mov edx, ebx
jmp 0x140100519
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.1400df410
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.1400df410
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.1400df410
mov rcx, rdi
call fcn.1400d63c0
mov r11d, dword [rbp + 0x458]
cmp r11d, dword [0x1401fcc68]
jge 0x1400ffb81
mov ebx, esi
jmp 0x1400ffb90
cmp r11d, dword [0x1401fcc6c]
mov ebx, esi
setge bl
add ebx, 1
cmp dword [rbp + 0x454], 1
mov r12d, 8
jne 0x1400ffba9
cmp ebx, 2
jne 0x1400ffba9
mov edx, r12d
jmp 0x1400ffbab
mov edx, esi
mov r9, qword [0x140200708]
bts edx, 9
mov r8d, 0x9c76
mov r9, qword [r9 + 0x26f0]
mov rcx, rdi
call fcn.1400df410
cmp dword [rbp + 0x454], 1
jne 0x1400ffbde
cmp ebx, 1
jne 0x1400ffbde
mov edx, r12d
jmp 0x1400ffbe0
mov edx, esi
mov r9, qword [0x140200708]
bts edx, 9
mov r8d, 0x9c75
mov r9, qword [r9 + 0x26e0]
mov rcx, rdi
call fcn.1400df410
cmp dword [rbp + 0x454], 1
jne 0x1400ffc12
test ebx, ebx
jne 0x1400ffc12
mov edx, r12d
jmp 0x1400ffc14
mov edx, esi
mov r9, qword [0x140200708]
bts edx, 9
mov r8d, 0x9c74
mov r9, qword [r9 + 0x26d0]
mov rcx, rdi
call fcn.1400df410
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.1400df410
mov rcx, rdi
call fcn.1400d63c0
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.1400df410
mov r9, qword [0x140200708]
mov r9, qword [r9 + 0x1100]
xor edx, edx
mov r8d, 0x9c6e
mov rcx, rbx
call fcn.1400df410
mov r9, qword [0x140200708]
xor edx, edx
mov r9, qword [r9 + 0x1110]
mov r8d, 0x9c6f
mov rcx, rbx
call fcn.1400df410
mov r9, qword [0x140200708]
xor edx, edx
mov r9, qword [r9 + 0x10e0]
mov r8d, 0x9c6c
mov rcx, rbx
call fcn.1400df410
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.1400df410
mov r9, qword [0x140200708]
mov r9, qword [r9 + 0x480]
xor edx, edx
mov r8d, 0x9c5f
mov rcx, rbx
call fcn.1400df410
mov rcx, rbx
call fcn.1400d63c0
mov r9, qword [0x140200708]
xor edx, edx
mov r9, qword [r9 + 0x488]
mov r8d, 0x9c60
mov rcx, rbx
call fcn.1400df410
mov rcx, rdi
call fcn.1400d63c0
mov rdx, rdi
mov rcx, rbp
call fcn.1400fc940
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 0x1400ffe26
mov rax, qword [rbp + 0x5a8]
mov ebx, 3
test rax, rax
je 0x1400ffdd6
cmp qword [rax + 0x30], rsi
je 0x1400ffdd6
mov edx, esi
jmp 0x1400ffdd8
mov edx, ebx
mov r9, qword [0x140200708]
mov r8d, 0x9c68
mov rcx, r15
mov r9, qword [r9 + 0x1fc0]
call fcn.1400df410
mov r11, qword [rbp + 0x5a8]
test r11, r11
je 0x1400ffe08
cmp qword [r11 + 0x28], rsi
je 0x1400ffe08
mov ebx, esi
mov r9, qword [0x140200708]
mov r8d, 0x9c69
mov edx, ebx
mov r9, qword [r9 + 0x1fd0]
mov rcx, r15
call fcn.1400df410
mov r9, qword [0x140200708]
xor edx, edx
mov r8d, 0x9c71
mov r9, qword [r9 + 0x2640]
mov rcx, r15
call fcn.1400df410
cmp byte [0x14020df03], sil
je 0x1400fff0a
mov r9, qword [0x140200708]
xor edx, edx
mov r8d, 0x9c78
mov r9, qword [r9 + 0x2a68]
mov rcx, r15
call fcn.1400df410
cmp byte [0x14020df03], sil
je 0x1400fff0a
lea rcx, [rsp + 0x40]
call fcn.140177280
mov r14, qword [rbp + 0x5a0]
mov r13d, 0xb3b0
test r14, r14
je 0x1400fff00
mov rcx, r15
call fcn.1400d63c0
mov ebx, 1
cmp r13d, 0xb798
je 0x1400ffefa
mov rax, qword [rbp + 0x5a8]
mov r12d, esi
test rax, rax
je 0x1400ffec4
cmp r14, rax
cmove r12d, ebx
mov rdx, qword [r14 + 0x18]
lea rcx, [rsp + 0x40]
call fcn.14017a540
mov r9, qword [rsp + 0x48]
neg r12d
sbb edx, edx
movsxd r8, r13d
mov rcx, r15
and edx, 8
bts edx, 9
call fcn.1400df410
mov r14, qword [r14 + 0x30]
add r13d, ebx
test r14, r14
jne 0x1400ffea5
mov r12d, 8
lea rcx, [rsp + 0x40]
call fcn.14017d580
cmp byte [0x14020e1a0], sil
je 0x1400fff1e
cmp byte [rbp + 0x230], sil
je 0x1400fff34
jmp 0x1400fff27
cmp byte [rbp + 0x230], sil
jne 0x1400fff34
xor edx, edx
xor ecx, ecx
call fcn.1400dc130
test eax, eax
je 0x1400fff52
mov r9, qword [0x140200708]
xor edx, edx
mov r8d, 0x9c72
mov r9, qword [r9 + 0x2680]
mov rcx, rdi
call fcn.1400df410
mov r9, qword [0x140200708]
xor edx, edx
mov r8d, 0x9c64
mov r9, qword [r9 + 0x13b0]
mov rcx, rdi
call fcn.1400df410
mov rcx, rdi
call fcn.1400d63c0
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.1400df410
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.1400df410
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 0x14010051c
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.1400df410
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.1400df410
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.1400df410
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.1400df410
mov rcx, rdi
call fcn.1400d63c0
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.1400df410
mov r9, qword [0x140200708]
xor edx, edx
mov r9, qword [r9 + 0x2ba8]
mov r8d, 0x9c85
mov rcx, rdi
call fcn.1400df410
mov rcx, rdi
call fcn.1400d63c0
mov r9, qword [0x140200708]
xor edx, edx
mov r9, qword [r9 + 0x1da8]
mov r8d, 0x9c83
mov rcx, rdi
call fcn.1400df410
mov r9, qword [0x140200708]
xor edx, edx
mov r9, qword [r9 + 0x1db8]
mov r8d, 0x9c84
mov rcx, rdi
call fcn.1400df410
cmp qword [0x14020e160], rsi
je 0x140100521
lea rcx, [rsp + 0x40]
call fcn.140177280
mov rcx, qword [rbp + 0x108]
mov rsi, qword [0x14020e160]
call fcn.1400c0df0
test rax, rax
mov r12, rax
jne 0x1401001ca
mov rcx, qword [0x14020e160]
call fcn.1400c0b30
mov r12, rax
mov rcx, rdi
mov r14d, 0xafc8
call fcn.1400d63c0
test rsi, rsi
je 0x140100278
mov ebx, 1
mov r13d, 0xb3b0
mov r15d, 0x208
cmp r14d, r13d
je 0x140100278
cmp rsi, r12
mov ebp, 0x200
cmove ebp, r15d
cmp dword [0x14020de14], 0
je 0x14010022b
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetMenuItemCount]
test eax, eax
jle 0x14010022b
cdq
idiv dword [0x14020de14]
test edx, edx
jne 0x14010022b
or ebp, 0x20
mov rcx, rsi
call fcn.1400c0a30
lea rcx, [rsp + 0x40]
mov rdx, rax
call fcn.14017a540
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.1400df140
mov rsi, qword [rsi + 0x18]
add r14d, ebx
test rsi, rsi
jne 0x1401001f2
lea rcx, [rsp + 0x40]
call fcn.14017d580
jmp 0x140100521
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.1400df410
mov r9, qword [0x140200708]
xor edx, edx
mov r9, qword [r9 + 0x1478]
mov r8d, 0x9c9b
mov rcx, rdi
call fcn.1400df410
cmp qword [0x14020dd20], rsi
je 0x140100521
lea rcx, [rsp + 0x40]
call fcn.140177280
mov rbp, qword [0x14020dd20]
mov rcx, rdi
mov r13d, 0xabe0
call fcn.1400d63c0
test rbp, rbp
je 0x14010037b
mov ebx, 1
mov r14d, 0xafc8
lea r15d, [rbx + 0x1f]
nop
cmp r13d, r14d
je 0x14010037b
mov rdx, qword [rbp]
lea rcx, [rsp + 0x40]
call fcn.14017a540
cmp dword [0x14020de14], esi
mov r12d, esi
je 0x140100348
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetMenuItemCount]
test eax, eax
jle 0x140100348
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.1400df140
mov rbp, qword [rbp + 0x28]
add r13d, ebx
test rbp, rbp
jne 0x140100310
lea rcx, [rsp + 0x40]
call fcn.14017d580
jmp 0x140100521
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.1400df410
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.1400df410
mov r9, qword [0x140200708]
xor edx, edx
mov r9, qword [r9 + 0x16a8]
mov r8d, 0x9c8c
mov rcx, rdi
call fcn.1400df410
mov rcx, rdi
call fcn.1400d63c0
mov r9, qword [0x140200708]
mov r8d, 0x9c8a
mov r9, qword [r9 + 0x4d0]
jmp 0x140100517
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.1400df410
mov r9, qword [0x140200708]
xor edx, edx
mov r9, qword [r9 + 0xeb8]
mov r8d, 0x9c94
mov rcx, rdi
call fcn.1400df410
mov r9, qword [0x140200708]
xor edx, edx
mov r9, qword [r9 + 0x1d08]
mov r8d, 0x9c96
mov rcx, rdi
call fcn.1400df410
mov r9, qword [0x140200708]
xor edx, edx
mov r9, qword [r9 + 0x1190]
mov r8d, 0x9c95
mov rcx, rdi
call fcn.1400df410
mov rcx, rdi
call fcn.1400d63c0
mov r9, qword [0x140200708]
xor edx, edx
mov r9, qword [r9 + 0x4e0]
mov r8d, 0x9c91
mov rcx, rdi
call fcn.1400df410
mov r9, qword [0x140200708]
xor edx, edx
mov r9, qword [r9 + 0x4e8]
mov r8d, 0x9c92
mov rcx, rdi
call fcn.1400df410
mov r9, qword [0x140200708]
xor edx, edx
mov r9, qword [r9 + 0x2f78]
mov r8d, 0x9c97
mov rcx, rdi
call fcn.1400df410
mov rcx, rdi
call fcn.1400d63c0
mov r9, qword [0x140200708]
mov r8d, 0x9c93
mov r9, qword [r9 + 0x4f0]
xor edx, edx
mov rcx, rdi
call fcn.1400df410
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.1401a8fb0
add rsp, 0x188
pop r13
pop r12
pop rdi
pop rbp
ret