Function at 0x180074820
Capabilities:
Check for unmoving mouse cursor
Log keystrokes via polling

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1a0]
sub rsp, 0x2a0
mov qword [rbp - 0x48], 0xfffffffffffffffe
mov qword [rsp + 0x2f0], rbx
mov rax, qword [0x1804610b0]
xor rax, rsp
mov qword [rbp + 0x190], rax
mov qword [rsp + 0x50], r9
mov ebx, r8d
mov r12, rdx
mov qword [rsp + 0x70], rdx
mov r13, rcx
cmp qword [rcx + 0x18], 0
jne 0x18007487d
xor al, al
jmp 0x180075531
mov edx, 0x10
lea rcx, [rbp + 0x30]
call fcn.18003df50
mov rcx, qword [r13 + 0x18]
mov rax, qword [rcx]
lea rdx, [rbp + 0x30]
call qword [rax + 0x48]
nop
mov r15d, 0xffffffff
cmp qword [rbp + 0x30], 0
je 0x1800754f7
mov rcx, qword [r13 + 0x18]
mov rax, qword [rcx]
call qword [rax + 0x30]
mov qword [rsp + 0x60], rax
test rax, rax
je 0x1800754f7
xor eax, eax
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x18], rax
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x10], xmm0
mov r14, qword [r13 + 0xf8]
mov qword [rsp + 0x58], r14
test r14, r14
je 0x1800748f7
lock inc dword [r14 + 8]
mov r14, qword [r13 + 0xf8]
mov qword [rsp + 0x58], r14
mov rdi, qword [r13 + 0xf0]
mov qword [rbp + 0x10], rdi
mov qword [rbp + 0x18], r14
test rdi, rdi
je 0x1800754c0
mov rax, qword [rbp + 0x30]
add rax, 0x18
je 0x1800754c0
mov rcx, qword [r13 + 0x18]
mov rax, qword [rcx]
call qword [rax + 0x20]
test rax, rax
je 0x1800754c0
add rax, 0xffffffffffffff80
je 0x1800754c0
xor sil, sil
mov eax, 0x205
cmp ebx, eax
ja 0x180075195
je 0x18007503f
cmp ebx, 0x113
ja 0x180074ecb
je 0x180074ead
cmp ebx, 0xf
je 0x180074cdd
cmp ebx, 0x18
je 0x180074c4a
cmp ebx, 0x20
jne 0x1800754b8
mov sil, 1
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx]
call qword [rax + 0x28]
test al, al
jne 0x1800754b8
mov r15, qword [rbp + 0x200]
shr r15, 0x10
lea rcx, [rbp - 0x10]
call qword [sym.imp.USER32.dll_GetCursorPos]
mov ecx, 0x200
mov rax, qword [rbp - 0x10]
cmp r15w, cx
jne 0x1800749d0
cmp dword [r13 + 0xb0], eax
jne 0x1800749d0
mov ecx, dword [rbp - 0xc]
cmp dword [r13 + 0xb4], ecx
je 0x1800754b8
mov qword [r13 + 0xb0], rax
mov eax, 0x204
lea ecx, [rax - 3]
cmp r15w, ax
jne 0x180074a09
mov rcx, qword [r13 + 0x30]
test rcx, rcx
je 0x180074a89
lea r9, [r13 + 0x38]
xor r8d, r8d
mov edx, 0x411
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x180074a89
mov edx, 0x205
cmp r15w, dx
jne 0x180074a2e
xor r9d, r9d
xor r8d, r8d
mov rcx, r12
call qword [sym.imp.USER32.dll_SendMessageW]
mov r15d, 0xffffffff
jmp 0x1800754c3
mov edx, 0x202
cmp r15w, dx
jne 0x180074a53
xor r9d, r9d
xor r8d, r8d
mov rcx, r12
call qword [sym.imp.USER32.dll_PostMessageW]
mov r15d, 0xffffffff
jmp 0x1800754c3
cmp r15w, cx
jne 0x180074a89
mov rcx, qword [r13 + 0x30]
test rcx, rcx
je 0x180074a74
lea r9, [r13 + 0x38]
xor r8d, r8d
mov edx, 0x411
call qword [sym.imp.USER32.dll_SendMessageW]
lea rcx, [r13 + 0x9c]
call qword [sym.imp.USER32.dll_GetCursorPos]
mov rcx, r12
call fcn.180167360
mov eax, dword [r13 + 0x98]
mov dword [rsp + 0x50], eax
mov eax, dword [r13 + 0xa4]
mov dword [rsp + 0x58], eax
mov rbx, qword [rdi]
lea rdx, [rbp - 0x40]
mov rcx, r13
call fcn.180078b20
mov rdx, rax
mov rcx, rdi
call qword [rbx + 0x20]
mov ebx, eax
cmp eax, 0xe
jne 0x180074b6e
mov rcx, qword [r13 + 0x30]
test rcx, rcx
je 0x180074add
lea r9, [r13 + 0x38]
xor r8d, r8d
mov edx, 0x411
call qword [sym.imp.USER32.dll_SendMessageW]
xor ecx, ecx
cmp byte [r13 + 0xac], cl
mov edx, 0x7f86
jne 0x180074af2
mov edx, 0x7f00
call qword [sym.imp.USER32.dll_LoadCursorW]
mov rcx, rax
call qword [sym.imp.USER32.dll_SetCursor]
mov dword [r13 + 0x98], 0xe
mov dword [r13 + 0xa4], 0xe
mov dword [r13 + 0xa8], 0xe
mov rax, qword [rdi]
xor r8d, r8d
lea edx, [r8 + 0xe]
mov rcx, rdi
call qword [rax + 0x28]
mov eax, dword [rsp + 0x50]
cmp eax, dword [r13 + 0x98]
jne 0x180074b50
mov eax, dword [rsp + 0x58]
cmp eax, dword [r13 + 0xa4]
je 0x1800754b8
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0xf]
mov rcx, r12
call qword [sym.imp.USER32.dll_PostMessageW]
mov r15d, 0xffffffff
jmp 0x1800754c3
mov edx, 0x7f89
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorW]
mov rcx, rax
call qword [sym.imp.USER32.dll_SetCursor]
mov eax, 0x201
cmp r15w, ax
jne 0x180074bb4
mov rax, qword [rdi]
mov r8d, 2
mov edx, ebx
mov rcx, rdi
call qword [rax + 0x28]
mov dword [r13 + 0x98], ebx
mov dword [r13 + 0xa4], 0xe
jmp 0x180074be2
mov eax, 0x200
cmp r15w, ax
jne 0x180074be2
mov rax, qword [rdi]
mov r8d, 1
mov edx, ebx
mov rcx, rdi
call qword [rax + 0x28]
mov dword [r13 + 0xa4], ebx
mov dword [r13 + 0x98], 0xe
mov eax, dword [rsp + 0x50]
cmp eax, dword [r13 + 0x98]
jne 0x180074c00
mov eax, dword [rsp + 0x58]
cmp eax, dword [r13 + 0xa4]
je 0x1800754b8
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0xf]
mov rcx, r12
call qword [sym.imp.USER32.dll_PostMessageW]
mov rax, qword [r13 + 0x28]
mov qword [0x180482428], rax
lea rcx, [0x180482420]
call qword [sym.imp.USER32.dll_TrackMouseEvent]
mov edx, ebx
mov rcx, r13
call fcn.180077460
mov edx, ebx
mov rcx, r13
call fcn.1800772b0
mov r15d, 0xffffffff
jmp 0x1800754c3
cmp qword [rsp + 0x50], 0
jne 0x1800754b8
mov rcx, qword [r13 + 0x30]
test rcx, rcx
je 0x180074c71
lea r9, [r13 + 0x38]
xor r8d, r8d
mov edx, 0x411
call qword [sym.imp.USER32.dll_SendMessageW]
cmp qword [rbp + 0x200], 0x64
jne 0x1800754b8
mov rcx, r13
call fcn.180075c20
lea rcx, [r13 + 0x80]
mov rax, qword [rcx]
call qword [rax]
test al, al
je 0x1800754b5
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, eax
call fcn.1801715d0
test al, al
jne 0x180074cc7
mov rcx, qword [r13 + 0x18]
mov rax, qword [rcx]
call qword [rax + 0x88]
mov sil, 1
mov r15d, 0xffffffff
jmp 0x1800754c3
mov rcx, r13
call fcn.180076410
mov sil, 1
mov r15d, 0xffffffff
jmp 0x1800754c3
lea rdx, [rbp + 0x50]
mov rcx, r12
call qword [sym.imp.USER32.dll_BeginPaint]
mov rbx, rax
mov qword [rsp + 0x50], rax
xor eax, eax
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], rax
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x20], xmm0
mov r12, qword [r13 + 0xf8]
test r12, r12
je 0x180074d1d
lock inc dword [r12 + 8]
mov r12, qword [r13 + 0xf8]
mov rax, qword [r13 + 0xf0]
mov qword [rsp + 0x60], rax
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], r12
test rax, rax
jne 0x180074d95
test r12, r12
je 0x180074e90
mov eax, r15d
lock xadd dword [r12 + 8], eax
sub eax, 1
jne 0x180074e90
mov rax, qword [r12]
mov rcx, r12
call qword [rax]
mov eax, r15d
lock xadd dword [r12 + 0xc], eax
sub eax, 1
jne 0x180074e90
mov rax, qword [r12]
mov rcx, r12
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rdx, [rbp + 0x50]
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.USER32.dll_EndPaint]
mov sil, 1
mov r15d, 0xffffffff
jmp 0x1800754c3
mov r14, qword [r13 + 0x28]
mov rcx, r13
call fcn.180078b90
mov rcx, rbx
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov r15, rax
xor r8d, r8d
mov edx, dword [r13 + 0x94]
mov ecx, dword [r13 + 0x90]
call fcn.180165a90
mov rsi, rax
mov rdx, rax
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
mov rbx, rax
mov rcx, qword [rsp + 0x60]
mov r8, qword [rcx]
mov rdx, r15
call qword [r8 + 0x38]
xor ecx, ecx
mov qword [rbp - 8], rcx
mov dword [rbp - 0x18], 0x1ff0000
lea r8, [r13 + 0x88]
mov dword [rsp + 0x40], 2
lea rax, [rbp - 0x18]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], ecx
lea rax, [rbp - 8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r15
lea r9, [r13 + 0x90]
mov rdx, qword [rsp + 0x50]
mov rcx, r14
call qword [sym.imp.USER32.dll_UpdateLayeredWindow]
mov rdx, rbx
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
mov rcx, rsi
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rcx, r15
call qword [sym.imp.GDI32.dll_DeleteObject]
nop
test r12, r12
je 0x180074e8b
mov r15d, 0xffffffff
mov eax, r15d
lock xadd dword [r12 + 8], eax
sub eax, 1
jne 0x180074e8b
mov rax, qword [r12]
mov rcx, r12
call qword [rax]
mov eax, r15d
lock xadd dword [r12 + 0xc], eax
sub eax, 1
jne 0x180074e8b
mov rax, qword [r12]
mov rcx, r12
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r14, qword [rsp + 0x58]
lea rdx, [rbp + 0x50]
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.USER32.dll_EndPaint]
mov sil, 1
mov r15d, 0xffffffff
jmp 0x1800754c3
mov r8d, dword [rsp + 0x50]
mov rdx, r12
mov rcx, r13
call fcn.180076700
mov sil, 1
mov r15d, 0xffffffff
jmp 0x1800754c3
sub ebx, 0x11f
je 0x180075015
sub ebx, 0xe1
je 0x180074f82
cmp ebx, 2
jne 0x1800754b8
mov rbx, qword [rdi]
lea rdx, [rbp - 0x38]
mov rcx, r13
call fcn.180078b20
mov rdx, rax
mov rcx, rdi
call qword [rbx + 0x20]
mov ebx, eax
mov rcx, r12
call fcn.180167680
mov rcx, r13
call fcn.180077700
cmp byte [r13 + 0xac], 0
jne 0x180074f34
mov edx, ebx
mov rcx, r13
call fcn.180076900
xor edx, edx
mov rcx, r13
call fcn.180075f60
cmp ebx, 0xe
je 0x180074f40
mov dword [r13 + 0xa8], ebx
mov dword [r13 + 0x98], 0xe
mov rax, qword [rdi]
xor r8d, r8d
mov edx, ebx
mov rcx, rdi
call qword [rax + 0x28]
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0xf]
mov rcx, r12
call qword [sym.imp.USER32.dll_PostMessageW]
mov byte [r13 + 0xac], 0
mov sil, 1
mov r15d, 0xffffffff
jmp 0x1800754c3
cmp byte [r13 + 0xac], 0
jne 0x180074fdc
lea rcx, [rbp]
call qword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [rbp]
sub eax, dword [r13 + 0x9c]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jg 0x180074fbe
mov eax, dword [rbp + 4]
sub eax, dword [r13 + 0xa0]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jle 0x180074fff
mov byte [r13 + 0xac], 1
mov rcx, r13
call fcn.180077700
mov sil, 1
mov r15d, 0xffffffff
jmp 0x1800754c3
mov edx, 0x7f86
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorW]
mov rcx, rax
call qword [sym.imp.USER32.dll_SetCursor]
xor r8d, r8d
mov dl, 1
mov rcx, r12
call fcn.180167480
mov rcx, r13
call fcn.180077700
mov sil, 1
mov r15d, 0xffffffff
jmp 0x1800754c3
mov rcx, qword [r13 + 0x18]
mov rax, qword [rcx]
mov r9, qword [rbp + 0x200]
mov r8, qword [rsp + 0x50]
mov rdx, r12
call qword [rax + 0xa0]
mov sil, 1
mov r15d, 0xffffffff
jmp 0x1800754c3
mov rcx, r12
call fcn.180167680
mov rax, qword [rdi]
xor r8d, r8d
lea edx, [r8 + 0xe]
mov rcx, rdi
call qword [rax + 0x28]
mov dword [r13 + 0x98], 0xe
mov dword [r13 + 0xa4], 0xe
xor ecx, ecx
mov qword [rbp + 8], rcx
lea rcx, [rbp + 8]
call qword [sym.imp.USER32.dll_GetCursorPos]
xor eax, eax
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x48], rax
lea rdx, [rbp + 0x40]
mov rcx, qword [r13 + 0x28]
call qword [sym.imp.USER32.dll_GetWindowRect]
mov rdx, qword [rbp + 8]
lea rcx, [rbp + 0x40]
call qword [sym.imp.USER32.dll_PtInRect]
cmp eax, 1
jne 0x1800754b5
mov rbx, qword [rdi]
lea rdx, [rbp - 0x30]
mov rcx, r13
call fcn.180078b20
mov rdx, rax
mov rcx, rdi
call qword [rbx + 0x20]
xorps xmm0, xmm0
movdqa xmm1, xmmword [0x180397e80]
mov r8d, 3
cmp eax, 5
jne 0x180075132
movdqu xmmword [rbp - 0x78], xmm0
movdqu xmmword [rbp - 0x78], xmm1
mov byte [rsp + 0x78], 0
lea rdx, [0x180374fd0]
lea rcx, [rsp + 0x78]
call fcn.180037c20
nop
lea rcx, [rsp + 0x78]
call fcn.180170b40
nop
lea rcx, [rsp + 0x78]
call fcn.180037bc0
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx]
mov r8d, 3
mov rdx, qword [r13 + 0x28]
call qword [rax]
mov sil, 1
mov r15d, 0xffffffff
jmp 0x1800754c3
movdqu xmmword [rbp - 0x58], xmm0
movdqu xmmword [rbp - 0x58], xmm1
mov byte [rbp - 0x68], 0
lea rdx, [0x180374fcc]
lea rcx, [rbp - 0x68]
call fcn.180037c20
nop
lea rcx, [rbp - 0x68]
call fcn.180170b40
nop
lea rcx, [rbp - 0x68]
call fcn.180037bc0
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx]
mov r8d, 1
mov rdx, r12
call qword [rax]
mov rcx, qword [r13 + 0x18]
mov rax, qword [rcx]
mov rdx, r12
call qword [rax + 0xa8]
mov sil, 1
mov r15d, 0xffffffff
jmp 0x1800754c3
cmp ebx, 0xd2c
ja 0x180075307
je 0x1800752ce
sub ebx, 0x2a0
je 0x18007528a
sub ebx, 2
je 0x18007520b
cmp ebx, 0x70
jne 0x1800754b8
mov rax, qword [rsp + 0x50]
cmp rax, 1
jne 0x1800751ec
call fcn.180170440
test al, al
jne 0x1800754b5
xor ecx, ecx
call fcn.18003e130
mov sil, 1
lea r15d, [rbx - 0x71]
jmp 0x1800754c3
cmp rax, 2
jne 0x1800754b8
xor edx, edx
mov rcx, r13
call fcn.180077b40
mov r15d, 0xffffffff
jmp 0x1800754c3
mov rbx, qword [rdi]
lea rdx, [rbp - 0x28]
mov rcx, r13
call fcn.180078b20
mov rdx, rax
mov rcx, rdi
call qword [rbx + 0x20]
cmp eax, 0xe
jne 0x180075269
mov rax, qword [rdi]
xor r8d, r8d
lea edx, [r8 + 0xe]
mov rcx, rdi
call qword [rax + 0x28]
mov dword [r13 + 0xa8], 0xe
mov dword [r13 + 0xa4], 0xe
mov rcx, qword [r13 + 0x30]
test rcx, rcx
je 0x180075269
lea r9, [r13 + 0x38]
xor r8d, r8d
mov edx, 0x411
call qword [sym.imp.USER32.dll_SendMessageW]
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0xf]
mov rcx, r12
call qword [sym.imp.USER32.dll_PostMessageW]
mov sil, 1
mov r15d, 0xffffffff
jmp 0x1800754c3
mov rbx, qword [rdi]
lea rdx, [rbp - 0x20]
mov rcx, r13
call fcn.180078b20
mov rdx, rax
mov rcx, rdi
call qword [rbx + 0x20]
cmp eax, 0xe
je 0x1800754b5
cmp dword [r13 + 0xa8], eax
je 0x1800754b5
mov rcx, r13
call fcn.1800790d0
mov sil, 1
mov r15d, 0xffffffff
jmp 0x1800754c3
cmp dword [rsp + 0x50], 0x208c
jne 0x1800754b5
mov dl, 1
mov rcx, r13
call fcn.180075f60
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0xf]
mov rcx, r12
call qword [sym.imp.USER32.dll_PostMessageW]
mov sil, 1
mov r15d, 0xffffffff
jmp 0x1800754c3
sub ebx, 0xd30
je 0x1800754a4
sub ebx, 1
jne 0x1800754b8
cmp byte [r13 + 0x120], bl
je 0x1800754b5
mov esi, 0x12
mov ecx, esi
call qword [sym.imp.USER32.dll_GetKeyState]
movzx ebx, ax
xor edi, edi
mov dword [rbp + 0xa0], edi
xor edx, edx
mov r8d, 0xe8
lea rcx, [rbp + 0xa8]
call fcn.18029c350
mov eax, 0x80
and bx, ax
je 0x18007537a
mov dword [rbp + 0xa0], 1
mov word [rbp + 0xa8], si
mov dword [rbp + 0xac], 2
movzx eax, bx
neg ax
sbb rcx, rcx
and ecx, 0x28
mov dword [rbp + rcx + 0xa0], 1
mov qword [rbp + rcx + 0xa8], 0x1d0011
mov qword [rbp + rcx + 0xb8], rdi
mov eax, edi
test bx, bx
setne al
inc eax
mov r9d, eax
lea rax, [rax + rax*4]
mov dword [rbp + rax*8 + 0xa0], 1
mov qword [rbp + rax*8 + 0xa8], 0x2e0043
mov qword [rbp + rax*8 + 0xb8], rdi
inc r9d
lea rcx, [r9 + r9*4]
mov dword [rbp + rcx*8 + 0xa0], 1
mov dword [rbp + rcx*8 + 0xa8], 0x2e0043
mov dword [rbp + rcx*8 + 0xac], 2
mov qword [rbp + rcx*8 + 0xb8], rdi
inc r9d
mov eax, r9d
lea rcx, [r9 + r9*4]
mov dword [rbp + rcx*8 + 0xa0], 1
mov dword [rbp + rcx*8 + 0xa8], 0x1d0011
mov dword [rbp + rcx*8 + 0xac], 2
mov qword [rbp + rcx*8 + 0xb8], rdi
inc r9d
test bx, bx
je 0x180075464
mov eax, r9d
lea rdx, [r9 + r9*4]
mov dword [rbp + rdx*8 + 0xa0], 1
mov word [rbp + rdx*8 + 0xa8], si
mov dword [rbp + rdx*8 + 0xac], edi
inc r9d
mov r8d, 0x28
lea rdx, [rbp + 0xa0]
mov ecx, r9d
call qword [sym.imp.USER32.dll_SendInput]
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
xor r9d, r9d
lea edx, [r9 + 0xf]
lea r8d, [r9 + 0x64]
mov rcx, r12
call qword [sym.imp.USER32.dll_SetTimer]
mov sil, 1
mov r15d, 0xffffffff
jmp 0x1800754c3
mov rcx, qword [0x18048a410]
test rcx, rcx
je 0x1800754b5
call fcn.180046570
mov sil, 1
mov r15d, 0xffffffff
jmp 0x1800754c3
xor sil, sil
test r14, r14
je 0x1800754fa
mov eax, r15d
lock xadd dword [r14 + 8], eax
sub eax, 1
jne 0x1800754fa
mov rax, qword [r14]
mov rcx, r14
call qword [rax]
mov eax, r15d
lock xadd dword [r14 + 0xc], eax
sub eax, 1
jne 0x1800754fa
mov rax, qword [r14]
mov rcx, r14
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x1800754fa
xor sil, sil
mov rbx, qword [rbp + 0x38]
test rbx, rbx
je 0x18007552d
mov eax, r15d
lock xadd dword [rbx + 8], eax
sub eax, 1
jne 0x18007552d
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx]
lock xadd dword [rbx + 0xc], r15d
cmp r15d, 1
jne 0x18007552d
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + reloc.OLEAUT32.dll_VariantClear]
movzx eax, sil
mov rcx, qword [rbp + 0x190]
xor rcx, rsp
call fcn.1802994c0
mov rbx, qword [rsp + 0x2f0]
add rsp, 0x2a0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret