Function at 0x1400fd7d0
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
push rdi
push r12
push r13
sub rsp, 0x188
mov rax, qword [0x140209b48]
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 0x1400fe901
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.0x1400fd885
mov edx, ebx
mov rcx, r12
call qword [sym.imp.USER32.dll_GetSubMenu]
cmp rdi, rax
je 0x1400fd859
mov rcx, r12
add ebx, 1
call qword [sym.imp.USER32.dll_GetMenuItemCount]
cmp ebx, eax
jl 0x1400fd834
jmp case.default.0x1400fd885
cmp r13d, 6
ja case.default.0x1400fd885
lea rdx, [0x140000000]
mov qword [rsp + 0x178], r14
mov qword [rsp + 0x170], r15
mov ecx, dword [rdx + r13*4 + 0xfe920]
add rcx, rdx
jmp rcx
mov rcx, rdi
call fcn.1400d36a0
mov r9, qword [0x1401fd5f8]
xor edx, edx
mov r9, qword [r9 + 0x438]
mov r8d, 0x9c4a
mov rcx, rdi
call fcn.1400de130
mov r9, qword [0x1401fd5f8]
xor edx, edx
mov r9, qword [r9 + 0x1a48]
mov r8d, 0x9c4e
mov rcx, rdi
call fcn.1400de130
mov r9, qword [0x1401fd5f8]
cmp dword [rbp + 0x27c], 2
mov r9, qword [r9 + 0x1a58]
mov edx, 3
mov r8d, 0x9c4f
cmove edx, esi
mov rcx, rdi
call fcn.1400de130
mov r9, qword [0x1401fd5f8]
xor edx, edx
mov r9, qword [r9 + 0x440]
mov r8d, 0x9c4b
mov rcx, rdi
call fcn.1400de130
mov rcx, rdi
call fcn.1400d5030
mov r9, qword [0x1401fd5f8]
xor edx, edx
mov r9, qword [r9 + 0xb20]
mov r8d, 0x9c4c
mov rcx, rdi
call fcn.1400de130
mov rcx, rdi
call fcn.1400d5030
mov rcx, rbp
call fcn.14015d190
test eax, eax
je 0x1400fdc7f
mov rcx, rbp
mov ebx, 1
call fcn.14015d190
mov r12d, esi
test eax, eax
mov r13d, eax
jle 0x1400fd989
nop
nop
mov edx, r12d
mov rcx, rbp
call fcn.14015d290
test eax, eax
cmove ebx, esi
add r12d, 1
cmp r12d, r13d
jl 0x1400fd970
cmp byte [reloc.WS2_32.dll_accept], sil
je 0x1400fdc7f
cmp byte [reloc.WS2_32.dll_accept], sil
je 0x1400fdabb
mov r9, qword [0x1401fd5f8]
xor edx, edx
mov r8d, 0xa028
mov r9, qword [r9 + 0x540]
mov rcx, rdi
call fcn.1400de130
movsx r11d, byte [reloc.WS2_32.dll_bind]
test r11d, r11d
js 0x1400fd9f0
cmp r11d, 1
jle 0x1400fd9eb
cmp r11d, 3
jne 0x1400fd9f0
lea ecx, [r11 + 0xd]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x1400fd9f0
jmp 0x1400fda0e
test r11d, r11d
je 0x1400fda0e
mov r9, qword [0x1401fd5f8]
xor edx, edx
mov r8d, 0xa02b
mov r9, qword [r9 + 0x538]
mov rcx, rdi
call fcn.1400de130
cmp dword [0x14020b0f4], 6
movsx eax, byte [reloc.WS2_32.dll_bind]
mov ecx, esi
setb cl
test eax, eax
js 0x1400fda3f
cmp eax, 1
jle 0x1400fda41
cmp eax, 3
jne 0x1400fda3f
lea ecx, [rax + 0xd]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x1400fda67
jmp 0x1400fda45
mov eax, ecx
test eax, eax
je 0x1400fda67
test ebx, ebx
je 0x1400fda67
mov r9, qword [0x1401fd5f8]
xor edx, edx
mov r8d, 0xa029
mov r9, qword [r9 + 0x530]
mov rcx, rdi
call fcn.1400de130
cmp dword [0x14020b0f4], 6
movsx eax, byte [reloc.WS2_32.dll_bind]
setb sil
test eax, eax
js 0x1400fda97
cmp eax, 1
jle 0x1400fda99
cmp eax, 3
jne 0x1400fda97
lea ecx, [rax + 0xd]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x1400fda9d
jmp 0x1400fdabb
mov eax, esi
test eax, eax
je 0x1400fdabb
mov r9, qword [0x1401fd5f8]
xor edx, edx
mov r8d, 0xa02a
mov r9, qword [r9 + 0x528]
mov rcx, rdi
call fcn.1400de130
movsx eax, byte [reloc.WS2_32.dll_bind]
test eax, eax
js 0x1400fdb02
cmp eax, 1
jle 0x1400fdae0
cmp eax, 3
jne 0x1400fdb02
lea ecx, [rax + 0xd]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x1400fdae4
jmp 0x1400fdb02
test eax, eax
je 0x1400fdb02
mov r9, qword [0x1401fd5f8]
xor edx, edx
mov r8d, 0xa033
mov r9, qword [r9 + 0x2f98]
mov rcx, rdi
call fcn.1400de130
movsx eax, byte [reloc.WS2_32.dll_bind]
test eax, eax
js 0x1400fdb49
cmp eax, 1
jle 0x1400fdb27
cmp eax, 3
jne 0x1400fdb49
lea ecx, [rax + 0xd]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x1400fdb2b
jmp 0x1400fdb49
test eax, eax
je 0x1400fdb49
mov r9, qword [0x1401fd5f8]
xor edx, edx
mov r8d, 0xa030
mov r9, qword [r9 + 0x518]
mov rcx, rdi
call fcn.1400de130
movsx eax, byte [reloc.WS2_32.dll_bind]
test eax, eax
js 0x1400fdb72
cmp eax, 1
jle 0x1400fdb6e
cmp eax, 3
jne 0x1400fdb72
lea ecx, [rax + 0xd]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x1400fdb72
jmp 0x1400fdb90
test eax, eax
je 0x1400fdb90
mov r9, qword [0x1401fd5f8]
xor edx, edx
mov r8d, 0xa02f
mov r9, qword [r9 + 0x520]
mov rcx, rdi
call fcn.1400de130
mov rcx, rdi
call fcn.1400d5030
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x1400fdbc7
mov r9, qword [0x1401fd5f8]
xor edx, edx
mov r8d, 0xa06c
mov r9, qword [r9 + 0x2500]
mov rcx, rdi
call fcn.1400de130
mov rcx, rdi
call fcn.1400d5030
mov r9, qword [0x1401fd5f8]
xor edx, edx
mov r8d, 0xa069
mov r9, qword [r9 + 0x1cf8]
mov rcx, rdi
call fcn.1400de130
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x1400fdc0c
mov r9, qword [0x1401fd5f8]
xor edx, edx
mov r8d, 0xa02c
mov r9, qword [r9 + 0x1380]
mov rcx, rdi
call fcn.1400de130
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x1400fdc33
mov r9, qword [0x1401fd5f8]
xor edx, edx
mov r8d, 0xa02e
mov r9, qword [r9 + 0x1390]
mov rcx, rdi
call fcn.1400de130
mov r9, qword [0x1401fd5f8]
xor edx, edx
mov r8d, 0xa031
mov r9, qword [r9 + 0x13a0]
mov rcx, rdi
call fcn.1400de130
mov rcx, rdi
call fcn.1400d5030
mov r9, qword [0x1401fd5f8]
xor edx, edx
mov r9, qword [r9 + 0x1368]
mov r8d, 0xa068
mov rcx, rdi
call fcn.1400de130
mov rcx, rdi
call fcn.1400d5030
mov r9, qword [0x1401fd5f8]
mov r8d, 0x9c4d
mov r9, qword [r9 + 0x1630]
jmp 0x1400fe8d7
mov rcx, rbp
call fcn.14015d190
mov r12d, esi
mov ebx, 1
test eax, eax
mov rcx, rdi
cmovne r12d, ebx
call fcn.1400d36a0
cmp byte [reloc.WS2_32.dll_accept], sil
mov ebx, 3
je 0x1400fdce8
mov r9, qword [0x1401fd5f8]
mov edx, ebx
test r12d, r12d
mov r9, qword [r9 + 0x448]
mov r8d, 0x9c54
mov rcx, rdi
cmovne edx, esi
call fcn.1400de130
cmp byte [reloc.WS2_32.dll_accept], sil
je 0x1400fdd15
mov r9, qword [0x1401fd5f8]
mov edx, ebx
test r12d, r12d
mov r9, qword [r9 + 0x450]
mov r8d, 0x9c55
mov rcx, rdi
cmovne edx, esi
call fcn.1400de130
cmp byte [reloc.WS2_32.dll_accept], sil
je 0x1400fdd49
mov rcx, rbp
call fcn.1400f6f10
mov r9, qword [0x1401fd5f8]
mov edx, ebx
mov r9, qword [r9 + 0x458]
test eax, eax
mov r8d, 0x9c56
cmovne edx, esi
mov rcx, rdi
call fcn.1400de130
mov rcx, rdi
call fcn.1400d5030
cmp byte [reloc.WS2_32.dll_accept], sil
je 0x1400fdd7e
mov r9, qword [0x1401fd5f8]
mov edx, ebx
test r12d, r12d
mov r9, qword [r9 + 0x30c8]
mov r8d, 0x9c9c
mov rcx, rdi
cmovne edx, esi
call fcn.1400de130
movzx eax, byte [reloc.WS2_32.dll_accept]
test al, al
je 0x1400fddb3
mov r9, qword [0x1401fd5f8]
mov edx, ebx
test r12d, r12d
mov r9, qword [r9 + 0x30d8]
mov r8d, 0x9c9d
mov rcx, rdi
cmovne edx, esi
call fcn.1400de130
mov al, byte [reloc.WS2_32.dll_accept]
cmp byte [reloc.WS2_32.dll_accept], sil
jne 0x1400fddc0
test al, al
je 0x1400fddc8
mov rcx, rdi
call fcn.1400d5030
mov r9, qword [0x1401fd5f8]
xor edx, edx
mov r8d, 0x9c57
mov r9, qword [r9 + 0x460]
mov rcx, rdi
call fcn.1400de130
mov r9, qword [0x1401fd5f8]
xor edx, edx
mov r9, qword [r9 + 0x468]
mov r8d, 0x9c5d
mov rcx, rdi
call fcn.1400de130
cmp byte [reloc.WS2_32.dll_accept], sil
jne 0x1400fde1a
cmp byte [reloc.WS2_32.dll_accept], sil
je 0x1400fe8e1
mov rcx, rdi
call fcn.1400d5030
mov rdx, qword [0x1401fd5f8]
mov r8d, 0x272b
mov rdx, qword [rdx + 0x3168]
mov rcx, rdi
call fcn.1400d36d0
cmp byte [reloc.WS2_32.dll_accept], sil
mov rdi, rax
je 0x1400fde6e
mov r9, qword [0x1401fd5f8]
mov edx, ebx
test r12d, r12d
mov r9, qword [r9 + 0x3178]
mov r8d, 0x9c9e
mov rcx, rax
cmovne edx, esi
call fcn.1400de130
cmp byte [reloc.WS2_32.dll_accept], sil
je 0x1400fe8e1
mov r9, qword [0x1401fd5f8]
test r12d, r12d
mov r8d, 0x9c9f
mov r9, qword [r9 + 0x3188]
cmovne ebx, esi
mov edx, ebx
jmp 0x1400fe8d9
mov rcx, rdi
call fcn.1400d36a0
mov r11, qword [rbp + 0xf8]
mov r9, qword [0x1401fd5f8]
mov r9, qword [r9 + 0x1d58]
neg r11
mov r8d, 0x9c63
sbb edx, edx
mov rcx, rdi
and edx, 8
call fcn.1400de130
mov r11, qword [rbp + 0x130]
mov r9, qword [0x1401fd5f8]
mov r9, qword [r9 + 0x28f0]
neg r11
mov r8d, 0x9c77
sbb edx, edx
mov rcx, rdi
and edx, 8
call fcn.1400de130
mov r11, qword [rbp + 0xb8]
mov r9, qword [0x1401fd5f8]
mov r9, qword [r9 + 0x1f60]
neg r11
mov r8d, 0x9c67
sbb edx, edx
mov rcx, rdi
and edx, 8
call fcn.1400de130
mov rcx, rdi
call fcn.1400d5030
mov r11d, dword [rbp + 0x450]
cmp r11d, dword [0x1401f9bd8]
jge 0x1400fdf41
mov ebx, esi
jmp 0x1400fdf50
cmp r11d, dword [0x1401f9bdc]
mov ebx, esi
setge bl
add ebx, 1
cmp dword [rbp + 0x44c], 1
mov r12d, 8
jne 0x1400fdf69
cmp ebx, 2
jne 0x1400fdf69
mov edx, r12d
jmp 0x1400fdf6b
mov edx, esi
mov r9, qword [0x1401fd5f8]
bts edx, 9
mov r8d, 0x9c76
mov r9, qword [r9 + 0x26f0]
mov rcx, rdi
call fcn.1400de130
cmp dword [rbp + 0x44c], 1
jne 0x1400fdf9e
cmp ebx, 1
jne 0x1400fdf9e
mov edx, r12d
jmp 0x1400fdfa0
mov edx, esi
mov r9, qword [0x1401fd5f8]
bts edx, 9
mov r8d, 0x9c75
mov r9, qword [r9 + 0x26e0]
mov rcx, rdi
call fcn.1400de130
cmp dword [rbp + 0x44c], 1
jne 0x1400fdfd2
test ebx, ebx
jne 0x1400fdfd2
mov edx, r12d
jmp 0x1400fdfd4
mov edx, esi
mov r9, qword [0x1401fd5f8]
bts edx, 9
mov r8d, 0x9c74
mov r9, qword [r9 + 0x26d0]
mov rcx, rdi
call fcn.1400de130
mov r9, qword [0x1401fd5f8]
mov edx, esi
cmp dword [rbp + 0x44c], edx
mov r9, qword [r9 + 0x26c0]
mov r8d, 0x9c73
cmove edx, r12d
mov rcx, rdi
bts edx, 9
call fcn.1400de130
mov rcx, rdi
call fcn.1400d5030
mov rdx, qword [0x1401fd5f8]
mov r8d, 0x2723
mov rdx, qword [rdx + 0x10d0]
mov rcx, rdi
call fcn.1400d36d0
mov r9, qword [0x1401fd5f8]
xor edx, edx
mov r9, qword [r9 + 0x10f0]
mov r8d, 0x9c6d
mov rcx, rax
mov rbx, rax
call fcn.1400de130
mov r9, qword [0x1401fd5f8]
mov r9, qword [r9 + 0x1100]
xor edx, edx
mov r8d, 0x9c6e
mov rcx, rbx
call fcn.1400de130
mov r9, qword [0x1401fd5f8]
xor edx, edx
mov r9, qword [r9 + 0x1110]
mov r8d, 0x9c6f
mov rcx, rbx
call fcn.1400de130
mov r9, qword [0x1401fd5f8]
xor edx, edx
mov r9, qword [r9 + 0x10e0]
mov r8d, 0x9c6c
mov rcx, rbx
call fcn.1400de130
mov rdx, qword [0x1401fd5f8]
mov r8d, 0x271c
mov rdx, qword [rdx + 0x470]
mov rcx, rdi
call fcn.1400d36d0
mov r9, qword [0x1401fd5f8]
xor edx, edx
mov r9, qword [r9 + 0x478]
mov r8d, 0x9c5e
mov rcx, rax
mov rbx, rax
call fcn.1400de130
mov r9, qword [0x1401fd5f8]
mov r9, qword [r9 + 0x480]
xor edx, edx
mov r8d, 0x9c5f
mov rcx, rbx
call fcn.1400de130
mov rcx, rbx
call fcn.1400d5030
mov r9, qword [0x1401fd5f8]
xor edx, edx
mov r9, qword [r9 + 0x488]
mov r8d, 0x9c60
mov rcx, rbx
call fcn.1400de130
mov rcx, rdi
call fcn.1400d5030
mov rdx, rdi
mov rcx, rbp
call fcn.1400fad00
mov rdx, qword [0x1401fd5f8]
mov r8d, 0x2728
mov rdx, qword [rdx + 0x1fb0]
mov rcx, rdi
call fcn.1400d36d0
cmp byte [0x14020ae06], sil
mov r15, rax
je 0x1400fe1e6
mov rax, qword [rbp + 0x5a0]
mov ebx, 3
test rax, rax
je 0x1400fe196
cmp qword [rax + 0x30], rsi
je 0x1400fe196
mov edx, esi
jmp 0x1400fe198
mov edx, ebx
mov r9, qword [0x1401fd5f8]
mov r8d, 0x9c68
mov rcx, r15
mov r9, qword [r9 + 0x1fc0]
call fcn.1400de130
mov r11, qword [rbp + 0x5a0]
test r11, r11
je 0x1400fe1c8
cmp qword [r11 + 0x28], rsi
je 0x1400fe1c8
mov ebx, esi
mov r9, qword [0x1401fd5f8]
mov r8d, 0x9c69
mov edx, ebx
mov r9, qword [r9 + 0x1fd0]
mov rcx, r15
call fcn.1400de130
mov r9, qword [0x1401fd5f8]
xor edx, edx
mov r8d, 0x9c71
mov r9, qword [r9 + 0x2640]
mov rcx, r15
call fcn.1400de130
cmp byte [0x14020ae06], sil
je 0x1400fe2ca
mov r9, qword [0x1401fd5f8]
xor edx, edx
mov r8d, 0x9c78
mov r9, qword [r9 + 0x2a68]
mov rcx, r15
call fcn.1400de130
cmp byte [0x14020ae06], sil
je 0x1400fe2ca
lea rcx, [rsp + 0x40]
call fcn.1400012c0
mov r14, qword [rbp + 0x598]
mov r13d, 0xb3b0
test r14, r14
je 0x1400fe2c0
mov rcx, r15
call fcn.1400d5030
mov ebx, 1
cmp r13d, 0xb798
je 0x1400fe2ba
mov rax, qword [rbp + 0x5a0]
mov r12d, esi
test rax, rax
je 0x1400fe284
cmp r14, rax
cmove r12d, ebx
mov rdx, qword [r14 + 0x18]
lea rcx, [rsp + 0x40]
call fcn.1401782a0
mov r9, qword [rsp + 0x48]
neg r12d
sbb edx, edx
movsxd r8, r13d
mov rcx, r15
and edx, 8
bts edx, 9
call fcn.1400de130
mov r14, qword [r14 + 0x30]
add r13d, ebx
test r14, r14
jne 0x1400fe265
mov r12d, 8
lea rcx, [rsp + 0x40]
call fcn.140175010
cmp byte [0x14020b090], sil
je 0x1400fe2de
cmp byte [rbp + 0x228], sil
je 0x1400fe2f4
jmp 0x1400fe2e7
cmp byte [rbp + 0x228], sil
jne 0x1400fe2f4
xor edx, edx
xor ecx, ecx
call fcn.1400daef0
test eax, eax
je 0x1400fe312
mov r9, qword [0x1401fd5f8]
xor edx, edx
mov r8d, 0x9c72
mov r9, qword [r9 + 0x2680]
mov rcx, rdi
call fcn.1400de130
mov r9, qword [0x1401fd5f8]
xor edx, edx
mov r8d, 0x9c64
mov r9, qword [r9 + 0x13b0]
mov rcx, rdi
call fcn.1400de130
mov rcx, rdi
call fcn.1400d5030
mov rdx, qword [0x1401fd5f8]
mov r8d, 0x2729
mov rdx, qword [rdx + 0x2358]
mov rcx, rdi
call fcn.1400d36d0
mov r9, qword [0x1401fd5f8]
mov edx, esi
cmp dword [rbp + 0x3b0], edx
mov r9, qword [r9 + 0x2368]
mov r8d, 0x9c6a
cmove edx, r12d
mov rcx, rax
mov rbx, rax
bts edx, 9
call fcn.1400de130
cmp dword [rbp + 0x3b0], 1
mov r9, qword [0x1401fd5f8]
mov r9, qword [r9 + 0x2378]
mov edx, esi
mov r8d, 0x9c6b
cmove edx, r12d
mov rcx, rbx
bts edx, 9
call fcn.1400de130
cmp dword [rbp + 0x3b0], 2
mov r9, qword [0x1401fd5f8]
mov r9, qword [r9 + 0x2388]
cmove esi, r12d
mov r8d, 0x9c70
bts esi, 9
mov rcx, rbx
mov edx, esi
jmp 0x1400fe8dc
mov rcx, rdi
call fcn.1400d36a0
movzx r11d, byte [rbp + 0x218]
mov r9, qword [0x1401fd5f8]
mov r9, qword [r9 + 0x490]
neg r11b
mov r8d, 0x9c7c
sbb edx, edx
mov rcx, rdi
and edx, 8
call fcn.1400de130
movzx eax, byte [rbp + 0x219]
mov r9, qword [0x1401fd5f8]
mov r9, qword [r9 + 0x498]
neg al
movzx eax, byte [rbp + 0x21b]
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.1400de130
movzx r11d, byte [rbp + 0x21a]
mov r9, qword [0x1401fd5f8]
mov r9, qword [r9 + 0x4a0]
neg r11b
mov r8d, 0x9c7e
sbb edx, edx
mov rcx, rdi
and edx, 8
call fcn.1400de130
movzx r11d, byte [rbp + 0x21c]
movzx eax, byte [rbp + 0x21b]
mov r9, qword [0x1401fd5f8]
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.1400de130
mov rcx, rdi
call fcn.1400d5030
movzx r11d, byte [rbp + 0x21b]
mov r9, qword [0x1401fd5f8]
mov r9, qword [r9 + 0x4a8]
neg r11b
mov r8d, 0x9c7f
sbb edx, edx
mov rcx, rdi
and edx, 8
call fcn.1400de130
mov r9, qword [0x1401fd5f8]
xor edx, edx
mov r9, qword [r9 + 0x2ba8]
mov r8d, 0x9c85
mov rcx, rdi
call fcn.1400de130
mov rcx, rdi
call fcn.1400d5030
mov r9, qword [0x1401fd5f8]
xor edx, edx
mov r9, qword [r9 + 0x1da8]
mov r8d, 0x9c83
mov rcx, rdi
call fcn.1400de130
mov r9, qword [0x1401fd5f8]
xor edx, edx
mov r9, qword [r9 + 0x1db8]
mov r8d, 0x9c84
mov rcx, rdi
call fcn.1400de130
cmp qword [0x14020b050], rsi
je 0x1400fe8e1
lea rcx, [rsp + 0x40]
call fcn.1400012c0
mov rcx, qword [rbp + 0x108]
mov rsi, qword [0x14020b050]
call fcn.1400c0420
test rax, rax
mov r12, rax
jne 0x1400fe58a
mov rcx, qword [0x14020b050]
call fcn.1400c0160
mov r12, rax
mov rcx, rdi
mov r14d, 0xafc8
call fcn.1400d5030
test rsi, rsi
je 0x1400fe638
mov ebx, 1
mov r13d, 0xb3b0
mov r15d, 0x208
cmp r14d, r13d
je 0x1400fe638
cmp rsi, r12
mov ebp, 0x200
cmove ebp, r15d
cmp dword [0x14020ad14], 0
je 0x1400fe5eb
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetMenuItemCount]
test eax, eax
jle 0x1400fe5eb
cdq
idiv dword [0x14020ad14]
test edx, edx
jne 0x1400fe5eb
or ebp, 0x20
mov rcx, rsi
call fcn.1400c0060
lea rcx, [rsp + 0x40]
mov rdx, rax
call fcn.1401782a0
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.1400dde60
mov rsi, qword [rsi + 0x18]
add r14d, ebx
test rsi, rsi
jne 0x1400fe5b2
lea rcx, [rsp + 0x40]
call fcn.140175010
jmp 0x1400fe8e1
mov rcx, rdi
call fcn.1400d36a0
mov r9, qword [0x1401fd5f8]
xor edx, edx
mov r9, qword [r9 + 0x1468]
mov r8d, 0x9c9a
mov rcx, rdi
call fcn.1400de130
mov r9, qword [0x1401fd5f8]
xor edx, edx
mov r9, qword [r9 + 0x1478]
mov r8d, 0x9c9b
mov rcx, rdi
call fcn.1400de130
cmp qword [0x14020ac20], rsi
je 0x1400fe8e1
lea rcx, [rsp + 0x40]
call fcn.1400012c0
mov rbp, qword [0x14020ac20]
mov rcx, rdi
mov r13d, 0xabe0
call fcn.1400d5030
test rbp, rbp
je 0x1400fe73b
mov ebx, 1
mov r14d, 0xafc8
lea r15d, [rbx + 0x1f]
nop
cmp r13d, r14d
je 0x1400fe73b
mov rdx, qword [rbp]
lea rcx, [rsp + 0x40]
call fcn.1401782a0
cmp dword [0x14020ad14], esi
mov r12d, esi
je 0x1400fe708
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetMenuItemCount]
test eax, eax
jle 0x1400fe708
cdq
idiv dword [0x14020ad14]
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.1400dde60
mov rbp, qword [rbp + 0x28]
add r13d, ebx
test rbp, rbp
jne 0x1400fe6d0
lea rcx, [rsp + 0x40]
call fcn.140175010
jmp 0x1400fe8e1
mov rcx, rdi
call fcn.1400d36a0
mov r9, qword [0x1401fd5f8]
xor edx, edx
mov r9, qword [r9 + 0x4c0]
mov r8d, 0x9c88
mov rcx, rdi
call fcn.1400de130
mov r9, qword [0x1401fd5f8]
mov edx, 3
cmp dword [rbp + 0x27c], edx
mov r9, qword [r9 + 0x4c8]
mov r8d, 0x9c89
cmove edx, esi
mov rcx, rdi
call fcn.1400de130
mov r9, qword [0x1401fd5f8]
xor edx, edx
mov r9, qword [r9 + 0x16a8]
mov r8d, 0x9c8c
mov rcx, rdi
call fcn.1400de130
mov rcx, rdi
call fcn.1400d5030
mov r9, qword [0x1401fd5f8]
mov r8d, 0x9c8a
mov r9, qword [r9 + 0x4d0]
jmp 0x1400fe8d7
mov rcx, rdi
call fcn.1400d36a0
mov r9, qword [0x1401fd5f8]
xor edx, edx
mov r9, qword [r9 + 0x4d8]
mov r8d, 0x9c90
mov rcx, rdi
call fcn.1400de130
mov r9, qword [0x1401fd5f8]
xor edx, edx
mov r9, qword [r9 + 0xeb8]
mov r8d, 0x9c94
mov rcx, rdi
call fcn.1400de130
mov r9, qword [0x1401fd5f8]
xor edx, edx
mov r9, qword [r9 + 0x1d08]
mov r8d, 0x9c96
mov rcx, rdi
call fcn.1400de130
mov r9, qword [0x1401fd5f8]
xor edx, edx
mov r9, qword [r9 + 0x1190]
mov r8d, 0x9c95
mov rcx, rdi
call fcn.1400de130
mov rcx, rdi
call fcn.1400d5030
mov r9, qword [0x1401fd5f8]
xor edx, edx
mov r9, qword [r9 + 0x4e0]
mov r8d, 0x9c91
mov rcx, rdi
call fcn.1400de130
mov r9, qword [0x1401fd5f8]
xor edx, edx
mov r9, qword [r9 + 0x4e8]
mov r8d, 0x9c92
mov rcx, rdi
call fcn.1400de130
mov r9, qword [0x1401fd5f8]
xor edx, edx
mov r9, qword [r9 + 0x2f78]
mov r8d, 0x9c97
mov rcx, rdi
call fcn.1400de130
mov rcx, rdi
call fcn.1400d5030
mov r9, qword [0x1401fd5f8]
mov r8d, 0x9c93
mov r9, qword [r9 + 0x4f0]
xor edx, edx
mov rcx, rdi
call fcn.1400de130
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.1401a6ae0
add rsp, 0x188
pop r13
pop r12
pop rdi
pop rbp
ret