Function at 0x140010c40
Capabilities:
Print debug messages

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xa28]
sub rsp, 0xb28
mov qword [rbp + 0x190], 0xfffffffffffffffe
mov r15, rdx
mov r12, rcx
mov rcx, qword [rcx + 8]
call fcn.14008b540
mov rcx, qword [r12]
call fcn.14008b540
lea rax, [0x141468e50]
mov qword [rsp + 0x40], rax
lea r13, [0x14143f7c8]
mov qword [rsp + 0x38], r13
xor dil, dil
xor r14d, r14d
mov rdx, qword [r15]
mov r8d, dword [rdx + 4]
or rbx, 0xffffffffffffffff
test r8d, r8d
jle 0x140010daf
xor esi, esi
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rdx + 0x10]
add rcx, rsi
movzx ebx, word [rcx + rdx]
cmp bx, 0x25
jne 0x140010d38
test dil, dil
jne 0x140010d38
lea eax, [r14 + 1]
cmp eax, r8d
jge 0x140010d38
mov rcx, qword [rdx + 0x10]
add rcx, rsi
cmp word [rcx + rdx + 2], 0x7b
jne 0x140010d38
mov rax, qword [rsp + 0x38]
cmp dword [rax + 4], 0
je 0x140010d35
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x40]
call fcn.140008670
mov rcx, qword [rsp + 0x38]
cmp rcx, r13
je 0x140010d35
mov qword [rsp + 0x38], r13
mov eax, dword [rcx]
test eax, eax
je 0x140010d27
cmp eax, 0xffffffff
je 0x140010d35
lock dec dword [rcx]
jne 0x140010d35
mov edx, 2
lea r8d, [rdx + 6]
call fcn.140011b40
mov dil, 1
movzx edx, bx
lea rcx, [rsp + 0x38]
call fcn.140012d10
cmp bx, 0x7d
jne 0x140010d8f
test dil, dil
je 0x140010d8f
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x40]
call fcn.140008670
mov rcx, qword [rsp + 0x38]
cmp rcx, r13
je 0x140010d8c
mov qword [rsp + 0x38], r13
mov eax, dword [rcx]
test eax, eax
je 0x140010d7e
cmp eax, 0xffffffff
je 0x140010d8c
lock dec dword [rcx]
jne 0x140010d8c
mov edx, 2
lea r8d, [rdx + 6]
call fcn.140011b40
xor dil, dil
inc r14d
add rsi, 2
mov rdx, qword [r15]
mov r8d, dword [rdx + 4]
cmp r14d, r8d
jl 0x140010cc0
mov rax, qword [rsp + 0x40]
or rbx, 0xffffffffffffffff
mov rcx, qword [rsp + 0x38]
cmp dword [rcx + 4], 0
je 0x140010dce
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x40]
call fcn.140008670
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x210], 0x100
lea rcx, [rbp + 0x220]
mov qword [rbp + 0x218], rcx
mov ecx, dword [rax + 0xc]
sub ecx, dword [rax + 8]
lea eax, [rcx + 1]
movsxd rcx, eax
mov eax, 8
mul rcx
cmovo rax, rbx
mov rcx, rax
call fcn.1400f9548
mov qword [r12 + 8], rax
mov rcx, qword [rsp + 0x40]
movsxd r8, dword [rcx + 0xc]
movsxd rdx, dword [rcx + 8]
sub r8, rdx
mov qword [rax + r8*8], 0
xor r14b, r14b
xor sil, sil
mov qword [rsp + 0x48], r13
xor r15d, r15d
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0xc]
sub ecx, dword [rax + 8]
lea ebx, [r15 + 1]
test ecx, ecx
jle 0x140011684
xor edi, edi
lea r8, [0x14143f564]
or r13, 0xffffffffffffffff
nop word [rax + rax]
movsxd rcx, dword [rax + 8]
add rcx, rdi
mov rax, qword [rax + rcx*8 + 0x10]
mov qword [rsp + 0x30], rax
mov ecx, dword [rax]
inc ecx
cmp ecx, 1
jbe 0x140010e7d
lock inc dword [rax]
mov rax, r13
inc rax
cmp byte [r8 + rax], 0
jne 0x140010e80
mov dword [rbp - 0x50], eax
mov qword [rbp - 0x48], r8
movaps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rbp + 0x90], xmm0
mov r8d, ebx
lea rdx, [rbp + 0x90]
lea rcx, [rsp + 0x30]
call fcn.140019960
test al, al
je 0x1400114df
mov eax, 0x7d
mov word [rsp + 0x52], ax
mov r8d, ebx
movzx edx, ax
lea rcx, [rsp + 0x30]
call fcn.140014c20
test al, al
je 0x1400114df
mov rax, r13
lea rcx, [0x14143f0f0]
inc rax
cmp byte [rcx + rax], 0
jne 0x140010ee5
mov dword [rbp + 0x50], eax
mov qword [rbp + 0x58], rcx
movaps xmm0, xmmword [rbp + 0x50]
movdqa xmmword [rbp + 0xc0], xmm0
lea rdx, [rbp + 0xc0]
lea rcx, [rsp + 0x30]
call fcn.140012a80
test al, al
je 0x140010f2b
mov rax, qword [r12 + 8]
lea rcx, [0x14143f0f0]
mov qword [rax + rdi*8], rcx
jmp 0x14001159d
mov rax, r13
lea rcx, [0x14143f0e0]
inc rax
cmp byte [rcx + rax], 0
jne 0x140010f35
mov dword [rbp - 0x30], eax
mov qword [rbp - 0x28], rcx
movaps xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rbp + 0x140], xmm0
lea rdx, [rbp + 0x140]
lea rcx, [rsp + 0x30]
call fcn.140012a80
test al, al
je 0x140010f7b
mov rax, qword [r12 + 8]
lea rdx, [0x14143f0e0]
mov qword [rax + rdi*8], rdx
jmp 0x14001159d
mov rax, r13
lea rcx, [0x14143f0f8]
inc rax
cmp byte [rcx + rax], 0
jne 0x140010f85
mov dword [rbp + 0x30], eax
mov qword [rbp + 0x38], rcx
movaps xmm0, xmmword [rbp + 0x30]
movdqa xmmword [rbp + 0xe0], xmm0
lea rdx, [rbp + 0xe0]
lea rcx, [rsp + 0x30]
call fcn.140012a80
test al, al
je 0x140010fcb
mov rax, qword [r12 + 8]
lea rcx, [0x14143f0f8]
mov qword [rax + rdi*8], rcx
jmp 0x14001159d
mov rax, r13
lea rcx, [0x14143f108]
inc rax
cmp byte [rcx + rax], 0
jne 0x140010fd5
mov dword [rbp - 0x10], eax
mov qword [rbp - 8], rcx
movaps xmm0, xmmword [rbp - 0x10]
movdqa xmmword [rbp + 0x180], xmm0
lea rdx, [rbp + 0x180]
lea rcx, [rsp + 0x30]
call fcn.140012a80
test al, al
je 0x14001101b
mov rax, qword [r12 + 8]
lea rdx, [0x14143f108]
mov qword [rax + rdi*8], rdx
jmp 0x14001159d
mov rax, r13
lea rcx, [0x14143f110]
inc rax
cmp byte [rcx + rax], 0
jne 0x140011025
mov dword [rbp + 0x70], eax
mov qword [rbp + 0x78], rcx
movaps xmm0, xmmword [rbp + 0x70]
movdqa xmmword [rbp + 0x100], xmm0
lea rdx, [rbp + 0x100]
lea rcx, [rsp + 0x30]
call fcn.140012a80
test al, al
je 0x14001106b
mov rax, qword [r12 + 8]
lea rcx, [0x14143f110]
mov qword [rax + rdi*8], rcx
jmp 0x14001159d
mov rax, r13
lea rcx, [0x14143f118]
inc rax
cmp byte [rcx + rax], 0
jne 0x140011075
mov dword [rbp + 0x10], eax
mov qword [rbp + 0x18], rcx
movaps xmm0, xmmword [rbp + 0x10]
movdqa xmmword [rbp + 0x160], xmm0
lea rdx, [rbp + 0x160]
lea rcx, [rsp + 0x30]
call fcn.140012a80
test al, al
je 0x1400110bb
mov rax, qword [r12 + 8]
lea rdx, [0x14143f118]
mov qword [rax + rdi*8], rdx
jmp 0x14001159d
mov rax, r13
lea rcx, [0x14143f124]
inc rax
cmp byte [rcx + rax], 0
jne 0x1400110c5
mov dword [rbp - 0x60], eax
mov qword [rbp - 0x58], rcx
movaps xmm0, xmmword [rbp - 0x60]
movdqa xmmword [rbp + 0x120], xmm0
lea rdx, [rbp + 0x120]
lea rcx, [rsp + 0x30]
call fcn.140012a80
test al, al
je 0x14001110b
mov rax, qword [r12 + 8]
lea rcx, [0x14143f124]
mov qword [rax + rdi*8], rcx
jmp 0x14001159d
mov rax, r13
lea rcx, [0x14143f130]
inc rax
cmp byte [rcx + rax], 0
jne 0x140011115
mov dword [rbp - 0x40], eax
mov qword [rbp - 0x38], rcx
movaps xmm0, xmmword [rbp - 0x40]
movdqa xmmword [rbp + 0xa0], xmm0
lea rdx, [rbp + 0xa0]
lea rcx, [rsp + 0x30]
call fcn.140012a80
test al, al
je 0x14001115b
mov rax, qword [r12 + 8]
lea rdx, [0x14143f130]
mov qword [rax + rdi*8], rdx
jmp 0x14001159d
mov rax, r13
lea rcx, [0x14143f140]
inc rax
cmp byte [rcx + rax], 0
jne 0x140011165
mov dword [rbp - 0x70], eax
mov qword [rbp - 0x68], rcx
movaps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp + 0xb0], xmm0
lea rdx, [rbp + 0xb0]
lea rcx, [rsp + 0x30]
call fcn.140012a80
test al, al
je 0x1400111ab
mov rax, qword [r12 + 8]
lea rcx, [0x14143f140]
mov qword [rax + rdi*8], rcx
jmp 0x14001159d
mov rax, r13
lea rcx, [0x14143f150]
inc rax
cmp byte [rcx + rax], 0
jne 0x1400111b5
mov dword [rbp - 0x20], eax
mov qword [rbp - 0x18], rcx
movaps xmm0, xmmword [rbp - 0x20]
movdqa xmmword [rbp + 0xd0], xmm0
lea rdx, [rbp + 0xd0]
lea rcx, [rsp + 0x30]
call fcn.140012a80
test al, al
je 0x140011209
movzx r14d, r14b
test sil, sil
cmovne r14d, ebx
mov rax, qword [r12 + 8]
lea rdx, [0x14143f150]
mov qword [rax + rdi*8], rdx
mov sil, 1
jmp 0x14001159d
mov rax, r13
lea rcx, [0x14143f160]
inc rax
cmp byte [rcx + rax], 0
jne 0x140011213
mov dword [rbp], eax
mov qword [rbp + 8], rcx
movaps xmm0, xmmword [rbp]
movdqa xmmword [rbp + 0xf0], xmm0
lea rdx, [rbp + 0xf0]
lea rcx, [rsp + 0x30]
call fcn.140012a80
test al, al
je 0x140011267
movzx r14d, r14b
test sil, sil
cmovne r14d, ebx
mov rax, qword [r12 + 8]
lea rcx, [0x14143f160]
mov qword [rax + rdi*8], rcx
mov sil, 1
jmp 0x14001159d
mov rax, r13
lea rcx, [0x14143f170]
inc rax
cmp byte [rcx + rax], 0
jne 0x140011271
mov dword [rbp + 0x20], eax
mov qword [rbp + 0x28], rcx
movaps xmm0, xmmword [rbp + 0x20]
movdqa xmmword [rbp + 0x110], xmm0
lea rdx, [rbp + 0x110]
lea rcx, [rsp + 0x30]
call fcn.140012a80
test al, al
je 0x1400112c5
movzx r14d, r14b
test sil, sil
cmovne r14d, ebx
mov rax, qword [r12 + 8]
lea rdx, [0x14143f170]
mov qword [rax + rdi*8], rdx
mov sil, 1
jmp 0x14001159d
mov rax, r13
lea rcx, [0x14143f180]
nop
inc rax
cmp byte [rcx + rax], 0
jne 0x1400112d0
mov dword [rbp + 0x40], eax
mov qword [rbp + 0x48], rcx
movaps xmm0, xmmword [rbp + 0x40]
movdqa xmmword [rbp + 0x130], xmm0
lea rdx, [rbp + 0x130]
lea rcx, [rsp + 0x30]
call fcn.140012a80
test al, al
je 0x140011324
movzx r14d, r14b
test sil, sil
cmovne r14d, ebx
mov rax, qword [r12 + 8]
lea rcx, [0x14143f180]
mov qword [rax + rdi*8], rcx
mov sil, 1
jmp 0x14001159d
mov rax, r13
lea rcx, [0x14143f190]
nop
inc rax
cmp byte [rcx + rax], 0
jne 0x140011330
mov dword [rbp + 0x60], eax
mov qword [rbp + 0x68], rcx
movaps xmm0, xmmword [rbp + 0x60]
movdqa xmmword [rbp + 0x150], xmm0
lea rdx, [rbp + 0x150]
lea rcx, [rsp + 0x30]
call fcn.140012a80
test al, al
je 0x140011384
movzx r14d, r14b
test sil, sil
cmovne r14d, ebx
mov rax, qword [r12 + 8]
lea rdx, [0x14143f190]
mov qword [rax + rdi*8], rdx
mov sil, 1
jmp 0x14001159d
mov rax, r13
lea rcx, [0x14143f1a0]
nop
inc rax
cmp byte [rcx + rax], 0
jne 0x140011390
mov dword [rbp + 0x80], eax
mov qword [rbp + 0x88], rcx
movaps xmm0, xmmword [rbp + 0x80]
movdqa xmmword [rbp + 0x170], xmm0
lea rdx, [rbp + 0x170]
lea rcx, [rsp + 0x30]
call fcn.140012a80
test al, al
mov rax, qword [r12 + 8]
je 0x140011434
lea rcx, [0x14143f1a0]
mov qword [rax + rdi*8], rcx
test sil, sil
jne 0x14001142c
test r14b, r14b
jne 0x14001142c
lea rdx, [rsp + 0x58]
lea rcx, [rbp + 0xa70]
call fcn.14000f330
nop
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.140012c40
nop
mov rcx, qword [rsp + 0x58]
mov eax, dword [rcx]
test eax, eax
je 0x14001141e
cmp eax, 0xffffffff
je 0x14001142c
lock dec dword [rcx]
jne 0x14001142c
mov rcx, qword [rsp + 0x58]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.140011b40
xor sil, sil
jmp 0x14001159d
lea rcx, [0x14143f0ec]
mov qword [rax + rdi*8], rcx
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0xa78]
call fcn.14000f2f0
nop
mov ecx, 0x20
mov word [rsp + 0x50], cx
mov word [rsp + 0x20], cx
xor r9d, r9d
lea r8, [rsp + 0x30]
lea rdx, [rbp - 0x80]
mov rcx, rax
call fcn.140012e50
nop
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.140012c40
nop
mov rcx, qword [rbp - 0x80]
mov eax, dword [rcx]
test eax, eax
je 0x14001149b
cmp eax, 0xffffffff
je 0x1400114aa
lock dec dword [rcx]
jne 0x1400114aa
mov rcx, qword [rbp - 0x80]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.140011b40
nop
mov rcx, qword [rsp + 0x70]
mov eax, dword [rcx]
test eax, eax
je 0x1400114cc
cmp eax, 0xffffffff
je 0x14001159d
lock dec dword [rcx]
jne 0x14001159d
mov rcx, qword [rsp + 0x70]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.140011b40
jmp 0x14001159d
mov rax, qword [rsp + 0x30]
mov ecx, dword [rax + 4]
inc ecx
movsxd rcx, ecx
call fcn.1400f9548
mov rbx, rax
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x30]
call fcn.140042090
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rax]
movsxd r8, dword [rcx + 4]
add rdx, qword [rdx + 0x10]
mov rcx, rbx
call fcn.1400fc2e0
mov rcx, qword [rsp + 0x60]
mov eax, dword [rcx]
test eax, eax
je 0x140011535
cmp eax, 0xffffffff
je 0x140011543
lock dec dword [rcx]
jne 0x140011543
mov rcx, qword [rsp + 0x60]
mov edx, 1
lea r8d, [rdx + 7]
call fcn.140011b40
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov byte [rcx + rbx], 0
mov ecx, dword [rbp + 0x214]
cmp ecx, dword [rbp + 0x210]
jne 0x140011576
lea r8d, [rcx + rcx]
mov edx, ecx
lea rcx, [rbp + 0x210]
call fcn.14002e2a0
mov ecx, dword [rbp + 0x214]
movsxd rax, ecx
inc ecx
mov dword [rbp + 0x214], ecx
mov rcx, rax
mov rax, qword [rbp + 0x218]
mov qword [rax + rcx*8], rbx
mov rax, qword [r12 + 8]
mov qword [rax + rdi*8], rbx
mov ebx, 1
mov rcx, qword [rsp + 0x30]
mov eax, dword [rcx]
test eax, eax
je 0x1400115b7
cmp eax, 0xffffffff
je 0x1400115c5
lock dec dword [rcx]
jne 0x1400115c5
mov rcx, qword [rsp + 0x30]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.140011b40
inc r15d
inc rdi
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0xc]
sub ecx, dword [rax + 8]
cmp r15d, ecx
lea r8, [0x14143f564]
jl 0x140010e60
test r14b, r14b
je 0x140011635
lea rdx, [rsp + 0x68]
lea rcx, [rbp + 0xa80]
call fcn.14000f2d0
nop
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.140012c40
nop
mov rcx, qword [rsp + 0x68]
mov eax, dword [rcx]
test eax, eax
je 0x140011625
cmp eax, 0xffffffff
je 0x140011688
lock dec dword [rcx]
jne 0x140011688
mov rcx, qword [rsp + 0x68]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.140011b40
jmp 0x140011688
test sil, sil
je 0x140011688
lea rdx, [rsp + 0x78]
lea rcx, [rbp + 0xa88]
call fcn.14000f310
nop
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.140012c40
nop
mov rcx, qword [rsp + 0x78]
mov eax, dword [rcx]
test eax, eax
je 0x140011674
cmp eax, 0xffffffff
je 0x140011688
lock dec dword [rcx]
jne 0x140011688
mov rcx, qword [rsp + 0x78]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.140011b40
jmp 0x140011688
or r13, 0xffffffffffffffff
mov rax, qword [rsp + 0x48]
cmp dword [rax + 4], 0
je 0x140011775
mov eax, dword [0x1415b393c]
test al, 1
jne 0x1400116f0
or eax, 1
mov dword [0x1415b393c], eax
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
test rax, rax
je 0x1400116b9
mov al, 1
jmp 0x1400116e8
lea rcx, [rbp + 0x1a0]
call qword [sym.imp.KERNEL32.dll_GetStartupInfoW]
test dword [rbp + 0x1dc], 0x100
je 0x1400116e6
mov rax, qword [rbp + 0x200]
dec rax
cmp rax, 0xfffffffffffffffd
ja 0x1400116e6
mov al, 1
jmp 0x1400116e8
xor al, al
mov byte [0x1415b3939], al
jmp 0x1400116f7
movzx eax, byte [0x1415b3939]
lea rcx, [rsp + 0x48]
test al, al
jne 0x140011710
call fcn.14001afc0
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x140011775
lea rdx, [rbp - 0x78]
call fcn.1400420c0
mov rcx, qword [rax]
mov rbx, qword [rcx + 0x10]
add rbx, rcx
call fcn.1400fb22c
lea rcx, [rax + 0x60]
mov r8, rbx
lea rdx, [0x14143f568]
call fcn.1400fc1a0
mov rcx, qword [rbp - 0x78]
mov eax, dword [rcx]
test eax, eax
je 0x140011759
cmp eax, 0xffffffff
je 0x140011767
mov eax, r13d
lock xadd dword [rcx], eax
dec eax
jne 0x140011767
mov rcx, qword [rbp - 0x78]
mov edx, 1
lea r8d, [rdx + 7]
call fcn.140011b40
call fcn.1400fb22c
lea rcx, [rax + 0x60]
call fcn.1400fa7dc
mov eax, dword [rbp + 0x214]
inc eax
movsxd rcx, eax
mov eax, 8
mul rcx
cmovo rax, r13
mov rcx, rax
call fcn.1400f9548
mov qword [r12], rax
movsxd rcx, dword [rbp + 0x214]
mov qword [rax + rcx*8], 0
movsxd r8, dword [rbp + 0x214]
shl r8, 3
mov rdx, qword [rbp + 0x218]
mov rcx, qword [r12]
call fcn.1400f97d0
nop
mov rcx, qword [rsp + 0x48]
mov eax, dword [rcx]
test eax, eax
je 0x1400117e3
cmp eax, 0xffffffff
je 0x1400117f2
mov eax, r13d
lock xadd dword [rcx], eax
dec eax
jne 0x1400117f2
mov rcx, qword [rsp + 0x48]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.140011b40
nop
lea rax, [rbp + 0x220]
mov rcx, qword [rbp + 0x218]
cmp rcx, rax
je 0x14001180b
call fcn.1400fa5e4
nop
mov rcx, qword [rsp + 0x38]
mov eax, dword [rcx]
test eax, eax
je 0x14001182b
cmp eax, 0xffffffff
je 0x14001183a
mov eax, r13d
lock xadd dword [rcx], eax
dec eax
jne 0x14001183a
mov rcx, qword [rsp + 0x38]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.140011b40
nop
mov rdi, qword [rsp + 0x40]
mov eax, dword [rdi]
test eax, eax
je 0x14001185a
cmp eax, 0xffffffff
je 0x1400118bb
mov eax, r13d
lock xadd dword [rdi], eax
dec eax
jne 0x1400118bb
mov rdi, qword [rsp + 0x40]
movsxd rbx, dword [rdi + 0xc]
add rbx, 2
lea rbx, [rdi + rbx*8]
movsxd rsi, dword [rdi + 8]
add rsi, 2
lea rsi, [rdi + rsi*8]
cmp rsi, rbx
je 0x1400118b3
nop word [rax + rax]
sub rbx, 8
mov rcx, qword [rbx]
mov eax, dword [rcx]
test eax, eax
je 0x14001189d
cmp eax, 0xffffffff
je 0x1400118ae
mov eax, r13d
lock xadd dword [rcx], eax
dec eax
jne 0x1400118ae
mov edx, 2
lea r8d, [rdx + 6]
mov rcx, qword [rbx]
call fcn.140011b40
cmp rbx, rsi
jne 0x140011880
mov rcx, rdi
call fcn.1400869f0
add rsp, 0xb28
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret