Function at 0x1401d9ec0
Capabilities:
Encode data using xor
Hash data using sha512
Resolve function by parsing pe exports

Disassembly:
test r8, r8
je 0x1401dbb15
mov qword [rsp + 8], rcx
mov eax, 0x108
call fcn.1402bbe80
sub rsp, rax
mov r11, qword [rcx + 0x28]
mov rax, r8
mov r9, qword [rcx + 0x38]
mov r10, qword [rcx + 0x18]
mov qword [rsp + 0x100], rbx
movabs rbx, 0x428a2f98d728ae22
mov qword [rsp + 0xf8], rbp
mov rbp, qword [rcx + 0x20]
mov qword [rsp + 0xf0], rsi
mov rsi, qword [rcx]
mov qword [rsp + 0xe8], rdi
mov rdi, qword [rcx + 0x30]
mov qword [rsp + 0xe0], r12
lea r12, [rdx + 2]
mov qword [rsp + 0xd8], r13
mov r13, qword [rcx + 0x10]
mov qword [rsp + 0xd0], r14
mov r14, qword [rcx + 8]
mov qword [rsp + 0x88], r14
mov qword [rsp + 0xc8], r15
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x90], r13
mov qword [rsp + 0x98], r10
mov qword [rsp + 0xa0], rbp
mov qword [rsp + 0xa8], r11
mov qword [rsp + 0xb0], rdi
mov qword [rsp + 0xb8], r9
mov qword [rsp + 0x78], r12
movzx r8d, byte [r12 - 2]
dec rax
mov qword [rsp + 0x120], rax
mov rdx, rbp
movzx eax, byte [r12 - 1]
mov rcx, rbp
shl r8, 8
not rcx
or r8, rax
ror rdx, 0x29
movzx eax, byte [r12]
and rcx, rdi
shl r8, 8
mov r15, r14
or r8, rax
xor r15, rsi
movzx eax, byte [r12 + 1]
shl r8, 8
or r8, rax
movzx eax, byte [r12 + 2]
shl r8, 8
or r8, rax
movzx eax, byte [r12 + 3]
shl r8, 8
or r8, rax
movzx eax, byte [r12 + 4]
shl r8, 8
or r8, rax
movzx eax, byte [r12 + 5]
shl r8, 8
or r8, rax
mov rax, rbp
ror rax, 0x12
xor rdx, rax
mov qword [rsp + 0x48], r8
mov rax, rbp
ror rax, 0xe
xor rdx, rax
mov rax, r11
and rax, rbp
add rdx, r8
xor rcx, rax
mov r8, r14
add rdx, rcx
and r8, rsi
add rdx, rbx
mov rcx, rsi
add rdx, r9
ror rcx, 0x27
movzx r9d, byte [r12 + 6]
mov rax, rsi
ror rax, 0x22
mov rbx, r15
shl r9, 8
xor rcx, rax
and rbx, r13
mov rax, rsi
ror rax, 0x1c
xor rbx, r8
xor rax, rcx
add r10, rdx
add rax, rdx
add rbx, rax
movzx eax, byte [r12 + 7]
or r9, rax
movzx eax, byte [r12 + 8]
shl r9, 8
or r9, rax
movzx eax, byte [r12 + 9]
shl r9, 8
or r9, rax
movzx eax, byte [r12 + 0xa]
shl r9, 8
or r9, rax
movzx eax, byte [r12 + 0xb]
shl r9, 8
or r9, rax
movzx eax, byte [r12 + 0xc]
shl r9, 8
or r9, rax
shl r9, 8
movzx eax, byte [r12 + 0xd]
and r15, rbx
or r9, rax
xor r15, r8
movzx r8d, byte [r12 + 0xe]
mov rax, r10
ror rax, 0x12
mov rdx, r10
shl r8, 8
mov rcx, r10
ror rdx, 0x29
not rcx
xor rdx, rax
mov qword [rsp + 0x18], r9
and rcx, r11
mov rax, r10
ror rax, 0xe
xor rdx, rax
mov rax, rbp
and rax, r10
xor rcx, rax
lea rax, [r9 + rdx]
movabs rdx, 0x7137449123ef65cd
add rcx, rax
mov rax, rbx
ror rax, 0x22
add rdx, rcx
add rdx, rdi
mov rcx, rbx
ror rcx, 0x27
xor rcx, rax
mov rax, rbx
ror rax, 0x1c
xor rax, rcx
lea r9, [rdx + r13]
add rax, rdx
mov rcx, r9
add r15, rax
not rcx
movzx eax, byte [r12 + 0xf]
and rcx, rbp
or r8, rax
mov rdx, r9
movzx eax, byte [r12 + 0x10]
shl r8, 8
or r8, rax
ror rdx, 0x29
movzx eax, byte [r12 + 0x11]
shl r8, 8
or r8, rax
movzx eax, byte [r12 + 0x12]
shl r8, 8
or r8, rax
movzx eax, byte [r12 + 0x13]
shl r8, 8
or r8, rax
movzx eax, byte [r12 + 0x14]
shl r8, 8
or r8, rax
movzx eax, byte [r12 + 0x15]
shl r8, 8
or r8, rax
mov rax, r9
ror rax, 0x12
xor rdx, rax
mov qword [rsp + 0x30], r8
mov rax, r9
ror rax, 0xe
xor rdx, rax
mov rax, r10
and rax, r9
xor rcx, rax
lea rax, [r8 + rdx]
movabs rdx, 0xb5c0fbcfec4d3b2f
add rcx, rax
mov rax, r15
add rdx, rcx
mov rcx, r15
add rdx, r11
ror rcx, 0x27
lea r8, [r14 + rdx]
movzx r11d, byte [r12 + 0x16]
mov rdi, rsi
ror rax, 0x22
xor rdi, r15
xor rcx, rax
shl r11, 8
and rdi, rbx
mov rax, r15
ror rax, 0x1c
xor rcx, rax
mov rax, rsi
and rax, r15
xor rdi, rax
lea rax, [rdx + rcx]
mov rdx, r8
add rdi, rax
ror rdx, 0x29
movzx eax, byte [r12 + 0x17]
mov rcx, r8
or r11, rax
not rcx
movzx eax, byte [r12 + 0x18]
and rcx, r10
shl r11, 8
or r11, rax
movzx eax, byte [r12 + 0x19]
shl r11, 8
or r11, rax
movzx eax, byte [r12 + 0x1a]
shl r11, 8
or r11, rax
movzx eax, byte [r12 + 0x1b]
shl r11, 8
or r11, rax
movzx eax, byte [r12 + 0x1c]
shl r11, 8
or r11, rax
movzx eax, byte [r12 + 0x1d]
shl r11, 8
or r11, rax
mov rax, r8
ror rax, 0x12
xor rdx, rax
mov qword [rsp + 0x58], r11
mov rax, r8
ror rax, 0xe
xor rdx, rax
mov rax, r9
and rax, r8
xor rcx, rax
lea rax, [r11 + rdx]
movabs rdx, 0xe9b5dba58189dbbc
add rcx, rax
mov rax, rdi
ror rax, 0x22
add rdx, rcx
add rdx, rbp
mov rcx, rdi
movzx ebp, byte [r12 + 0x1e]
shl rbp, 8
ror rcx, 0x27
xor rcx, rax
lea r11, [rsi + rdx]
mov rax, rdi
mov rsi, r15
ror rax, 0x1c
xor rsi, rdi
xor rcx, rax
and rsi, rbx
mov rax, r15
and rax, rdi
xor rsi, rax
lea rax, [rdx + rcx]
add rsi, rax
movzx eax, byte [r12 + 0x1f]
or rbp, rax
movzx eax, byte [r12 + 0x20]
shl rbp, 8
or rbp, rax
movzx eax, byte [r12 + 0x21]
shl rbp, 8
or rbp, rax
mov rdx, r11
movzx eax, byte [r12 + 0x22]
mov rcx, r11
shl rbp, 8
not rcx
or rbp, rax
ror rdx, 0x29
movzx eax, byte [r12 + 0x23]
and rcx, r9
shl rbp, 8
or rbp, rax
movzx eax, byte [r12 + 0x24]
shl rbp, 8
or rbp, rax
movzx eax, byte [r12 + 0x25]
shl rbp, 8
or rbp, rax
mov rax, r11
ror rax, 0x12
xor rdx, rax
mov qword [rsp + 0x20], rbp
mov rax, r11
ror rax, 0xe
xor rdx, rax
mov rax, r8
and rax, r11
xor rcx, rax
lea rax, [r10 + rdx]
movabs rdx, 0x3956c25bf348b538
add rcx, rax
mov r10, rdi
add rdx, rcx
xor r10, rsi
add rdx, rbp
and r10, r15
movzx ebp, byte [r12 + 0x26]
add rbx, rdx
shl rbp, 8
mov rcx, rsi
ror rcx, 0x27
mov rax, rsi
ror rax, 0x22
xor rcx, rax
mov rax, rsi
ror rax, 0x1c
xor rcx, rax
mov rax, rdi
and rax, rsi
xor r10, rax
lea rax, [rdx + rcx]
mov rdx, rbx
add r10, rax
ror rdx, 0x29
movzx eax, byte [r12 + 0x27]
or rbp, rax
movzx eax, byte [r12 + 0x28]
shl rbp, 8
or rbp, rax
movzx eax, byte [r12 + 0x29]
shl rbp, 8
or rbp, rax
movzx eax, byte [r12 + 0x2a]
shl rbp, 8
or rbp, rax
movzx eax, byte [r12 + 0x2b]
shl rbp, 8
or rbp, rax
movzx eax, byte [r12 + 0x2c]
shl rbp, 8
or rbp, rax
movzx eax, byte [r12 + 0x2d]
shl rbp, 8
or rbp, rax
mov rax, rbx
ror rax, 0x12
xor rdx, rax
mov qword [rsp + 0x128], rbp
mov rax, rbx
ror rax, 0xe
xor rdx, rax
mov rcx, rbx
mov rax, rbx
and rax, r11
not rcx
and rcx, r8
mov r14, rsi
xor rcx, rax
xor r14, r10
lea rax, [r9 + rdx]
and r14, rdi
add rcx, rax
movzx r9d, byte [r12 + 0x2e]
shl r9, 8
movabs rdx, 0x59f111f1b605d019
add rdx, rcx
mov rax, r10
ror rax, 0x22
add rdx, rbp
add r15, rdx
mov rcx, r10
ror rcx, 0x27
mov rbp, r10
xor rcx, rax
mov rax, r10
ror rax, 0x1c
xor rcx, rax
mov rax, rsi
and rax, r10
xor r14, rax
lea rax, [rdx + rcx]
mov rdx, r15
add r14, rax
ror rdx, 0x29
movzx eax, byte [r12 + 0x2f]
mov rcx, r15
or r9, rax
not rcx
movzx eax, byte [r12 + 0x30]
and rcx, r11
shl r9, 8
or r9, rax
movzx eax, byte [r12 + 0x31]
shl r9, 8
or r9, rax
movzx eax, byte [r12 + 0x32]
shl r9, 8
or r9, rax
movzx eax, byte [r12 + 0x33]
shl r9, 8
or r9, rax
movzx eax, byte [r12 + 0x34]
shl r9, 8
or r9, rax
movzx eax, byte [r12 + 0x35]
shl r9, 8
or r9, rax
mov rax, r15
ror rax, 0x12
xor rdx, rax
mov qword [rsp + 0x28], r9
mov rax, r15
ror rax, 0xe
xor rdx, rax
mov rax, rbx
and rax, r15
xor rcx, rax
lea rax, [r8 + rdx]
movabs rdx, 0x923f82a4af194f9b
add rcx, rax
mov rax, r14
add rdx, rcx
ror rax, 0x22
add rdx, r9
mov rcx, r14
ror rcx, 0x27
add rdi, rdx
xor rcx, rax
mov rax, r14
ror rax, 0x1c
xor rcx, rax
xor rbp, r14
movzx r8d, byte [r12 + 0x36]
and rbp, rsi
shl r8, 8
mov rax, r10
and rax, r14
xor rbp, rax
lea rax, [rdx + rcx]
add rbp, rax
mov rdx, rdi
movzx eax, byte [r12 + 0x37]
mov rcx, rdi
or r8, rax
ror rdx, 0x29
movzx eax, byte [r12 + 0x38]
not rcx
shl r8, 8
and rcx, rbx
or r8, rax
movzx eax, byte [r12 + 0x39]
shl r8, 8
or r8, rax
movzx eax, byte [r12 + 0x3a]
shl r8, 8
or r8, rax
movzx eax, byte [r12 + 0x3b]
shl r8, 8
or r8, rax
movzx eax, byte [r12 + 0x3c]
shl r8, 8
or r8, rax
movzx eax, byte [r12 + 0x3d]
shl r8, 8
or r8, rax
mov rax, rdi
ror rax, 0x12
xor rdx, rax
mov qword [rsp], r8
mov rax, rdi
ror rax, 0xe
xor rdx, rax
mov rax, r15
and rax, rdi
xor rcx, rax
lea rax, [r11 + rdx]
movabs rdx, 0xab1c5ed5da6d8118
add rcx, rax
mov r11, r14
add rdx, rcx
xor r11, rbp
add rdx, r8
and r11, r10
movzx r8d, byte [r12 + 0x3e]
mov rcx, rbp
shl r8, 8
mov rax, rbp
ror rax, 0x22
add rsi, rdx
ror rcx, 0x27
xor rcx, rax
mov rax, rbp
ror rax, 0x1c
xor rcx, rax
mov rax, r14
and rax, rbp
xor r11, rax
lea rax, [rdx + rcx]
add r11, rax
movzx eax, byte [r12 + 0x3f]
or r8, rax
movzx eax, byte [r12 + 0x40]
shl r8, 8
or r8, rax
movzx eax, byte [r12 + 0x41]
shl r8, 8
or r8, rax
movzx eax, byte [r12 + 0x42]
shl r8, 8
or r8, rax
movzx eax, byte [r12 + 0x43]
shl r8, 8
or r8, rax
movzx eax, byte [r12 + 0x44]
mov rdx, rsi
shl r8, 8
mov rcx, rsi
not rcx
ror rdx, 0x29
and rcx, r15
or r8, rax
movzx eax, byte [r12 + 0x45]
mov r9, rbp
shl r8, 8
and r9, r11
or r8, rax
mov rax, rsi
ror rax, 0x12
xor rdx, rax
mov qword [rsp + 0x10], r8
mov rax, rsi
ror rax, 0xe
xor rdx, rax
mov rax, rdi
and rax, rsi
xor rcx, rax
lea rax, [rbx + rdx]
movzx ebx, byte [r12 + 0x46]
add rcx, rax
shl rbx, 8
movabs rax, 0xd807aa98a3030242
mov rdx, r11
add rax, rcx
ror rdx, 0x27
add r8, rax
mov rcx, r11
ror rcx, 0x22
add r10, r8
xor rdx, rcx
mov rax, rbp
xor rax, r11
mov rcx, r11
ror rcx, 0x1c
mov r13, rax
xor rcx, rdx
and r13, r14
add rcx, r8
xor r13, r9
add r13, rcx
mov r8, r10
movzx ecx, byte [r12 + 0x47]
mov rdx, r10
or rbx, rcx
ror r8, 0x29
movzx ecx, byte [r12 + 0x48]
not rdx
shl rbx, 8
and rdx, rdi
or rbx, rcx
movzx ecx, byte [r12 + 0x49]
shl rbx, 8
or rbx, rcx
movzx ecx, byte [r12 + 0x4a]
shl rbx, 8
or rbx, rcx
movzx ecx, byte [r12 + 0x4b]
shl rbx, 8
or rbx, rcx
movzx ecx, byte [r12 + 0x4c]
shl rbx, 8
or rbx, rcx
movzx ecx, byte [r12 + 0x4d]
shl rbx, 8
or rbx, rcx
mov rcx, r10
ror rcx, 0x12
xor r8, rcx
mov qword [rsp + 0x118], rbx
mov rcx, r10
ror rcx, 0xe
xor r8, rcx
mov rcx, rsi
and rcx, r10
xor rdx, rcx
lea rcx, [r15 + r8]
and rax, r13
add rdx, rcx
xor rax, r9
movzx r9d, byte [r12 + 0x4e]
movabs r8, 0x12835b0145706fbe
add r8, rdx
shl r9, 8
add r8, rbx
mov rdx, r13
ror rdx, 0x27
add r14, r8
mov rcx, r13
ror rcx, 0x22
xor rdx, rcx
mov rcx, r13
ror rcx, 0x1c
xor rcx, rdx
mov rdx, r14
add rcx, r8
not rdx
add rax, rcx
and rdx, rsi
movzx ecx, byte [r12 + 0x4f]
mov r8, r14
or r9, rcx
ror r8, 0x29
movzx ecx, byte [r12 + 0x50]
shl r9, 8
or r9, rcx
movzx ecx, byte [r12 + 0x51]
shl r9, 8
or r9, rcx
movzx ecx, byte [r12 + 0x52]
shl r9, 8
or r9, rcx
movzx ecx, byte [r12 + 0x53]
shl r9, 8
or r9, rcx
movzx ecx, byte [r12 + 0x54]
shl r9, 8
or r9, rcx
movzx ecx, byte [r12 + 0x55]
shl r9, 8
or r9, rcx
mov rcx, r14
ror rcx, 0x12
xor r8, rcx
mov qword [rsp + 0x38], r9
mov rcx, r14
ror rcx, 0xe
xor r8, rcx
mov rcx, r10
and rcx, r14
xor rdx, rcx
lea rcx, [rdi + r8]
movabs r8, 0x243185be4ee4b28c
add rdx, rcx
mov rdi, rax
add r8, rdx
xor rdi, r11
add r8, r9
and rdi, r13
movzx r9d, byte [r12 + 0x56]
mov rdx, rax
ror rdx, 0x27
mov rcx, rax
ror rcx, 0x22
add rbp, r8
xor rdx, rcx
shl r9, 8
mov rcx, rax
ror rcx, 0x1c
xor rdx, rcx
mov rcx, rax
and rcx, r11
xor rdi, rcx
lea rcx, [r8 + rdx]
add rdi, rcx
movzx ecx, byte [r12 + 0x57]
or r9, rcx
movzx ecx, byte [r12 + 0x58]
mov r8, rbp
shl r9, 8
mov rdx, rbp
or r9, rcx
ror r8, 0x29
movzx ecx, byte [r12 + 0x59]
not rdx
shl r9, 8
and rdx, r10
or r9, rcx
movzx ecx, byte [r12 + 0x5a]
shl r9, 8
or r9, rcx
movzx ecx, byte [r12 + 0x5b]
shl r9, 8
or r9, rcx
movzx ecx, byte [r12 + 0x5c]
shl r9, 8
or r9, rcx
movzx ecx, byte [r12 + 0x5d]
shl r9, 8
or r9, rcx
mov rcx, rbp
ror rcx, 0x12
xor r8, rcx
mov qword [rsp + 0x40], r9
mov rcx, rbp
ror rcx, 0xe
xor r8, rcx
mov rcx, r14
and rcx, rbp
xor rdx, rcx
lea rcx, [rsi + r8]
movabs r8, 0x550c7dc3d5ffb4e2
add rdx, rcx
mov rsi, rax
add r8, rdx
xor rsi, rdi
add r8, r9
and rsi, r13
movzx r9d, byte [r12 + 0x5e]
add r11, r8
shl r9, 8
mov rdx, rdi
ror rdx, 0x27
mov rcx, rdi
ror rcx, 0x22
xor rdx, rcx
mov rcx, rdi
ror rcx, 0x1c
xor rdx, rcx
mov rcx, rax
and rcx, rdi
xor rsi, rcx
lea rcx, [r8 + rdx]
mov r8, r11
add rsi, rcx
movzx ecx, byte [r12 + 0x5f]
or r9, rcx
movzx ecx, byte [r12 + 0x60]
shl r9, 8
or r9, rcx
movzx ecx, byte [r12 + 0x61]
shl r9, 8
or r9, rcx
movzx ecx, byte [r12 + 0x62]
shl r9, 8
or r9, rcx
movzx ecx, byte [r12 + 0x63]
shl r9, 8
or r9, rcx
movzx ecx, byte [r12 + 0x64]
shl r9, 8
or r9, rcx
movzx ecx, byte [r12 + 0x65]
shl r9, 8
or r9, rcx
mov rcx, r11
mov qword [rsp + 0x60], r9
ror r8, 0x29
mov r15, qword [rsp + 0x78]
mov rdx, r11
ror rcx, 0x12
not rdx
xor r8, rcx
and rdx, r14
mov rcx, r11
mov r12, rdi
ror rcx, 0xe
xor r12, rsi
xor r8, rcx
and r12, rax
mov rcx, rbp
and rcx, r11
xor rdx, rcx
lea rcx, [r10 + r8]
movabs r8, 0x72be5d74f27b896f
add rdx, rcx
mov rcx, rsi
ror rcx, 0x22
add r8, rdx
add r8, r9
mov rdx, rsi
movzx r9d, byte [r15 + 0x66]
add r13, r8
shl r9, 8
ror rdx, 0x27
xor rdx, rcx
mov rcx, rsi
ror rcx, 0x1c
xor rdx, rcx
mov rcx, rdi
and rcx, rsi
xor r12, rcx
lea rcx, [r8 + rdx]
mov r8, r13
add r12, rcx
ror r8, 0x29
movzx ecx, byte [r15 + 0x67]
mov rdx, r13
or r9, rcx
not rdx
movzx ecx, byte [r15 + 0x68]
and rdx, rbp
shl r9, 8
or r9, rcx
movzx ecx, byte [r15 + 0x69]
shl r9, 8
or r9, rcx
movzx ecx, byte [r15 + 0x6a]
shl r9, 8
or r9, rcx
movzx ecx, byte [r15 + 0x6b]
shl r9, 8
or r9, rcx
movzx ecx, byte [r15 + 0x6c]
shl r9, 8
or r9, rcx
movzx ecx, byte [r15 + 0x6d]
shl r9, 8
or r9, rcx
mov rcx, r13
ror rcx, 0x12
xor r8, rcx
mov qword [rsp + 8], r9
mov rcx, r13
ror rcx, 0xe
xor r8, rcx
mov rcx, r13
and rcx, r11
xor rdx, rcx
lea rcx, [r9 + r8]
movabs r8, 0x80deb1fe3b1696b1
add rdx, rcx
mov rcx, r12
add r8, rdx
mov rdx, r12
add r8, r14
ror rdx, 0x27
add rax, r8
ror rcx, 0x22
xor rdx, rcx
movzx r9d, byte [r15 + 0x6e]
movzx r10d, byte [r15 + 0x76]
mov rcx, r12
ror rcx, 0x1c
mov r14, rsi
xor rdx, rcx
shl r9, 8
xor r14, r12
shl r10, 8
and r14, rdi
mov rcx, rsi
and rcx, r12
mov rbx, r12
xor r14, rcx
lea rcx, [r8 + rdx]
add r14, rcx
mov r8, rax
movzx ecx, byte [r15 + 0x6f]
xor rbx, r14
or r9, rcx
ror r8, 0x29
movzx ecx, byte [r15 + 0x70]
and rbx, rsi
shl r9, 8
mov rdx, rax
or r9, rcx
not rdx
movzx ecx, byte [r15 + 0x71]
and rdx, r11
shl r9, 8
or r9, rcx
movzx ecx, byte [r15 + 0x72]
shl r9, 8
or r9, rcx
movzx ecx, byte [r15 + 0x73]
shl r9, 8
or r9, rcx
movzx ecx, byte [r15 + 0x74]
shl r9, 8
or r9, rcx
movzx ecx, byte [r15 + 0x75]
shl r9, 8
or r9, rcx
mov rcx, rax
ror rcx, 0x12
xor r8, rcx
mov qword [rsp + 0x68], r9
mov rcx, rax
ror rcx, 0xe
xor r8, rcx
mov rcx, r13
and rcx, rax
xor rdx, rcx
lea rcx, [r9 + r8]
movabs r8, 0x9bdc06a725c71235
add rdx, rcx
mov rcx, r14
ror rcx, 0x22
add r8, rdx
add r8, rbp
mov rdx, r14
ror rdx, 0x27
add rdi, r8
xor rdx, rcx
mov rcx, r14
ror rcx, 0x1c
xor rdx, rcx
mov rcx, r12
and rcx, r14
xor rbx, rcx
lea rcx, [r8 + rdx]
add rbx, rcx
movzx ecx, byte [r15 + 0x77]
or r10, rcx
movzx ecx, byte [r15 + 0x78]
shl r10, 8
or r10, rcx
movzx ecx, byte [r15 + 0x79]
shl r10, 8
or r10, rcx
movzx ecx, byte [r15 + 0x7a]
mov r8, rdi
mov rbp, qword [rsp + 0x48]
mov rdx, rdi
shl r10, 8
not rdx
or r10, rcx
ror r8, 0x29
movzx ecx, byte [r15 + 0x7b]
and rdx, r13
shl r10, 8
or r10, rcx
movzx ecx, byte [r15 + 0x7c]
shl r10, 8
or r10, rcx
movzx ecx, byte [r15 + 0x7d]
shl r10, 8
or r10, rcx
mov rcx, rdi
ror rcx, 0x12
xor r8, rcx
mov qword [rsp + 0x50], r10
mov rcx, rdi
ror rcx, 0xe
xor r8, rcx
mov rcx, rax
and rcx, rdi
xor rdx, rcx
lea rcx, [r10 + r8]
movabs r8, 0xc19bf174cf692694
add rdx, rcx
lea r10, [0x140348cb0]
add r8, rdx
mov qword [rsp + 0x70], r10
add r8, r11
mov rdx, rbx
ror rdx, 0x27
mov rcx, rbx
ror rcx, 0x22
mov r11, r14
xor rdx, rcx
xor r11, rbx
and r11, r12
mov rcx, rbx
ror rcx, 0x1c
add rsi, r8
xor rdx, rcx
mov rcx, r14
and rcx, rbx
xor r11, rcx
lea rcx, [r8 + rdx]
add r11, rcx
nop
mov r8, r9
mov rcx, r9
ror rcx, 0x13
mov r15, rbx
ror r8, 0x3d
xor r15, r11
xor r8, rcx
mov rcx, r9
mov r9, qword [rsp + 0x18]
shr rcx, 6
mov rdx, r9
xor r8, rcx
ror rdx, 8
mov rcx, r9
ror rcx, 1
xor rdx, rcx
mov rcx, r9
shr rcx, 7
mov r9, rbx
xor rdx, rcx
and r9, r11
mov rcx, qword [rsp + 0x118]
add rcx, r8
mov r8, rsi
add rdx, rcx
ror r8, 0x29
add rbp, rdx
mov rcx, rsi
ror rcx, 0x12
mov rdx, rsi
xor r8, rcx
mov qword [rsp + 0x48], rbp
not rdx
mov rcx, rsi
ror rcx, 0xe
and rdx, rax
xor r8, rcx
mov rcx, rdi
and rcx, rsi
xor rdx, rcx
mov rcx, r11
add r8, rdx
ror rcx, 0x22
add r8, qword [r10 - 0x10]
mov rdx, r11
ror rdx, 0x27
add r8, rbp
xor rdx, rcx
add r8, r13
mov r13, qword [rsp + 0x30]
add r12, r8
mov rcx, r11
mov r10, r15
ror rcx, 0x1c
and r10, r14
xor rcx, rdx
xor r10, r9
mov rdx, qword [rsp + 0x50]
add rcx, r8
add r10, rcx
mov r8, rdx
mov rcx, rdx
ror r8, 0x3d
ror rcx, 0x13
xor r8, rcx
mov rcx, rdx
shr rcx, 6
mov rdx, r13
xor r8, rcx
ror rdx, 8
mov rcx, r13
ror rcx, 1
xor rdx, rcx
mov rcx, r13
shr rcx, 7
xor rdx, rcx
mov rcx, qword [rsp + 0x38]
add rcx, r8
mov r8, r12
add rdx, rcx
add qword [rsp + 0x18], rdx
mov r13, qword [rsp + 0x70]
and r15, r10
ror r8, 0x29
xor r15, r9
mov r9, qword [rsp + 0x30]
mov rcx, r12
ror rcx, 0x12
mov rdx, r12
xor r8, rcx
not rdx
and rdx, rdi
mov rcx, r12
ror rcx, 0xe
xor r8, rcx
mov rcx, rsi
and rcx, r12
xor rdx, rcx
mov rcx, r10
add r8, rdx
ror rcx, 0x27
add r8, qword [r13 - 8]
mov rdx, rbp
add r8, qword [rsp + 0x18]
add r8, rax
ror rdx, 0x3d
add r14, r8
mov rax, r10
ror rax, 0x22
xor rcx, rax
mov rax, r10
ror rax, 0x1c
xor rax, rcx
add rax, r8
add r15, rax
mov rax, rbp
ror rax, 0x13
xor rdx, rax
mov rax, rbp
mov rbp, qword [rsp + 0x58]
shr rax, 6
mov rcx, rbp
xor rdx, rax
ror rcx, 8
mov rax, rbp
ror rax, 1
xor rcx, rax
mov rax, rbp
shr rax, 7
xor rcx, rax
mov rax, qword [rsp + 0x40]
add rax, rdx
mov rdx, r14
add rcx, rax
not rdx
add r9, rcx
and rdx, rsi
mov rcx, r14
mov qword [rsp + 0x30], r9
ror rcx, 0x29
mov rax, r14
ror rax, 0x12
xor rcx, rax
mov rax, r14
ror rax, 0xe
xor rcx, rax
mov rax, r12
and rax, r14
xor rdx, rax
lea rax, [r9 + rcx]
mov rcx, r15
add rdx, rax
ror rcx, 0x27
add rdx, qword [r13]
mov rax, r15
ror rax, 0x22
add rdx, rdi
xor rcx, rax
add rbx, rdx
mov rax, r15
ror rax, 0x1c
xor rcx, rax
mov r8, qword [rsp + 0x18]
mov rdi, r15
xor rdi, r11
mov rax, r15
and rax, r11
and rdi, r10
xor rdi, rax
lea rax, [rdx + rcx]
add rdi, rax
mov rdx, r8
ror rdx, 0x3d
mov rax, r8
ror rax, 0x13
xor rdx, rax
mov rax, r8
shr rax, 6
xor rdx, rax
mov rax, qword [rsp + 0x20]
mov rcx, rax
ror rax, 1
ror rcx, 8
xor rcx, rax
mov rax, qword [rsp + 0x20]
shr rax, 7
xor rcx, rax
mov rax, qword [rsp + 0x60]
add rax, rdx
mov rdx, rbx
add rcx, rax
ror rdx, 0x29
add rbp, rcx
mov rax, rbx
ror rax, 0x12
mov rcx, rbx
xor rdx, rax
mov qword [rsp + 0x58], rbp
not rcx
mov rax, rbx
ror rax, 0xe
and rcx, r12
xor rdx, rax
mov rax, r14
and rax, rbx
xor rcx, rax
mov rax, rdi
add rdx, rcx
ror rax, 0x22
add rdx, qword [r13 + 8]
mov rcx, rdi
ror rcx, 0x27
add rdx, rbp
xor rcx, rax
add rdx, rsi
add r11, rdx
mov rax, rdi
ror rax, 0x1c
mov rsi, r15
xor rcx, rax
xor rsi, rdi
and rsi, r10
mov rax, r15
and rax, rdi
xor rsi, rax
lea rax, [rdx + rcx]
mov rdx, r9
add rsi, rax
ror rdx, 0x3d
mov rax, r9
ror rax, 0x13
xor rdx, rax
mov rax, r9
mov r9, qword [rsp + 0x128]
shr rax, 6
mov rcx, r9
xor rdx, rax
ror rcx, 8
mov rax, r9
ror rax, 1
xor rcx, rax
mov rax, r9
shr rax, 7
xor rcx, rax
mov r9, qword [rsp + 0x20]
mov rax, qword [rsp + 8]
mov rbp, rdi
add rax, rdx
xor rbp, rsi
add rcx, rax
and rbp, r15
add r9, rcx
mov rax, r11
ror rax, 0x12
mov rdx, r11
ror rdx, 0x29
mov rcx, r11
xor rdx, rax
mov qword [rsp + 0x20], r9
not rcx
mov rax, r11
ror rax, 0xe
and rcx, r14
xor rdx, rax
mov rax, rbx
and rax, r11
xor rcx, rax
mov rax, rsi
add rdx, rcx
ror rax, 0x22
add rdx, qword [r13 + 0x10]
mov rcx, rsi
add rdx, r9
ror rcx, 0x27
xor rcx, rax
add rdx, r12
mov r12, qword [rsp + 0x58]
add r10, rdx
mov rax, rsi
ror rax, 0x1c
xor rcx, rax
mov rax, rdi
and rax, rsi
xor rbp, rax
lea rax, [rdx + rcx]
mov rdx, r12
add rbp, rax
ror rdx, 0x3d
mov rax, r12
ror rax, 0x13
xor rdx, rax
mov rax, r12
shr rax, 6
xor rdx, rax
mov rax, qword [rsp + 0x28]
mov rcx, rax
ror rax, 1
ror rcx, 8
xor rcx, rax
mov rax, qword [rsp + 0x28]
shr rax, 7
xor rcx, rax
mov rax, qword [rsp + 0x68]
add rax, rdx
mov rdx, r10
add rcx, rax
ror rdx, 0x29
add qword [rsp + 0x128], rcx
mov rax, r10
ror rax, 0x12
mov rcx, r10
xor rdx, rax
not rcx
and rcx, rbx
mov rax, r10
ror rax, 0xe
xor rdx, rax
mov rax, r10
and rax, r11
xor rcx, rax
add rdx, rcx
add rdx, qword [r13 + 0x18]
add rdx, qword [rsp + 0x128]
add rdx, r14
add r15, rdx
mov rcx, rbp
ror rcx, 0x27
mov rax, rbp
ror rax, 0x22
mov r14, rsi
xor rcx, rax
xor r14, rbp
and r14, rdi
mov rax, rbp
ror rax, 0x1c
xor rcx, rax
mov rax, rsi
and rax, rbp
xor r14, rax
lea rax, [rdx + rcx]
mov rdx, r9
add r14, rax
ror rdx, 0x3d
mov rax, r9
ror rax, 0x13
xor rdx, rax
mov rax, r9
mov r9, qword [rsp]
shr rax, 6
mov rcx, r9
xor rdx, rax
ror rcx, 8
mov rax, r9
ror rax, 1
xor rcx, rax
mov rax, r9
mov r9, qword [rsp + 0x28]
shr rax, 7
xor rcx, rax
mov rax, qword [rsp + 0x50]
add rax, rdx
mov rdx, r15
add rcx, rax
ror rdx, 0x29
add r9, rcx
mov rax, r15
ror rax, 0x12
mov rcx, r15
xor rdx, rax
mov qword [rsp + 0x28], r9
not rcx
mov rax, r15
ror rax, 0xe
and rcx, r11
xor rdx, rax
mov rax, r10
and rax, r15
xor rcx, rax
mov rax, r14
add rdx, rcx
ror rax, 0x22
add rdx, qword [r13 + 0x20]
mov rcx, r14
ror rcx, 0x27
add rdx, r9
xor rcx, rax
add rdx, rbx
add rdi, rdx
mov rax, r14
ror rax, 0x1c
mov rbx, rbp
xor rcx, rax
xor rbx, r14
and rbx, rsi
mov rax, rbp
and rax, r14
xor rbx, rax
lea rax, [rdx + rcx]
mov rcx, qword [rsp + 0x128]
add rbx, rax
mov rdx, rcx
mov rax, rcx
ror rdx, 0x3d
ror rax, 0x13
xor rdx, rax
mov rax, rcx
shr rax, 6
xor rdx, rax
mov rax, qword [rsp + 0x10]
mov rcx, rax
ror rax, 1
ror rcx, 8
xor rcx, rax
mov rax, qword [rsp + 0x10]
shr rax, 7
xor rcx, rax
mov rax, qword [rsp]
add rax, rdx
mov rdx, rdi
add rcx, rax
ror rdx, 0x29
mov rax, qword [rsp + 0x48]
add rax, rcx
mov rcx, rdi
mov qword [rsp], rax
not rcx
and rcx, r10
mov rax, rdi
ror rax, 0x12
xor rdx, rax
mov rax, rdi
ror rax, 0xe
xor rdx, rax
mov rax, r15
and rax, rdi
xor rcx, rax
mov rax, rbx
add rdx, rcx
ror rax, 0x22
add rdx, qword [r13 + 0x28]
mov rcx, rbx
add rdx, qword [rsp]
add rdx, r11
ror rcx, 0x27
xor rcx, rax
add rsi, rdx
mov rax, rbx
mov r11, r14
ror rax, 0x1c
xor r11, rbx
xor rcx, rax
and r11, rbp
mov rax, r14
and rax, rbx
xor r11, rax
lea rax, [rdx + rcx]
mov rcx, qword [rsp + 0x118]
add r11, rax
mov rdx, rcx
ror rdx, 8
mov rax, rcx
ror rax, 1
xor rdx, rax
mov rax, rcx
shr rax, 7
mov rcx, r9
xor rdx, rax
ror rcx, 0x3d
add rdx, qword [rsp + 0x10]
mov rax, r9
ror rax, 0x13
xor rcx, rax
mov rax, r9
shr rax, 6
xor rcx, rax
mov rax, rsi
ror rax, 0x12
add rdx, rcx
add rdx, r8
mov r8, rsi
ror r8, 0x29
xor r8, rax
mov qword [rsp + 0x10], rdx
mov rax, rsi
ror rax, 0xe
xor r8, rax
mov rcx, rsi
mov rax, rdi
not rcx
and rax, rsi
and rcx, r15
mov r9, rbx
xor rcx, rax
and r9, r11
add r8, rcx
mov rax, rbx
add r8, qword [r13 + 0x30]
xor rax, r11
add r8, rdx
mov r13, rax
add r8, r10
and r13, r14
mov r10, qword [rsp]
add rbp, r8
xor r13, r9
mov rdx, r11
ror rdx, 0x27
mov rcx, r11
ror rcx, 0x22
xor rdx, rcx
mov rcx, r11
ror rcx, 0x1c
xor rcx, rdx
mov rdx, qword [rsp + 0x38]
add rcx, r8
mov r8, rdx
add r13, rcx
ror r8, 8
mov rcx, rdx
ror rcx, 1
xor r8, rcx
mov rcx, rdx
shr rcx, 7
mov rdx, r10
xor r8, rcx
ror rdx, 0x3d
mov rcx, r10
ror rcx, 0x13
xor rdx, rcx
mov rcx, r10
mov r10, qword [rsp + 0x70]
shr rcx, 6
xor rdx, rcx
mov rcx, qword [rsp + 0x118]
add rcx, r8
mov r8, rbp
add rdx, rcx
ror r8, 0x29
mov rcx, qword [rsp + 0x30]
add rcx, rdx
mov rdx, rbp
mov qword [rsp + 0x118], rcx
not rdx
and rdx, rdi
mov rcx, rbp
ror rcx, 0x12
xor r8, rcx
mov rcx, rbp
ror rcx, 0xe
xor r8, rcx
mov rcx, rsi
and rcx, rbp
xor rdx, rcx
mov rcx, r13
add r8, rdx
ror rcx, 0x22
add r8, qword [r10 + 0x38]
mov rdx, r13
add r8, qword [rsp + 0x118]
ror rdx, 0x27
add r8, r15
xor rdx, rcx
add r14, r8
mov rcx, r13
ror rcx, 0x1c
xor rcx, rdx
and rax, r13
add rcx, r8
mov rdx, qword [rsp + 0x40]
mov r8, rdx
xor rax, r9
mov r9, qword [rsp + 0x10]
add rax, rcx
ror r8, 8
mov rcx, rdx
ror rcx, 1
mov r15, r9
xor r8, rcx
ror r15, 0x3d
mov rcx, rdx
mov rdx, r14
shr rcx, 7
not rdx
xor r8, rcx
and rdx, rsi
mov rcx, r9
ror rcx, 0x13
xor r15, rcx
mov rcx, r9
mov r9, qword [rsp + 0x118]
shr rcx, 6
xor r15, rcx
mov rcx, qword [rsp + 0x38]
add rcx, r8
mov r8, r14
add r15, rcx
ror r8, 0x29
add r15, r12
mov rcx, r14
mov r12, qword [rsp + 0x60]
ror rcx, 0x12
xor r8, rcx
mov qword [rsp + 0x38], r15
mov rcx, r14
ror rcx, 0xe
xor r8, rcx
mov rcx, rbp
and rcx, r14
xor rdx, rcx
mov rcx, rax
add r8, rdx
ror rcx, 0x22
add r8, qword [r10 + 0x40]
mov rdx, rax
ror rdx, 0x27
add r8, r15
xor rdx, rcx
add r8, rdi
add rbx, r8
mov rcx, rax
ror rcx, 0x1c
mov rdi, rax
xor rdx, rcx
xor rdi, r11
and rdi, r13
mov rcx, rax
and rcx, r11
xor rdi, rcx
lea rcx, [r8 + rdx]
mov rdx, r9
add rdi, rcx
ror rdx, 0x3d
mov rcx, r12
mov r8, r12
ror rcx, 1
ror r8, 8
xor r8, rcx
mov rcx, r12
shr rcx, 7
xor r8, rcx
mov rcx, r9
ror rcx, 0x13
xor rdx, rcx
mov rcx, r9
mov r9, qword [rsp + 0x40]
shr rcx, 6
xor rdx, rcx
add r9, r8
add r9, rdx
mov r8, rbx
add r9, qword [rsp + 0x20]
mov rcx, rbx
ror rcx, 0x12
mov rdx, rbx
ror r8, 0x29
not rdx
xor r8, rcx
mov qword [rsp + 0x40], r9
and rdx, rbp
mov rcx, rbx
ror rcx, 0xe
xor r8, rcx
mov rcx, r14
and rcx, rbx
xor rdx, rcx
mov rcx, rdi
add r8, rdx
ror rcx, 0x22
add r8, qword [r10 + 0x48]
mov rdx, rdi
add r8, r9
ror rdx, 0x27
xor rdx, rcx
add r8, rsi
add r11, r8
mov rcx, rdi
ror rcx, 0x1c
mov rsi, rax
xor rdx, rcx
xor rsi, rdi
and rsi, r13
mov rcx, rax
and rcx, rdi
xor rsi, rcx
lea rcx, [r8 + rdx]
mov rdx, qword [rsp + 8]
add rsi, rcx
mov r8, rdx
ror r8, 8
mov rcx, rdx
ror rcx, 1
xor r8, rcx
mov rcx, rdx
shr rcx, 7
mov rdx, r15
xor r8, rcx
ror rdx, 0x3d
mov rcx, r15
shr r15, 6
ror rcx, 0x13
xor rdx, rcx
lea rcx, [r12 + r8]
xor r15, rdx
add r15, rcx
mov r8, r11
add r15, qword [rsp + 0x128]
mov rcx, r11
ror rcx, 0x12
mov rdx, r11
ror r8, 0x29
not rdx
xor r8, rcx
mov qword [rsp + 0x60], r15
and rdx, r14
mov rcx, r11
ror rcx, 0xe
xor r8, rcx
mov rcx, rbx
and rcx, r11
xor rdx, rcx
mov rcx, rsi
add r8, rdx
mov rdx, rsi
add r8, qword [r10 + 0x50]
add r8, r15
ror rdx, 0x27
add r8, rbp
add r13, r8
ror rcx, 0x22
xor rdx, rcx
mov r12, rdi
xor r12, rsi
mov rcx, rsi
ror rcx, 0x1c
and r12, rax
xor rdx, rcx
mov rcx, rdi
and rcx, rsi
xor r12, rcx
lea rcx, [r8 + rdx]
mov r8, r9
add r12, rcx
ror r8, 0x3d
mov rcx, r9
mov rdx, r13
ror rcx, 0x13
not rdx
xor r8, rcx
and rdx, rbx
mov rcx, r9
mov r9, qword [rsp + 0x68]
shr rcx, 6
mov rbp, r9
xor r8, rcx
ror rbp, 8
mov rcx, r9
ror rcx, 1
xor rbp, rcx
mov rcx, r9
shr rcx, 7
xor rbp, rcx
mov rcx, qword [rsp + 8]
add rcx, r8
mov r8, r13
add rbp, rcx
ror r8, 0x29
add rbp, qword [rsp + 0x28]
mov rcx, r13
ror rcx, 0x12
xor r8, rcx
mov qword [rsp + 8], rbp
mov rcx, r13
ror rcx, 0xe
xor r8, rcx
mov rcx, r13
and rcx, r11
xor rdx, rcx
mov rcx, r12
add r8, rdx
ror rcx, 0x22
add r8, qword [r10 + 0x58]
mov rdx, r12
add r8, rbp
ror rdx, 0x27
xor rdx, rcx
add r8, r14
add rax, r8
mov rcx, r12
ror rcx, 0x1c
mov r14, rsi
xor rdx, rcx
xor r14, r12
and r14, rdi
mov rcx, rsi
and rcx, r12
xor r14, rcx
lea rcx, [r8 + rdx]
mov r8, r15
add r14, rcx
ror r8, 0x3d
mov rcx, r15
ror rcx, 0x13
xor r8, rcx
mov rcx, r15
mov r15, qword [rsp + 0x50]
shr rcx, 6
mov rdx, r15
xor r8, rcx
mov rcx, r15
ror rdx, 8
ror rcx, 1
xor rdx, rcx
mov rbp, qword [rsp + 0x48]
mov rcx, r15
shr rcx, 7
xor rdx, rcx
mov rcx, qword [rsp]
add rcx, r8
mov r8, rax
add rdx, rcx
ror r8, 0x29
add r9, rdx
mov rcx, rax
ror rcx, 0x12
mov rdx, rax
xor r8, rcx
mov qword [rsp + 0x68], r9
not rdx
mov rcx, rax
ror rcx, 0xe
and rdx, r11
xor r8, rcx
mov rcx, r13
and rcx, rax
xor rdx, rcx
mov rcx, r14
add r8, rdx
ror rcx, 0x22
add r8, qword [r10 + 0x60]
mov rdx, r14
ror rdx, 0x27
add r8, r9
xor rdx, rcx
add r8, rbx
add rdi, r8
mov rcx, r14
ror rcx, 0x1c
mov rbx, r12
xor rdx, rcx
xor rbx, r14
and rbx, rsi
mov rcx, r12
and rcx, r14
xor rbx, rcx
lea rcx, [r8 + rdx]
mov r8, rbp
add rbx, rcx
ror r8, 8
mov rcx, rbp
ror rcx, 1
xor r8, rcx
mov rcx, rbp
shr rcx, 7
xor r8, rcx
mov rcx, qword [rsp + 8]
mov rdx, rcx
ror rcx, 0x13
ror rdx, 0x3d
xor rdx, rcx
mov rcx, qword [rsp + 8]
shr rcx, 6
xor rdx, rcx
mov rcx, qword [rsp + 0x10]
add rcx, r8
mov r8, rdi
add rdx, rcx
ror r8, 0x29
add r15, rdx
mov rcx, rdi
ror rcx, 0x12
mov rdx, rdi
xor r8, rcx
mov qword [rsp + 0x50], r15
not rdx
mov rcx, rdi
ror rcx, 0xe
and rdx, r13
xor r8, rcx
mov rcx, rax
and rcx, rdi
xor rdx, rcx
add r8, rdx
mov rcx, rbx
add r8, qword [r10 + 0x68]
mov rdx, rbx
ror rcx, 0x22
add r8, r15
add r8, r11
ror rdx, 0x27
xor rdx, rcx
sub r10, 0xffffffffffffff80
mov rcx, rbx
mov qword [rsp + 0x70], r10
ror rcx, 0x1c
mov r11, r14
xor rdx, rcx
xor r11, rbx
and r11, r12
mov rcx, r14
and rcx, rbx
add rsi, r8
xor r11, rcx
lea rcx, [r8 + rdx]
add r11, rcx
lea rcx, [0x140348eb0]
cmp r10, rcx
jl 0x1401dad90
mov rcx, qword [rsp + 0x110]
mov r8, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x80]
add r8, rbx
mov rbx, qword [rsp + 0xa8]
add rdx, r11
mov r9, qword [rsp + 0x90]
add rbx, rdi
mov rdi, qword [rsp + 0xb0]
add r9, r14
mov r10, qword [rsp + 0x98]
add rdi, rax
mov rax, qword [rsp + 0xb8]
add r10, r12
mov r11, qword [rsp + 0xa0]
add rax, r13
mov r12, qword [rsp + 0x78]
add r11, rsi
sub r12, 0xffffffffffffff80
mov qword [rsp + 0x90], r9
mov r13, r9
mov qword [rcx + 0x10], r9
mov qword [rsp + 0xb8], rax
mov r9, rax
mov qword [rcx + 0x38], rax
mov rbp, r11
mov rax, qword [rsp + 0x120]
mov rsi, rdx
mov qword [rsp + 0xa0], r11
mov r14, r8
mov qword [rcx + 0x20], r11
mov r11, rbx
mov qword [rsp + 0xa8], rbx
mov qword [rcx + 0x28], rbx
movabs rbx, 0x428a2f98d728ae22
mov qword [rsp + 0x80], rdx
mov qword [rcx], rdx
mov qword [rsp + 0x88], r8
mov qword [rcx + 8], r8
mov qword [rsp + 0x98], r10
mov qword [rcx + 0x18], r10
mov qword [rsp + 0xb0], rdi
mov qword [rcx + 0x30], rdi
mov qword [rsp + 0x78], r12
test rax, rax
jne 0x1401d9f90
mov r15, qword [rsp + 0xc8]
mov r14, qword [rsp + 0xd0]
mov r13, qword [rsp + 0xd8]
mov r12, qword [rsp + 0xe0]
mov rdi, qword [rsp + 0xe8]
mov rsi, qword [rsp + 0xf0]
mov rbp, qword [rsp + 0xf8]
mov rbx, qword [rsp + 0x100]
add rsp, 0x108
ret