Function at 0x18004d430
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov r11, rsp
push rbx
push rdi
push r14
push r15
sub rsp, 0x2d8
mov rax, qword [0x1801ee5c0]
xor rax, rsp
mov qword [rsp + 0x2b0], rax
mov r9, qword [rcx]
lea rdi, [rcx + 0x2688]
mov r10, rcx
mov qword [rsp + 0x80], rcx
lea rcx, [0x180144750]
mov qword [rsp + 0xa0], rdx
xor r14d, r14d
mov qword [rsp + 0x98], rdi
movsxd rax, dword [r9 + 0xc]
mov r15d, 1
mov qword [rsp + 0xb0], r9
lea rbx, [rcx + rax*8]
mov ecx, dword [r10 + 0x38]
mov eax, 0x24924925
mov qword [rsp + 0x50], rbx
mul ecx
mov eax, dword [rbx]
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 3
mov dword [rsp + 0x88], ecx
cmp eax, 0x159b
je 0x18004debb
mov qword [r11 + 0x18], rbp
lea rdx, [0x1801431b0]
mov qword [r11 - 0x28], rsi
mov qword [r11 - 0x30], r12
mov r12d, 0x7fffffff
mov qword [r11 - 0x38], r13
movsxd rcx, eax
mov r13d, r14d
add rcx, rdx
mov dword [rsp + 0x48], r14d
mov dword [rsp + 0x74], r14d
mov esi, r14d
mov dword [rsp + 0x64], r14d
mov ebp, r14d
mov dword [rsp + 0x58], r14d
movzx eax, byte [rcx]
test al, al
je 0x18004de7c
nop
xor dil, dil
mov byte [rsp + 0x20], dil
cmp al, 0x20
jne 0x18004d528
nop dword [rax]
inc rcx
cmp byte [rcx], 0x20
je 0x18004d520
lea r9, [rsp + 0x70]
mov rdx, r10
lea r8, [rsp + 0x24]
call fcn.18004f0d0
mov rcx, rax
mov qword [rsp + 0xa8], rax
mov eax, dword [rsp + 0x70]
test eax, eax
je 0x18004dc76
test byte [rbx + 4], 1
mov r15d, 0x80000000
mov dword [rsp + 0x44], r14d
cmove r15d, r12d
mov r12d, r14d
test eax, eax
je 0x18004dc48
mov eax, dword [rsp + 0x24]
mov dword [rsp + 0x3c], r15d
nop dword [rax + rax]
xor dil, dil
mov byte [rsp + 0x34], dil
test eax, eax
je 0x18004dc1e
mov rbx, qword [rsp + 0xa0]
mov r8d, 1
mov rcx, rbx
mov edx, eax
call fcn.18003e380
mov rcx, qword [rbx + 0x78]
movsd xmm0, qword [rcx + 0xb8]
movsd qword [rsp + 0xe0], xmm0
movups xmm1, xmmword [rcx + 0x98]
movups xmm2, xmmword [rcx + 0xa8]
movups xmmword [rsp + 0xc0], xmm1
test eax, eax
jne 0x18004dc1a
movq rax, xmm1
shr rax, 0x10
cmp ax, 2
jle 0x18004dc1a
mov edx, 0xffffffff
movd eax, xmm1
mov r9d, r14d
mov dword [rsp + 0x28], edx
mov rbx, r14
mov r10d, edx
movsx r14, ax
mov r13d, edx
mov r8d, edx
test r14, r14
jle 0x18004dbd2
mov r12, qword [rsp + 0xc8]
movdqa xmm0, xmm2
mov rdi, qword [rsp + 0x50]
psrldq xmm0, 8
movq r15, xmm0
lea r11d, [r8 + 1]
movsx r8d, word [r15 + rbx*2]
cmp r8d, r11d
jle 0x18004d6d9
movsxd rax, r11d
lea rcx, [r12 + 4]
shl rax, 3
mov edx, r11d
add rcx, rax
test byte [rdi + 4], 3
jne 0x18004d690
nop dword [rax]
test r10d, r10d
js 0x18004d674
mov eax, dword [rcx]
cmp eax, r9d
jl 0x18004d674
cmp esi, eax
jg 0x18004d681
mov esi, eax
jmp 0x18004d681
mov r9d, dword [rcx]
mov r10d, edx
cmp ebp, r9d
cmovge ebp, r9d
inc edx
add rcx, 8
cmp edx, r8d
jle 0x18004d660
jmp 0x18004d6bc
test r10d, r10d
js 0x18004d6a4
mov eax, dword [rcx]
cmp eax, r9d
jg 0x18004d6a4
cmp ebp, eax
jl 0x18004d6b1
mov ebp, eax
jmp 0x18004d6b1
mov r9d, dword [rcx]
mov r10d, edx
cmp esi, r9d
cmovle esi, r9d
inc edx
add rcx, 8
cmp edx, r8d
jle 0x18004d690
mov dword [rsp + 0x64], esi
mov dword [rsp + 0x58], ebp
cmp r10d, r13d
jle 0x18004d6d5
mov edx, r11d
mov r13d, r8d
mov dword [rsp + 0x28], edx
jmp 0x18004d6d9
mov edx, dword [rsp + 0x28]
inc rbx
cmp rbx, r14
jl 0x18004d632
movzx edi, byte [rsp + 0x34]
mov dword [rsp + 0x40], r13d
test r10d, r10d
js 0x18004dbc8
mov ebx, dword [rsp + 0x40]
movq r15, xmm2
movsxd r8, r10d
mov r11d, 0xffffffff
movsxd r13, r13d
mov ecx, r10d
mov dword [rsp + 0x30], r10d
mov qword [rsp + 0x78], r15
movzx eax, byte [r15 + r8]
mov edi, dword [r12 + r8*8]
and al, 3
mov r12, qword [rsp + 0xc8]
cmp al, 1
mov qword [rsp + 0x90], r13
cmove r11d, r10d
mov dword [rsp + 0x2c], r11d
mov r14d, r11d
mov dword [rsp + 0x38], r11d
cmp ecx, edx
jle 0x18004d753
dec ecx
dec r8
jmp 0x18004d758
mov ecx, ebx
mov r8, r13
mov edx, dword [r12 + r8*8 + 4]
mov eax, edx
sub eax, r9d
jns 0x18004d769
mov eax, r9d
sub eax, edx
cmp eax, 5
jle 0x18004d78d
mov r11d, dword [r12 + r8*8]
mov edx, r11d
sub edx, edi
jns 0x18004d77e
mov edx, edi
sub edx, r11d
mov r11d, dword [rsp + 0x2c]
lea eax, [rax + rax*4]
shl eax, 2
cmp edx, eax
jle 0x18004d7b8
movzx eax, byte [r8 + r15]
and al, 3
mov dword [rsp + 0x30], ecx
cmp al, 1
jne 0x18004d7af
test r14d, r14d
mov dword [rsp + 0x2c], ecx
mov r11d, ecx
cmovs r14d, ecx
mov dword [rsp + 0x38], r14d
mov edx, dword [rsp + 0x28]
cmp ecx, r10d
jne 0x18004d748
movsxd rsi, dword [rsp + 0x28]
mov ebx, r10d
mov rbp, qword [rsp + 0xc8]
mov r14, rsi
mov r12d, ebx
movsxd rdx, r10d
cmp rdx, r13
jge 0x18004d7dd
inc ebx
inc rdx
jmp 0x18004d7e2
mov ebx, esi
mov rdx, r14
mov ecx, dword [rbp + rdx*8 + 4]
mov eax, ecx
sub eax, r9d
jns 0x18004d7f2
mov eax, r9d
sub eax, ecx
cmp eax, 5
jle 0x18004d812
mov r8d, dword [rbp + rdx*8]
mov ecx, r8d
sub ecx, edi
jns 0x18004d808
mov ecx, edi
sub ecx, r8d
lea eax, [rax + rax*4]
shl eax, 2
cmp ecx, eax
jle 0x18004d830
movzx eax, byte [rdx + r15]
mov r12d, ebx
and al, 3
cmp al, 1
jne 0x18004d82b
test r11d, r11d
mov dword [rsp + 0x38], ebx
cmovs r11d, ebx
cmp ebx, r10d
jne 0x18004d7d1
mov r8, qword [rsp + 0x50]
mov esi, dword [rsp + 0x64]
mov ebp, dword [rsp + 0x58]
mov dword [rsp + 0x60], r12d
test byte [r8 + 4], 0x10
mov dword [rsp + 0x2c], r11d
mov dword [rsp + 0x5c], ebx
je 0x18004db71
mov rax, qword [rsp + 0x80]
mov r8, qword [rsp + 0xc8]
movsxd rbx, dword [rsp + 0x30]
mov r11d, dword [rax + 0x38]
mov eax, 0x51eb851f
mul r11d
movsxd rax, r12d
shr edx, 3
mov dword [rsp + 0x4c], edx
mov ecx, dword [r8 + rax*8]
mov eax, ecx
mov r8d, dword [r8 + rbx*8]
sub eax, r8d
sub r8d, ecx
test eax, eax
cmovns r8d, eax
cmp r8d, edx
jge 0x18004da36
mov eax, dword [rsp + 0x40]
mov ecx, r12d
sub eax, dword [rsp + 0x28]
sub ecx, ebx
add ecx, 2
cmp ecx, eax
jg 0x18004da36
mov r15, qword [rsp + 0x90]
mov ecx, r10d
mov r12, qword [rsp + 0xc8]
mov ebp, dword [rsp + 0x40]
shr r11d, 2
xor r13d, r13d
movsxd r8, r10d
mov ebx, r13d
mov dword [rsp + 0x68], r11d
mov rax, r8
cmp rax, r14
jle 0x18004d8f0
dec ecx
dec rax
jmp 0x18004d8f5
mov ecx, ebp
mov rax, r15
mov edx, dword [r12 + rax*8]
cmp edx, edi
jne 0x18004d902
cmp rax, r8
jne 0x18004d8e4
mov ebp, dword [rsp + 0x58]
cmp ecx, r10d
je 0x18004dc0d
movsxd rax, dword [rsp + 0x60]
cmp edx, edi
mov dword [rsp + 0x6c], eax
mov r8d, eax
setl r12b
mov r10, rax
xor r14b, r14b
mov r15, rax
nop word [rax + rax]
test r14b, r14b
jne 0x18004d95a
mov rax, qword [rsp + 0x78]
mov ebx, 0xffffffff
mov dword [rsp + 0x6c], r8d
mov r15, r10
mov r14b, 1
movzx eax, byte [r10 + rax]
and al, 3
cmp al, 1
cmove ebx, r8d
mov r13d, ebx
cmp r10, qword [rsp + 0x90]
jge 0x18004d96c
inc r8d
inc r10
jmp 0x18004d977
movsxd rcx, dword [rsp + 0x28]
mov r8d, ecx
mov r10, rcx
mov rdx, qword [rsp + 0xc8]
mov eax, r9d
mov edi, dword [rdx + r15*8 + 4]
sub eax, edi
jns 0x18004d990
mov eax, edi
sub eax, r9d
cmp eax, r11d
jle 0x18004d99d
xor r14b, r14b
jmp 0x18004da21
mov ecx, dword [rdx + r10*8 + 4]
sub ecx, edi
sub edi, dword [rdx + r10*8 + 4]
test ecx, ecx
cmovns edi, ecx
cmp edi, 5
jle 0x18004d9dd
mov eax, dword [rdx + r10*8]
mov ecx, eax
mov edx, dword [rdx + r15*8]
sub ecx, edx
sub edx, eax
lea eax, [rdi + rdi*4]
test ecx, ecx
cmovns edx, ecx
shl eax, 2
cmp edx, eax
jg 0x18004d9d5
xor r14b, r14b
jmp 0x18004da21
mov rdx, qword [rsp + 0xc8]
mov rax, qword [rsp + 0x78]
movzx eax, byte [r10 + rax]
and al, 3
cmp al, 1
jne 0x18004d9f6
test ebx, ebx
mov r13d, r8d
cmovs ebx, r8d
mov ecx, dword [rdx + r15*8]
mov r11d, dword [rdx + r10*8]
mov edx, r11d
sub edx, ecx
cmp ecx, r11d
setl al
cmp al, r12b
jne 0x18004da1c
sub ecx, r11d
test edx, edx
cmovns ecx, edx
cmp ecx, dword [rsp + 0x4c]
jge 0x18004da98
mov r11d, dword [rsp + 0x68]
cmp r8d, dword [rsp + 0x30]
jne 0x18004d930
mov r15, qword [rsp + 0x78]
mov r12d, dword [rsp + 0x60]
mov ebx, dword [rsp + 0x2c]
mov r13d, dword [rsp + 0x38]
mov r10d, dword [rsp + 0x30]
mov r8, qword [rsp + 0x50]
test ebx, ebx
js 0x18004db83
test r13d, r13d
js 0x18004db83
mov rdx, qword [rsp + 0xc8]
movsxd rax, r13d
mov ecx, dword [rdx + rax*8]
movsxd rax, ebx
mov edx, dword [rdx + rax*8]
mov eax, ecx
sub eax, edx
sub edx, ecx
test eax, eax
cmovns edx, eax
cmp edx, dword [rsp + 0x88]
jle 0x18004db83
mov r15d, dword [rsp + 0x3c]
xor dil, dil
mov r12d, dword [rsp + 0x44]
jmp 0x18004dbd7
mov r12, qword [rsp + 0xc8]
movsxd r15, dword [rsp + 0x6c]
movsxd rax, dword [rsp + 0x5c]
lea r11, [r12 + r15*8]
mov r9d, dword [r11 + 4]
lea r14, [r12 + rax*8]
cmp r10, qword [rsp + 0x90]
jge 0x18004dac8
inc r8d
inc r10
jmp 0x18004dad3
movsxd rcx, dword [rsp + 0x28]
mov r8d, ecx
mov r10, rcx
mov ecx, dword [r12 + r10*8 + 4]
mov eax, ecx
sub eax, r9d
jns 0x18004dae4
mov eax, r9d
sub eax, ecx
cmp eax, 5
jle 0x18004db03
mov edx, dword [r11]
lea eax, [rdi + rdi*4]
mov ecx, dword [r14]
sub ecx, edx
sub edx, dword [r14]
test ecx, ecx
cmovns edx, ecx
shl eax, 2
cmp edx, eax
jle 0x18004db38
mov rax, qword [rsp + 0x78]
mov r13d, r8d
movzx eax, byte [r10 + rax]
and al, 3
cmp al, 1
jne 0x18004db1c
test ebx, ebx
cmovs ebx, r8d
cmp r8d, dword [rsp + 0x30]
jne 0x18004dab6
mov r9d, dword [r12 + r15*8 + 4]
mov r10d, r15d
mov r15, qword [rsp + 0x78]
mov r12d, r8d
jmp 0x18004da44
cmp r8d, dword [rsp + 0x28]
jle 0x18004db57
mov r9d, dword [r12 + r15*8 + 4]
dec r8d
mov r10d, r15d
mov r12d, r8d
mov r15, qword [rsp + 0x78]
jmp 0x18004da44
mov r9d, dword [r12 + r15*8 + 4]
mov r10d, r15d
mov r8d, dword [rsp + 0x40]
mov r12d, r8d
mov r15, qword [rsp + 0x78]
jmp 0x18004da44
mov r13d, dword [rsp + 0x38]
mov ebx, r11d
mov r10d, dword [rsp + 0x30]
jmp 0x18004da49
movsxd rax, r10d
movzx ecx, byte [rax + r15]
and cl, 3
cmp cl, 1
jne 0x18004dbb2
movsxd rax, r12d
movzx ecx, byte [rax + r15]
and cl, 3
cmp cl, 1
jne 0x18004dbb2
mov r15d, dword [rsp + 0x3c]
xor dil, dil
mov r12d, dword [rsp + 0x44]
jmp 0x18004dbd7
test byte [r8 + 4], 4
mov dil, 1
jne 0x18004dc0d
mov r15d, dword [rsp + 0x3c]
mov r12d, dword [rsp + 0x44]
jmp 0x18004dbd7
mov r15d, dword [rsp + 0x3c]
mov r12d, dword [rsp + 0x44]
mov r8, qword [rsp + 0x50]
mov eax, dword [rsp + 0x24]
xor r14d, r14d
test byte [r8 + 4], 1
je 0x18004dbf9
cmp r9d, r15d
jle 0x18004dc1e
mov r15d, r9d
mov dword [rsp + 0x3c], r9d
mov byte [rsp + 0x20], dil
jmp 0x18004dc23
cmp r9d, r15d
jge 0x18004dc1e
mov r15d, r9d
mov dword [rsp + 0x3c], r9d
mov byte [rsp + 0x20], dil
jmp 0x18004dc23
mov r15d, dword [rsp + 0x3c]
xor r14d, r14d
mov r12d, dword [rsp + 0x44]
mov eax, dword [rsp + 0x24]
movzx edi, byte [rsp + 0x20]
inc r12d
mov dword [rsp + 0x44], r12d
cmp r12d, dword [rsp + 0x70]
jb 0x18004d580
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0xa8]
mov r13d, dword [rsp + 0x74]
lea eax, [r15 + 0x7fffffff]
mov r12d, 0x7fffffff
cmp eax, 0xfffffffd
ja 0x18004dc76
test dil, dil
je 0x18004dd91
mov eax, r13d
inc r13d
mov dword [rsp + 0x74], r13d
mov dword [rsp + rax*4 + 0x110], r15d
mov r11d, dword [rsp + 0x48]
movzx eax, byte [rcx]
mov r10, qword [rsp + 0x80]
test al, al
jne 0x18004d510
mov eax, r13d
test r11d, r11d
jne 0x18004dc9e
test eax, eax
je 0x18004de67
mov r15d, 1
mov r10d, r15d
cmp r13d, r15d
jbe 0x18004dd00
nop dword [rax]
mov edx, r10d
test r10d, r10d
je 0x18004dcf8
mov eax, r10d
lea rcx, [rsp + 0x110]
lea rcx, [rcx + rax*4]
nop word [rax + rax]
mov r8d, dword [rcx]
lea eax, [rdx - 1]
mov r9d, dword [rsp + rax*4 + 0x110]
mov edx, eax
cmp r8d, r9d
jge 0x18004dcf8
mov dword [rcx], r9d
sub rcx, 4
mov dword [rsp + rax*4 + 0x110], r8d
test eax, eax
jne 0x18004dcd0
inc r10d
cmp r10d, r13d
jb 0x18004dcb0
mov r10d, r15d
cmp r11d, r15d
jbe 0x18004dd50
mov edx, r10d
test r10d, r10d
je 0x18004dd48
mov eax, r10d
lea rcx, [rsp + 0x1e0]
lea rcx, [rcx + rax*4]
nop
mov r8d, dword [rcx]
lea eax, [rdx - 1]
mov r9d, dword [rsp + rax*4 + 0x1e0]
mov edx, eax
cmp r8d, r9d
jge 0x18004dd48
mov dword [rcx], r9d
sub rcx, 4
mov dword [rsp + rax*4 + 0x1e0], r8d
test eax, eax
jne 0x18004dd20
inc r10d
cmp r10d, r11d
jb 0x18004dd08
mov rdi, qword [rsp + 0x98]
mov ecx, dword [rdi + 0xd8]
lea r8, [rcx*8 + 0x37]
add r8, rcx
lea eax, [rcx + 1]
mov dword [rdi + 0xd8], eax
lea r8, [rdi + r8*4]
test r11d, r11d
jne 0x18004ddab
mov eax, r13d
shr rax, 1
mov ecx, dword [rsp + rax*4 + 0x110]
mov dword [r8 + 0xc], ecx
mov dword [r8], ecx
jmp 0x18004ddda
mov r11d, dword [rsp + 0x48]
mov dword [rsp + r11*4 + 0x1e0], r15d
inc r11d
mov dword [rsp + 0x48], r11d
jmp 0x18004dc7b
mov eax, r11d
shr rax, 1
mov ecx, dword [rsp + rax*4 + 0x1e0]
test r13d, r13d
jne 0x18004ddc6
mov dword [r8 + 0xc], ecx
mov dword [r8], ecx
jmp 0x18004ddda
mov eax, r13d
shr rax, 1
mov dword [r8], ecx
mov eax, dword [rsp + rax*4 + 0x110]
mov dword [r8 + 0xc], eax
mov r9d, dword [r8 + 0xc]
mov edx, dword [r8]
cmp r9d, edx
je 0x18004de0d
test byte [rbx + 4], 3
mov ecx, r14d
mov eax, r14d
setne cl
cmp r9d, edx
setg al
cmp eax, ecx
je 0x18004de0d
lea eax, [r9 + rdx]
cdq
sub eax, edx
sar eax, 1
mov dword [r8 + 0xc], eax
mov dword [r8], eax
mov dword [r8 + 0x18], esi
mov eax, r14d
mov dword [r8 + 0x1c], ebp
mov dword [r8 + 0x20], r14d
test byte [rbx + 4], r15b
je 0x18004de2f
mov dword [r8 + 0x20], 2
mov eax, 2
test byte [rbx + 4], 2
je 0x18004de3c
or eax, 4
mov dword [r8 + 0x20], eax
test byte [rbx + 4], 4
je 0x18004de49
or eax, 8
mov dword [r8 + 0x20], eax
test byte [rbx + 4], 8
lea rdx, [0x1801431b0]
mov r10, qword [rsp + 0x80]
je 0x18004de7c
or eax, 0x10
mov dword [r8 + 0x20], eax
jmp 0x18004de7c
mov rdi, qword [rsp + 0x98]
lea rdx, [0x1801431b0]
mov r15d, 1
mov eax, dword [rbx + 8]
add rbx, 8
mov qword [rsp + 0x50], rbx
cmp eax, 0x159b
jne 0x18004d4e1
mov r13, qword [rsp + 0x2c0]
mov r12, qword [rsp + 0x2c8]
mov rsi, qword [rsp + 0x2d0]
mov rbp, qword [rsp + 0x310]
mov r9, qword [rsp + 0xb0]
mov ebx, dword [rdi + 0xd8]
test ebx, ebx
je 0x18004dfc7
lea rax, [rsp + 0xc0]
mov edx, ebx
lea rcx, [rdi + 0xdc]
nop word [rax + rax]
mov qword [rax], rcx
lea rax, [rax + 8]
add rcx, 0x24
sub rdx, 1
jne 0x18004dee0
cmp ebx, 1
jbe 0x18004df77
nop word [rax + rax]
mov eax, r15d
lea rdx, [rsp + 0xc0]
mov r8d, r15d
lea rdx, [rdx + rax*8]
nop dword [rax]
nop word [rax + rax]
lea eax, [r8 - 1]
lea r11, [rsp + 0xc0]
mov r8d, eax
mov rcx, qword [r11 + rax*8]
lea r11, [r11 + rax*8]
test byte [rcx + 0x20], 6
je 0x18004df42
mov r9d, dword [rcx]
jmp 0x18004df46
mov r9d, dword [rcx + 0xc]
mov rax, qword [rdx]
test byte [rax + 0x20], 6
je 0x18004df54
mov r10d, dword [rax]
jmp 0x18004df58
mov r10d, dword [rax + 0xc]
cmp r10d, r9d
jge 0x18004df6c
mov qword [rdx], rcx
sub rdx, 8
mov qword [r11], rax
test r8d, r8d
jne 0x18004df20
inc r15d
cmp r15d, ebx
jb 0x18004df00
cmp ebx, 1
je 0x18004dfc3
nop dword [rax]
mov eax, r14d
mov rcx, qword [rsp + rax*8 + 0xc0]
test byte [rcx + 0x20], 6
je 0x18004df95
add rcx, 0xc
lea r8d, [r14 + 1]
mov rdx, qword [rsp + r8*8 + 0xc0]
test byte [rdx + 0x20], 6
je 0x18004dfab
add rdx, 0xc
mov eax, dword [rdx]
cmp dword [rcx], eax
jle 0x18004dfb3
mov dword [rcx], eax
mov eax, dword [rdi + 0xd8]
mov r14d, r8d
dec eax
cmp r8d, eax
jb 0x18004df80
xor eax, eax
jmp 0x18004e006
mov rdx, qword [r10 + 0x30]
cmp dword [rdx + 8], 0
mov r8, qword [rdx + 0x10]
jbe 0x18004e003
nop word [rax + rax]
mov eax, r14d
movzx ecx, word [r8 + rax*2]
and ecx, 0x3fff
cmp ecx, dword [r9]
jne 0x18004dffa
mov word [r8 + rax*2], 0x42
inc r14d
cmp r14d, dword [rdx + 8]
jb 0x18004dfe0
mov eax, r15d
mov rcx, qword [rsp + 0x2b0]
xor rcx, rsp
call fcn.18013d070
add rsp, 0x2d8
pop r15
pop r14
pop rdi
pop rbx
ret