Function at 0x10040f73c
Capabilities:
Move file
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xb8
movaps xmmword [rsp + 0x70], xmm6
movaps xmmword [rsp + 0x80], xmm7
movaps xmmword [rsp + 0x90], xmm8
movaps xmmword [rsp + 0xa0], xmm9
mov r8d, 0xb5
lea rdx, str.write_statefile
lea rcx, str.src.it_iroffer_statefile.c
call dbg.updatecontext_f
mov rax, qword [0x1004632d0]
cmp qword [rax + 0x7730], 0
je 0x1004104c1
call dbg.get_time_in_ms
mov qword [rsp + 0x48], rax
mov rbx, qword [0x1004632d0]
mov rcx, qword [rbx + 0x7730]
mov dword [rsp + 0x20], 0xbf
lea r9, str.src.it_iroffer_statefile.c
lea r8, str.write_statefile
lea rdx, [0x1004512a9]
call dbg.mystrsuffix2
mov qword [rsp + 0x30], rax
mov rcx, qword [rbx + 0x7730]
mov dword [rsp + 0x20], 0xc0
lea r9, str.src.it_iroffer_statefile.c
lea r8, str.write_statefile
lea rdx, [0x1004512ae]
call dbg.mystrsuffix2
mov qword [rsp + 0x40], rax
cmp dword [rbx + 0x78b8], 0
je 0x10040f828
lea r8, str.Sto_salvando_il_file_di_stato...
mov edx, 0
mov ecx, 7
call dbg.ioutput
mov r8d, 0x1b6
mov edx, 0x10601
mov rcx, qword [rsp + 0x30]
call sym.open
mov dword [rsp + 0x3c], eax
test eax, eax
jns 0x10040f86f
call sym.__errno
mov ecx, dword [rax]
call sym.strerror
mov r9, rax
mov r8, qword [rsp + 0x30]
lea rdx, str.Non_posso_creare_il_file_di_stato__s:__s
mov ecx, 1
call dbg.outerror
jmp 0x1004104ac
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x60], eax
mov dword [rsp + 0x64], 0
mov dword [rsp + 0x20], 0x1e
lea r9, str.src.it_dinoex_statefile.c
lea r8, str.ir_moutput_init
mov edx, 1
mov ecx, 0x58
call dbg.mymalloc2
mov qword [rsp + 0x68], rax
mov rcx, rax
call dbg.MD5Init
mov dword [rsp + 0x50], 0x52465249
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x60]
mov r8d, 4
call dbg.write_statefile_md5
mov rax, qword [0x1004632d0]
cmp dword [rax + 0x7a00], 1
sbb eax, eax
not eax
add eax, 2
bswap eax
mov dword [rsp + 0x50], eax
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x60]
mov r8d, 4
call dbg.write_statefile_md5
mov r8d, 0xd8
lea rdx, str.write_statefile
lea rcx, str.src.it_iroffer_statefile.c
call dbg.updatecontext_f
mov dword [rsp + 0x20], 0xdf
lea r9, str.src.it_iroffer_statefile.c
lea r8, str.write_statefile
mov edx, 1
mov ecx, 0x208
call dbg.mymalloc2
mov rbx, rax
lea rcx, [rax + 8]
mov rax, qword [0x1004632d0]
mov r9, qword [rax + 0x76f8]
lea r8, str.Iroffer_CWLabs_ITA_by_CreeW_2010_3.30__Win32__2.4.1___s
mov edx, 0x200
call dbg.add_snprintf
lea rdx, [rax + 1]
and edx, 3
je 0x10040f976
mov ecx, 4
sub rcx, rdx
mov rdx, rcx
lea r8, [rdx + rax + 9]
mov edx, 0x100
mov rcx, rbx
call dbg.create_statefile_hdr
lea rsi, [rsp + 0x60]
mov rdx, rbx
mov rcx, rsi
call dbg.write_statefile_item
mov rcx, rbx
call dbg.mydelete2
mov rbx, qword [0x1004632d0]
mov r8d, dword [rbx + 0xa9d0]
mov edx, 0x101
mov rcx, rsi
call dbg.write_statefile_int
movss xmm6, dword [rbx + 0xb7d0]
lea rdi, [rsp + 0x50]
mov r8d, 0xc
mov edx, 0x200
mov rcx, rdi
call dbg.create_statefile_hdr
movss dword [rsp + 0x58], xmm6
mov rdx, rdi
mov rcx, rsi
call dbg.write_statefile_item
movss xmm6, dword [rbx + 0xb7d4]
mov r8d, 0xc
mov edx, 0x201
mov rcx, rdi
call dbg.create_statefile_hdr
movss dword [rsp + 0x58], xmm6
mov rdx, rdi
mov rcx, rsi
call dbg.write_statefile_item
mov r8, qword [rbx + 0xa9f0]
mov edx, 0x202
mov rcx, rsi
call dbg.write_statefile_llint
mov r8d, dword [rbx + 0xa9d8]
mov edx, 0x203
mov rcx, rsi
call dbg.write_statefile_int
mov r8d, dword [rbx + 0xa9c0]
mov edx, 0x204
mov rcx, rsi
call dbg.write_statefile_int
mov r8d, 0x205
lea rdx, str.write_statefile_ignore
lea rcx, str.src.it_dinoex_statefile.c
call dbg.updatecontext_f
lea rcx, [rbx + 0xb568]
call dbg.irlist_get_head
lea rcx, [rbx + 0xb568]
call dbg.irlist_get_head
mov rbx, rax
test rax, rax
je 0x10040fb79
mov r13, 0xffffffffffffffff
mov r12d, 0
lea rbp, [rsp + 0x60]
test byte [rbx + 0x18], 2
je 0x10040fb65
mov rdi, qword [rbx + 8]
mov rcx, r13
mov eax, r12d
repne scasb al, byte [rdi]
not rcx
lea rax, [rcx - 1]
and ecx, 3
je 0x10040fad0
mov edx, 4
sub rdx, rcx
mov rcx, rdx
lea rdi, [rax + rcx + 0x35]
mov dword [rsp + 0x20], 0x21a
lea r9, str.src.it_dinoex_statefile.c
lea r8, str.write_statefile_ignore
mov edx, 1
mov rcx, rdi
call dbg.mymalloc2
mov rsi, rax
mov r8, rdi
mov edx, 0xa00
mov rcx, rax
call dbg.create_statefile_hdr
lea rcx, [rsi + 8]
mov r8d, dword [rbx + 0x18]
mov edx, 0xa01
call dbg.create_statefile_int
lea rcx, [rsi + 0x14]
mov r8d, dword [rbx + 0x10]
mov edx, 0xa02
call dbg.create_statefile_int
lea rcx, [rsi + 0x20]
mov r8d, dword [rbx]
mov edx, 0xa03
call dbg.create_statefile_int
lea rcx, [rsi + 0x2c]
mov r8, qword [rbx + 8]
mov edx, 0xa04
call dbg.prepare_statefile_string
mov rdx, rsi
mov rcx, rbp
call dbg.write_statefile_item
mov rcx, rsi
call dbg.mydelete2
mov rcx, rbx
call dbg.irlist_get_next
mov rbx, rax
test rax, rax
jne 0x10040faa3
mov r8d, 0x230
lea rdx, str.write_statefile_msglog
lea rcx, str.src.it_dinoex_statefile.c
call dbg.updatecontext_f
mov rbx, qword [0x1004632d0]
lea rcx, [rbx + 0xb538]
call dbg.irlist_get_head
lea rcx, [rbx + 0xb538]
call dbg.irlist_get_head
mov rsi, rax
test rax, rax
je 0x10040fcb8
mov r12, 0xffffffffffffffff
mov ebp, 0
lea r13, [rsp + 0x60]
mov rdi, qword [rsi + 8]
mov rcx, r12
mov eax, ebp
repne scasb al, byte [rdi]
mov rdx, rcx
not rdx
lea rax, [rdx - 1]
and edx, 3
mov rbx, rdx
je 0x10040fbf6
mov edx, 4
sub rdx, rbx
mov rbx, rdx
lea rdx, [rax + 0x26]
mov rdi, qword [rsi + 0x10]
mov rcx, r12
mov eax, ebp
repne scasb al, byte [rdi]
not rcx
lea rax, [rcx - 1]
and ecx, 3
je 0x10040fc1d
mov r8d, 4
sub r8, rcx
mov rcx, r8
add rdx, rbx
add rdx, rax
lea rbx, [rdx + rcx]
mov dword [rsp + 0x20], 0x241
lea r9, str.src.it_dinoex_statefile.c
lea r8, str.write_statefile_msglog
mov edx, 1
mov rcx, rbx
call dbg.mymalloc2
mov rdi, rax
mov r8, rbx
mov edx, 0xb00
mov rcx, rax
call dbg.create_statefile_hdr
lea rcx, [rdi + 8]
mov r8d, dword [rsi]
mov edx, 0xb01
call dbg.create_statefile_int
lea rcx, [rdi + 0x14]
mov r8, qword [rsi + 8]
mov edx, 0xb02
call dbg.prepare_statefile_string
mov r8, qword [rsi + 0x10]
mov edx, 0xb03
mov rcx, rax
call dbg.prepare_statefile_string
mov rdx, rdi
mov rcx, r13
call dbg.write_statefile_item
mov rcx, rdi
call dbg.mydelete2
mov rcx, rsi
call dbg.irlist_get_next
mov rsi, rax
test rax, rax
jne 0x10040fbce
mov r8d, 0x25c
lea rdx, global___FUNCTION__.75
lea rcx, str.src.it_dinoex_statefile.c
call dbg.updatecontext_f
mov rcx, qword [0x1004632d0]
add rcx, 0xb580
call dbg.irlist_get_head
mov rsi, rax
test rax, rax
je 0x100410279
mov r13d, 1
mov r14d, 1
mov r15, qword [0x1004632d0]
pxor xmm7, xmm7
movaps xmm8, xmm7
movaps xmm6, xmm7
cmp dword [r15 + 0x7a00], 0
jne 0x10040fd4b
mov rcx, qword [rsi]
call dbg.getfilename
mov rcx, qword [rsi + 8]
mov rdx, rax
call sym.strcmp
mov r14d, eax
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x10040fd45
cmp byte [rax], 0
setne r13b
movzx r13d, r13b
jmp 0x10040fd4b
mov r13d, 0
movss xmm0, dword [rsi + 0x50]
ucomiss xmm0, xmm7
jp 0x10040fd61
mov r12d, 0
ucomiss xmm0, xmm8
je 0x10040fd81
mov rax, qword [0x1004632d0]
ucomiss xmm0, dword [rax + 0x7888]
setp al
movzx eax, al
mov r12d, 1
cmove r12d, eax
jmp 0x10040fd81
movss xmm0, dword [rsi + 0x54]
ucomiss xmm0, xmm6
jp 0x10040fd99
mov ebp, 0
ucomiss xmm0, dword [0x100451bd0]
je 0x10040fdb7
mov rax, qword [0x1004632d0]
ucomiss xmm0, dword [rax + 0x788c]
setp al
movzx eax, al
mov ebp, 1
cmove ebp, eax
jmp 0x10040fdb7
mov rdi, qword [rsi]
mov eax, 0
mov rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
mov rdx, rcx
not rdx
mov rcx, rdx
lea rax, [rdx - 1]
and ecx, 3
je 0x10040fde5
mov edx, 4
sub rdx, rcx
mov rcx, rdx
lea rbx, [rax + rcx + 0x1d]
test r14d, r14d
je 0x10040fe26
mov rdi, qword [rsi + 8]
mov eax, 0
mov rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
mov rdx, rcx
not rdx
mov rcx, rdx
lea rax, [rdx - 1]
and ecx, 3
je 0x10040fe1e
mov edx, 4
sub rdx, rcx
mov rcx, rdx
lea rbx, [rbx + rax + 9]
add rbx, rcx
test r13d, r13d
je 0x10040fe72
mov rdi, qword [rsi + 0x10]
test rdi, rdi
je 0x10040fe60
mov eax, 0
mov rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
mov rdx, rcx
not rdx
mov rcx, rdx
mov rax, rdx
and ecx, 3
je 0x10040fe6a
mov edx, 4
sub rdx, rcx
mov rcx, rdx
jmp 0x10040fe6a
mov eax, 2
mov ecx, 2
lea rbx, [rbx + rcx + 8]
add rbx, rax
lea rax, [rbx + 0xc]
test r12d, r12d
cmovne rbx, rax
lea rax, [rbx + 0xc]
test ebp, ebp
cmovne rbx, rax
lea rax, [rbx + 0x34]
cmp dword [rsi + 0x80], 0
cmovne rbx, rax
lea rax, [rbx + 0xc]
cmp dword [rsi + 0x84], 0
cmovne rbx, rax
mov rdi, qword [rsi + 0x18]
test rdi, rdi
je 0x10040fee1
mov eax, 0
mov rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
mov rdx, rcx
not rdx
mov rcx, rdx
lea rax, [rdx - 1]
and ecx, 3
je 0x10040fed9
mov edx, 4
sub rdx, rcx
mov rcx, rdx
lea rbx, [rbx + rax + 9]
add rbx, rcx
mov rdi, qword [rsi + 0x20]
test rdi, rdi
je 0x10040ff1d
mov eax, 0
mov rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
mov rdx, rcx
not rdx
mov rcx, rdx
lea rax, [rdx - 1]
and ecx, 3
je 0x10040ff15
mov edx, 4
sub rdx, rcx
mov rcx, rdx
lea rbx, [rbx + rax + 9]
add rbx, rcx
mov rdi, qword [rsi + 0x28]
test rdi, rdi
je 0x10040ff59
mov eax, 0
mov rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
mov rdx, rcx
not rdx
mov rcx, rdx
lea rax, [rdx - 1]
and ecx, 3
je 0x10040ff51
mov edx, 4
sub rdx, rcx
mov rcx, rdx
lea rbx, [rbx + rax + 9]
add rbx, rcx
lea rax, [rbx + 0x18]
cmp dword [rsi + 0x48], 0
cmovne rbx, rax
mov rdi, qword [rsi + 0x30]
test rdi, rdi
je 0x10040ffa1
mov eax, 0
mov rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
mov rdx, rcx
not rdx
mov rcx, rdx
lea rax, [rdx - 1]
and ecx, 3
je 0x10040ff99
mov edx, 4
sub rdx, rcx
mov rcx, rdx
lea rbx, [rbx + rax + 9]
add rbx, rcx
mov rdi, qword [rsi + 0x38]
test rdi, rdi
je 0x10040ffdd
mov eax, 0
mov rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
mov rdx, rcx
not rdx
mov rcx, rdx
lea rax, [rdx - 1]
and ecx, 3
je 0x10040ffd5
mov edx, 4
sub rdx, rcx
mov rcx, rdx
lea rbx, [rbx + rax + 9]
add rbx, rcx
lea rax, [rbx + 0xc]
cmp qword [rsi + 0x78], 0
cmovne rbx, rax
lea rax, [rbx + 0xc]
cmp dword [rsi + 0x44], 0
cmovne rbx, rax
mov dword [rsp + 0x20], 0x2aa
lea r9, str.src.it_dinoex_statefile.c
lea r8, global___FUNCTION__.75
mov edx, 1
mov rcx, rbx
call dbg.mymalloc2
mov rdi, rax
mov r8, rbx
mov edx, 0xc00
mov rcx, rax
call dbg.create_statefile_hdr
lea rcx, [rdi + 8]
mov r8, qword [rsi]
mov edx, 0xc01
call dbg.prepare_statefile_string
mov rbx, rax
test r14d, r14d
je 0x100410059
mov r8, qword [rsi + 8]
mov edx, 0xc02
mov rcx, rax
call dbg.prepare_statefile_string
mov rbx, rax
test r13d, r13d
je 0x100410080
mov rax, qword [rsi + 0x10]
test rax, rax
lea r8, [0x10045128d]
cmovne r8, rax
mov edx, 0xc03
mov rcx, rbx
call dbg.prepare_statefile_string
mov rbx, rax
mov r8d, dword [rsi + 0x40]
mov edx, 0xc04
mov rcx, rbx
call dbg.create_statefile_int
test r12d, r12d
jne 0x10041009c
add rbx, 0xc
jmp 0x1004100c0
movss xmm9, dword [rsi + 0x50]
lea rcx, [rbx + 0xc]
mov r8d, 0xc
mov edx, 0xc05
call dbg.create_statefile_hdr
movss dword [rbx + 0x14], xmm9
add rbx, 0x18
test ebp, ebp
je 0x1004100e7
movss xmm9, dword [rsi + 0x54]
mov r8d, 0xc
mov edx, 0xc06
mov rcx, rbx
call dbg.create_statefile_hdr
movss dword [rbx + 8], xmm9
add rbx, 0xc
cmp dword [rsi + 0x80], 0
je 0x100410145
mov dword [rbx], 0x70c0000
mov dword [rbx + 4], 0x34000000
mov rdx, qword [rsi + 0x58]
lea rcx, [rbx + 8]
call dbg.fix_uint64
mov edx, dword [rsi + 0x60]
lea rcx, [rbx + 0x10]
call dbg.fix_uint64
mov rdx, qword [rsi + 0x68]
lea rcx, [rbx + 0x18]
call dbg.fix_uint64
mov eax, dword [rsi + 0x70]
bswap eax
mov dword [rbx + 0x20], eax
mov rax, qword [rsi + 0x88]
mov rdx, qword [rsi + 0x90]
mov qword [rbx + 0x24], rax
mov qword [rbx + 0x2c], rdx
add rbx, 0x34
cmp dword [rsi + 0x84], 0
je 0x100410166
mov r8d, dword [rsi + 0x98]
mov edx, 0xc0e
mov rcx, rbx
call dbg.create_statefile_int
add rbx, 0xc
mov r8, qword [rsi + 0x18]
test r8, r8
je 0x100410190
mov edx, 0xc08
mov rcx, rbx
call dbg.prepare_statefile_string
mov rbx, rax
mov rax, qword [0x1004632d0]
mov dword [rax + 0xb75c], 1
mov r8, qword [rsi + 0x20]
test r8, r8
je 0x1004101a9
mov edx, 0xc09
mov rcx, rbx
call dbg.prepare_statefile_string
mov rbx, rax
mov r8, qword [rsi + 0x28]
test r8, r8
je 0x1004101c2
mov edx, 0xc0a
mov rcx, rbx
call dbg.prepare_statefile_string
mov rbx, rax
mov r8d, dword [rsi + 0x48]
test r8d, r8d
je 0x1004101ee
mov edx, 0xc0b
mov rcx, rbx
call dbg.create_statefile_int
lea rcx, [rbx + 0xc]
mov r8d, dword [rsi + 0x4c]
mov edx, 0xc0c
call dbg.create_statefile_int
add rbx, 0x18
mov r8, qword [rsi + 0x30]
test r8, r8
je 0x100410207
mov edx, 0xc0d
mov rcx, rbx
call dbg.prepare_statefile_string
mov rbx, rax
mov r8, qword [rsi + 0x38]
test r8, r8
je 0x100410220
mov edx, 0xc0f
mov rcx, rbx
call dbg.prepare_statefile_string
mov rbx, rax
mov r8, qword [rsi + 0x78]
test r8, r8
je 0x10041023a
mov edx, 0xc10
mov rcx, rbx
call dbg.create_statefile_int
add rbx, 0xc
mov r8d, dword [rsi + 0x44]
test r8d, r8d
je 0x100410250
mov edx, 0xc11
mov rcx, rbx
call dbg.create_statefile_int
lea rcx, [rsp + 0x60]
mov rdx, rdi
call dbg.write_statefile_item
mov rcx, rdi
call dbg.mydelete2
mov rcx, rsi
call dbg.irlist_get_next
mov rsi, rax
test rax, rax
jne 0x10040fd0e
mov rsi, qword [0x1004632d0]
lea rbx, [rsp + 0x60]
mov r8, qword [rsi + 8]
mov edx, 0xd00
mov rcx, rbx
call dbg.write_statefile_llint
mov r8d, dword [rsi + 0x10]
mov edx, 0xd01
mov rcx, rbx
call dbg.write_statefile_int
mov r8, qword [rsi + 0x20]
mov edx, 0xd02
mov rcx, rbx
call dbg.write_statefile_llint
mov r8d, dword [rsi + 0x28]
mov edx, 0xd03
mov rcx, rbx
call dbg.write_statefile_int
mov r8, qword [rsi + 0x38]
mov edx, 0xd04
mov rcx, rbx
call dbg.write_statefile_llint
mov r8d, dword [rsi + 0x40]
mov edx, 0xd05
mov rcx, rbx
call dbg.write_statefile_int
lea rdx, [rsi + 0xb598]
mov rcx, rbx
call dbg.write_statefile_queue
lea rdx, [rsi + 0xb5b0]
mov rcx, rbx
call dbg.write_statefile_queue
mov r8d, 0xf0
lea rdx, str.write_statefile
lea rcx, str.src.it_iroffer_statefile.c
call dbg.updatecontext_f
lea rsi, [rsp + 0x50]
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], 0
mov rdx, qword [rsp + 0x68]
mov rcx, rsi
call dbg.MD5Final
mov rcx, qword [rsp + 0x68]
call dbg.mydelete2
mov qword [rsp + 0x68], 0
mov r8d, 0x10
mov rdx, rsi
mov rcx, rbx
call dbg.write_statefile_raw
mov r8d, 0xfa
lea rdx, str.write_statefile
lea rcx, str.src.it_iroffer_statefile.c
call dbg.updatecontext_f
mov ecx, dword [rsp + 0x3c]
call sym.close
cmp dword [rsp + 0x64], 0
jg 0x1004104ac
mov rcx, qword [rsp + 0x40]
call sym.unlink
test eax, eax
jns 0x1004103d4
call sym.__errno
cmp dword [rax], 2
je 0x1004103d4
call sym.__errno
mov ecx, dword [rax]
call sym.strerror
mov r9, rax
mov r8, qword [rsp + 0x40]
lea rdx, str.Non_posso_rimuovere_il_vecchio_file_di_stato__s:__s
mov ecx, 1
call dbg.outerror
mov rax, qword [0x1004632d0]
mov rcx, qword [rax + 0x7730]
mov rdx, qword [rsp + 0x40]
call sym.link
test eax, eax
jns 0x10041042f
call sym.__errno
cmp dword [rax], 2
je 0x10041042f
call sym.__errno
mov ecx, dword [rax]
call sym.strerror
mov rdx, qword [0x1004632d0]
mov r8, qword [rdx + 0x7730]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x40]
lea rdx, str.Non_posso_fare_un_backup_del_vecchio_file_di_stato__s_____s:__s
mov ecx, 1
call dbg.outerror
mov rax, qword [0x1004632d0]
mov rdx, qword [rax + 0x7730]
mov rcx, qword [rsp + 0x30]
call sym.rename
test eax, eax
jns 0x100410479
call sym.__errno
mov ecx, dword [rax]
call sym.strerror
mov r9, rax
mov rax, qword [0x1004632d0]
mov r8, qword [rax + 0x7730]
lea rdx, [0x1004513c0]
mov ecx, 1
call dbg.outerror
mov rax, qword [0x1004632d0]
cmp dword [rax + 0x78b8], 0
je 0x1004104ac
call dbg.get_time_in_ms
sub rax, qword [rsp + 0x48]
mov r9, rax
lea r8, str.Fatto_avviato:__ld_ms
mov edx, 0
mov ecx, 7
call dbg.ioutput
mov rcx, qword [rsp + 0x30]
call dbg.mydelete2
mov rcx, qword [rsp + 0x40]
call dbg.mydelete2
nop
movaps xmm6, xmmword [rsp + 0x70]
movaps xmm7, xmmword [rsp + 0x80]
movaps xmm8, xmmword [rsp + 0x90]
movaps xmm9, xmmword [rsp + 0xa0]
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret