Function at 0x14006c970
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x128
movdqa xmmword [rsp + 0x110], xmm6
mov rbx, rdx
mov r15, qword [rcx + 0x20]
lea rax, [r15 + 0x10]
mov qword [rsp + 0xd0], rax
mov rax, qword [rdx]
mov qword [rsp + 0xc8], rax
mov r8, qword [rcx + 0x10]
mov rax, qword [rcx]
mov r9d, dword [rcx + 8]
mov edx, 0x3b9aca00
mov qword [rsp + 0x58], rax
mul rdx
movzx r10d, byte [rcx + 0x18]
mov dword [rsp + 0x94], r10d
mov qword [rsp + 0x50], r9
add rax, r9
mov qword [rsp + 0xc0], rax
adc rdx, 0
mov qword [rsp + 0xb8], rdx
mov r13, qword [rcx + 0x28]
lea rax, [r13 + 0x10]
mov qword [rsp + 0x80], rax
pcmpeqd xmm6, xmm6
mov qword [rsp + 0x88], r8
movzx eax, byte [r15 + 0x40]
test al, al
jne 0x14006d71a
mov rcx, qword [rsp + 0xc8]
mov rax, qword [rcx]
mov rcx, qword [rcx + 8]
call qword [rax]
mov r12, rax
mov rbp, rdx
mov al, 1
xchg byte [r15 + 0x20], al
mov esi, 0
test al, al
cmove rsi, qword [rsp + 0xd0]
jne 0x14006d712
mov rax, qword [rsi]
test rax, rax
je 0x14006ca56
mov rcx, qword [rsi + 8]
call qword [rax + 0x18]
mov qword [rsi], r12
mov qword [rsi + 8], rbp
xor eax, eax
xchg byte [rsi + 0x10], al
movzx eax, byte [r15 + 0x40]
test al, al
mov rsi, qword [rsp + 0x88]
jne 0x14006d71a
mov rcx, rsi
mov rdx, rbx
call fcn.140100390
mov ebp, eax
test al, al
jne 0x14006d750
mov rax, rsi
mov rsi, qword [rsi + 0x10]
mov edi, dword [rax + 0x18]
mov qword [rsp + 0x28], 0
lea rcx, [rsp + 0x28]
call sub.kernel32.dll_QueryPerformanceCounter
test eax, eax
je 0x14006d76e
mov r12, qword [rsp + 0x28]
mov r8, qword [0x1402050d8]
test r8, r8
jne 0x14006caf2
mov qword [rsp + 0x28], 0
lea rcx, [rsp + 0x28]
call sub.kernel32.dll_QueryPerformanceFrequency
test eax, eax
je 0x14006d76e
mov r8, qword [rsp + 0x28]
mov qword [0x1402050d8], r8
test r8, r8
je 0x14006d72e
mov rax, r12
or rax, r8
shr rax, 0x20
je 0x14006cb10
mov rax, r12
xor edx, edx
div r8
mov rcx, rax
jmp 0x14006cb1a
mov eax, r12d
xor edx, edx
div r8d
mov ecx, eax
imul rax, rdx, 0x3b9aca00
mov rdx, rax
or rdx, r8
shr rdx, 0x20
je 0x14006cb40
xor edx, edx
div r8
jmp 0x14006cb45
xor edx, edx
div r8d
imul rcx, rcx, 0x3b9aca00
add rcx, rax
mov rax, rcx
shr rax, 9
movabs rdx, 0x44b82fa09b5a53
mul rdx
cmp edi, 0x3b4e7ec0
jb 0x14006cb80
mov r8, rsi
inc r8
je 0x14006d72e
lea eax, [rdi - 0x3b4e7ec0]
jmp 0x14006cb89
lea eax, [rdi + 0x4c4b40]
mov r8, rsi
shr rdx, 0xb
imul r9d, edx, 0x3b9aca00
sub ecx, r9d
cmp rdx, r8
jb 0x14006cbf0
jne 0x14006cba2
cmp eax, ecx
jae 0x14006cbf0
mov eax, dword [rsp + 0x94]
test eax, eax
je 0x14006cbf0
cmp eax, 1
jne 0x14006d5bb
add rdx, qword [rsp + 0x58]
jb 0x14006d72e
add ecx, dword [rsp + 0x50]
cmp ecx, 0x3b9aca00
jb 0x14006d70a
inc rdx
je 0x14006d72e
add ecx, 0xc4653600
mov rsi, rdx
jmp 0x14006cc18
add rsi, qword [rsp + 0x58]
jb 0x14006d72e
add edi, dword [rsp + 0x50]
cmp edi, 0x3b9aca00
jb 0x14006cc16
inc rsi
je 0x14006d72e
add edi, 0xc4653600
mov ecx, edi
mov rax, qword [rsp + 0x88]
mov qword [rax + 0x10], rsi
mov dword [rax + 0x18], ecx
mov byte [rax + 0x68], 0
mov rdx, qword [rax + 8]
cmp qword [rax], 0
mov r8d, 0x120
mov eax, 0xb8
cmove r8, rax
mov eax, dword [rdx + r8 + 0xc8]
cmp eax, 0x3b9aca00
je 0x14006d72e
cmp ecx, 0x3b8b87c1
jb 0x14006cc80
inc rsi
je 0x14006d72e
add ecx, 0xc474783f
cmp ecx, 0x3b9aca00
jne 0x14006cc86
jmp 0x14006d72e
add ecx, 0xf423f
add rdx, r8
add rdx, 0x10
mov rdx, qword [rdx + 0xb0]
mov qword [rsp + 0x70], rsi
mov dword [rsp + 0x78], ecx
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x30], eax
lea rcx, [rsp + 0x70]
lea rdx, [rsp + 0x28]
call fcn.1400e6820
mov ecx, edx
imul rcx, rcx, 0x431bde83
shr rcx, 0x32
cmp edx, 0x3b9aca00
mov edx, 0
cmove rax, rdx
cmove ecx, edx
mov edx, 0x3e8
mul rdx
add rcx, rax
adc rdx, 0
mov rax, 0xfffffffffffffffd
cmovne rcx, rax
mov r8, qword [rsp + 0x88]
mov rax, qword [r8 + 0x40]
cmp rcx, 0xfffffffffffffffd
mov rdx, 0xfffffffffffffffd
cmovb rdx, rcx
nop dword [rax]
cmp rax, rdx
ja 0x14006cd1d
lock cmpxchg qword [r8 + 0x40], rcx
jne 0x14006cd10
lea rax, [r13 + 1]
cmp rax, 2
jb 0x14006d750
mov rax, qword [r13]
xor ebp, ebp
nop word cs:[rax + rax]
test rax, rax
je 0x14006d74e
js 0x14006d72e
lea rcx, [rax + 1]
lock cmpxchg qword [r13], rcx
jne 0x14006cd40
mov qword [rsp + 0x70], r13
mov rcx, qword [rsp + 0x80]
call sub.kernel32.dll_AcquireSRWLockExclusive
movzx eax, byte [r13 + 0x18]
test al, al
jne 0x14006d730
mov eax, dword [r13 + 0xd8]
mov dword [rsp + 0x4c], eax
cmp eax, 0x3b9aca00
je 0x14006d72e
mov rax, qword [r13 + 0xd0]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x28], 0
lea rcx, [rsp + 0x28]
call sub.kernel32.dll_QueryPerformanceCounter
test eax, eax
je 0x14006d76e
mov r12, qword [rsp + 0x28]
mov r8, qword [0x1402050d8]
test r8, r8
jne 0x14006cdf8
mov qword [rsp + 0x28], 0
lea rcx, [rsp + 0x28]
call sub.kernel32.dll_QueryPerformanceFrequency
test eax, eax
je 0x14006d76e
mov r8, qword [rsp + 0x28]
mov qword [0x1402050d8], r8
test r8, r8
je 0x14006d72e
mov rax, r12
or rax, r8
shr rax, 0x20
je 0x14006ce11
mov rax, r12
xor edx, edx
div r8
mov rcx, rax
jmp 0x14006ce1b
mov eax, r12d
xor edx, edx
div r8d
mov ecx, eax
imul rax, rdx, 0x3b9aca00
mov rdx, rax
or rdx, r8
shr rdx, 0x20
je 0x14006ce35
xor edx, edx
div r8
jmp 0x14006ce3a
xor edx, edx
div r8d
imul r11, rcx, 0x3b9aca00
add r11, rax
mov rax, r11
shr rax, 9
movabs rcx, 0x44b82fa09b5a53
mul rcx
mov rax, qword [r13 + 0x78]
mov rsi, r13
test rax, rax
je 0x14006d595
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xb0], r15
shr rdx, 0xb
mov qword [rsp + 0x68], rdx
mov rcx, rax
imul eax, edx, 0x3b9aca00
sub r11d, eax
mov rbx, qword [r13 + 0x60]
lea r15, [rbx + 0x10]
movdqa xmm0, xmmword [rbx]
pmovmskb eax, xmm0
not eax
lea edx, [r11 + 0x3b9aca00]
mov dword [rsp + 0x48], edx
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0xd8], rbx
mov qword [rsp + 0x40], r11
mov qword [rsp + 0xa0], r13
jmp 0x14006cef6
mov r13, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xe0]
lea eax, [rcx - 1]
and eax, ecx
mov rcx, qword [rsp + 0xe8]
dec rcx
je 0x14006d580
test ax, ax
jne 0x14006cf1d
nop dword [rax + rax]
movdqa xmm0, xmmword [r15]
pmovmskb eax, xmm0
add rbx, 0xfffffffffffffb80
add r15, 0x10
cmp eax, 0xffff
je 0x14006cf00
not eax
mov qword [rsp + 0xe8], rcx
mov qword [rsp + 0xe0], rax
tzcnt eax, eax
neg rax
lea rax, [rax + rax*8]
lea rcx, [rbx + rax*8]
mov r13, qword [rbx + rax*8 - 8]
test r13, r13
mov qword [rsp + 0x38], rcx
je 0x14006d1b0
mov r12, qword [rcx - 0x10]
xor edi, edi
jmp 0x14006cf70
inc rdi
add r12, 0x48
cmp r13, rdi
je 0x14006d41d
mov rax, qword [r12 + 0x28]
movzx eax, byte [rax + 0x10]
test al, al
jne 0x14006d190
cmp byte [r12 + 0x10], 2
jne 0x14006cfa0
mov rax, qword [r12]
mov rax, qword [rax + 0x10]
cmp rax, 3
jne 0x14006cfb2
jmp 0x14006d190
mov rax, qword [r12]
mov rax, qword [rax + 0x10]
cmp rax, 1
jne 0x14006d190
mov r14, qword [r12 + 0x38]
mov esi, dword [r12 + 0x40]
mov r8, qword [0x1402050d8]
test r8, r8
jne 0x14006cffd
mov qword [rsp + 0x28], 0
lea rcx, [rsp + 0x28]
call sub.kernel32.dll_QueryPerformanceFrequency
test eax, eax
je 0x14006d76e
mov r8, qword [rsp + 0x28]
mov qword [0x1402050d8], r8
test r8, r8
mov r11, qword [rsp + 0x40]
je 0x14006d72e
cmp r8, 0x3b9aca00
ja 0x14006d020
mov eax, 0x3b9aca00
xor edx, edx
div r8d
jmp 0x14006d022
xor eax, eax
mov ecx, 0xc4653600
add ecx, eax
xor edx, edx
cmp r8, 2
setb r8b
cmovae ecx, eax
mov eax, ecx
shr eax, 9
imul rax, rax, 0x44b83
shr rax, 0x27
imul eax, eax, 0x3b9aca00
sub ecx, eax
mov rax, r14
sub rax, qword [rsp + 0x68]
jb 0x14006d05f
jne 0x14006d0b0
cmp esi, r11d
ja 0x14006d0b0
mov rax, qword [rsp + 0x68]
mov ecx, 0x3b9aca00
sub rax, r14
jae 0x14006d090
cmp ecx, 0x3b9aca00
cmove rax, rbp
cmp rax, qword [rsp + 0x60]
jb 0x14006cf60
jmp 0x14006d105
cmp esi, r11d
jbe 0x14006d0ca
test rax, rax
je 0x14006d0f0
dec rax
mov ecx, dword [rsp + 0x48]
jmp 0x14006d0cd
cmp esi, r11d
jae 0x14006d126
test rax, rax
je 0x14006d72e
dec rax
lea r9d, [rsi + 0x3b9aca00]
jmp 0x14006d129
mov ecx, r11d
sub ecx, esi
mov edx, ecx
shr edx, 9
imul rdx, rdx, 0x44b83
shr rdx, 0x27
add rax, rdx
jb 0x14006d72e
imul edx, edx, 0x3b9aca00
sub ecx, edx
cmp ecx, 0x3b9aca00
cmove rax, rbp
cmp rax, qword [rsp + 0x60]
jb 0x14006cf60
cmp ecx, 0x3b9aca00
setne dl
cmp ecx, dword [rsp + 0x4c]
seta cl
cmp rax, qword [rsp + 0x60]
jne 0x14006d190
and dl, cl
je 0x14006cf60
jmp 0x14006d190
mov r9d, esi
sub r9d, r11d
mov r10d, r9d
shr r10d, 9
imul r10, r10, 0x44b83
shr r10, 0x27
add rax, r10
jb 0x14006d72e
mov dl, r8b
cmp rax, rdx
jb 0x14006d168
jne 0x14006d05f
imul eax, r10d, 0x3b9aca00
sub r9d, eax
cmp r9d, ecx
ja 0x14006d05f
xor eax, eax
xor ecx, ecx
cmp ecx, 0x3b9aca00
cmove rax, rbp
cmp rax, qword [rsp + 0x60]
jb 0x14006cf60
jmp 0x14006d105
inc rdi
mov rcx, r12
call fcn.1400696c0
mov r14d, 1
mov rsi, r13
sub rsi, rdi
jne 0x14006d1c1
jmp 0x14006d420
xor edi, edi
xor r14d, r14d
mov rsi, r13
sub rsi, rdi
je 0x14006d420
lea r12, [rdi + rdi*8]
shl r12, 3
mov rax, qword [rsp + 0x38]
add r12, qword [rax - 0x10]
jmp 0x14006d1f8
inc r14
mov rcx, r12
call fcn.1400696c0
add r12, 0x48
dec rsi
je 0x14006d420
mov rax, qword [r12 + 0x28]
movzx eax, byte [rax + 0x10]
test al, al
jne 0x14006d1e0
cmp byte [r12 + 0x10], 2
jne 0x14006d21d
mov rax, qword [r12]
mov rax, qword [rax + 0x10]
cmp rax, 3
je 0x14006d1e0
jmp 0x14006d22b
mov rax, qword [r12]
mov rax, qword [rax + 0x10]
cmp rax, 1
jne 0x14006d1e0
mov rbp, qword [r12 + 0x38]
mov edi, dword [r12 + 0x40]
mov r8, qword [0x1402050d8]
test r8, r8
jne 0x14006d271
mov qword [rsp + 0x28], 0
lea rcx, [rsp + 0x28]
call sub.kernel32.dll_QueryPerformanceFrequency
test eax, eax
je 0x14006d76e
mov r8, qword [rsp + 0x28]
mov qword [0x1402050d8], r8
test r8, r8
je 0x14006d72e
cmp r8, 0x3b9aca00
mov r11, qword [rsp + 0x40]
ja 0x14006d28b
mov eax, 0x3b9aca00
xor edx, edx
div r8d
jmp 0x14006d28d
xor eax, eax
mov ecx, 0xc4653600
add ecx, eax
xor edx, edx
cmp r8, 2
setb r8b
cmovae ecx, eax
mov eax, ecx
shr eax, 9
imul rax, rax, 0x44b83
shr rax, 0x27
imul eax, eax, 0x3b9aca00
sub ecx, eax
mov rax, rbp
sub rax, qword [rsp + 0x68]
jb 0x14006d2ca
jne 0x14006d2f6
cmp edi, r11d
ja 0x14006d2f6
mov rax, qword [rsp + 0x68]
mov ecx, 0x3b9aca00
sub rax, rbp
jae 0x14006d2de
jmp 0x14006d38f
cmp edi, r11d
mov ebp, 0
jbe 0x14006d310
test rax, rax
je 0x14006d336
dec rax
mov ecx, dword [rsp + 0x48]
jmp 0x14006d313
cmp edi, r11d
jae 0x14006d349
test rax, rax
je 0x14006d72e
dec rax
lea r9d, [rdi + 0x3b9aca00]
jmp 0x14006d34c
mov ecx, r11d
sub ecx, edi
mov edx, ecx
shr edx, 9
imul rdx, rdx, 0x44b83
shr rdx, 0x27
add rax, rdx
jb 0x14006d72e
imul edx, edx, 0x3b9aca00
sub ecx, edx
cmp ecx, 0x3b9aca00
cmove rax, rbp
cmp rax, qword [rsp + 0x60]
jae 0x14006d3a2
jmp 0x14006d3c5
mov r9d, edi
sub r9d, r11d
mov r10d, r9d
shr r10d, 9
imul r10, r10, 0x44b83
shr r10, 0x27
add rax, r10
jb 0x14006d72e
mov dl, r8b
cmp rax, rdx
jb 0x14006d38b
jne 0x14006d2ca
imul eax, r10d, 0x3b9aca00
sub r9d, eax
cmp r9d, ecx
ja 0x14006d2ca
xor eax, eax
xor ecx, ecx
xor ebp, ebp
cmp ecx, 0x3b9aca00
cmove rax, rbp
cmp rax, qword [rsp + 0x60]
jb 0x14006d3c5
cmp ecx, 0x3b9aca00
setne dl
cmp ecx, dword [rsp + 0x4c]
seta cl
cmp rax, qword [rsp + 0x60]
jne 0x14006d1e0
and dl, cl
jne 0x14006d1e0
lea rax, [r14*8]
lea rax, [rax + rax*8]
mov rcx, r12
sub rcx, rax
mov rdx, qword [r12 + 0x40]
neg rax
mov qword [r12 + rax + 0x40], rdx
movdqu xmm0, xmmword [r12]
movdqu xmm1, xmmword [r12 + 0x10]
movups xmm2, xmmword [r12 + 0x20]
movups xmm3, xmmword [r12 + 0x30]
movups xmmword [rcx + 0x30], xmm3
movups xmmword [rcx + 0x20], xmm2
movdqu xmmword [rcx + 0x10], xmm1
movdqu xmmword [rcx], xmm0
add r12, 0x48
dec rsi
jne 0x14006d1f8
jmp 0x14006d420
xor r14d, r14d
sub r13, r14
mov rsi, qword [rsp + 0x38]
mov qword [rsi - 8], r13
mov r11, qword [rsp + 0x40]
jne 0x14006ced0
mov r9, qword [rsp + 0xd8]
mov rax, r9
sub rax, rsi
sar rax, 3
movabs rcx, 0x8e38e38e38e38e39
imul rax, rcx
lea rcx, [rax - 0x10]
mov r13, qword [rsp + 0xa0]
and rcx, qword [r13 + 0x68]
movdqu xmm0, xmmword [r9 + rcx]
pcmpeqb xmm0, xmm6
psllw xmm0, 7
pmovmskb edx, xmm0
test edx, edx
je 0x14006d487
bsr dx, dx
xor edx, 0xf
jmp 0x14006d48b
mov dx, 0x10
movdqu xmm0, xmmword [r9 + rax]
pcmpeqb xmm0, xmm6
pmovmskb r8d, xmm0
or r8d, 0x10000
tzcnt r8d, r8d
add edx, r8d
mov r8b, pe_nt_image_headers64
cmp dx, 0xf
ja 0x14006d4b9
inc qword [r13 + 0x70]
mov r8b, 0xff
mov byte [r9 + rax], r8b
mov byte [rcx + r9 + 0x10], r8b
mov rax, qword [rsp + 0x98]
dec rax
mov qword [rsp + 0x98], rax
mov qword [r13 + 0x78], rax
cmp byte [rsi - 0x48], 2
jb 0x14006d514
mov rax, qword [rsp + 0x38]
mov r12, qword [rax - 0x40]
lea rcx, [r12 + 0x18]
mov rax, qword [r12]
mov rdx, qword [r12 + 8]
mov r8, qword [r12 + 0x10]
call qword [rax + 0x10]
mov rcx, qword [0x140205100]
xor edx, edx
mov r8, r12
mov rsi, qword [rsp + 0x38]
call sub.kernel32.dll_HeapFree
lea rcx, [rsi - 0x20]
mov rax, qword [rsi - 0x38]
mov rdx, qword [rsi - 0x30]
mov r8, qword [rsi - 0x28]
call qword [rax + 0x10]
mov rsi, qword [rsi - 8]
test rsi, rsi
je 0x14006d551
mov rax, qword [rsp + 0x38]
mov r12, qword [rax - 0x10]
nop dword [rax]
mov rcx, r12
call fcn.1400696c0
add r12, 0x48
dec rsi
jne 0x14006d540
mov rax, qword [rsp + 0x38]
cmp qword [rax - 0x18], 0
je 0x14006d56f
mov r8, qword [rax - 0x10]
mov rcx, qword [0x140205100]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov r11, qword [rsp + 0x40]
jmp 0x14006ced8
mov rsi, qword [rsp + 0x70]
mov r15, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x80]
call fcn.1401152a4
lock dec qword [rsi]
jne 0x14006ca07
lea rcx, [rsp + 0x70]
call fcn.1400917f0
jmp 0x14006ca07
mov r12, rbx
mov rbx, rdx
add rbx, qword [rsp + 0x58]
jb 0x14006d72e
mov rax, qword [rsp + 0x50]
lea r14d, [rax + rcx]
cmp r14d, 0x3b9aca00
jb 0x14006d5ee
inc rbx
je 0x14006d72e
add r14d, 0xc4653600
mov qword [rsp + 0x70], rdx
mov dword [rsp + 0x78], ecx
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x30], edi
lea rcx, [rsp + 0x70]
lea rdx, [rsp + 0x28]
call fcn.1400e6820
mov ecx, edx
mov r8, qword [rsp + 0xc0]
mov rdx, r8
mov r9, qword [rsp + 0xb8]
or rdx, r9
je 0x14006d72e
mov edx, 0x3b9aca00
mul rdx
cmp ecx, 0x3b9aca00
mov r10d, 0
cmove ecx, r10d
cmove rdx, r10
cmove rax, r10
add rcx, rax
adc rdx, 0
mov qword [rsp + 0xf0], r8
mov qword [rsp + 0xf8], r9
mov qword [rsp + 0x100], rcx
mov qword [rsp + 0x108], rdx
lea rcx, [rsp + 0x100]
lea rdx, [rsp + 0xf0]
call fcn.140009c40
pshufd xmm1, xmm0, 0xee
movq rax, xmm1
test rax, rax
jne 0x14006d72e
movq rcx, xmm0
mov rax, rcx
shr rax, 9
movabs rdx, 0x44b82fa09b5a53
mul rdx
shr rdx, 0xb
sub rbx, rdx
jb 0x14006d72e
imul eax, edx, 0x3b9aca00
sub ecx, eax
cmp r14d, ecx
jae 0x14006d6da
test rbx, rbx
je 0x14006d72e
dec rbx
add r14d, 0x3b9aca00
sub r14d, ecx
mov eax, r14d
shr eax, 9
imul rax, rax, 0x44b83
shr rax, 0x27
add rbx, rax
jb 0x14006d72e
imul eax, eax, 0x3b9aca00
sub r14d, eax
mov rsi, rbx
mov ecx, r14d
mov rbx, r12
jmp 0x14006cc18
mov rsi, rdx
jmp 0x14006cc18
mov rcx, rbp
call qword [r12 + 0x18]
mov al, 1
xchg byte [r15 + 0x41], al
xor ebp, ebp
test al, al
jne 0x14006d750
xor eax, eax
xchg byte [r15 + 0x41], al
jmp 0x14006d750
ud2
mov rcx, qword [rsp + 0x80]
call fcn.1401152a4
lock dec qword [r13]
jne 0x14006d74e
lea rcx, [rsp + 0x70]
call fcn.1400917f0
xor ebp, ebp
mov eax, ebp
movaps xmm6, xmmword [rsp + 0x110]
add rsp, 0x128
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call sub.kernel32.dll_GetLastError
ud2