Function at 0x1400d81d0
Capabilities:
Parse pe header

Disassembly:
mov byte [rsp + 0x20], r9b
nop
sub rsp, 8
mov qword [rsp], rbp
nop
mov qword [rsp - 8], rbx
sub rsp, 8
push rsi
push r12
nop
sub rsp, 8
mov qword [rsp], r13
nop
sub rsp, 8
mov qword [rsp], r14
nop
mov qword [rsp - 8], r15
sub rsp, 8
lea rbp, [rsp - 0x17]
sub rsp, 0xb0
movzx r12d, r9b
xchg rbx, r13
mov r13, r8
xchg rbx, r13
xchg r14, rdx
mov rsi, r14
xchg r14, rdx
xchg r13, rcx
mov rcx, r13
xchg r13, rcx
test rdx, rdx
je 0x1400d8fa4
mov eax, 0x5a4d
cmp word [rdx], ax
jne 0x1400d8fa4
movsxd r15, dword [rdx + 0x3c]
add r15, rdx
xchg r15, rsi
mov qword [rbp - 0x41], rsi
xchg r15, rsi
cmp dword [r15], 0x4550
jne 0x1400d8fa4
mov rcx, qword [rbp + 0x7f]
xor r14d, r14d
mov qword [rbp - 0x59], r14
mov eax, dword [r15 + 0x50]
mov qword [rbp + 7], rax
test rcx, rcx
je 0x1400d8286
mov qword [rcx], rax
xor r9d, r9d
mov dword [rsp + 0x30], 0x40
lea rax, [rbp + 7]
mov dword [rsp + 0x28], 0x3000
lea rcx, [r13 + 0x50]
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x59]
lea rdx, [r9 - 1]
call fcn.1400d60f0
test eax, eax
js 0x1400d8fa4
mov r8d, dword [r15 + 0x54]
xchg r14, rdx
mov r14, rsi
xchg r14, rdx
mov rcx, qword [rbp - 0x59]
xchg rdi, r8
mov qword [rsp + 0xf0], r8
xchg rdi, r8
call fcn.140155260
mov edi, r14d
cmp r14w, word [r15 + 6]
jae 0x1400d832c
nop word [rax + rax]
mov eax, edi
lea rcx, [rax + rax*4]
mov edx, dword [r15 + rcx*8 + 0x11c]
mov r8d, dword [r15 + rcx*8 + 0x118]
add rdx, rsi
mov ecx, dword [r15 + rcx*8 + 0x114]
add rcx, qword [rbp - 0x59]
call fcn.140155260
movzx eax, word [r15 + 6]
inc edi
cmp edi, eax
jb 0x1400d82f3
xchg rdi, rsi
mov rsi, qword [rbp - 0x59]
xchg rdi, rsi
test rbx, rbx
mov eax, dword [r15 + 0xb0]
cmove rbx, rdi
xor esi, esi
mov edx, esi
test eax, eax
je 0x1400d8354
lea rdx, [rdi + rax]
mov eax, dword [r15 + 0x90]
xchg r12, r9
mov r12, rsi
xchg r9, r12
test eax, eax
je 0x1400d8370
lea r9, [rdi + rax]
sub rbx, qword [r15 + 0x30]
mov qword [rbp - 0x49], r9
test rdx, rdx
je 0x1400d83e7
cmp dword [rdx], r14d
je 0x1400d83e7
mov eax, dword [rdx + 4]
cmp eax, 8
jb 0x1400d83db
lea r8, [rax - 8]
mov ecx, esi
shr r8, 1
je 0x1400d83db
mov rax, rsi
nop dword [rax]
movzx eax, word [rdx + rax*2 + 8]
test ax, ax
je 0x1400d83ce
and eax, 0xfff
add eax, dword [rdx]
add qword [rax + rdi], rbx
xchg rdi, rsi
mov rsi, qword [rbp - 0x59]
xchg rdi, rsi
inc ecx
mov eax, ecx
cmp rax, r8
jb 0x1400d83ab
mov eax, dword [rdx + 4]
add rdx, rax
jne 0x1400d8381
movabs rdx, 0x852396afe3269
movabs rbx, 0xc562983199256
test r9, r9
je 0x1400d8c18
mov eax, dword [r9]
movabs r8, 0x85fec382c
movabs r15, 0x582359a27a94a75
test eax, eax
je 0x1400d8c0f
mov r14d, dword [r9 + 0x10]
lea r12, [rdi + rax]
mov ecx, dword [r9 + 0xc]
add r14, rdi
add rcx, rdi
mov rax, 0xffffffffffffffff
mov qword [rbp - 0x11], rcx
inc rax
cmp byte [rcx + rax], 0
jne 0x1400d8440
cmp qword [0x14016c0e0], rdx
mov word [rbp - 0x19], ax
mov word [rbp - 0x17], ax
je 0x1400d8560
mov rax, qword [0x14016c0f0]
cmp rax, rbx
je 0x1400d8560
cmp byte [0x14016d220], 0
jne 0x1400d84b0
push rax
xor eax, ebx
push rax
xor rax, qword [rsp + 8]
shr rax, 0x20
ror rbx, 0x20
xor eax, ebx
ror rbx, 0x20
shl rax, 0x20
or rax, qword [rsp]
add rsp, 0x10
lea rdx, [0x1400d6d20]
mov ecx, 1
call rax
mov ecx, 1
call fcn.1401541a0
mov rbx, qword [r13 + 0xa0]
lea rdx, [rbp - 0x51]
xchg rcx, rdx
mov rdx, rax
xchg rdx, rcx
push rbx
xor ebx, r15d
push rbx
xor rbx, qword [rsp + 8]
shr rbx, 0x20
ror r15, 0x20
xor ebx, r15d
ror r15, 0x20
shl rbx, 0x20
xor rbx, qword [rsp]
add rsp, 0x10
movabs r15, 0x582359278457259
xchg r9, rdi
mov r9, rax
xchg rdi, r9
push rcx
xor ecx, r15d
push rcx
xor rcx, qword [rsp + 8]
shr rcx, 0x20
ror r15, 0x20
xor ecx, r15d
ror r15, 0x20
shl rcx, 0x20
or rcx, qword [rsp]
add rsp, 0x10
mov qword [rbp - 0x51], rcx
lea rcx, [0x14016d210]
call fcn.140028f40
mov r8b, 1
lea rdx, [rbp - 0x19]
lea rcx, [rbp - 0x29]
xchg rbx, r12
mov qword [rax], r12
xchg rbx, r12
call rdi
movabs rbx, 0xc562983199256
jmp 0x1400d85a3
mov rax, qword [r13 + 0xa0]
lea rdx, [rbp - 0x19]
push rax
xor eax, r8d
push rax
xor rax, qword [rsp + 8]
shr rax, 0x20
ror r8, 0x20
xor eax, r8d
ror r8, 0x20
shl rax, 0x20
xor rax, qword [rsp]
add rsp, 0x10
lea rcx, [rbp - 0x29]
mov r8b, 1
call rax
movabs r15, 0x582359278457259
movabs rax, 0x852396afe3269
xchg rsi, r13
mov qword [rbp + 0x5f], r13
xchg r13, rsi
cmp qword [0x14016c0e0], rax
je 0x1400d86c1
mov rax, qword [0x14016c0f0]
cmp rax, rbx
je 0x1400d86c1
cmp byte [0x14016d220], 0
jne 0x1400d8612
push rax
xor eax, ebx
push rax
xor rax, qword [rsp + 8]
shr rax, 0x20
ror rbx, 0x20
xor eax, ebx
ror rbx, 0x20
shl rax, 0x20
or rax, qword [rsp]
add rsp, 0x10
lea rdx, [0x1400d6d20]
mov ecx, 1
call rax
mov ecx, 1
call fcn.1401541a0
xchg rbx, r15
mov r15, qword [r13 + 0x90]
xchg rbx, r15
lea rdx, [rbp - 0x51]
xchg rbx, rax
mov rdi, rbx
xchg rbx, rax
movabs rax, 0x582359b30125d9a
xchg rdx, rcx
mov rdx, rdi
xchg rcx, rdx
push rbx
xor ebx, eax
push rbx
xor rbx, qword [rsp + 8]
shr rbx, 0x20
ror rax, 0x20
xor ebx, eax
ror rax, 0x20
shl rbx, 0x20
xor rbx, qword [rsp]
add rsp, 0x10
push rcx
xor ecx, r15d
push rcx
xor rcx, qword [rsp + 8]
shr rcx, 0x20
ror r15, 0x20
xor ecx, r15d
ror r15, 0x20
shl rcx, 0x20
xor rcx, qword [rsp]
add rsp, 0x10
xchg r14, rcx
mov qword [rbp - 0x51], r14
xchg r14, rcx
lea rcx, [0x14016d210]
call fcn.140028f40
lea r9, [rbp + 0x5f]
xor edx, edx
lea r8, [rbp - 0x29]
xor ecx, ecx
xchg rsi, rbx
mov qword [rax], rsi
xchg rsi, rbx
call rdi
jmp 0x1400d8703
mov rax, qword [r13 + 0x90]
lea r9, [rbp + 0x5f]
movabs rcx, 0x948572fc3
lea r8, [rbp - 0x29]
push rax
xor eax, ecx
push rax
xor rax, qword [rsp + 8]
shr rax, 0x20
ror rcx, 0x20
xor eax, ecx
ror rcx, 0x20
shl rax, 0x20
xor rax, qword [rsp]
add rsp, 0x10
xor edx, edx
xor ecx, ecx
call rax
movabs rbx, 0x852396afe3269
cmp qword [0x14016c0e0], rbx
je 0x1400d880d
mov rax, qword [0x14016c0f0]
movabs rcx, 0xc562983199256
cmp rax, rcx
je 0x1400d880d
cmp byte [0x14016d220], 0
jne 0x1400d8772
push rax
xor eax, ecx
push rax
xor rax, qword [rsp + 8]
shr rax, 0x20
ror rcx, 0x20
xor eax, ecx
ror rcx, 0x20
shl rax, 0x20
or rax, qword [rsp]
add rsp, 0x10
lea rdx, [0x1400d6d20]
mov ecx, 1
call rax
mov ecx, 1
call fcn.1401541a0
mov rbx, qword [r13 + 0xb0]
lea rdx, [rbp - 0x51]
mov rdi, rax
movabs rax, 0x582359a27e94a75
xchg rcx, rdi
mov rdi, rcx
xchg rcx, rdi
push rbx
xor ebx, eax
push rbx
xor rbx, qword [rsp + 8]
shr rbx, 0x20
ror rax, 0x20
xor ebx, eax
ror rax, 0x20
shl rbx, 0x20
or rbx, qword [rsp]
add rsp, 0x10
push rcx
xor ecx, r15d
push rcx
xor rcx, qword [rsp + 8]
shr rcx, 0x20
ror r15, 0x20
xor ecx, r15d
ror r15, 0x20
shl rcx, 0x20
xor rcx, qword [rsp]
add rsp, 0x10
mov qword [rbp - 0x51], rcx
lea rcx, [0x14016d210]
call fcn.140028f40
lea rcx, [rbp - 0x29]
mov qword [rax], rbx
call rdi
movabs rbx, 0x852396afe3269
jmp 0x1400d8847
mov rax, qword [r13 + 0xb0]
movabs rcx, 0x85fac382c
push rax
xor eax, ecx
push rax
xor rax, qword [rsp + 8]
shr rax, 0x20
ror rcx, 0x20
xor eax, ecx
ror rcx, 0x20
shl rax, 0x20
or rax, qword [rsp]
add rsp, 0x10
lea rcx, [rbp - 0x29]
call rax
xchg r12, r15
mov r12, qword [rbp + 0x5f]
xchg r12, r15
test r15, r15
je 0x1400d8bd9
xchg rsi, r9
mov r9, qword [r12]
xchg rsi, r9
test rsi, rsi
je 0x1400d8bd7
sub r12, r14
nop word [rax + rax]
test rsi, rsi
jns 0x1400d8a0f
cmp qword [0x14016c0e0], rbx
mov qword [rbp - 0x51], 0
je 0x1400d89be
mov rax, qword [0x14016c0f0]
movabs rcx, 0xc562983199256
cmp rax, rcx
je 0x1400d89be
cmp byte [0x14016d220], 0
jne 0x1400d88ec
push rax
xor eax, ecx
push rax
xor rax, qword [rsp + 8]
shr rax, 0x20
ror rcx, 0x20
xor eax, ecx
ror rcx, 0x20
shl rax, 0x20
xor rax, qword [rsp]
add rsp, 0x10
lea rdx, [0x1400d6d20]
mov ecx, 1
call rax
mov ecx, 1
call fcn.1401541a0
xchg r10, rbx
mov r10, qword [r13 + 0xc0]
xchg r10, rbx
lea rdx, [rbp - 0x39]
xchg rdi, rbx
mov rbx, rax
xchg rdi, rbx
movabs rax, 0x5823592dc79f24b
push rbx
xor ebx, eax
push rbx
xor rbx, qword [rsp + 8]
shr rbx, 0x20
ror rax, 0x20
xor ebx, eax
ror rax, 0x20
shl rbx, 0x20
xor rbx, qword [rsp]
add rsp, 0x10
xchg r14, rdi
mov rcx, r14
xchg r14, rdi
movabs rax, 0x582359278457259
push rcx
xor ecx, eax
push rcx
xor rcx, qword [rsp + 8]
shr rcx, 0x20
ror rax, 0x20
xor ecx, eax
ror rax, 0x20
shl rcx, 0x20
or rcx, qword [rsp]
add rsp, 0x10
xchg rcx, r13
mov qword [rbp - 0x39], r13
xchg r13, rcx
lea rcx, [0x14016d210]
call fcn.140028f40
lea r9, [rbp - 0x51]
movzx r8d, si
xor edx, edx
xchg r15, rcx
mov r15, rcx
xchg r15, rcx
xchg rbx, rsi
mov qword [rax], rsi
xchg rsi, rbx
call rdi
xchg rdi, rax
mov rdi, qword [rbp - 0x51]
xchg rdi, rax
movabs rbx, 0x852396afe3269
jmp 0x1400d8bb4
xchg r9, rax
mov r9, qword [r13 + 0xc0]
xchg r9, rax
lea r9, [rbp - 0x51]
mov ecx, 0xa43c8012
movzx r8d, si
push rax
xor eax, ecx
push rax
xor rax, qword [rsp + 8]
shr rax, 0x20
ror rcx, 0x20
xor eax, ecx
ror rcx, 0x20
shl rax, 0x20
xor rax, qword [rsp]
add rsp, 0x10
xor edx, edx
xchg rcx, r15
mov r15, rcx
xchg r15, rcx
call rax
mov rax, qword [rbp - 0x51]
jmp 0x1400d8bb4
xchg rcx, r11
mov r11, qword [rbp - 0x59]
xchg r11, rcx
mov rax, 0xffffffffffffffff
sub rcx, 0xfffffffffffffffe
add rcx, rsi
mov qword [rbp - 1], rcx
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x1400d8a32
cmp qword [0x14016c0e0], rbx
mov word [rbp - 9], ax
mov word [rbp - 7], ax
mov qword [rbp - 0x31], 0
je 0x1400d8b6b
mov rax, qword [0x14016c0f0]
movabs rcx, 0xc562983199256
cmp rax, rcx
je 0x1400d8b6b
cmp byte [0x14016d220], 0
jne 0x1400d8ab4
push rax
xor eax, ecx
push rax
xor rax, qword [rsp + 8]
shr rax, 0x20
ror rcx, 0x20
xor eax, ecx
ror rcx, 0x20
shl rax, 0x20
or rax, qword [rsp]
add rsp, 0x10
lea rdx, [0x1400d6d20]
mov ecx, 1
call rax
mov ecx, 1
call fcn.1401541a0
xchg r9, rbx
mov r9, qword [r13 + 0xc0]
xchg rbx, r9
lea rcx, [0x14016d210]
xchg r9, rax
mov rdi, r9
xchg r9, rax
movabs rax, 0x5823592dc79f24b
push rbx
xor ebx, eax
push rbx
xor rbx, qword [rsp + 8]
shr rbx, 0x20
ror rax, 0x20
xor ebx, eax
ror rax, 0x20
shl rbx, 0x20
or rbx, qword [rsp]
add rsp, 0x10
xchg rdx, rdi
mov rdi, rdx
xchg rdi, rdx
movabs rax, 0x582359278457259
push rdx
xor edx, eax
push rdx
xor rdx, qword [rsp + 8]
shr rdx, 0x20
ror rax, 0x20
xor edx, eax
ror rax, 0x20
shl rdx, 0x20
xor rdx, qword [rsp]
add rsp, 0x10
mov qword [rbp - 0x39], rdx
lea rdx, [rbp - 0x39]
call fcn.140028f40
xor r8d, r8d
lea r9, [rbp - 0x31]
lea rdx, [rbp - 9]
mov rcx, r15
mov qword [rax], rbx
call rdi
movabs rbx, 0x852396afe3269
jmp 0x1400d8bb0
mov rax, qword [r13 + 0xc0]
lea r9, [rbp - 0x31]
mov ecx, 0xa43c8012
lea rdx, [rbp - 9]
push rax
xor eax, ecx
push rax
xor rax, qword [rsp + 8]
shr rax, 0x20
ror rcx, 0x20
xor eax, ecx
ror rcx, 0x20
shl rax, 0x20
or rax, qword [rsp]
add rsp, 0x10
xor r8d, r8d
xchg rcx, r15
mov r15, rcx
xchg r15, rcx
call rax
mov rax, qword [rbp - 0x31]
mov qword [r14], rax
sub r14, 0xfffffffffffffff8
mov rsi, qword [r12 + r14]
test rsi, rsi
je 0x1400d8bd7
xchg r12, r15
mov r12, qword [rbp + 0x5f]
xchg r12, r15
jmp 0x1400d8876
xor esi, esi
xchg rdi, r9
mov rdi, qword [rbp - 0x49]
xchg rdi, r9
movabs rbx, 0xc562983199256
mov rdi, qword [rbp - 0x59]
add r9, 0x14
xchg r9, r13
mov qword [rbp - 0x49], r13
xchg r9, r13
movabs rdx, 0x852396afe3269
jne 0x1400d8404
movzx r12d, byte [rbp + 0x6f]
mov r15, qword [rbp - 0x41]
mov r14d, esi
cmp si, word [r15 + 6]
jae 0x1400d8e2a
mov r12d, 4
nop
mov eax, r14d
lea rcx, [rax + rax*4]
mov eax, dword [r15 + rcx*8 + 0x114]
mov esi, dword [r15 + rcx*8 + 0x12c]
add rax, rdi
mov qword [rbp - 0x49], rax
mov eax, dword [r15 + rcx*8 + 0x118]
xchg r15, rax
mov qword [rbp - 0x41], r15
xchg r15, rax
bt esi, 0x19
jae 0x1400d8c6f
mov esi, 2
jmp 0x1400d8ca1
bt esi, 0x1d
jae 0x1400d8c94
sar esi, 8
sar esi, 6
sar esi, 0xd
sar esi, 2
sar esi, 1
sar esi, 1
and esi, 0x20
sub esi, 0xffffffe0
jmp 0x1400d8ca1
test esi, esi
mov eax, 2
cmovs eax, r12d
mov esi, eax
xor eax, eax
cmp qword [0x14016c0e0], rdx
mov dword [rbp + 0x5f], eax
je 0x1400d8dc3
mov rax, qword [0x14016c0f0]
cmp rax, rbx
je 0x1400d8dc3
cmp byte [0x14016d220], 0
jne 0x1400d8d01
push rax
xor eax, ebx
push rax
xor rax, qword [rsp + 8]
shr rax, 0x20
ror rbx, 0x20
xor eax, ebx
ror rbx, 0x20
shl rax, 0x20
or rax, qword [rsp]
add rsp, 0x10
lea rdx, [0x1400d6d20]
mov ecx, 1
call rax
mov ecx, 1
call fcn.1401541a0
xchg rbx, rdi
mov rdi, qword [r13 + 0xd0]
xchg rdi, rbx
lea rdx, [rbp - 0x39]
xchg rdi, r13
mov r13, rax
xchg r13, rdi
movabs rax, 0x582359264eb86c1
push rbx
xor ebx, eax
push rbx
xor rbx, qword [rsp + 8]
shr rbx, 0x20
ror rax, 0x20
xor ebx, eax
ror rax, 0x20
shl rbx, 0x20
xor rbx, qword [rsp]
add rsp, 0x10
mov rcx, rdi
movabs rax, 0x582359278457259
push rcx
xor ecx, eax
push rcx
xor rcx, qword [rsp + 8]
shr rcx, 0x20
ror rax, 0x20
xor ecx, eax
ror rax, 0x20
shl rcx, 0x20
xor rcx, qword [rsp]
add rsp, 0x10
xchg rcx, r11
mov qword [rbp - 0x39], r11
xchg r11, rcx
lea rcx, [0x14016d210]
call fcn.140028f40
mov r9d, esi
lea r8, [rbp - 0x41]
lea rdx, [rbp - 0x49]
mov rcx, 0xffffffffffffffff
xchg rbx, rbp
mov qword [rax], rbp
xchg rbp, rbx
lea rax, [rbp + 0x5f]
mov qword [rsp + 0x20], rax
call rdi
jmp 0x1400d8df7
xchg rdx, rax
mov rdx, qword [r13 + 0xd0]
xchg rdx, rax
lea rcx, [rbp + 0x5f]
xchg r11, rcx
mov qword [rsp + 0x20], r11
xchg r11, rcx
lea r8, [rbp - 0x41]
mov rcx, 0xffffffffffffffff
lea rdx, [rbp - 0x49]
xor rax, 0x1caef498
mov r9d, esi
call rax
movzx eax, word [r15 + 6]
inc r14d
mov rdi, qword [rbp - 0x59]
cmp r14d, eax
jae 0x1400d8e25
movabs rbx, 0xc562983199256
movabs rdx, 0x852396afe3269
jmp 0x1400d8c2d
movzx r12d, byte [rbp + 0x6f]
cmp byte [rbp + 0x77], 0
jne 0x1400d8f6d
mov eax, dword [r15 + 0x28]
test eax, eax
je 0x1400d8f6d
lea rsi, [rdi + rax]
movabs rax, 0x852396afe3269
cmp qword [0x14016c0e0], rax
je 0x1400d8f51
mov rax, qword [0x14016c0f0]
movabs rcx, 0xc562983199256
cmp rax, rcx
je 0x1400d8f51
cmp byte [0x14016d220], 0
jne 0x1400d8eb3
push rax
xor eax, ecx
push rax
xor rax, qword [rsp + 8]
shr rax, 0x20
ror rcx, 0x20
xor eax, ecx
ror rcx, 0x20
shl rax, 0x20
xor rax, qword [rsp]
add rsp, 0x10
lea rdx, [0x1400d6d20]
mov ecx, 1
call rax
mov ecx, 1
call fcn.1401541a0
mov r8, rax
lea rdx, [rbp + 0x5f]
movabs r14, 0x582359278457259
lea rcx, [0x14016d210]
push r8
xor r8d, r14d
push r8
xor r8, qword [rsp + 8]
shr r8, 0x20
ror r14, 0x20
xor r8d, r14d
ror r14, 0x20
shl r8, 0x20
or r8, qword [rsp]
add rsp, 0x10
xchg rdi, rax
mov rbx, rdi
xchg rdi, rax
xchg r8, rsi
mov qword [rbp + 0x5f], rsi
xchg rsi, r8
call fcn.140028f40
xor r8d, r8d
push rsi
xor esi, r14d
push rsi
xor rsi, qword [rsp + 8]
shr rsi, 0x20
ror r14, 0x20
xor esi, r14d
ror r14, 0x20
shl rsi, 0x20
xor rsi, qword [rsp]
add rsp, 0x10
xchg rcx, r12
mov r12, rdi
xchg rcx, r12
mov qword [rax], rsi
lea edx, [r8 + 1]
call rbx
jmp 0x1400d8f63
xor r8d, r8d
xchg rsi, rdi
mov rcx, rsi
xchg rsi, rdi
lea edx, [r8 + 1]
call rsi
xchg rdi, r13
mov r13, qword [rbp - 0x59]
xchg r13, rdi
test r12b, r12b
je 0x1400d8f8e
mov r8d, dword [r15 + 0x54]
xor edx, edx
xchg rdi, r12
mov rcx, r12
xchg rdi, r12
call fcn.140155236
mov rdi, qword [rbp - 0x59]
xchg rdi, rbx
mov rax, rbx
xchg rbx, rdi
mov rdi, qword [rsp + 0xf0]
jmp 0x1400d8fa6
xor eax, eax
add rsp, 0xb0
nop
xchg qword [rsp], r15
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], r14
nop
xchg qword [rsp], r13
add rsp, 8
nop
xchg qword [rsp], r12
add rsp, 8
push rdx
xchg qword [rsp + 8], rsi
pop rdx
add rsp, 8
nop
mov rbx, qword [rsp]
add rsp, 8
push rcx
push rbx
push rbx
push rax
push rbx
xchg qword [rsp + 0x28], rbp
add rsp, 0x30
ret