Function at 0x18001133a
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x138
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x58], rdx
mov qword [rbp + 0x60], rcx
sub rsp, 0x20
xor esi, esi
lea rcx, [rbp - 0x7c]
mov r8d, 0x84
xor edx, edx
call fcn.180003c5d
add rsp, 0x20
mov eax, dword [0x1800e56b0]
cmp dword [0x1800e56b4], 9
setg cl
lea edx, [rax + 1]
imul edx, eax
and dl, cl
mov byte [rbp + 0xa7], dl
lea rax, [0x180052f30]
movsxd rcx, dword [rsi + rax]
xor dword [rbp + rcx*4 - 0x7c], 0x1e27
add rsi, 4
cmp rsi, 0x80
jne 0x18001139d
mov eax, 0x489b
xor r9d, r9d
lea r10, [0x180053174]
lea r11, [0x18005317c]
lea rdi, [0x1800530a0]
lea r12, [0x1800531a4]
lea r15, [0x180053184]
lea r13, [0x180053194]
lea r8, [0x18005319c]
lea rbx, [0x18005318c]
lea rdx, [0x180052eb0]
lea r14, [0x180052fb0]
lea rcx, [0x180053030]
mov esi, 0
mov qword [rbp + 0x68], rsi
mov esi, 0
mov qword [rbp + 0x50], rsi
mov esi, 0
mov qword [rbp + 0x70], rsi
xor esi, esi
mov qword [rbp + 0x90], rsi
xor esi, esi
mov qword [rbp + 0x10], rsi
xor esi, esi
mov qword [rbp + 0x18], rsi
xor esi, esi
mov qword [rbp + 0x20], rsi
xor esi, esi
mov qword [rbp + 0x28], rsi
xor esi, esi
mov qword [rbp + 0x30], rsi
xor esi, esi
mov qword [rbp + 0x38], rsi
xor esi, esi
mov qword [rbp + 0x40], rsi
xor esi, esi
mov qword [rbp + 0x48], rsi
xor esi, esi
mov qword [rbp + 0x78], rsi
cmp eax, 0x42a9
jle 0x1800114fc
cmp eax, 0x5c3a
jg 0x180011583
cmp eax, 0x5067
jg 0x1800116bd
cmp eax, 0x489a
jg 0x18001192b
cmp eax, 0x42aa
je 0x180012096
cmp eax, 0x45df
jne 0x180011465
cmp dword [0x1800e56b8], 0xa
mov eax, dword [0x1800e56bc]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x20], 0
jne 0x1800114df
xor esi, esi
movsxd rcx, dword [rsi + r15]
xor dword [rbp + rcx*4 - 0x7c], 0x16dd
add rsi, 4
cmp rsi, 8
jne 0x1800114c9
test al, al
mov eax, 0x1f92
mov ecx, 0x329d
cmovne eax, ecx
xor eax, dword [rbp - 0x54]
mov cl, 1
mov qword [rbp + 0x20], rcx
jmp 0x1800120ea
cmp eax, 0x2d80
jg 0x18001164f
cmp eax, 0x1c07
jg 0x1800117e1
cmp eax, 0x91a
jg 0x180011978
cmp eax, 0x363
je 0x180011f3c
cmp eax, 0x44e
jne 0x180011465
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
lea rcx, [rax + rax]
sub rcx, rax
inc rcx
mov rax, qword [rbp + 0xb0]
mov qword [rax], rcx
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
add rax, 2
mov rcx, qword [rbp + 0x98]
mov qword [rcx], rax
mov rax, qword [rbp + 0xa8]
mov dword [rax], 0x256755e9
mov eax, dword [rbp - 4]
mov ecx, 0x76cc
jmp 0x180011e37
cmp eax, 0x72db
jg 0x180011844
cmp eax, 0x692f
jg 0x1800119ed
cmp eax, 0x5c3b
je 0x180011c1d
cmp eax, 0x5f44
jne 0x180011465
mov r8, r13
mov r13, r15
mov r15, r12
mov r14, r11
mov r11, r10
mov r10, r9
mov ecx, dword [0x1800e56c0]
cmp dword [0x1800e56c4], 0xa
setl dl
lea eax, [rcx + 1]
imul eax, ecx
and eax, 1
sete r9b
mov ebx, edx
and bl, al
mov ecx, edx
or cl, r9b
or al, dl
xor al, bl
xor al, cl
xor dl, r9b
xor al, 1
or al, dl
cmp byte [rbp + 0x78], 0
lea rdx, [0x1800531b0]
jne 0x180011619
xor esi, esi
movsxd rcx, dword [rsi + rdx]
xor dword [rbp + rcx*4 - 0x7c], 0x7c93
add rsi, 4
cmp rsi, 8
jne 0x180011603
test al, al
mov eax, 0x6924
mov ecx, 0x6471
cmovne eax, ecx
xor eax, dword [rbp - 0x28]
mov cl, 1
mov qword [rbp + 0x78], rcx
mov r9, r10
mov r10, r11
mov r11, r14
mov r12, r15
mov r15, r13
mov r13, r8
lea r8, [0x18005319c]
jmp 0x18001207d
cmp eax, 0x30a7
jg 0x18001189a
cmp eax, 0x2ff6
jg 0x180011a62
cmp eax, 0x2d81
je 0x180011c86
cmp eax, 0x2fb4
jne 0x180011465
mov rax, qword [rbp + 0xa8]
mov dword [rax], 0x9db0c7cf
mov eax, dword [0x1800e56c8]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x7abe
mov ecx, 0x12c2
cmove eax, ecx
cmp dword [0x1800e56cc], 0xa
cmovl eax, ecx
lea rcx, [0x180053030]
xor eax, dword [rbp - 0x48]
jmp 0x180011465
cmp eax, 0x5493
jg 0x180011b1f
cmp eax, 0x5068
je 0x180011ee3
cmp eax, 0x52f5
jne 0x180011465
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x88], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x98], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xb0], rax
mov rax, qword [rbp + 0x88]
mov rcx, qword [rbp + 0x58]
mov qword [rax], rcx
mov rax, qword [rbp + 0x98]
mov rcx, qword [rbp + 0x60]
mov qword [rax], rcx
mov rax, qword [rbp + 0xb0]
mov rax, qword [rbp + 0xb0]
mov qword [rax], 0
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xa8], rax
mov rax, qword [rbp + 0xa8]
mov dword [rax], 0x256755e9
cmp dword [0x1800e56d0], 0xa
mov eax, dword [0x1800e56d4]
setl bl
lea esi, [rax + 1]
imul esi, eax
test sil, 1
sete al
or al, bl
cmp byte [rbp + 0x68], 0
jne 0x1800117b5
xor esi, esi
movsxd rbx, dword [rsi + r14]
xor dword [rbp + rbx*4 - 0x7c], 0x52f6
add rsi, 4
cmp rsi, 0x74
jne 0x18001179f
test al, al
mov eax, 0x2e28
mov esi, 0x423a
cmovne eax, esi
xor eax, dword [rbp - 0x74]
mov sil, 1
mov qword [rbp + 0x68], rsi
lea rbx, [0x18005318c]
lea rcx, [0x180053030]
jmp 0x180011465
cmp eax, 0x1dcc
jg 0x180011b66
cmp eax, 0x1c08
je 0x180011da7
cmp eax, 0x1d9a
jne 0x180011465
mov rax, qword [rbp + 0xa8]
mov dword [rax], 0x30d5c6ea
mov eax, dword [0x1800e56d8]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x70f9
mov ecx, 0x468d
cmove eax, ecx
cmp dword [0x1800e56dc], 0xa
cmovl eax, ecx
lea rcx, [0x180053030]
xor eax, dword [rbp - 0x40]
jmp 0x180011465
cmp eax, 0x7986
jg 0x180011b89
cmp eax, 0x72dc
je 0x180011fbf
cmp eax, 0x735d
jne 0x180011465
mov eax, dword [0x1800e56e0]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
lea rcx, [0x180053030]
mov eax, 0x6046
mov esi, 0x3619
cmove eax, esi
cmp dword [0x1800e56e4], 0xa
cmovl eax, esi
xor eax, dword [rbp - 0x60]
jmp 0x180011465
cmp eax, 0x34c0
jg 0x180011bf8
cmp eax, 0x30a8
je 0x180011dc0
cmp eax, 0x3149
jne 0x180011465
mov rax, qword [rbp + 0xa8]
mov eax, dword [rax]
mov dword [rbp + 0x84], eax
cmp dword [0x1800e56e8], 0xa
mov eax, dword [0x1800e56ec]
setl bl
lea esi, [rax + 1]
imul esi, eax
test sil, 1
sete al
or al, bl
cmp byte [rbp + 0x70], 0
jne 0x180011907
xor esi, esi
movsxd rbx, dword [rsi + rdi]
xor dword [rbp + rbx*4 - 0x7c], 0x2297
add rsi, 4
cmp rsi, 0x68
jne 0x1800118f1
test al, al
mov eax, 0x597a
mov ecx, 0x75da
cmovne eax, ecx
xor eax, dword [rbp - 0x6c]
mov cl, 1
mov qword [rbp + 0x70], rcx
lea rbx, [0x18005318c]
jmp 0x1800120f1
cmp eax, 0x489b
je 0x180011cbb
cmp eax, 0x4b40
jne 0x180011465
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x88]
cmp rax, qword [rcx]
mov eax, 0x9db0c7cf
mov ecx, 0xed81a83d
cmovb eax, ecx
mov rcx, qword [rbp + 0xa8]
mov dword [rcx], eax
mov eax, dword [rbp - 0x14]
mov ecx, 0xf1d
jmp 0x180011e37
cmp eax, 0x91b
je 0x180011e2f
cmp eax, 0x1ade
jne 0x180011465
mov ecx, dword [0x1800e56f0]
cmp dword [0x1800e56f4], 0xa
setl al
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete cl
mov edx, eax
xor dl, cl
or al, cl
or al, dl
cmp byte [rbp + 0x18], 0
jne 0x1800119d0
xor esi, esi
movsxd rcx, dword [rsi + r11]
xor dword [rbp + rcx*4 - 0x7c], 0x28d2
add rsi, 4
cmp rsi, 8
jne 0x1800119ba
test al, al
mov eax, 0x2b0
mov ecx, 0x27cf
cmovne eax, ecx
xor eax, dword [rbp - 0x5c]
mov cl, 1
mov qword [rbp + 0x18], rcx
jmp 0x1800120ea
cmp eax, 0x6930
je 0x180011cf6
cmp eax, 0x6e3f
jne 0x180011465
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x88]
cmp rax, qword [rcx]
mov eax, 0x9db0c7cf
mov ecx, 0xed81a83d
cmovb eax, ecx
mov rcx, qword [rbp + 0xa8]
mov dword [rcx], eax
mov eax, dword [0x1800e56f8]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
lea rcx, [0x180053030]
mov eax, 0x2a62
mov esi, 0x3e66
cmove eax, esi
cmp dword [0x1800e56fc], 0xa
cmovl eax, esi
xor eax, dword [rbp - 0x58]
jmp 0x180011465
cmp eax, 0x2ff7
je 0x180011d1a
cmp eax, 0x3029
jne 0x180011465
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x88], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x98], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xb0], rax
mov rax, qword [rbp + 0x88]
mov rcx, qword [rbp + 0x58]
mov qword [rax], rcx
mov rax, qword [rbp + 0x98]
mov rcx, qword [rbp + 0x60]
mov qword [rax], rcx
mov rax, qword [rbp + 0xb0]
mov rax, qword [rbp + 0xb0]
mov qword [rax], 0
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xa8], rax
mov rax, qword [rbp + 0xa8]
mov dword [rax], 0x256755e9
mov eax, dword [rbp - 0x20]
mov ecx, 0x4cf4
jmp 0x180011e37
cmp eax, 0x5494
je 0x180011d85
cmp eax, 0x5662
jne 0x180011465
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
cmp word [rax], 0
mov eax, 0x2c79f1a7
mov ecx, 0x34e541a5
cmove eax, ecx
mov rcx, qword [rbp + 0xa8]
mov dword [rcx], eax
mov eax, dword [rbp - 0x10]
mov ecx, 0x2440
jmp 0x180011e37
cmp eax, 0x1dcd
je 0x180011e45
cmp eax, 0x20d4
jne 0x180011465
mov eax, dword [rbp + 4]
mov ecx, 0x18e2
jmp 0x180011e37
cmp eax, 0x7987
je 0x180012021
cmp eax, 0x7b6d
jne 0x180011465
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
cmp word [rax], 0
mov eax, 0x2c79f1a7
mov ecx, 0x34e541a5
cmove eax, ecx
mov rcx, qword [rbp + 0xa8]
mov dword [rcx], eax
mov eax, dword [0x1800e5700]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
lea rcx, [0x180053030]
mov eax, 0x94f
mov esi, 0x69
cmove eax, esi
cmp dword [0x1800e5704], 0xa
cmovl eax, esi
xor eax, dword [rbp - 0x50]
jmp 0x180011465
cmp eax, 0x3738
jne 0x180012104
mov rax, qword [rbp + 0xa8]
mov dword [rax], 0x9db0c7cf
mov eax, dword [rbp - 0xc]
mov ecx, 0x6232
jmp 0x180011e37
cmp dword [0x1800e5708], 0xa
mov eax, dword [0x1800e570c]
setl bl
lea esi, [rax + 1]
imul esi, eax
test sil, 1
sete al
or al, bl
cmp byte [rbp + 0x50], 0
jne 0x180011c5a
xor esi, esi
movsxd rbx, dword [rsi + rcx]
xor dword [rbp + rbx*4 - 0x7c], 0x985
add rsi, 4
cmp rsi, 0x70
jne 0x180011c44
test al, al
mov eax, 0x50ff
mov esi, 0x7dbe
cmovne eax, esi
xor eax, dword [rbp - 0x70]
mov sil, 1
mov qword [rbp + 0x50], rsi
lea rbx, [0x18005318c]
lea r14, [0x180052fb0]
jmp 0x180011465
mov eax, dword [0x1800e5710]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x15b7
mov ecx, 0x6958
cmove eax, ecx
cmp dword [0x1800e5714], 0xa
cmovl eax, ecx
lea rcx, [0x180053030]
xor eax, dword [rbp - 0x24]
jmp 0x180011465
mov al, byte [rbp + 0xa7]
test r9b, r9b
jne 0x180011cdc
xor r9d, r9d
movsxd rsi, dword [r9 + rdx]
xor byte [rbp + rsi*4 - 0x7c], 0x26
add r9, 4
cmp r9, 0x7c
jne 0x180011cc9
test al, 1
mov eax, 0x4cd2
mov ecx, 0x2e0e
cmovne eax, ecx
xor eax, dword [rbp - 0x7c]
mov r9b, 1
jmp 0x1800120f1
mov rax, qword [rbp + 0xa8]
mov dword [rax], 0x30d5c6ea
mov eax, dword [rbp - 8]
mov rsi, r9
mov r9d, 0x453
xor eax, r9d
mov r9, rsi
jmp 0x180011465
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
mov qword [rbp + 8], rax
mov rax, qword [rbp + 0xb0]
cmp dword [0x1800e5718], 0xa
mov eax, dword [0x1800e571c]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x48], 0
jne 0x180011d5a
xor dword [rbp - 0x2c], 0x3958
test al, al
mov eax, 0x16d1
mov ecx, 0x7684
cmovne eax, ecx
xor eax, dword [rbp - 0x30]
mov cl, 1
mov qword [rbp + 0x48], rcx
lea rdx, [0x180052eb0]
lea rcx, [0x180053030]
jmp 0x180011465
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
mov qword [rbp + 8], rax
mov rax, qword [rbp + 0xb0]
mov eax, dword [rbp]
mov ecx, 0x6db2
jmp 0x180011e37
mov rax, qword [rbp + 0xa8]
mov eax, dword [rax]
mov dword [rbp + 0x84], eax
mov eax, dword [rbp - 0x1c]
mov ecx, 0x743b
jmp 0x180011e37
mov eax, dword [rbp + 0x84]
cmp byte [rbp + 0x90], 0
lea rcx, [0x180053110]
jne 0x180011dee
xor esi, esi
movsxd rbx, dword [rsi + rcx]
xor dword [rbp + rbx*4 - 0x7c], 0x2e15
add rsi, 4
cmp rsi, 0x64
jne 0x180011dd8
cmp eax, 0x2c79f1a6
jg 0x180011eb6
cmp eax, 0x9db0c7cf
je 0x180011faf
mov cl, 1
mov qword [rbp + 0x90], rcx
cmp eax, 0xed81a83d
lea rbx, [0x18005318c]
je 0x1800114a3
cmp eax, 0x256755e9
je 0x18001198e
jmp 0x180011f3c
mov eax, dword [rbp - 0x18]
mov ecx, 0x1a00
xor eax, ecx
lea rcx, [0x180053030]
jmp 0x180011465
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
inc rax
mov rcx, qword [rbp + 0xb0]
mov qword [rcx], rax
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
add rax, 2
mov rcx, qword [rbp + 0x98]
mov qword [rcx], rax
mov rax, qword [rbp + 0xa8]
mov dword [rax], 0x256755e9
mov eax, dword [0x1800e5720]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x6f4f
mov ecx, 0x3445
cmove eax, ecx
cmp dword [0x1800e5724], 0xa
cmovl eax, ecx
lea rcx, [0x180053030]
xor eax, dword [rbp - 0x38]
jmp 0x180011465
cmp eax, 0x2c79f1a7
je 0x180012018
cmp eax, 0x30d5c6ea
je 0x180012086
mov cl, 1
mov qword [rbp + 0x90], rcx
cmp eax, 0x34e541a5
lea rbx, [0x18005318c]
jne 0x180011f3c
cmp dword [0x1800e5728], 0xa
mov eax, dword [0x1800e572c]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x28], 0
jne 0x180011f1f
xor esi, esi
movsxd rcx, dword [rsi + rbx]
xor dword [rbp + rcx*4 - 0x7c], 0x476
add rsi, 4
cmp rsi, 8
jne 0x180011f09
test al, al
mov eax, 0x7ec8
mov ecx, 0x6644
cmovne eax, ecx
xor eax, dword [rbp - 0x4c]
mov cl, 1
mov qword [rbp + 0x28], rcx
jmp 0x1800120ea
mov ebx, dword [0x1800e5730]
mov esi, dword [0x1800e5734]
cmp esi, 9
setg dl
lea eax, [rbx - 1]
imul eax, ebx
xor ebx, ebx
and eax, 1
sete bl
cmp esi, 0xa
mov esi, eax
cmovl esi, ebx
setl cl
or al, cl
or cl, bl
or dl, bl
xor al, dl
xor al, cl
xor al, sil
cmp byte [rbp + 0x10], 0
jne 0x180011f92
xor esi, esi
movsxd rcx, dword [rsi + r10]
xor dword [rbp + rcx*4 - 0x7c], 0x20ad
add rsi, 4
cmp rsi, 8
jne 0x180011f7c
test al, 1
mov eax, 0x3aad
mov ecx, 0x40eb
cmovne eax, ecx
xor eax, dword [rbp - 0x64]
mov cl, 1
mov qword [rbp + 0x10], rcx
jmp 0x18001207d
mov al, 1
mov qword [rbp + 0x90], rax
lea rbx, [0x18005318c]
cmp dword [0x1800e5738], 0xa
mov eax, dword [0x1800e573c]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x40], 0
jne 0x180011ffb
xor esi, esi
movsxd rcx, dword [rsi + r12]
xor dword [rbp + rcx*4 - 0x7c], 0xbb5
add rsi, 4
cmp rsi, 0xc
jne 0x180011fe5
test al, al
mov eax, 0x1d64
mov ecx, 0x6607
cmovne eax, ecx
xor eax, dword [rbp - 0x34]
mov cl, 1
mov qword [rbp + 0x40], rcx
jmp 0x1800120ea
mov al, 1
mov qword [rbp + 0x90], rax
mov ebx, dword [0x1800e5740]
cmp dword [0x1800e5744], 0xa
setl cl
lea edx, [rbx + rbx]
mov eax, ebx
not eax
add eax, edx
add eax, 2
imul eax, ebx
test al, 1
sete al
or al, cl
cmp byte [rbp + 0x30], 0
jne 0x180012065
xor esi, esi
movsxd rcx, dword [rsi + r13]
xor dword [rbp + rcx*4 - 0x7c], 0x5039
add rsi, 4
cmp rsi, 8
jne 0x18001204f
test al, al
mov eax, 0x20c0
mov ecx, 0x546a
cmovne eax, ecx
xor eax, dword [rbp - 0x44]
mov cl, 1
mov qword [rbp + 0x30], rcx
lea rbx, [0x18005318c]
jmp 0x1800120ea
mov al, 1
mov qword [rbp + 0x90], rax
lea rbx, [0x18005318c]
cmp dword [0x1800e5748], 0xa
mov eax, dword [0x1800e574c]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x38], 0
jne 0x1800120d2
xor esi, esi
movsxd rcx, dword [rsi + r8]
xor dword [rbp + rcx*4 - 0x7c], 0x22f1
add rsi, 4
cmp rsi, 8
jne 0x1800120bc
test al, al
mov eax, 0x4dbe
mov ecx, 0x543d
cmovne eax, ecx
xor eax, dword [rbp - 0x3c]
mov cl, 1
mov qword [rbp + 0x38], rcx
lea rdx, [0x180052eb0]
lea r14, [0x180052fb0]
lea rcx, [0x180053030]
jmp 0x180011465
cmp eax, 0x34c1
jne 0x180011465
mov rax, qword [rbp + 8]
lea rsp, [rbp + 0xb8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret