Function at 0x140080660
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rax - 0x578]
sub rsp, 0x660
movaps xmmword [rax - 0x28], xmm6
mov rax, qword [0x1400be978]
xor rax, rsp
mov qword [rbp + 0x540], rax
mov rbx, rcx
xor esi, esi
xor r8d, r8d
lea rdx, [rsp + 0x78]
mov rcx, qword [rcx]
call fcn.14000a6b0
test eax, eax
jle 0x1400812ba
lea r14, [0x140000000]
nop dword [rax + rax]
mov rax, qword [rbp - 0x80]
mov qword [rbx + 0x18], rax
mov ecx, dword [rsp + 0x78]
sub ecx, 1
je 0x14008094c
sub ecx, 1
je 0x14008091c
cmp ecx, 1
je 0x1400806f4
lea rcx, str._SERVER_:_UNHANDLED_n
call fcn.1400072b0
jmp 0x1400809d0
mov rdx, qword [rbp - 0x70]
cmp qword [rdx + 0x18], 3
jbe 0x1400808da
mov rax, qword [rdx + 0x10]
movzx r8d, byte [rax]
mov ecx, r8d
sub ecx, 2
je 0x14008088e
sub ecx, 1
je 0x140080843
sub ecx, 1
je 0x14008073c
sub ecx, 2
je 0x1400812ba
cmp ecx, 2
je 0x1400812ba
jmp 0x1400808dd
mov rcx, rdx
call fcn.1400823d0
mov rdi, rax
mov rcx, qword [rbp - 0x70]
call fcn.140082420
test rdi, rdi
je case.0x140080782.5
test rax, rax
je case.0x140080782.5
movzx ecx, byte [rdi]
cmp ecx, 0x1a
ja case.0x140080782.5
movzx ecx, byte [r14 + rcx + 0x8130c]
mov edx, dword [r14 + rcx*4 + 0x812f4]
add rdx, r14
jmp rdx
mov rdx, rdi
mov rcx, rax
call fcn.14005c420
test al, al
jne 0x1400807b4
cmp byte [0x1400c1fd7], sil
je case.0x140080782.5
mov ecx, reloc.WS2_32.dll_recv
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je case.0x140080782.5
mov rcx, qword [rbp - 0x70]
call fcn.140009170
jmp 0x1400812ba
mov cl, 1
movsxd rax, dword [rdi + 0x14]
cmp eax, 0x704
je 0x1400807e1
cmp eax, 0xf2
je 0x1400807e1
movzx ecx, cl
cmp eax, 0x1c14
cmovne ecx, esi
cmp byte [0x1400c1f15], sil
je 0x1400807f2
test cl, cl
je 0x1400809ed
mov rcx, qword [0x1400c3008]
add rcx, 0x5de8
mov edx, eax
call fcn.14004a0a0
test eax, eax
je 0x1400812ba
mov rcx, rdi
call fcn.140065580
test al, al
jne 0x1400807b4
jmp case.0x140080782.5
mov rcx, rdi
call fcn.140052b60
test al, al
jne 0x1400807b4
jmp case.0x140080782.5
cmp byte [0x1400c2a01], sil
jne 0x1400812ba
jmp case.0x140080782.5
mov rcx, rdx
call fcn.140082470
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], rsi
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], sil
jne 0x140080864
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.140007120
lea rcx, [rsp + 0x40]
call fcn.140036c00
test al, al
jne 0x1400807b4
jmp case.0x140080782.5
mov rcx, rdx
call fcn.140082470
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], rsi
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rax + r8], sil
jne 0x1400808b0
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.140007120
lea rcx, [rsp + 0x40]
call fcn.140036d50
test al, al
jne 0x1400807b4
jmp case.0x140080782.5
mov r8d, esi
mov edx, r8d
lea rcx, str._SERVER_:_Got_unknown_packet_of_type__d._n
call fcn.1400072b0
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x1400812ba
cmp qword [rbx + 8], rsi
je 0x1400812ba
mov r8, qword [rbp - 0x70]
xor edx, edx
call fcn.14000a1e0
mov rcx, qword [rbx + 8]
call fcn.14000a680
jmp 0x1400809d0
cmp byte [0x1400c2a01], sil
jne 0x1400812ba
cmp byte [0x1400c29fa], sil
je 0x1400809d0
xor edx, edx
mov rcx, rbx
call fcn.14007ec60
mov byte [0x1400c29fa], sil
jmp 0x1400812ba
lea rcx, str._SERVER_:_Connecting_to_server._n
call fcn.1400072b0
lea rdi, [rbx + 0x5e40]
mov rdx, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x14008096c
mov rdx, qword [rdi]
lea rcx, [rbp - 0x68]
call fcn.14000d1c0
movzx eax, word [rbx + 0x5e60]
mov word [rbp - 0x64], ax
cmp qword [rdi + 0x18], 0x10
jb 0x14008098a
mov rdi, qword [rdi]
mov r8, rdi
mov edx, dword [rbx + 0x5e60]
lea rcx, str._SERVER_:_port_is__d_and_server_is__s_n
call fcn.1400072b0
mov rcx, rbx
call fcn.140081f90
test al, al
je 0x1400812ae
xor r9d, r9d
lea r8d, [r9 + 2]
lea rdx, [rbp - 0x68]
mov rcx, qword [rbx + 8]
call fcn.1400089c0
mov qword [rbx + 0x10], rax
test rax, rax
je 0x1400812a5
xor r8d, r8d
lea rdx, [rsp + 0x78]
mov rcx, qword [rbx]
call fcn.14000a6b0
test eax, eax
jle 0x1400812ba
jmp 0x1400806c0
mov rcx, qword [0x1400c3008]
mov qword [rbp - 0x68], rcx
imul rdx, rax, 0x220
add rdx, qword [0x1400c1f08]
lea rcx, [rbp - 0x60]
call fcn.14001dc30
nop
lea rsi, [rbp - 0x28]
cmp qword [rbp - 0x10], 0x10
cmovae rsi, qword [rbp - 0x28]
mov r14, qword [rbp - 0x18]
cmp r14, 9
jb 0x140080a97
lea r15, [r14 + rsi]
lea r8, [r15 - 8]
sub r8, rsi
mov edx, 0x41
mov rcx, rsi
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x140080a97
nop dword [rax + rax]
mov r8d, 9
lea rdx, str.Ancestral
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140080a8a
inc rbx
lea r8, [r15 - 8]
sub r8, rbx
mov edx, 0x41
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x140080a50
jmp 0x140080a97
sub rbx, rsi
cmp rbx, 0xffffffffffffffff
jne 0x140080bb1
lea rsi, [rbp - 0x28]
cmp qword [rbp - 0x10], 0x10
cmovae rsi, qword [rbp - 0x28]
cmp r14, 7
jb 0x140080b17
lea r15, [r14 + rsi]
lea r8, [r15 - 6]
sub r8, rsi
mov edx, 0x53
mov rcx, rsi
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x140080b17
nop dword [rax + rax]
mov r8d, 7
lea rdx, str.Samille
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140080b0a
inc rbx
lea r8, [r15 - 6]
sub r8, rbx
mov edx, 0x53
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x140080ad0
jmp 0x140080b17
sub rbx, rsi
cmp rbx, 0xffffffffffffffff
jne 0x140080bb1
lea rsi, [rbp - 0x28]
cmp qword [rbp - 0x10], 0x10
cmovae rsi, qword [rbp - 0x28]
cmp r14, 7
jb 0x140080b8b
lea r8, [r14 - 6]
add r8, rsi
sub r8, rsi
mov edx, 0x43
mov rcx, rsi
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x140080b8b
nop word [rax + rax]
mov r8d, 7
lea rdx, str.Chakram
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140080ba8
inc rbx
lea r8, [r14 - 6]
add r8, rsi
sub r8, rbx
mov edx, 0x43
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x140080b50
movsx rax, byte [rbp + 0x30]
cmp eax, 8
ja case.0x140080ba6.0
lea rdx, [0x140000000]
mov ecx, dword [rdx + rax*4 + 0x81328]
add rcx, rdx
jmp rcx
sub rbx, rsi
cmp rbx, 0xffffffffffffffff
je 0x140080b8b
mov eax, dword [rbp - 0x34]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, dword [0x1400c1f40]
jp 0x140080bda
jne 0x140080bda
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x1400c1f40], xmm0
jmp 0x140080dee
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x1400c1f40], xmm0
jmp 0x140080dee
mov eax, dword [rbp - 0x34]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, dword [0x1400c1f1c]
jp 0x140080dda
jne 0x140080dda
xorps xmm0, xmm0
jmp 0x140080de2
mov eax, dword [rbp - 0x34]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, dword [0x1400c1f20]
jp 0x140080c41
jne 0x140080c41
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x1400c1f20], xmm0
jmp 0x140080dee
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x1400c1f20], xmm0
jmp 0x140080dee
mov eax, dword [rbp - 0x34]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, dword [0x1400c1f24]
jp 0x140080c83
jne 0x140080c83
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x1400c1f24], xmm0
jmp 0x140080dee
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x1400c1f24], xmm0
jmp 0x140080dee
mov eax, dword [rbp - 0x34]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, dword [0x1400c1f28]
jp 0x140080cc5
jne 0x140080cc5
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x1400c1f28], xmm0
jmp 0x140080dee
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x1400c1f28], xmm0
jmp 0x140080dee
mov eax, dword [rbp - 0x34]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, dword [0x1400c1f2c]
jp 0x140080d07
jne 0x140080d07
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x1400c1f2c], xmm0
jmp 0x140080dee
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x1400c1f2c], xmm0
jmp 0x140080dee
mov eax, dword [rbp - 0x34]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, dword [0x1400c1f30]
jp 0x140080d49
jne 0x140080d49
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x1400c1f30], xmm0
jmp 0x140080dee
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x1400c1f30], xmm0
jmp 0x140080dee
mov eax, dword [rbp - 0x34]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, dword [0x1400c1f34]
jp 0x140080d88
jne 0x140080d88
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x1400c1f34], xmm0
jmp 0x140080dee
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x1400c1f34], xmm0
jmp 0x140080dee
mov eax, dword [rbp - 0x34]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, dword [0x1400c1f3c]
jp 0x140080dc4
jne 0x140080dc4
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x1400c1f3c], xmm0
jmp 0x140080dee
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x1400c1f3c], xmm0
jmp 0x140080dee
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cvtpd2ps xmm0, xmm0
movss dword [0x1400c1f1c], xmm0
mov ecx, dword [rdi + 0x14]
call fcn.14004a370
test eax, eax
je 0x140080e08
mov ecx, dword [rdi + 0x14]
call fcn.14004a370
mov dword [0x1400bc0a8], eax
xorps xmm6, xmm6
movss xmm0, dword [0x1400c1f34]
ucomiss xmm0, xmm6
jp 0x140080e23
jne 0x140080e23
movzx eax, byte [0x1400c1f4b]
jmp 0x140080e2b
mov al, 1
mov byte [0x1400c1f4b], al
mov r14, qword [rbp - 0x68]
mov edi, dword [r14 + 0x5f70]
movzx ecx, al
add ecx, ecx
movzx eax, byte [0x1400c2a02]
or ecx, eax
movzx ebx, byte [0x1400c1f64]
shl ebx, 0x18
or ebx, ecx
mov dword [rsp + 0x64], 0x447a0000
mov dword [rsp + 0x68], 0x43c80000
movss xmm0, dword [0x1400bc094]
movss dword [rsp + 0x70], xmm0
movss xmm1, dword [0x1400bc098]
movss dword [rbp - 0x68], xmm1
mov ecx, 0x38
call fcn.14008a66c
mov rsi, rax
xor ecx, ecx
mov qword [rax + 8], rcx
mov dword [rax + 0x10], ecx
mov dword [rax + 0x28], ecx
mov dword [rax + 0x34], ecx
mov dword [rax], shutdown
mov dword [rax + 4], edi
mov dword [rax + 0x14], ebx
mov eax, dword [rsp + 0x64]
mov dword [rsi + 0x18], eax
mov eax, dword [rsp + 0x68]
mov dword [rsi + 0x1c], eax
mov eax, dword [rsp + 0x70]
mov dword [rsi + 0x20], eax
mov eax, dword [rbp - 0x68]
mov dword [rsi + 0x24], eax
mov qword [rsi + 0x2c], rcx
movzx eax, word [0x1400bc0a8]
mov word [rsi + 1], ax
mov word [rsi + 2], 0x8080
mov dword [rbp - 0x68], 0x43480000
mov eax, dword [rbp - 0x68]
mov dword [rsi + 0x10], eax
mov rax, qword [0x1400c3008]
mov rbx, qword [rax + 0x18]
test rbx, rbx
je 0x140080f38
lea edx, [rcx + 0x3d]
lea r8d, [rcx + 1]
call fcn.1400090c0
mov rcx, qword [rax + 0x10]
mov dword [rcx], 4
mov rcx, qword [rax + 0x10]
movups xmm0, xmmword [rsi]
movups xmmword [rcx + 4], xmm0
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [rcx + 0x14], xmm1
movups xmm0, xmmword [rsi + 0x20]
movups xmmword [rcx + 0x24], xmm0
movsd xmm1, qword [rsi + 0x30]
movsd qword [rcx + 0x34], xmm1
mov r8, rax
xor edx, edx
mov rcx, rbx
call fcn.14000a1e0
mov edx, 1
mov rcx, rsi
call fcn.14008a3cc
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], reloc.WS2_32.dll_listen
mov qword [rsp + 0x58], reloc.WS2_32.dll_ntohs
movsd xmm0, qword [str.OnSetClothing]
movsd qword [rsp + 0x40], xmm0
mov eax, dword [0x14009b948]
mov dword [rsp + 0x48], eax
movzx eax, byte [0x14009b94c]
mov byte [rsp + 0x4c], al
mov byte [rsp + 0x4d], 0
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x1c0]
call fcn.14001e7c0
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x140080fd9
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140080fd4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140080fd4
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14008a3cc
movss xmm1, dword [0x1400c1f20]
movss xmm2, dword [0x1400c1f24]
mov dword [rbp + 0x200], 4
movss xmm0, dword [0x1400c1f1c]
unpcklps xmm0, xmm1
movsd qword [rbp + 0x210], xmm0
movss dword [rbp + 0x218], xmm2
movss xmm1, dword [0x1400c1f2c]
movss xmm2, dword [0x1400c1f30]
mov dword [rbp + 0x240], 4
movss xmm0, dword [0x1400c1f28]
unpcklps xmm0, xmm1
movsd qword [rbp + 0x250], xmm0
movss dword [rbp + 0x258], xmm2
movss xmm1, dword [0x1400c1f38]
movss xmm2, dword [0x1400c1f3c]
mov dword [rbp + 0x280], 4
movss xmm0, dword [0x1400c1f34]
unpcklps xmm0, xmm1
movsd qword [rbp + 0x290], xmm0
movss dword [rbp + 0x298], xmm2
mov dword [rbp + 0x2c0], 9
mov dword [rbp + 0x2d0], 0x647296ff
movss xmm1, dword [0x1400a2d3c]
mov dword [rbp + 0x300], 4
movss xmm0, dword [0x1400c1f40]
unpcklps xmm0, xmm1
movsd qword [rbp + 0x310], xmm0
movss dword [rbp + 0x318], xmm6
mov dword [rsp + 0x20], 0xffffffff
mov r9d, dword [r14 + 0x5f70]
lea r8, [rbp + 0x1c0]
mov dl, 1
mov rcx, qword [0x1400c3008]
call fcn.140081940
mov rbx, qword [0x1400c3008]
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], reloc.WS2_32.dll_listen
mov qword [rsp + 0x58], reloc.WS2_32.dll_ntohs
movsd xmm0, qword [str.OnNameChanged]
movsd qword [rsp + 0x40], xmm0
mov eax, dword [0x14009b958]
mov dword [rsp + 0x48], eax
movzx eax, byte [0x14009b95c]
mov byte [rsp + 0x4c], al
mov byte [rsp + 0x4d], 0
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x380]
call fcn.14001e7c0
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x140081175
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140081170
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14008122f
call fcn.14008a3cc
lea r8, [rbx + 0x5f30]
mov rcx, qword [r8 + 0x10]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rax, 8
jb 0x1400812eb
mov rax, r8
cmp qword [r8 + 0x18], 0x10
jb 0x1400811a4
mov rax, qword [r8]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 8
lea r9, str._b_P____
movzx edx, byte [rsp + 0x60]
lea rcx, [rsp + 0x40]
call fcn.140004350
nop
mov dword [rbp + 0x3c0], 2
lea rdx, [rsp + 0x40]
cmp qword [rsp + 0x58], 0x10
cmovae rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x50]
lea rcx, [rbp + 0x3e0]
call fcn.14002daf0
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x14008123b
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140081236
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140081236
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14008a3cc
mov dword [rsp + 0x20], 0xffffffff
mov r9d, dword [r14 + 0x5f70]
lea r8, [rbp + 0x380]
mov dl, 1
mov rcx, qword [0x1400c3008]
call fcn.140081940
nop
lea r9, [fcn.140020fe0]
mov edx, 0x40
lea r8d, [rdx - 0x39]
lea rcx, [rbp + 0x380]
call fcn.14008a59c
nop
lea r9, [fcn.140020fe0]
mov edx, 0x40
lea r8d, [rdx - 0x39]
lea rcx, [rbp + 0x1c0]
call fcn.14008a59c
nop
lea rcx, [rbp - 0x60]
call fcn.140020970
jmp 0x1400812ba
lea rcx, str._SERVER_:_Failed_to_connect_to_real_server._n
jmp 0x1400812b5
lea rcx, str._SERVER_:_Failed_to_setup_client_when_trying_to_connect_to_server__n
call fcn.1400072b0
mov rcx, qword [rbp + 0x540]
xor rcx, rsp
call fcn.14008a4e0
lea r11, [rsp + 0x660]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
call fcn.140004650
nop
nop dword [rax]
test byte [rdi], al
or byte [rax], al
invd
or byte [rax], al
ret 0x807