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

Disassembly:
test r8, r8
je 0x1800b1924
mov r11, rsp
mov qword [r11 + 8], rcx
sub rsp, 0x108
mov r9, qword [rcx + 0x38]
mov rax, r8
mov r10, qword [rcx + 0x18]
mov qword [r11 - 8], rbx
movabs rbx, 0x428a2f98d728ae22
mov qword [r11 - 0x10], rbp
mov rbp, qword [rcx + 0x20]
mov qword [r11 - 0x18], rsi
mov rsi, qword [rcx]
mov qword [r11 - 0x20], rdi
mov rdi, qword [rcx + 0x30]
mov qword [r11 - 0x28], r12
lea r12, [rdx + 2]
mov qword [r11 - 0x30], r13
mov r13, qword [rcx + 0x10]
mov qword [r11 - 0x38], r14
mov r14, qword [rcx + 8]
mov qword [r11 - 0x40], r15
mov r11, qword [rcx + 0x28]
mov qword [rsp + 0xa8], r11
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x90], r13
mov qword [rsp + 0x98], r10
mov qword [rsp + 0xa0], rbp
mov qword [rsp + 0xb0], rdi
mov qword [rsp + 0xb8], r9
mov qword [rsp + 0x78], r12
nop dword [rax]
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
rol rdx, 0x17
movzx eax, byte [r12]
and rcx, rdi
shl r8, 8
mov r15, rsi
or r8, rax
xor r15, r14
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 + 0x50], r8
mov rax, rbp
ror rax, 0xe
xor rdx, rax
mov rax, rbp
and rax, r11
add rdx, r8
xor rcx, rax
mov r8, rsi
add rdx, rcx
and r8, r14
add rdx, rbx
mov rcx, rsi
add rdx, r9
rol rcx, 0x1e
movzx r9d, byte [r12 + 6]
mov rax, rsi
ror rax, 0x1c
mov rbx, r13
shl r9, 8
xor rcx, rax
and rbx, r15
mov rax, rsi
rol rax, 0x19
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
rol rdx, 0x17
not rcx
xor rdx, rax
mov qword [rsp + 0x10], 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, 0x1c
add rdx, rcx
add rdx, rdi
mov rcx, rbx
rol rcx, 0x1e
xor rcx, rax
mov rax, rbx
rol rax, 0x19
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
rol rdx, 0x17
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
rol rcx, 0x1e
lea r8, [r14 + rdx]
movzx r11d, byte [r12 + 0x16]
mov rdi, rsi
ror rax, 0x1c
xor rdi, r15
xor rcx, rax
shl r11, 8
and rdi, rbx
mov rax, r15
rol rax, 0x19
xor rcx, rax
mov rax, rsi
and rax, r15
xor rdi, rax
lea rax, [rdx + rcx]
mov rdx, r8
add rdi, rax
rol rdx, 0x17
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 + 0x60], 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, 0x1c
add rdx, rcx
add rdx, rbp
mov rcx, rdi
movzx ebp, byte [r12 + 0x1e]
shl rbp, 8
rol rcx, 0x1e
xor rcx, rax
lea r11, [rsi + rdx]
mov rax, rdi
mov rsi, r15
rol rax, 0x19
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
rol rdx, 0x17
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 + 0x18], 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
rol rcx, 0x1e
mov rax, rsi
ror rax, 0x1c
xor rcx, rax
mov rax, rsi
rol rax, 0x19
xor rcx, rax
mov rax, rdi
and rax, rsi
xor r10, rax
lea rax, [rdx + rcx]
mov rdx, rbx
add r10, rax
rol rdx, 0x17
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, 0x1c
add rdx, rbp
add r15, rdx
mov rcx, r10
rol rcx, 0x1e
mov rbp, r10
xor rcx, rax
mov rax, r10
rol rax, 0x19
xor rcx, rax
mov rax, rsi
and rax, r10
xor r14, rax
lea rax, [rdx + rcx]
mov rdx, r15
add r14, rax
rol rdx, 0x17
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 + 0x40], 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, 0x1c
add rdx, r9
mov rcx, r14
rol rcx, 0x1e
add rdi, rdx
xor rcx, rax
mov rax, r14
rol rax, 0x19
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
rol rdx, 0x17
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, 0x1c
add rsi, rdx
rol rcx, 0x1e
xor rcx, rax
mov rax, rbp
rol rax, 0x19
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
rol rdx, 0x17
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 + 8], 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
rol rdx, 0x1e
add r8, rax
mov rcx, r11
ror rcx, 0x1c
add r10, r8
xor rdx, rcx
mov rax, rbp
xor rax, r11
mov rcx, r11
rol rcx, 0x19
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
rol r8, 0x17
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
rol rdx, 0x1e
add r14, r8
mov rcx, r13
ror rcx, 0x1c
xor rdx, rcx
mov rcx, r13
rol rcx, 0x19
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
rol r8, 0x17
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
rol rdx, 0x1e
mov rcx, rax
ror rcx, 0x1c
add rbp, r8
xor rdx, rcx
shl r9, 8
mov rcx, rax
rol rcx, 0x19
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
rol r8, 0x17
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 + 0x20], 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
rol rdx, 0x1e
mov rcx, rdi
ror rcx, 0x1c
xor rdx, rcx
mov rcx, rdi
rol rcx, 0x19
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 + 0x48], r9
rol r8, 0x17
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, 0x1c
add r8, rdx
add r8, r9
mov rdx, rsi
movzx r9d, byte [r15 + 0x66]
add r13, r8
shl r9, 8
rol rdx, 0x1e
xor rdx, rcx
mov rcx, rsi
rol rcx, 0x19
xor rdx, rcx
mov rcx, rdi
and rcx, rsi
xor r12, rcx
lea rcx, [r8 + rdx]
mov r8, r13
add r12, rcx
rol r8, 0x17
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 + 0x28], 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
rol rdx, 0x1e
add rax, r8
ror rcx, 0x1c
xor rdx, rcx
movzx r9d, byte [r15 + 0x6e]
movzx r10d, byte [r15 + 0x76]
mov rcx, r12
rol rcx, 0x19
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
rol r8, 0x17
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, 0x1c
add r8, rdx
add r8, rbp
mov rdx, r14
rol rdx, 0x1e
add rdi, r8
xor rdx, rcx
mov rcx, r14
rol rcx, 0x19
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 + 0x50]
mov rdx, rdi
shl r10, 8
not rdx
or r10, rcx
rol r8, 0x17
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 + 0x58], 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, [0x180139b90]
add r8, rdx
mov qword [rsp + 0x70], r10
add r8, r11
mov rdx, rbx
rol rdx, 0x1e
mov rcx, rbx
ror rcx, 0x1c
mov r11, r14
xor rdx, rcx
xor r11, rbx
and r11, r12
mov rcx, rbx
rol rcx, 0x19
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
rol rcx, 3
mov r15, rbx
ror r8, 0x13
xor r15, r11
xor r8, rcx
mov rcx, r9
mov r9, qword [rsp + 0x10]
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
rol r8, 0x17
add rbp, rdx
mov rcx, rsi
ror rcx, 0x12
mov rdx, rsi
xor r8, rcx
mov qword [rsp + 0x50], 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, 0x1c
add r8, qword [r10 - 0x10]
mov rdx, r11
rol rdx, 0x1e
add r8, rbp
xor rdx, rcx
add r8, r13
mov r13, qword [rsp + 0x30]
add r12, r8
mov rcx, r11
mov r10, r15
rol rcx, 0x19
and r10, r14
xor rcx, rdx
xor r10, r9
mov rdx, qword [rsp + 0x58]
add rcx, r8
add r10, rcx
mov r8, rdx
mov rcx, rdx
ror r8, 0x13
rol rcx, 3
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 + 0x10], rdx
mov r13, qword [rsp + 0x70]
and r15, r10
rol r8, 0x17
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
rol rcx, 0x1e
add r8, qword [r13 - 8]
mov rdx, rbp
add r8, qword [rsp + 0x10]
add r8, rax
ror rdx, 0x13
add r14, r8
mov rax, r10
ror rax, 0x1c
xor rcx, rax
mov rax, r10
rol rax, 0x19
xor rax, rcx
add rax, r8
add r15, rax
mov rax, rbp
rol rax, 3
xor rdx, rax
mov rax, rbp
mov rbp, qword [rsp + 0x60]
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 + 0x20]
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
rol rcx, 0x17
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
rol rcx, 0x1e
add rdx, qword [r13]
mov rax, r15
ror rax, 0x1c
add rdx, rdi
xor rcx, rax
add rbx, rdx
mov rax, r15
rol rax, 0x19
xor rcx, rax
mov r8, qword [rsp + 0x10]
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, 0x13
mov rax, r8
rol rax, 3
xor rdx, rax
mov rax, r8
shr rax, 6
xor rdx, rax
mov rax, qword [rsp + 0x18]
mov rcx, rax
ror rax, 1
ror rcx, 8
xor rcx, rax
mov rax, qword [rsp + 0x18]
shr rax, 7
xor rcx, rax
mov rax, qword [rsp + 0x48]
add rax, rdx
mov rdx, rbx
add rcx, rax
rol rdx, 0x17
add rbp, rcx
mov rax, rbx
ror rax, 0x12
mov rcx, rbx
xor rdx, rax
mov qword [rsp + 0x60], 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, 0x1c
add rdx, qword [r13 + 8]
mov rcx, rdi
rol rcx, 0x1e
add rdx, rbp
xor rcx, rax
add rdx, rsi
add r11, rdx
mov rax, rdi
rol rax, 0x19
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, 0x13
mov rax, r9
rol rax, 3
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 + 0x18]
mov rax, qword [rsp + 0x28]
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
rol rdx, 0x17
mov rcx, r11
xor rdx, rax
mov qword [rsp + 0x18], 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, 0x1c
add rdx, qword [r13 + 0x10]
mov rcx, rsi
rol rcx, 0x1e
add rdx, r9
xor rcx, rax
add rdx, r12
mov r12, qword [rsp + 0x60]
add r10, rdx
mov rax, rsi
rol rax, 0x19
xor rcx, rax
mov rax, rdi
and rax, rsi
xor rbp, rax
lea rax, [rdx + rcx]
mov rcx, qword [rsp + 0x40]
add rbp, rax
mov rdx, rcx
mov rax, rcx
ror rdx, 8
ror rax, 1
xor rdx, rax
mov rax, rcx
shr rax, 7
mov rcx, r12
xor rdx, rax
ror rcx, 0x13
mov rax, r12
rol rax, 3
xor rcx, rax
mov rax, r12
shr rax, 6
xor rcx, rax
mov rax, qword [rsp + 0x68]
add rax, rdx
mov rdx, r10
add rcx, rax
rol rdx, 0x17
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
mov rcx, rbp
add r15, rdx
rol rcx, 0x1e
mov rax, rbp
mov r14, rsi
ror rax, 0x1c
xor r14, rbp
xor rcx, rax
and r14, rdi
mov rax, rbp
rol rax, 0x19
xor rcx, rax
mov rax, rsi
and rax, rbp
xor r14, rax
lea rax, [rdx + rcx]
mov rcx, qword [rsp]
add r14, rax
mov rdx, rcx
mov rax, rcx
ror rdx, 8
ror rax, 1
xor rdx, rax
mov rax, rcx
shr rax, 7
mov rcx, r9
xor rdx, rax
ror rcx, 0x13
mov rax, r9
rol rax, 3
xor rcx, rax
mov rax, r9
mov r9, qword [rsp + 0x40]
shr rax, 6
xor rcx, rax
mov rax, qword [rsp + 0x58]
add rax, rdx
mov rdx, r15
add rcx, rax
rol rdx, 0x17
add r9, rcx
mov rax, r15
ror rax, 0x12
mov rcx, r15
xor rdx, rax
mov qword [rsp + 0x40], 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, 0x1c
add rdx, qword [r13 + 0x20]
mov rcx, r14
rol rcx, 0x1e
add rdx, r9
add rdx, rbx
xor rcx, rax
add rdi, rdx
mov rax, r14
rol rax, 0x19
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
ror rdx, 0x13
mov rax, rcx
rol rax, 3
xor rdx, rax
mov rax, rcx
shr rax, 6
xor rdx, rax
mov rax, qword [rsp + 8]
mov rcx, rax
ror rax, 1
ror rcx, 8
xor rcx, rax
mov rax, qword [rsp + 8]
shr rax, 7
xor rcx, rax
mov rax, qword [rsp]
add rax, rdx
mov rdx, rdi
add rcx, rax
rol rdx, 0x17
mov rax, qword [rsp + 0x50]
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, 0x1c
add rdx, qword [r13 + 0x28]
mov rcx, rbx
add rdx, qword [rsp]
add rdx, r11
rol rcx, 0x1e
xor rcx, rax
add rsi, rdx
mov rax, rbx
mov r11, r14
rol rax, 0x19
xor r11, rbx
xor rcx, rax
and r11, rbp
mov rax, r14
and rax, rbx
xor r11, rax
lea rax, [rdx + rcx]
mov rdx, r9
add r11, rax
ror rdx, 0x13
mov rax, r9
rol rax, 3
xor rdx, rax
mov rax, r9
mov r9, qword [rsp + 0x118]
shr rax, 6
mov rcx, r9
xor rdx, rax
ror rcx, 8
add rdx, qword [rsp + 8]
mov rax, r9
ror rax, 1
xor rcx, rax
mov rax, r9
shr rax, 7
xor rcx, rax
mov rax, rsi
ror rax, 0x12
add rdx, rcx
add rdx, r8
mov r8, rsi
rol r8, 0x17
xor r8, rax
mov qword [rsp + 8], rdx
mov rax, rsi
ror rax, 0xe
xor r8, rax
mov rcx, rsi
not rcx
mov rax, rdi
and rcx, r15
and rax, rsi
xor rcx, rax
mov r9, rbx
add r8, rcx
and r9, r11
add r8, qword [r13 + 0x30]
mov rcx, r11
add r8, rdx
ror rcx, 0x1c
add r8, r10
mov rdx, r11
mov r10, qword [rsp]
add rbp, r8
rol rdx, 0x1e
mov rax, rbx
xor rdx, rcx
xor rax, r11
mov rcx, r11
mov r13, rax
rol rcx, 0x19
and r13, r14
xor rcx, rdx
xor r13, r9
add rcx, r8
mov rdx, qword [rsp + 0x38]
add r13, rcx
mov r8, rdx
mov rcx, rdx
ror r8, 8
ror rcx, 1
xor r8, rcx
mov rcx, rdx
shr rcx, 7
mov rdx, r10
xor r8, rcx
ror rdx, 0x13
mov rcx, r10
rol rcx, 3
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
rol r8, 0x17
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, 0x1c
add r8, qword [r10 + 0x38]
mov rdx, r13
add r8, qword [rsp + 0x118]
rol rdx, 0x1e
add r8, r15
xor rdx, rcx
add r14, r8
mov rcx, r13
rol rcx, 0x19
xor rcx, rdx
add rcx, r8
mov rdx, qword [rsp + 0x20]
mov r8, rdx
and rax, r13
ror r8, 8
xor rax, r9
mov r9, qword [rsp + 8]
add rax, rcx
mov rcx, rdx
mov r15, r9
ror rcx, 1
xor r8, rcx
ror r15, 0x13
mov rcx, rdx
mov rdx, r14
shr rcx, 7
not rdx
xor r8, rcx
and rdx, rsi
mov rcx, r9
rol rcx, 3
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
rol r8, 0x17
add r15, r12
mov rcx, r14
mov r12, qword [rsp + 0x48]
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, 0x1c
add r8, qword [r10 + 0x40]
mov rdx, rax
rol rdx, 0x1e
add r8, r15
xor rdx, rcx
add r8, rdi
add rbx, r8
mov rcx, rax
rol rcx, 0x19
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, 0x13
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
rol rcx, 3
xor rdx, rcx
mov rcx, r9
mov r9, qword [rsp + 0x20]
shr rcx, 6
xor rdx, rcx
add r9, r8
mov rcx, rbx
ror rcx, 0x12
add r9, rdx
add r9, qword [rsp + 0x18]
mov r8, rbx
rol r8, 0x17
mov rdx, rbx
xor r8, rcx
mov qword [rsp + 0x20], r9
not rdx
mov rcx, rbx
ror rcx, 0xe
and rdx, rbp
xor r8, rcx
mov rcx, r14
and rcx, rbx
xor rdx, rcx
mov rcx, rdi
add r8, rdx
ror rcx, 0x1c
add r8, qword [r10 + 0x48]
mov rdx, rdi
add r8, r9
rol rdx, 0x1e
xor rdx, rcx
add r8, rsi
add r11, r8
mov rcx, rdi
rol rcx, 0x19
mov rsi, rax
xor rdx, rcx
xor rsi, rdi
and rsi, r13
mov rcx, rax
and rcx, rdi
mov r9, r15
xor rsi, rcx
ror r9, 0x13
lea rcx, [r8 + rdx]
mov rdx, qword [rsp + 0x28]
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, r11
xor r8, rcx
not rdx
and rdx, r14
mov rcx, r15
rol rcx, 3
xor r9, rcx
mov rcx, r15
shr rcx, 6
xor r9, rcx
lea rcx, [r12 + r8]
add r9, rcx
mov r8, r11
add r9, qword [rsp + 0x128]
mov rcx, r11
rol r8, 0x17
ror rcx, 0x12
xor r8, rcx
mov qword [rsp + 0x48], r9
mov rcx, r11
ror rcx, 0xe
xor r8, rcx
mov rcx, rbx
and rcx, r11
xor rdx, rcx
add r8, rdx
mov rdx, rsi
add r8, qword [r10 + 0x50]
add r8, r9
add r8, rbp
add r13, r8
rol rdx, 0x1e
mov r15, qword [rsp + 0x20]
mov rcx, rsi
mov r9, qword [rsp + 0x68]
mov r12, rdi
mov rbp, qword [rsp + 0x28]
xor r12, rsi
ror rcx, 0x1c
and r12, rax
xor rdx, rcx
mov rcx, rsi
rol rcx, 0x19
xor rdx, rcx
mov rcx, rdi
and rcx, rsi
xor r12, rcx
lea rcx, [r8 + rdx]
mov rdx, r15
add r12, rcx
ror rdx, 0x13
mov rcx, r9
mov r8, r9
ror rcx, 1
ror r8, 8
xor r8, rcx
mov rcx, r9
shr rcx, 7
xor r8, rcx
mov rcx, r15
rol rcx, 3
add rbp, r8
xor rdx, rcx
mov r8, r13
rol r8, 0x17
mov rcx, r15
mov r15, qword [rsp + 0x58]
shr rcx, 6
xor rdx, rcx
mov rcx, r13
ror rcx, 0x12
add rbp, rdx
add rbp, qword [rsp + 0x40]
xor r8, rcx
mov rcx, r13
mov qword [rsp + 0x28], rbp
ror rcx, 0xe
mov rdx, r13
xor r8, rcx
not rdx
and rdx, rbx
mov rcx, r13
and rcx, r11
xor rdx, rcx
mov rcx, r12
add r8, rdx
ror rcx, 0x1c
add r8, qword [r10 + 0x58]
mov rdx, r12
add r8, rbp
rol rdx, 0x1e
xor rdx, rcx
add r8, r14
add rax, r8
mov rcx, r12
rol rcx, 0x19
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, 8
mov rcx, r15
ror rcx, 1
xor r8, rcx
mov rcx, r15
shr rcx, 7
xor r8, rcx
mov rbp, qword [rsp + 0x48]
mov rdx, rbp
mov rcx, rbp
rol rcx, 3
ror rdx, 0x13
xor rdx, rcx
mov rcx, rbp
mov rbp, qword [rsp + 0x50]
shr rcx, 6
xor rdx, rcx
mov rcx, qword [rsp]
add rcx, r8
mov r8, rax
add rdx, rcx
rol r8, 0x17
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, 0x1c
add r8, qword [r10 + 0x60]
mov rdx, r14
rol rdx, 0x1e
add r8, r9
xor rdx, rcx
add r8, rbx
add rdi, r8
mov rcx, r14
rol rcx, 0x19
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 rdx, qword [rsp + 0x28]
add rbx, rcx
mov r8, rdx
mov rcx, rdx
ror r8, 0x13
rol rcx, 3
xor r8, rcx
mov rcx, rdx
shr rcx, 6
mov rdx, rbp
xor r8, rcx
ror rdx, 8
mov rcx, rbp
ror rcx, 1
xor rdx, rcx
mov rcx, rbp
shr rcx, 7
xor rdx, rcx
mov rcx, qword [rsp + 8]
add rcx, r8
mov r8, rdi
add rdx, rcx
rol r8, 0x17
add r15, rdx
mov rcx, rdi
ror rcx, 0x12
mov rdx, rdi
xor r8, rcx
mov qword [rsp + 0x58], r15
mov rcx, rdi
ror rcx, 0xe
xor r8, rcx
not rdx
mov rcx, rax
and rcx, rdi
and rdx, r13
xor rdx, rcx
mov rcx, rbx
add r8, rdx
ror rcx, 0x1c
add r8, qword [r10 + 0x68]
mov rdx, rbx
rol rdx, 0x1e
add r8, r15
xor rdx, rcx
add r8, r11
sub r10, 0xffffffffffffff80
mov rcx, rbx
rol rcx, 0x19
mov r11, r14
xor rdx, rcx
mov qword [rsp + 0x70], r10
xor r11, rbx
mov rcx, r14
and rcx, rbx
and r11, r12
xor r11, rcx
add rsi, r8
lea rcx, [r8 + rdx]
add r11, rcx
lea rcx, str.hash_algo
cmp r10, rcx
jl 0x1800b0b90
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 0x1800afd90
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