Function at 0x2f8aae1a3
Capabilities:
Authenticate hmac
Resolve function by parsing pe exports

Disassembly:
push rbp
mov rbp, rsp
add rsp, 0xffffffffffffff80
mov qword [rbp + 0x10], rcx
mov dword [rbp + 0x18], edx
mov eax, dword [0x2f8ab4148]
and eax, 0x3d
mov byte [0x2f8ab4144], al
movzx eax, byte [0x2f8ab4140]
movzx eax, al
sub ax, 0xdcb
mov word [0x2f8ab4142], ax
mov ecx, 0xfd
mov rax, qword [sym.imp.USER32.dll_GetSysColorBrush]
call rax
mov dword [rbp - 4], 0x8772
mov eax, dword [0x2f8ab4148]
and eax, 0x14
mov byte [0x2f8ab4145], al
movzx eax, word [0x2f8ab414c]
sub eax, 0x40
mov byte [0x2f8ab4144], al
movzx eax, byte [0x2f8ab4144]
xor eax, 0xffffff9f
mov byte [0x2f8ab4144], al
cmp qword [rbp + 0x10], 0
je 0x2f8aae227
cmp dword [rbp + 0x18], 0
jne 0x2f8aae2a6
movzx eax, word [0x2f8ab4142]
movzx eax, ax
sub eax, 0x53c59ee3
mov dword [0x2f8ab4148], eax
movzx eax, byte [0x2f8ab4144]
movzx eax, al
imul eax, eax, 0xc7b010d0
mov dword [0x2f8ab4148], eax
movzx eax, byte [0x2f8ab4140]
add eax, 0x66
mov byte [0x2f8ab4140], al
movzx eax, byte [0x2f8ab4145]
movzx eax, al
add ax, 0x7827
mov word [0x2f8ab4142], ax
movzx eax, byte [0x2f8ab4140]
movzx eax, al
xor ax, 0xa583
mov word [0x2f8ab414c], ax
movzx eax, byte [0x2f8ab4144]
and eax, 0x7f
mov byte [0x2f8ab4144], al
mov eax, 0
jmp 0x2f8aaf0bd
movzx eax, byte [0x2f8ab4145]
xor eax, 0xffffffef
mov byte [0x2f8ab4144], al
movzx eax, word [0x2f8ab4142]
movzx eax, ax
or eax, 0xf9485fec
mov dword [0x2f8ab4148], eax
movzx eax, byte [0x2f8ab4140]
or eax, 0x5c
mov byte [0x2f8ab4145], al
movzx eax, byte [0x2f8ab4145]
add eax, 0x1d
mov byte [0x2f8ab4145], al
mov eax, dword [0x2f8ab4148]
or eax, 0x3d
mov byte [0x2f8ab4144], al
movzx eax, byte [0x2f8ab4145]
add eax, 0x51
mov byte [0x2f8ab4140], al
movzx eax, word [0x2f8ab414c]
add eax, 0x36
mov byte [0x2f8ab4144], al
movzx eax, word [0x2f8ab414c]
xor ax, 0xa559
mov word [0x2f8ab4142], ax
mov qword [rbp - 0x30], 0
movzx eax, byte [0x2f8ab4144]
and eax, 0xffffffa7
mov byte [0x2f8ab4140], al
mov eax, dword [0x2f8ab4148]
or eax, 0xfffffff1
mov byte [0x2f8ab4144], al
movzx eax, byte [0x2f8ab4145]
movzx eax, al
sub ax, 0x5bbc
mov word [0x2f8ab414c], ax
movzx eax, word [0x2f8ab4142]
sub ax, 0x729e
mov word [0x2f8ab4142], ax
movzx eax, byte [0x2f8ab4145]
and eax, 0x6a
mov byte [0x2f8ab4140], al
add dword [rbp - 4], 1
movzx eax, byte [0x2f8ab4140]
movzx eax, al
imul eax, eax, 0x36558f84
mov dword [0x2f8ab4148], eax
mov eax, dword [0x2f8ab4148]
mov edx, 0x64
imul eax, edx
mov byte [0x2f8ab4144], al
movzx eax, byte [0x2f8ab4145]
xor eax, 0xffffffbb
mov byte [0x2f8ab4144], al
movzx eax, byte [0x2f8ab4144]
movzx eax, al
or ax, 0xb02c
mov word [0x2f8ab414c], ax
movzx eax, byte [0x2f8ab4144]
or eax, 0xffffffb2
mov byte [0x2f8ab4144], al
movzx eax, byte [0x2f8ab4145]
xor eax, 0xffffffb8
mov byte [0x2f8ab4145], al
mov rax, qword [rbp + 0x10]
mov qword [rbp - 0x38], rax
movzx eax, byte [0x2f8ab4140]
movzx eax, al
or ax, 0x9bc7
mov word [0x2f8ab414c], ax
movzx eax, word [0x2f8ab414c]
sub eax, 0x57
mov byte [0x2f8ab4145], al
movzx eax, byte [0x2f8ab4145]
movzx eax, al
or ax, 0x3cca
mov word [0x2f8ab414c], ax
movzx eax, word [0x2f8ab4142]
and eax, 3
mov byte [0x2f8ab4140], al
movzx eax, byte [0x2f8ab4140]
add eax, 0xc
mov byte [0x2f8ab4140], al
movzx eax, word [0x2f8ab414c]
and ax, 0x1562
mov word [0x2f8ab414c], ax
movzx eax, word [0x2f8ab4142]
xor ax, 0xe414
mov word [0x2f8ab414c], ax
movzx eax, word [0x2f8ab4142]
add eax, 0x16
mov byte [0x2f8ab4140], al
add dword [rbp - 4], 1
movzx eax, byte [0x2f8ab4145]
add eax, 0x3f
mov byte [0x2f8ab4140], al
movzx eax, byte [0x2f8ab4144]
sub eax, 0x7b
mov byte [0x2f8ab4145], al
mov eax, dword [0x2f8ab4148]
xor ax, 0xd3b0
mov word [0x2f8ab4142], ax
movzx eax, word [0x2f8ab4142]
add eax, 0x40
mov byte [0x2f8ab4140], al
movzx eax, byte [0x2f8ab4145]
movzx eax, al
imul eax, eax, 0xfa50b89c
mov dword [0x2f8ab4148], eax
mov rax, qword [rbp - 0x38]
mov eax, dword [rax + 0x3c]
movsxd rdx, eax
mov rax, qword [rbp - 0x38]
add rax, rdx
mov qword [rbp - 0x40], rax
movzx eax, byte [0x2f8ab4145]
movzx eax, al
sub ax, 0x5ce4
mov word [0x2f8ab414c], ax
mov eax, dword [0x2f8ab4148]
xor eax, 0xd60d9fe7
mov dword [0x2f8ab4148], eax
mov eax, dword [0x2f8ab4148]
and eax, 0xbbbdb0b9
mov dword [0x2f8ab4148], eax
movzx eax, word [0x2f8ab414c]
add ax, 0x67cf
mov word [0x2f8ab4142], ax
movzx eax, word [0x2f8ab414c]
mov edx, eax
mov eax, edx
shl edx, 2
sub eax, edx
add eax, eax
mov byte [0x2f8ab4140], al
movzx eax, byte [0x2f8ab4140]
movzx eax, al
add eax, 0x6e73c3ce
mov dword [0x2f8ab4148], eax
mov eax, dword [0x2f8ab4148]
sub eax, 0x15
mov byte [0x2f8ab4145], al
add dword [rbp - 4], 1
mov eax, dword [0x2f8ab4148]
and ax, 0xb0b1
mov word [0x2f8ab4142], ax
movzx eax, word [0x2f8ab414c]
xor eax, 0xffffff9a
mov byte [0x2f8ab4144], al
movzx eax, word [0x2f8ab4142]
or eax, 0x1b
mov byte [0x2f8ab4140], al
mov rax, qword [rbp - 0x40]
add rax, 0x88
mov qword [rbp - 0x48], rax
movzx eax, byte [0x2f8ab4145]
add eax, 0x1e
mov byte [0x2f8ab4140], al
movzx eax, word [0x2f8ab4142]
and eax, 0x4d
mov byte [0x2f8ab4144], al
mov eax, dword [0x2f8ab4148]
xor ax, 0x57ba
mov word [0x2f8ab4142], ax
mov eax, dword [0x2f8ab4148]
or eax, 0xffffffd1
mov byte [0x2f8ab4140], al
add dword [rbp - 4], 1
movzx eax, byte [0x2f8ab4140]
sub eax, 0x3d
mov byte [0x2f8ab4140], al
movzx eax, word [0x2f8ab4142]
movzx eax, ax
and eax, 0x24a21aa4
mov dword [0x2f8ab4148], eax
movzx eax, byte [0x2f8ab4140]
movzx eax, al
imul ax, ax, 0xfb4a
mov word [0x2f8ab4142], ax
movzx eax, byte [0x2f8ab4145]
movzx eax, al
or eax, 0x3b234cdd
mov dword [0x2f8ab4148], eax
mov eax, dword [0x2f8ab4148]
imul ax, ax, 0xbc74
mov word [0x2f8ab414c], ax
movzx eax, byte [0x2f8ab4144]
movzx eax, al
imul ax, ax, 0x2e22
mov word [0x2f8ab414c], ax
movzx eax, word [0x2f8ab414c]
mov edx, 0x3d
imul eax, edx
mov byte [0x2f8ab4140], al
mov rax, qword [rbp - 0x48]
mov eax, dword [rax]
mov edx, eax
mov rax, qword [rbp - 0x38]
add rax, rdx
mov qword [rbp - 0x50], rax
movzx eax, word [0x2f8ab4142]
add eax, 0x45
mov byte [0x2f8ab4145], al
movzx eax, word [0x2f8ab4142]
imul ax, ax, 0xca84
mov word [0x2f8ab4142], ax
movzx eax, byte [0x2f8ab4140]
movzx eax, al
sub ax, 0x1935
mov word [0x2f8ab414c], ax
movzx eax, byte [0x2f8ab4145]
movzx eax, al
and eax, 0xa7df3201
mov dword [0x2f8ab4148], eax
movzx eax, word [0x2f8ab414c]
movzx eax, ax
and eax, 0xb879d1a
mov dword [0x2f8ab4148], eax
movzx eax, byte [0x2f8ab4140]
movzx eax, al
imul ax, ax, 0x977
mov word [0x2f8ab4142], ax
movzx eax, byte [0x2f8ab4144]
movzx eax, al
and eax, 0xb9050043
mov dword [0x2f8ab4148], eax
add dword [rbp - 4], 1
movzx eax, byte [0x2f8ab4144]
and eax, 0xfffffff9
mov byte [0x2f8ab4144], al
mov eax, dword [0x2f8ab4148]
xor eax, 0xf98c86dd
mov dword [0x2f8ab4148], eax
movzx eax, byte [0x2f8ab4145]
movzx eax, al
imul ax, ax, 0x976b
mov word [0x2f8ab4142], ax
mov eax, dword [0x2f8ab4148]
or ax, 0xb80
mov word [0x2f8ab414c], ax
mov eax, dword [0x2f8ab4148]
and eax, 0xffffffa3
mov byte [0x2f8ab4144], al
movzx eax, byte [0x2f8ab4140]
add eax, 0x44
mov byte [0x2f8ab4140], al
movzx eax, word [0x2f8ab4142]
mov edx, eax
mov eax, 0
sub eax, edx
shl eax, 4
mov byte [0x2f8ab4145], al
mov eax, dword [0x2f8ab4148]
or eax, 0x33
mov byte [0x2f8ab4144], al
mov rax, qword [rbp - 0x50]
mov eax, dword [rax + 0x20]
mov edx, eax
mov rax, qword [rbp - 0x38]
add rax, rdx
mov qword [rbp - 0x10], rax
movzx eax, word [0x2f8ab4142]
mov edx, 0x3c
imul eax, edx
mov byte [0x2f8ab4140], al
mov eax, dword [0x2f8ab4148]
or ax, 0x10fe
mov word [0x2f8ab4142], ax
movzx eax, word [0x2f8ab4142]
sub eax, 0x52
mov byte [0x2f8ab4145], al
movzx eax, byte [0x2f8ab4140]
xor eax, 0xffffffe2
mov byte [0x2f8ab4144], al
add dword [rbp - 4], 1
mov ecx, 0x8e
mov rax, qword [sym.imp.USER32.dll_GetSysColorBrush]
call rax
mov eax, dword [0x2f8ab4148]
or eax, 0xfffffffd
mov byte [0x2f8ab4144], al
movzx eax, byte [0x2f8ab4140]
movzx eax, al
or ax, 0x4153
mov word [0x2f8ab414c], ax
movzx eax, word [0x2f8ab414c]
movzx eax, ax
and eax, 0x5e113a59
mov dword [0x2f8ab4148], eax
movzx eax, word [0x2f8ab414c]
sub eax, 0x61
mov byte [0x2f8ab4140], al
movzx eax, byte [0x2f8ab4140]
movzx eax, al
sub eax, 0x219bc255
mov dword [0x2f8ab4148], eax
movzx eax, word [0x2f8ab414c]
movzx eax, ax
or eax, 0x7c76ecc1
mov dword [0x2f8ab4148], eax
movzx eax, byte [0x2f8ab4145]
movzx eax, al
or ax, 0x92ac
mov word [0x2f8ab414c], ax
mov rax, qword [rbp - 0x50]
mov eax, dword [rax + 0x1c]
mov edx, eax
mov rax, qword [rbp - 0x38]
add rax, rdx
mov qword [rbp - 0x58], rax
movzx eax, word [0x2f8ab414c]
and eax, 0xffffff8e
mov byte [0x2f8ab4145], al
movzx eax, word [0x2f8ab4142]
sub ax, 0x37e2
mov word [0x2f8ab414c], ax
movzx eax, byte [0x2f8ab4145]
sub eax, 0x7d
mov byte [0x2f8ab4144], al
movzx eax, byte [0x2f8ab4140]
movzx eax, al
and ax, 0xdf4b
mov word [0x2f8ab4142], ax
movzx eax, byte [0x2f8ab4144]
movzx eax, al
xor eax, 0x330db59c
mov dword [0x2f8ab4148], eax
movzx eax, byte [0x2f8ab4144]
xor eax, 0x5e
mov byte [0x2f8ab4145], al
add dword [rbp - 4], 1
movzx eax, byte [0x2f8ab4144]
movzx eax, al
and ax, 0xf969
mov word [0x2f8ab4142], ax
mov edx, 0
mov ecx, 0xb4
mov rax, qword [sym.imp.USER32.dll_ReleaseDC]
call rax
movzx eax, byte [0x2f8ab4145]
movzx eax, al
or ax, 0x77de
mov word [0x2f8ab4142], ax
movzx eax, byte [0x2f8ab4145]
movzx eax, al
xor ax, 0x6c0e
mov word [0x2f8ab414c], ax
movzx eax, byte [0x2f8ab4144]
or eax, 0xffffffe2
mov byte [0x2f8ab4140], al
movzx eax, byte [0x2f8ab4144]
and eax, 0xffffff85
mov byte [0x2f8ab4144], al
movzx eax, byte [0x2f8ab4145]
movzx eax, al
and ax, 0xbb70
mov word [0x2f8ab4142], ax
mov rax, qword [rbp - 0x50]
mov eax, dword [rax + 0x24]
mov edx, eax
mov rax, qword [rbp - 0x38]
add rax, rdx
mov qword [rbp - 0x18], rax
movzx eax, word [0x2f8ab4142]
and eax, 0xffffffa4
mov byte [0x2f8ab4145], al
mov eax, dword [0x2f8ab4148]
add eax, 0xffffff80
mov word [0x2f8ab4142], ax
movzx eax, byte [0x2f8ab4140]
movzx eax, al
add eax, 0x531a2eea
mov dword [0x2f8ab4148], eax
add dword [rbp - 4], 1
mov eax, dword [0x2f8ab4148]
sub ax, 0x736e
mov word [0x2f8ab4142], ax
movzx eax, word [0x2f8ab414c]
and eax, 0x4f
mov byte [0x2f8ab4140], al
movzx eax, byte [0x2f8ab4144]
movzx eax, al
sub eax, 0x6cd3a733
mov dword [0x2f8ab4148], eax
movzx eax, byte [0x2f8ab4144]
movzx eax, al
add eax, 0x512bee86
mov dword [0x2f8ab4148], eax
movzx eax, byte [0x2f8ab4140]
or eax, 0xffffff80
mov byte [0x2f8ab4140], al
movzx eax, word [0x2f8ab414c]
add eax, 2
mov byte [0x2f8ab4144], al
mov eax, dword [0x2f8ab4148]
xor eax, 0x9db477e9
mov dword [0x2f8ab4148], eax
mov qword [rbp - 0x20], 0
movzx eax, word [0x2f8ab4142]
movzx eax, ax
add eax, 0x74affafd
mov dword [0x2f8ab4148], eax
movzx eax, word [0x2f8ab414c]
mov edx, 0xffffffcb
imul eax, edx
mov byte [0x2f8ab4145], al
movzx eax, byte [0x2f8ab4140]
movzx eax, al
xor eax, 0x79f2fb21
mov dword [0x2f8ab4148], eax
add dword [rbp - 4], 1
movzx eax, byte [0x2f8ab4145]
sub eax, 0x7f
mov byte [0x2f8ab4140], al
mov ecx, 0xc
mov rax, qword [sym.imp.USER32.dll_GetDC]
call rax
movzx eax, byte [0x2f8ab4145]
movzx eax, al
add ax, 0x16d6
mov word [0x2f8ab414c], ax
movzx eax, word [0x2f8ab414c]
sub ax, 0x650
mov word [0x2f8ab4142], ax
movzx eax, word [0x2f8ab414c]
movzx eax, ax
or eax, 0x75eeebab
mov dword [0x2f8ab4148], eax
mov ecx, 0x8a
mov rax, qword [sym.imp.USER32.dll_GetSysColorBrush]
call rax
mov rax, qword [rbp - 0x50]
mov eax, dword [rax + 0x18]
mov dword [rbp - 0x24], eax
movzx eax, word [0x2f8ab4142]
and eax, 0xffffffed
mov byte [0x2f8ab4144], al
movzx eax, byte [0x2f8ab4144]
movzx eax, al
and ax, 0xb02d
mov word [0x2f8ab4142], ax
movzx eax, byte [0x2f8ab4140]
movzx eax, al
add eax, 0x27bebf07
mov dword [0x2f8ab4148], eax
add dword [rbp - 4], 1
movzx eax, word [0x2f8ab4142]
xor eax, 0xffffff91
mov byte [0x2f8ab4145], al
movzx eax, byte [0x2f8ab4140]
movzx eax, al
imul ax, ax, 0x978b
mov word [0x2f8ab414c], ax
movzx eax, byte [0x2f8ab4145]
and eax, 0x2f
mov byte [0x2f8ab4140], al
movzx eax, byte [0x2f8ab4140]
or eax, 0x31
mov byte [0x2f8ab4144], al
movzx eax, word [0x2f8ab4142]
add eax, 0x4c
mov byte [0x2f8ab4145], al
jmp 0x2f8aaf057
movzx eax, word [0x2f8ab4142]
movzx eax, ax
xor eax, 0x20f7ff1f
mov dword [0x2f8ab4148], eax
mov eax, dword [0x2f8ab4148]
xor eax, 0xffffff90
mov byte [0x2f8ab4144], al
movzx eax, byte [0x2f8ab4145]
movzx eax, al
or eax, 0x649b4e93
mov dword [0x2f8ab4148], eax
movzx eax, byte [0x2f8ab4140]
movzx eax, al
sub eax, 0x7d525d98
mov dword [0x2f8ab4148], eax
mov eax, dword [0x2f8ab4148]
sub eax, 0x63
mov byte [0x2f8ab4145], al
mov eax, dword [0x2f8ab4148]
sub eax, 0x24
mov byte [0x2f8ab4145], al
movzx eax, byte [0x2f8ab4144]
movzx eax, al
xor ax, 0xe9dc
mov word [0x2f8ab414c], ax
add dword [rbp - 4], 1
movzx eax, word [0x2f8ab414c]
sub eax, 0x3e
mov byte [0x2f8ab4145], al
movzx eax, byte [0x2f8ab4140]
movzx eax, al
add ax, 0x65b8
mov word [0x2f8ab414c], ax
movzx eax, word [0x2f8ab414c]
and ax, 0x9de7
mov word [0x2f8ab414c], ax
movzx eax, word [0x2f8ab4142]
and eax, 0xffffffd2
mov byte [0x2f8ab4140], al
mov eax, dword [0x2f8ab4148]
mov edx, 0x5b
imul eax, edx
mov byte [0x2f8ab4145], al
movzx eax, word [0x2f8ab4142]
or ax, 0xb13c
mov word [0x2f8ab414c], ax
movzx eax, byte [0x2f8ab4140]
movzx eax, al
imul ax, ax, 0x5842
mov word [0x2f8ab414c], ax
mov rax, qword [rbp - 0x10]
mov eax, dword [rax]
mov edx, eax
mov rax, qword [rbp - 0x38]
add rax, rdx
mov qword [rbp - 0x60], rax
movzx eax, byte [0x2f8ab4144]
mov edx, 0xffffffce
imul eax, edx
mov byte [0x2f8ab4144], al
movzx eax, byte [0x2f8ab4140]
movzx eax, al
or ax, 0xff56
mov word [0x2f8ab414c], ax
movzx eax, byte [0x2f8ab4140]
or eax, 0xffffff89
mov byte [0x2f8ab4140], al
movzx eax, byte [0x2f8ab4145]
xor eax, 0xffffffe4
mov byte [0x2f8ab4145], al
movzx eax, byte [0x2f8ab4140]
mov edx, 0x2d
imul eax, edx
mov byte [0x2f8ab4144], al
mov rax, qword [rbp - 0x60]
mov rcx, rax
call fcn.2f8aaccdd
cmp dword [rbp + 0x18], eax
sete al
test al, al
je 0x2f8aaeead
movzx eax, byte [0x2f8ab4145]
xor eax, 0x22
mov byte [0x2f8ab4145], al
movzx eax, byte [0x2f8ab4144]
movzx eax, al
imul ax, ax, 0xb4cb
mov word [0x2f8ab4142], ax
movzx eax, word [0x2f8ab414c]
xor eax, 0xffffffd3
mov byte [0x2f8ab4144], al
movzx eax, byte [0x2f8ab4144]
sub eax, 0x11
mov byte [0x2f8ab4145], al
movzx eax, byte [0x2f8ab4140]
and eax, 0xffffffc3
mov byte [0x2f8ab4145], al
movzx eax, byte [0x2f8ab4144]
and eax, 0x63
mov byte [0x2f8ab4144], al
movzx eax, word [0x2f8ab4142]
sub eax, 0x3b
mov byte [0x2f8ab4144], al
mov eax, dword [0x2f8ab4148]
imul eax, eax, 0x1f8b25ea
mov dword [0x2f8ab4148], eax
movzx eax, byte [0x2f8ab4144]
movzx eax, al
add ax, 0x14c6
mov word [0x2f8ab4142], ax
movzx eax, word [0x2f8ab414c]
movzx eax, ax
sub eax, 0x5d461c14
mov dword [0x2f8ab4148], eax
movzx eax, word [0x2f8ab414c]
movzx eax, ax
sub eax, 0x2852b127
mov dword [0x2f8ab4148], eax
add dword [rbp - 4], 1
mov rax, qword [rbp - 0x18]
movzx eax, word [rax]
movzx eax, ax
shl rax, 2
add qword [rbp - 0x58], rax
mov eax, dword [0x2f8ab4148]
and ax, 0xa526
mov word [0x2f8ab4142], ax
movzx eax, word [0x2f8ab4142]
or ax, 0x176a
mov word [0x2f8ab4142], ax
movzx eax, byte [0x2f8ab4145]
sub eax, 0x3e
mov byte [0x2f8ab4140], al
add dword [rbp - 4], 1
mov rax, qword [rbp - 0x58]
mov eax, dword [rax]
mov edx, eax
mov rax, qword [rbp - 0x38]
add rax, rdx
mov qword [rbp - 0x20], rax
jmp 0x2f8aaf06d
movzx eax, byte [0x2f8ab4144]
and eax, 0xffffff85
mov byte [0x2f8ab4145], al
movzx eax, word [0x2f8ab414c]
and eax, 0x36
mov byte [0x2f8ab4140], al
movzx eax, byte [0x2f8ab4144]
or eax, 0xffffffe7
mov byte [0x2f8ab4144], al
mov eax, dword [0x2f8ab4148]
xor ax, 0x4d85
mov word [0x2f8ab4142], ax
movzx eax, word [0x2f8ab4142]
movzx eax, ax
xor eax, 0xecb8304
mov dword [0x2f8ab4148], eax
movzx eax, word [0x2f8ab4142]
movzx eax, ax
add eax, 0x2dd99eaf
mov dword [0x2f8ab4148], eax
add dword [rbp - 4], 1
add qword [rbp - 0x10], 4
movzx eax, word [0x2f8ab414c]
or eax, 0xffffff83
mov byte [0x2f8ab4145], al
movzx eax, word [0x2f8ab4142]
sub ax, 0x1af9
mov word [0x2f8ab414c], ax
movzx eax, byte [0x2f8ab4144]
movzx eax, al
add ax, 0x47dd
mov word [0x2f8ab4142], ax
movzx eax, byte [0x2f8ab4144]
xor eax, 0x35
mov byte [0x2f8ab4145], al
mov eax, dword [0x2f8ab4148]
sub ax, 0x994
mov word [0x2f8ab4142], ax
movzx eax, word [0x2f8ab4142]
and ax, 0x8fa0
mov word [0x2f8ab414c], ax
mov eax, dword [0x2f8ab4148]
sub ax, 0x1a74
mov word [0x2f8ab4142], ax
mov r9d, 0
mov r8d, 0
mov edx, 0
mov ecx, 0x3d
mov rax, qword [sym.imp.USER32.dll_RedrawWindow]
call rax
add dword [rbp - 4], 1
add qword [rbp - 0x18], 2
movzx eax, byte [0x2f8ab4140]
movzx eax, al
imul eax, eax, 0xd51983d0
mov dword [0x2f8ab4148], eax
mov eax, dword [0x2f8ab4148]
add eax, 0x41
mov byte [0x2f8ab4145], al
movzx eax, word [0x2f8ab414c]
or eax, 0x21
mov byte [0x2f8ab4144], al
movzx eax, word [0x2f8ab4142]
sub eax, 0x78
mov byte [0x2f8ab4145], al
movzx eax, byte [0x2f8ab4145]
movzx eax, al
sub ax, 0xa74
mov word [0x2f8ab414c], ax
movzx eax, byte [0x2f8ab4140]
add eax, 0x5e
mov byte [0x2f8ab4140], al
movzx eax, byte [0x2f8ab4140]
movzx eax, al
xor eax, 0x94f23c8d
mov dword [0x2f8ab4148], eax
movzx eax, byte [0x2f8ab4145]
add eax, 0x74
mov byte [0x2f8ab4145], al
add dword [rbp - 4], 1
mov eax, dword [rbp - 0x24]
lea edx, [rax - 1]
mov dword [rbp - 0x24], edx
test eax, eax
setne al
test al, al
jne 0x2f8aaebed
movzx eax, byte [0x2f8ab4144]
movzx eax, al
or eax, 0x2d514938
mov dword [0x2f8ab4148], eax
mov eax, dword [0x2f8ab4148]
sub eax, 3
mov byte [0x2f8ab4144], al
movzx eax, byte [0x2f8ab4145]
movzx eax, al
or ax, 0x2941
mov word [0x2f8ab4142], ax
mov eax, dword [0x2f8ab4148]
add eax, 0x57
mov byte [0x2f8ab4145], al
add dword [rbp - 4], 1
mov rax, qword [rbp - 0x20]
sub rsp, 0xffffffffffffff80
pop rbp
ret