Function at 0x140044270
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x260
movaps xmmword [rsp + 0x250], xmm6
mov rax, qword [0x1401c73e8]
xor rax, rsp
mov qword [rsp + 0x240], rax
mov r14, rcx
lea r12, str.Engine
mov qword [rsp + 0x38], r12
lea r13, str.Initialization
mov qword [rsp + 0x40], r13
mov byte [rsp + 0x48], 1
test byte [0x1401dc780], 1
je 0x1400442e0
mov r9, r12
mov r8, r13
lea rdx, [0x140198608]
call fcn.1400416a0
nop
lea rax, [0x140198834]
mov qword [rsp + 0x28], rax
lea rax, [0x140198838]
mov qword [rsp + 0x30], rax
cmp qword [r14], 0
jne 0x1400444ab
call fcn.1400b22d0
mov rbx, rax
mov qword [rsp + 0x100], rax
test rax, rax
jne 0x1400443b8
lea rcx, [0x1401dd1c0]
call sub.KERNEL32.dll_AcquireSRWLockShared
mov rax, qword [0x1401dd1a8]
test rax, rax
je 0x140044337
lock inc dword [rax + 8]
movups xmm6, xmmword [0x1401dd1a0]
movups xmmword [rsp + 0x50], xmm6
lea rcx, [0x1401dd1c0]
call sub.KERNEL32.dll_ReleaseSRWLockShared
nop
movq rcx, xmm6
mov rax, qword [rcx]
lea rdx, str.Failed_to_initialize_the_script_host
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
psrldq xmm6, 8
movq rcx, xmm6
test rcx, rcx
je 0x140044af5
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140044af5
mov rbx, qword [rsp + 0x58]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x140044af5
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor bl, bl
jmp 0x140044f1e
mov rcx, rbx
call fcn.14009f590
mov r15d, eax
lea rdi, [rsp + 0x180]
lea r11, [0x140198750]
lea rsi, str.__index
nop dword [rax]
mov r10, qword [r11]
test r10, r10
je 0x140044429
lea r9, [rsp + 0x28]
nop dword [rax]
mov rcx, qword [r9]
mov rax, r10
movzx r8d, byte [rax]
test r8b, r8b
je 0x140044416
movzx edx, byte [rcx]
test dl, dl
je 0x140044411
inc rcx
inc rax
cmp r8b, dl
je 0x1400443f6
cmp byte [rax], 0
jne 0x14004441b
cmp byte [rcx], 0
je 0x140044434
add r9, 8
lea rax, [rsp + 0x38]
cmp r9, rax
jne 0x1400443f0
movups xmm0, xmmword [r11]
movups xmmword [rdi], xmm0
add rdi, 0x10
add r11, 0x10
cmp r11, rsi
jne 0x1400443e0
cmp qword [rsp + 0x188], 0
je 0x14004448b
lea rdi, [rsp + 0x188]
mov rsi, qword [rdi - 8]
test rsi, rsi
je 0x14004448b
xor r8d, r8d
mov rdx, qword [rdi]
mov rcx, rbx
call fcn.14009fa70
mov rdx, rsi
mov rcx, rbx
call fcn.14009fce0
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rbx
call fcn.14009efc0
add rdi, 0x10
cmp qword [rdi], 0
jne 0x140044450
mov qword [r14], rbx
mov rcx, rbx
call fcn.14009f590
cmp eax, r15d
jle 0x1400444ab
sub eax, r15d
not eax
mov edx, eax
mov rcx, rbx
call fcn.1400a03b0
nop
lea rdx, [0x140182ec8]
mov ecx, 8
call fcn.140122ba0
xor esi, esi
test rax, rax
je 0x1400444cf
lea rcx, vtable.NInstaller::CExternalObject.0
mov qword [rax], rcx
jmp 0x1400444d2
mov rax, rsi
mov r8, rax
lea rdx, str.external
mov rcx, r14
call fcn.140043c90
test al, al
jne 0x140044589
lea rcx, [0x1401dd1c0]
call sub.KERNEL32.dll_AcquireSRWLockShared
mov rax, qword [0x1401dd1a8]
test rax, rax
je 0x140044508
lock inc dword [rax + 8]
movups xmm6, xmmword [0x1401dd1a0]
movups xmmword [rsp + 0x60], xmm6
lea rcx, [0x1401dd1c0]
call sub.KERNEL32.dll_ReleaseSRWLockShared
nop
movq rcx, xmm6
mov rax, qword [rcx]
lea rdx, str.Failed_to_import_external_object
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
psrldq xmm6, 8
movq rcx, xmm6
test rcx, rcx
je 0x140044af5
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140044af5
mov rbx, qword [rsp + 0x68]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x140044af5
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor bl, bl
jmp 0x140044f1e
lea rdx, [0x140182ec8]
mov ecx, 0x40
call fcn.140122ba0
test rax, rax
je 0x1400445d1
lea rcx, vtable.NInstaller::CCabParser.1.0
mov qword [rax], rcx
lea rcx, vtable.NInstaller::CCabParser.0
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rsi
mov qword [rax + 0x28], rsi
mov qword [rax + 0x30], rsi
mov dword [rax + 0x38], 0xffffd8f1
jmp 0x1400445d4
mov rax, rsi
lea r8, [rax + 8]
test rax, rax
cmove r8, rsi
lea rdx, str.TPackageParser
mov rcx, r14
call fcn.140043a40
test al, al
jne 0x140044693
lea rcx, [0x1401dd1c0]
call sub.KERNEL32.dll_AcquireSRWLockShared
mov rax, qword [0x1401dd1a8]
test rax, rax
je 0x140044612
lock inc dword [rax + 8]
movups xmm6, xmmword [0x1401dd1a0]
movups xmmword [rsp + 0x70], xmm6
lea rcx, [0x1401dd1c0]
call sub.KERNEL32.dll_ReleaseSRWLockShared
nop
movq rcx, xmm6
mov rax, qword [rcx]
lea rdx, str.Failed_to_import_cab_parser
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
psrldq xmm6, 8
movq rcx, xmm6
test rcx, rcx
je 0x140044af5
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140044af5
mov rbx, qword [rsp + 0x78]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x140044af5
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor bl, bl
jmp 0x140044f1e
lea rdx, [0x140182ec8]
mov ecx, 0x68
call fcn.140122ba0
test rax, rax
je 0x1400446b3
mov rcx, rax
call fcn.140047260
jmp 0x1400446b6
mov rax, rsi
mov r8, rax
lea rdx, str.Thread
mov rcx, r14
call fcn.140043a40
test al, al
jne 0x140044776
lea rcx, [0x1401dd1c0]
call sub.KERNEL32.dll_AcquireSRWLockShared
mov rax, qword [0x1401dd1a8]
test rax, rax
je 0x1400446ec
lock inc dword [rax + 8]
movups xmm6, xmmword [0x1401dd1a0]
movups xmmword [rsp + 0x80], xmm6
lea rcx, [0x1401dd1c0]
call sub.KERNEL32.dll_ReleaseSRWLockShared
nop
movq rcx, xmm6
mov rax, qword [rcx]
lea rdx, str.Failed_to_import_thread_type
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
psrldq xmm6, 8
movq rcx, xmm6
test rcx, rcx
je 0x140044af5
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140044af5
mov rbx, qword [rsp + 0x88]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x140044af5
mov rcx, qword [rsp + 0x88]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor bl, bl
jmp 0x140044f1e
lea rdx, [0x140182ec8]
mov ecx, 0x28
call fcn.140122ba0
test rax, rax
je 0x140044796
mov rcx, rax
call fcn.140046e10
jmp 0x140044799
mov rax, rsi
mov r8, rax
lea rdx, str.Logger
mov rcx, r14
call fcn.140043a40
test al, al
jne 0x140044859
lea rcx, [0x1401dd1c0]
call sub.KERNEL32.dll_AcquireSRWLockShared
mov rax, qword [0x1401dd1a8]
test rax, rax
je 0x1400447cf
lock inc dword [rax + 8]
movups xmm6, xmmword [0x1401dd1a0]
movups xmmword [rsp + 0x90], xmm6
lea rcx, [0x1401dd1c0]
call sub.KERNEL32.dll_ReleaseSRWLockShared
nop
movq rcx, xmm6
mov rax, qword [rcx]
lea rdx, str.Failed_to_import_logger_type
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
psrldq xmm6, 8
movq rcx, xmm6
test rcx, rcx
je 0x140044af5
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140044af5
mov rbx, qword [rsp + 0x98]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x140044af5
mov rcx, qword [rsp + 0x98]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor bl, bl
jmp 0x140044f1e
lea rdx, [0x140182ec8]
mov ecx, 8
call fcn.140122ba0
test rax, rax
je 0x14004487b
lea rcx, vtable.NInstaller::CScriptSignatureChecker.0
mov qword [rax], rcx
jmp 0x14004487e
mov rax, rsi
mov r8, rax
lea rdx, [0x1401988e0]
mov rcx, r14
call fcn.140043a40
test al, al
jne 0x14004493e
lea rcx, [0x1401dd1c0]
call sub.KERNEL32.dll_AcquireSRWLockShared
mov rax, qword [0x1401dd1a8]
test rax, rax
je 0x1400448b4
lock inc dword [rax + 8]
movups xmm6, xmmword [0x1401dd1a0]
movups xmmword [rsp + 0xa0], xmm6
lea rcx, [0x1401dd1c0]
call sub.KERNEL32.dll_ReleaseSRWLockShared
nop
movq rcx, xmm6
mov rax, qword [rcx]
lea rdx, str.Failed_to_import_signature_checker
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
psrldq xmm6, 8
movq rcx, xmm6
test rcx, rcx
je 0x140044af5
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140044af5
mov rbx, qword [rsp + 0xa8]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x140044af5
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor bl, bl
jmp 0x140044f1e
lea rdx, [0x140182ec8]
mov ecx, 8
call fcn.140122ba0
test rax, rax
je 0x140044960
lea rcx, vtable.NInstaller::CScriptServiceProtection.0
mov qword [rax], rcx
jmp 0x140044963
mov rax, rsi
mov r8, rax
lea rdx, [0x140198920]
mov rcx, r14
call fcn.140043a40
test al, al
jne 0x140044a23
lea rcx, [0x1401dd1c0]
call sub.KERNEL32.dll_AcquireSRWLockShared
mov rax, qword [0x1401dd1a8]
test rax, rax
je 0x140044999
lock inc dword [rax + 8]
movups xmm6, xmmword [0x1401dd1a0]
movups xmmword [rsp + 0xb0], xmm6
lea rcx, [0x1401dd1c0]
call sub.KERNEL32.dll_ReleaseSRWLockShared
nop
movq rcx, xmm6
mov rax, qword [rcx]
lea rdx, str.Failed_to_import_service_protection
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
psrldq xmm6, 8
movq rcx, xmm6
test rcx, rcx
je 0x140044af5
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140044af5
mov rbx, qword [rsp + 0xb8]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x140044af5
mov rcx, qword [rsp + 0xb8]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor bl, bl
jmp 0x140044f1e
lea rdx, [0x140182ec8]
mov ecx, 8
call fcn.140122ba0
test rax, rax
je 0x140044a45
lea rcx, vtable.NInstaller::CScriptGlobalEnv.0
mov qword [rax], rcx
jmp 0x140044a48
mov rax, rsi
mov r8, rax
lea rdx, [0x140198970]
mov rcx, r14
call fcn.140043a40
test al, al
jne 0x140044afc
lea rcx, [0x1401dd1c0]
call sub.KERNEL32.dll_AcquireSRWLockShared
mov rax, qword [0x1401dd1a8]
test rax, rax
je 0x140044a7e
lock inc dword [rax + 8]
movups xmm6, xmmword [0x1401dd1a0]
movups xmmword [rsp + 0xc0], xmm6
lea rcx, [0x1401dd1c0]
call sub.KERNEL32.dll_ReleaseSRWLockShared
nop
movq rcx, xmm6
mov rax, qword [rcx]
lea rdx, str.Failed_to_import_global_env
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
psrldq xmm6, 8
movq rcx, xmm6
test rcx, rcx
je 0x140044af5
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140044af5
mov rbx, qword [rsp + 0xc8]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x140044af5
mov rcx, qword [rsp + 0xc8]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor bl, bl
jmp 0x140044f1e
mov eax, dword [0x1401dc780]
test al, 1
je 0x140044b1e
mov r9, r12
mov r8, r13
lea rdx, [0x1401985f8]
call fcn.1400416a0
mov eax, dword [0x1401dc780]
mov byte [rsp + 0x48], sil
lea r15, str.Initialize_script
mov qword [rsp + 0x108], r15
mov qword [rsp + 0x110], r13
mov byte [rsp + 0x118], 1
test al, 1
je 0x140044b59
mov r9, r15
mov r8, r13
lea rdx, [0x140198608]
call fcn.1400416a0
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x120], xmm0
movups xmmword [rsp + 0x130], xmm0
lea r12, vtable.NInstaller::CScriptResLoader.0
mov qword [rsp + 0x120], r12
movdqu xmmword [rsp + 0x128], xmm0
mov qword [rsp + 0x138], rsi
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
movzx r9d, si
lea r8, str.initialize
lea rdx, str.ASSETS
call qword [sym.imp.KERNEL32.dll_FindResourceExW]
mov rdi, rax
test rax, rax
je 0x140044e5f
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_LoadResource]
test rax, rax
je 0x140044e5f
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rbx, rax
test rax, rax
je 0x140044e5f
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_SizeofResource]
test eax, eax
je 0x140044e5f
mov qword [rsp + 0x128], rbx
mov qword [rsp + 0x138], rsi
mov eax, eax
mov qword [rsp + 0x130], rax
lea rax, vtable.NInstaller::CException.0
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x158], rsi
movdqa xmm0, xmmword [0x1401a4090]
movdqu xmmword [rsp + 0x168], xmm0
mov byte [rsp + 0x158], 0
mov dword [rsp + 0x178], esi
mov rax, qword [r14]
test rax, rax
je 0x140044cfa
xorps xmm0, xmm0
movups xmmword [rsp + 0x140], xmm0
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x120]
mov rax, qword [rsp + 0x120]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r9, rax
lea r8, [rsp + 0x120]
lea rdx, [rsp + 0x140]
lea rcx, [rsp + 0x20]
call fcn.140042ef0
nop
mov r8d, dword [rsp + 0x140]
test r8d, r8d
jne 0x140044ccd
mov rcx, qword [rsp + 0x148]
test rcx, rcx
je 0x140044cc6
call fcn.140129840
mov bl, 1
jmp 0x140044e4d
mov rbx, qword [rsp + 0x148]
mov rdx, rbx
lea rcx, [rsp + 0x150]
mov rax, qword [rsp + 0x150]
call qword [rax]
nop
test rbx, rbx
je 0x140044d15
mov rcx, rbx
call fcn.140129840
jmp 0x140044d15
mov r8d, 1
lea rdx, str.Object_is_not_initialized_or_loader_is_null
lea rcx, [rsp + 0x150]
call qword [vtable.NInstaller::CException.0]
lea rcx, [0x1401dd1c0]
call sub.KERNEL32.dll_AcquireSRWLockShared
mov rax, qword [0x1401dd1a8]
test rax, rax
je 0x140044d31
lock inc dword [rax + 8]
movups xmm6, xmmword [0x1401dd1a0]
movups xmmword [rsp + 0xd0], xmm6
lea rcx, [0x1401dd1c0]
call sub.KERNEL32.dll_ReleaseSRWLockShared
nop
movq rcx, xmm6
mov rax, qword [rcx]
lea rdx, str.Failed_to_load_root_script:_n___
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov edi, 0xffffffff
psrldq xmm6, 8
movq rcx, xmm6
test rcx, rcx
je 0x140044daa
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140044daa
mov rbx, qword [rsp + 0xd8]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140044daa
mov rcx, qword [rsp + 0xd8]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rcx, [0x1401dd1c0]
call sub.KERNEL32.dll_AcquireSRWLockShared
mov rax, qword [0x1401dd1a8]
test rax, rax
je 0x140044dc6
lock inc dword [rax + 8]
movups xmm6, xmmword [0x1401dd1a0]
movups xmmword [rsp + 0xe0], xmm6
lea rcx, [0x1401dd1c0]
call sub.KERNEL32.dll_ReleaseSRWLockShared
nop
lea rdx, [rsp + 0x158]
cmp qword [rsp + 0x170], 0x10
cmovae rdx, qword [rsp + 0x158]
movq rcx, xmm6
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
psrldq xmm6, 8
movq rcx, xmm6
test rcx, rcx
je 0x140044e4b
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140044e4b
mov rbx, qword [rsp + 0xe8]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x140044e4b
mov rcx, qword [rsp + 0xe8]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor bl, bl
lea rcx, [rsp + 0x158]
call fcn.140028ff0
jmp 0x140044ef4
lea rcx, [0x1401dd1c0]
call sub.KERNEL32.dll_AcquireSRWLockShared
mov rax, qword [0x1401dd1a8]
test rax, rax
je 0x140044e7b
lock inc dword [rax + 8]
movups xmm6, xmmword [0x1401dd1a0]
movups xmmword [rsp + 0xf0], xmm6
lea rcx, [0x1401dd1c0]
call sub.KERNEL32.dll_ReleaseSRWLockShared
nop
movq rcx, xmm6
mov rax, qword [rcx]
lea rdx, str.Failed_to_init_initialize_loader
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
psrldq xmm6, 8
movq rcx, xmm6
test rcx, rcx
je 0x140044ef2
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140044ef2
mov rbx, qword [rsp + 0xf8]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x140044ef2
mov rcx, qword [rsp + 0xf8]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor bl, bl
mov qword [rsp + 0x120], r12
test byte [0x1401dc780], 1
je 0x140044f17
mov r9, r15
mov r8, r13
lea rdx, [0x1401985f8]
call fcn.1400416a0
lea r12, str.Engine
cmp byte [rsp + 0x48], 0
je 0x140044f40
test byte [0x1401dc780], 1
je 0x140044f40
mov r9, r12
mov r8, r13
lea rdx, [0x1401985f8]
call fcn.1400416a0
movzx eax, bl
mov rcx, qword [rsp + 0x240]
xor rcx, rsp
call fcn.140122510
lea r11, [rsp + 0x260]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret