Function at 0x140111c70
Capabilities:
Hash data using sha512

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x258
movaps xmmword [rsp + 0x1b0], xmm6
movaps xmmword [rsp + 0x1c0], xmm7
movaps xmmword [rsp + 0x1d0], xmm8
movaps xmmword [rsp + 0x1e0], xmm9
movaps xmmword [rsp + 0x1f0], xmm10
movaps xmmword [rsp + 0x200], xmm11
movaps xmmword [rsp + 0x210], xmm12
movaps xmmword [rsp + 0x220], xmm13
movaps xmmword [rsp + 0x230], xmm14
movaps xmmword [rsp + 0x240], xmm15
movzx eax, byte [rcx + 0xe8]
mov qword [rsp + 0x2a0], rcx
mov qword [rsp + 0x2a8], rdx
mov qword [rsp + 0x2b0], r8
test al, 4
jne 0x1401136b5
test al, 2
jne 0x1401136d6
test al, 1
mov rax, qword [rsp + 0x2a0]
jne 0x140113704
mov rax, qword [rax + 0xa8]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0x2a0]
mov rax, qword [rax + 0xb0]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x2a0]
mov rax, qword [rax + 0xb8]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x2a0]
mov rax, qword [rax + 0xc0]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x2a0]
mov rax, qword [rax + 0xc8]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x2a0]
mov rax, qword [rax + 0xd0]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x2a0]
mov rax, qword [rax + 0xd8]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x2a0]
mov rax, qword [rax + 0xe0]
mov qword [rsp + 0xa0], rax
lea rax, [rsp + 0x130]
mov qword [rsp + 0x128], rax
mov rcx, qword [rsp + 0x2a8]
mov r8, qword [rsp + 0x128]
xor eax, eax
nop word cs:[rax + rax]
mov rdx, qword [rcx + rax]
bswap rdx
mov qword [r8 + rax], rdx
add rax, 8
cmp rax, 0x80
jne 0x140111df0
mov rax, qword [rsp + 0x130]
movabs r11, 0xc19bf174cf692694
mov r14, qword [rsp + 0x150]
mov r15, qword [rsp + 0x168]
mov rbx, qword [rsp + 0x80]
lea r10, [0x14027c740]
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x1a0]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x178]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x138]
mov qword [rsp + 8], rax
mov rax, qword [rsp + 0x1a8]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x180]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0x10], rax
mov rax, qword [rsp + 0x188]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x148]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x190]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x198]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x158]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x160]
mov qword [rsp], rax
mov rax, qword [rsp + 0x170]
mov qword [rsp + 0x18], rax
mov r9, qword [rsp + 0x70]
mov qword [rsp + 0x120], r11
movabs r11, 0x9bdc06a725c71235
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x118], r11
movabs r11, 0x80deb1fe3b1696b1
mov rsi, qword [rsp + 0x98]
mov qword [rsp + 0x110], r11
movabs r11, 0x72be5d74f27b896f
mov rbp, qword [rsp + 0x90]
mov qword [rsp + 0x108], r11
movabs r11, 0x550c7dc3d5ffb4e2
mov rdi, qword [rsp + 0xa0]
mov qword [rsp + 0x100], r11
movabs r11, 0x243185be4ee4b28c
mov rdx, qword [rsp + 0x88]
mov qword [rsp + 0xf8], r11
movabs r11, 0x12835b0145706fbe
mov qword [rsp + 0xf0], r11
movabs r11, 0xd807aa98a3030242
mov qword [rsp + 0xe8], r11
movabs r11, 0xab1c5ed5da6d8118
mov qword [rsp + 0xe0], r11
movabs r11, 0x923f82a4af194f9b
mov qword [rsp + 0xd8], r11
movabs r11, 0x59f111f1b605d019
mov qword [rsp + 0xd0], r11
movabs r11, 0x3956c25bf348b538
mov qword [rsp + 0xc8], r11
movabs r11, 0xe9b5dba58189dbbc
mov qword [rsp + 0xc0], r11
movabs r11, 0xb5c0fbcfec4d3b2f
mov qword [rsp + 0xb8], r11
movabs r11, 0x7137449123ef65cd
mov qword [rsp + 0xb0], r11
movabs r11, 0x428a2f98d728ae22
mov r12, rdx
mov r8, rdx
mov r13, rdx
ror r12, 0xe
ror r8, 0x12
not r13
xor r8, r12
mov r12, rdx
and r13, rsi
rol r12, 0x17
xor r8, r12
mov r12, rdx
and r12, rbp
xor r13, r12
add r13, r8
mov r8, qword [rsp + 0x30]
lea r12, [r13 + r8]
mov r13, qword [rsp + 0x60]
add r12, rdi
lea rdi, [r12 + r11]
mov r8, r13
mov r11, r13
ror r11, 0x13
rol r8, 3
xor r8, r11
mov r11, r13
mov r13, qword [rsp + 8]
shr r11, 6
add rbx, rdi
xor r8, r11
add r8, qword [rsp + 0x48]
mov r12, r13
mov r11, r13
add r8, qword [rsp + 0x30]
ror r12, 1
ror r11, 8
xor r11, r12
mov r12, r13
shr r12, 7
xor r11, r12
add r8, r11
mov r11, rax
mov qword [rsp + 0x30], r8
mov r8, rax
rol r11, 0x19
and r8, r9
mov r13, r8
mov r8, rax
ror r8, 0x1c
mov r12, r8
mov r8, rax
rol r8, 0x1e
xor r8, r12
xor r8, r11
mov r11, rax
and r11, rcx
mov r12, r11
mov r11, r9
xor r12, r13
and r11, rcx
add rsi, qword [rsp + 8]
xor r12, r11
add r12, r8
add r12, rdi
mov rdi, rbx
ror rdi, 0xe
mov r8, rdi
mov rdi, rbx
ror rdi, 0x12
xor rdi, r8
mov r8, rbx
rol r8, 0x17
xor r8, rdi
mov rdi, rbx
add rsi, r8
mov r8, rbx
and rdi, rdx
not r8
and r8, rbp
xor r8, rdi
mov rdi, qword [rsp + 0x28]
add r8, rsi
add r8, qword [rsp + 0xb0]
mov rsi, rdi
rol rdi, 3
ror rsi, 0x13
mov r11, rdi
xor r11, rsi
mov rsi, qword [rsp + 0x28]
add rcx, r8
shr rsi, 6
xor r11, rsi
mov rsi, qword [rsp + 0x10]
add r11, qword [rsp + 0x20]
add r11, qword [rsp + 8]
mov rdi, rsi
ror rsi, 8
ror rdi, 1
xor rsi, rdi
mov rdi, qword [rsp + 0x10]
shr rdi, 7
xor rsi, rdi
mov rdi, r12
add r11, rsi
ror rdi, 0x1c
mov rsi, rcx
mov qword [rsp + 8], r11
mov r11, r12
rol r11, 0x1e
xor r11, rdi
mov rdi, r12
ror rsi, 0x12
rol rdi, 0x19
xor r11, rdi
mov rdi, rax
xor rdi, r9
and rdi, r12
xor r13, rdi
lea rdi, [r11 + r13]
mov r13, qword [rsp + 0x10]
mov r11, qword [rsp + 0x40]
add rdi, r8
mov r8, rcx
ror r8, 0xe
add rbp, r13
xor rsi, r8
mov r8, rcx
rol r8, 0x17
xor r8, rsi
mov rsi, rbx
add rbp, r8
mov r8, rcx
and rsi, rcx
not r8
and r8, rdx
xor r8, rsi
add r8, rbp
mov rbp, r11
add r8, qword [rsp + 0xb8]
ror rbp, 1
mov rsi, rbp
mov rbp, r11
ror rbp, 8
mov r11, rbp
xor r11, rsi
mov rsi, qword [rsp + 0x40]
shr rsi, 7
xor r11, rsi
add r11, qword [rsp + 0x50]
add r11, r13
mov r13, qword [rsp + 0x30]
mov rbp, r13
mov rsi, r13
ror rbp, 0x13
rol rsi, 3
xor rsi, rbp
mov rbp, r13
lea r13, [r8 + r9]
shr rbp, 6
mov r9, rdi
xor rsi, rbp
mov rbp, qword [rsp + 0x40]
add r11, rsi
ror r9, 0x1c
mov rsi, r9
mov r9, rdi
mov qword [rsp + 0x10], r11
rol r9, 0x1e
mov r11, r12
add rdx, rbp
xor r9, rsi
mov rsi, rdi
and r11, rax
rol rsi, 0x19
xor r9, rsi
mov rsi, r12
xor rsi, rax
and rsi, rdi
xor rsi, r11
add rsi, r9
mov r9, r13
add rsi, r8
ror r9, 0x12
mov r8, r13
ror r8, 0xe
mov r11, r9
mov r9, rcx
xor r11, r8
mov r8, r13
and r9, r13
rol r8, 0x17
xor r8, r11
add r8, rdx
mov rdx, r13
not rdx
and rdx, rbx
xor rdx, r9
mov r9, r14
add rdx, r8
mov r8, r14
ror r9, 1
ror r8, 8
add rdx, qword [rsp + 0xc0]
xor r8, r9
mov r9, r14
shr r9, 7
xor r8, r9
add r8, qword [rsp + 0x58]
add r8, rbp
mov rbp, qword [rsp + 8]
mov r11, rbp
mov r9, rbp
ror r11, 0x13
rol r9, 3
xor r9, r11
mov r11, rbp
add rax, rdx
shr r11, 6
add rbx, r14
xor r9, r11
add r8, r9
mov r9, rsi
mov rbp, r8
mov r8, rsi
rol r9, 0x19
ror r8, 0x1c
mov r11, r8
mov r8, rsi
rol r8, 0x1e
xor r8, r11
xor r8, r9
mov r9, r12
xor r9, rdi
mov r11, r9
mov r9, r12
and r9, rdi
and r11, rsi
xor r11, r9
mov r9, rax
add r11, r8
ror r9, 0x12
add r11, rdx
mov rdx, rax
ror rdx, 0xe
xor r9, rdx
mov rdx, rax
rol rdx, 0x17
xor rdx, r9
mov r9, r13
add rbx, rdx
mov rdx, rax
and r9, rax
not rdx
and rdx, rcx
xor rdx, r9
add rdx, rbx
mov rbx, qword [rsp + 0x38]
add rdx, qword [rsp + 0xc8]
mov r9, rbx
mov r8, rbx
ror r9, 1
ror r8, 8
xor r8, r9
mov r9, rbx
mov rbx, qword [rsp + 0x10]
shr r9, 7
xor r8, r9
add r8, qword [rsp + 0x68]
add r12, rdx
add r8, r14
mov r14, rbx
ror r14, 0x13
mov r9, r14
mov r14, rbx
rol r14, 3
xor r14, r9
mov r9, rbx
mov rbx, rdi
shr r9, 6
and rbx, rsi
xor r14, r9
add r14, r8
mov r8, r11
ror r8, 0x1c
mov r9, r8
mov r8, r11
rol r8, 0x1e
xor r8, r9
mov r9, r11
rol r9, 0x19
xor r8, r9
mov r9, rdi
xor r9, rsi
and r9, r11
xor r9, rbx
mov rbx, qword [rsp + 0x38]
add r9, r8
mov r8, r12
add r9, rdx
mov rdx, r12
ror r8, 0xe
ror rdx, 0x12
add rcx, rbx
xor rdx, r8
mov r8, r12
rol r8, 0x17
xor r8, rdx
add r8, rcx
mov rcx, r12
not rcx
mov rdx, rcx
mov rcx, rax
and rcx, r12
and rdx, r13
xor rdx, rcx
mov rcx, qword [rsp + 0xd0]
add rdx, r8
add rcx, rdx
mov rdx, qword [rsp]
mov qword [rsp + 0x40], rbp
add r13, qword [rsp]
mov r8, rdx
ror rdx, 8
ror r8, 1
xor rdx, r8
mov r8, qword [rsp]
shr r8, 7
xor rdx, r8
add rdx, qword [rsp + 0x60]
mov r8, rbp
rol r8, 3
add rdx, rbx
mov rbx, rbp
ror rbx, 0x13
xor r8, rbx
mov rbx, rbp
lea rbp, [rdi + rcx]
shr rbx, 6
mov rdi, r9
xor r8, rbx
ror rdi, 0x1c
mov rbx, r15
add rdx, r8
mov qword [rsp + 0x38], rdx
mov rdx, rdi
mov rdi, r9
rol rdi, 0x1e
mov r8, rdi
mov rdi, r9
xor r8, rdx
rol rdi, 0x19
xor r8, rdi
mov rdi, rsi
xor rdi, r11
mov rdx, rdi
mov rdi, rsi
and rdi, r11
and rdx, r9
xor rdx, rdi
mov rdi, rbp
add rdx, r8
ror rdi, 0x12
add rdx, rcx
mov rcx, rbp
mov r8, rdi
ror rcx, 0xe
mov rdi, r14
xor r8, rcx
mov rcx, rbp
rol rcx, 0x17
xor rcx, r8
mov r8, r12
add r13, rcx
mov rcx, rbp
not rcx
and rcx, rax
and r8, rbp
ror rbx, 1
xor rcx, r8
mov r8, r15
ror rdi, 0x13
ror r8, 8
add rcx, r13
add rcx, qword [rsp + 0xd8]
xor r8, rbx
mov rbx, r15
mov r13, qword [rsp + 0x18]
shr rbx, 7
xor r8, rbx
mov rbx, r14
add r8, qword [rsp + 0x28]
add r8, qword [rsp]
rol rbx, 3
xor rbx, rdi
mov rdi, r14
shr rdi, 6
xor rbx, rdi
lea rdi, [rsi + rcx]
mov rsi, r11
add r8, rbx
mov rbx, rdx
and rsi, r9
mov qword [rsp], r8
mov r8, rdx
rol rbx, 0x1e
ror r8, 0x1c
xor rbx, r8
mov r8, rdx
rol r8, 0x19
xor rbx, r8
mov r8, r11
xor r8, r9
and r8, rdx
xor r8, rsi
mov rsi, qword [rsp + 0x38]
add r8, rbx
add r8, rcx
mov rcx, rdi
ror rcx, 0xe
mov rbx, rcx
mov rcx, rdi
ror rcx, 0x12
xor rcx, rbx
mov rbx, rdi
rol rbx, 0x17
add rax, r15
xor rbx, rcx
mov rcx, rbp
add rbx, rax
mov rax, rdi
and rcx, rdi
not rax
and rax, r12
xor rax, rcx
mov rcx, r13
ror rcx, 1
add rax, rbx
add rax, qword [rsp + 0xe0]
mov rbx, rcx
mov rcx, r13
ror rcx, 8
xor rcx, rbx
mov rbx, r13
shr rbx, 7
add r11, rax
xor rcx, rbx
add rcx, qword [rsp + 0x30]
add rcx, r15
mov r15, rsi
ror r15, 0x13
mov rbx, r15
mov r15, rsi
rol r15, 3
xor r15, rbx
mov rbx, rsi
mov rsi, r9
shr rbx, 6
and rsi, rdx
xor r15, rbx
mov rbx, r8
add r15, rcx
mov rcx, r8
rol rbx, 0x1e
ror rcx, 0x1c
xor rbx, rcx
mov rcx, r8
rol rcx, 0x19
xor rbx, rcx
mov rcx, r9
xor rcx, rdx
and rcx, r8
xor rcx, rsi
add rcx, rbx
add r12, r13
mov r13, qword [rsp + 0x48]
add rcx, rax
mov rax, r11
ror rax, 0xe
mov rbx, rax
mov rax, r11
ror rax, 0x12
xor rax, rbx
mov rbx, r11
rol rbx, 0x17
xor rbx, rax
mov rax, r11
add rbx, r12
not rax
mov r12, rdi
and r12, r11
and rax, rbp
xor rax, r12
add rax, rbx
mov rbx, r13
add rax, qword [rsp + 0xe8]
ror rbx, 1
mov rsi, rbx
mov rbx, r13
ror rbx, 8
xor rbx, rsi
mov rsi, r13
shr rsi, 7
xor rbx, rsi
mov rsi, qword [rsp]
add rbx, qword [rsp + 8]
add rbx, qword [rsp + 0x18]
mov r12, rsi
rol rsi, 3
ror r12, 0x13
xor rsi, r12
mov r12, qword [rsp]
shr r12, 6
xor rsi, r12
lea r12, [rbx + rsi]
lea rbx, [r9 + rax]
mov r9, rcx
rol r9, 0x1e
mov rsi, rdx
mov qword [rsp + 0x18], r12
mov r12, rcx
ror r12, 0x1c
xor r9, r12
mov r12, rcx
rol r12, 0x19
xor r9, r12
mov r12, rdx
xor r12, r8
and r12, rcx
and rsi, r8
add rbp, r13
xor r12, rsi
add r12, r9
add r12, rax
mov rax, rbx
ror rax, 0xe
mov r9, rax
mov rax, rbx
ror rax, 0x12
xor rax, r9
mov r9, rbx
rol r9, 0x17
xor r9, rax
mov rax, rbx
add rbp, r9
not rax
mov r9, r11
and r9, rbx
and rax, rdi
xor rax, r9
add rax, rbp
mov rbp, qword [rsp + 0xf0]
add rbp, rax
mov r9, rbp
mov rbp, qword [rsp + 0x20]
mov rax, rbp
ror rax, 1
mov rsi, rax
mov rax, rbp
shr rbp, 7
ror rax, 8
xor rax, rsi
mov rsi, r15
ror rsi, 0x13
xor rax, rbp
add rax, qword [rsp + 0x10]
mov rbp, rsi
mov rsi, r15
rol rsi, 3
xor rsi, rbp
mov rbp, r15
shr rbp, 6
add rax, r13
mov r13, qword [rsp + 0x50]
xor rsi, rbp
mov rbp, r8
add rax, rsi
lea rsi, [rdx + r9]
mov rdx, r12
mov qword [rsp + 0x48], rax
mov rax, r12
rol rdx, 0x1e
ror rax, 0x1c
xor rdx, rax
mov rax, r12
and rbp, rcx
rol rax, 0x19
xor rdx, rax
mov rax, r8
xor rax, rcx
and rax, r12
xor rax, rbp
mov rbp, qword [rsp + 0x20]
add rax, rdx
mov rdx, rsi
ror rdx, 0xe
add rax, r9
mov r9, rdx
mov rdx, rsi
add rdi, rbp
ror rdx, 0x12
xor rdx, r9
mov r9, rsi
rol r9, 0x17
xor r9, rdx
mov rdx, rsi
add r9, rdi
not rdx
mov rdi, rbx
and rdi, rsi
and rdx, r11
xor rdx, rdi
mov rdi, qword [rsp + 0xf8]
add rdx, r9
mov r9, r13
ror r9, 1
add rdi, rdx
mov rdx, r13
ror rdx, 8
xor rdx, r9
mov r9, r13
shr r9, 7
xor rdx, r9
add rdx, qword [rsp + 0x40]
mov r9, qword [rsp + 0x18]
add rdx, rbp
mov rbp, r9
rol r9, 3
ror rbp, 0x13
xor r9, rbp
mov rbp, qword [rsp + 0x18]
shr rbp, 6
xor r9, rbp
mov rbp, rcx
add r11, r13
add rdx, r9
lea r9, [r8 + rdi]
mov r8, rax
mov qword [rsp + 0x20], rdx
mov rdx, rax
rol r8, 0x1e
ror rdx, 0x1c
and rbp, r12
xor r8, rdx
mov rdx, rax
rol rdx, 0x19
xor r8, rdx
mov rdx, rcx
xor rdx, r12
and rdx, rax
xor rdx, rbp
mov rbp, r9
add rdx, r8
mov r8, r9
rol rbp, 0x17
ror r8, 0xe
add rdx, rdi
mov rdi, r8
mov r8, r9
ror r8, 0x12
xor r8, rdi
mov rdi, rbp
mov rbp, r13
xor rdi, r8
mov r8, r9
add r11, rdi
not r8
mov rdi, rsi
and rdi, r9
and r8, rbx
xor r8, rdi
add r8, r11
mov r11, qword [rsp + 0x100]
mov r13, qword [rsp + 0x58]
add r11, r8
mov r8, r13
mov rdi, r11
mov r11, r13
ror r8, 8
ror r11, 1
xor r8, r11
mov r11, r13
shr r11, 7
xor r8, r11
mov r11, qword [rsp + 0x48]
add r8, r14
add r8, rbp
ror r11, 0x13
add rbx, r13
mov rbp, r11
mov r11, qword [rsp + 0x48]
rol r11, 3
xor r11, rbp
mov rbp, qword [rsp + 0x48]
shr rbp, 6
xor r11, rbp
mov rbp, r12
add r11, r8
and rbp, rax
mov qword [rsp + 0x50], r11
lea r11, [rcx + rdi]
mov rcx, rdx
ror rcx, 0x1c
mov r8, rcx
mov rcx, rdx
rol rcx, 0x1e
xor rcx, r8
mov r8, rdx
rol r8, 0x19
xor rcx, r8
mov r8, r12
xor r8, rax
and r8, rdx
xor r8, rbp
mov rbp, r11
add r8, rcx
mov rcx, r11
rol rbp, 0x17
ror rcx, 0xe
add r8, rdi
mov rdi, rcx
mov rcx, r11
ror rcx, 0x12
xor rcx, rdi
mov rdi, rbp
mov rbp, r13
xor rdi, rcx
mov r13, qword [rsp + 0x68]
mov rcx, r11
add rdi, rbx
not rcx
mov rbx, r9
and rbx, r11
and rcx, rsi
xor rcx, rbx
mov rbx, r13
ror rbx, 1
add rcx, rdi
add rcx, qword [rsp + 0x108]
mov rdi, rbx
mov rbx, r13
ror rbx, 8
xor rbx, rdi
mov rdi, r13
shr rdi, 7
add rsi, r13
xor rbx, rdi
add rbx, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x20]
add rbx, rbp
mov rbp, rdi
rol rdi, 3
ror rbp, 0x13
xor rdi, rbp
mov rbp, qword [rsp + 0x20]
shr rbp, 6
xor rdi, rbp
mov rbp, r8
add rbx, rdi
rol rbp, 0x1e
lea rdi, [r12 + rcx]
mov qword [rsp + 0x58], rbx
mov rbx, r8
mov r12, rax
ror rbx, 0x1c
and r12, rdx
xor rbp, rbx
mov rbx, r8
rol rbx, 0x19
xor rbp, rbx
mov rbx, rax
xor rbx, rdx
and rbx, r8
xor rbx, r12
mov r12, r13
mov r13, qword [rsp + 0x60]
add rbx, rbp
add rbx, rcx
mov rcx, rdi
ror rcx, 0xe
mov rbp, rcx
mov rcx, rdi
ror rcx, 0x12
xor rcx, rbp
mov rbp, rdi
rol rbp, 0x17
xor rbp, rcx
mov rcx, rdi
add rsi, rbp
not rcx
mov rbp, r11
and rcx, r9
and rbp, rdi
xor rcx, rbp
mov rbp, qword [rsp + 0x110]
add rcx, rsi
mov rsi, r13
add rbp, rcx
mov rcx, r13
ror rsi, 1
ror rcx, 8
add r9, r13
xor rcx, rsi
mov rsi, r13
shr rsi, 7
xor rcx, rsi
add rcx, qword [rsp]
mov rsi, qword [rsp + 0x50]
add rcx, r12
mov r12, rsi
rol rsi, 3
ror r12, 0x13
xor rsi, r12
mov r12, qword [rsp + 0x50]
shr r12, 6
xor rsi, r12
mov r12, rdx
add rcx, rsi
lea rsi, [rax + rbp]
mov rax, rbx
ror rax, 0x1c
mov qword [rsp + 0x68], rcx
and r12, r8
mov rcx, rax
mov rax, rbx
rol rax, 0x1e
xor rax, rcx
mov rcx, rbx
rol rcx, 0x19
xor rax, rcx
mov rcx, rdx
xor rcx, r8
and rcx, rbx
xor rcx, r12
mov r12, qword [rsp + 0x28]
add rcx, rax
mov rax, rsi
ror rax, 0xe
add rcx, rbp
mov rbp, rax
mov rax, rsi
ror rax, 0x12
xor rax, rbp
mov rbp, rsi
rol rbp, 0x17
xor rbp, rax
mov rax, rsi
add rbp, r9
not rax
mov r9, rdi
and rax, r11
and r9, rsi
xor rax, r9
mov r9, r12
add rax, rbp
mov rbp, r12
ror r9, 8
ror rbp, 1
add rax, qword [rsp + 0x118]
xor r9, rbp
mov rbp, r12
shr rbp, 7
xor r9, rbp
add r9, r15
add r9, r13
mov r13, qword [rsp + 0x58]
mov r12, r13
rol r13, 3
ror r12, 0x13
mov rbp, r13
mov r13, qword [rsp + 0x28]
xor rbp, r12
mov r12, qword [rsp + 0x58]
shr r12, 6
xor rbp, r12
mov r12, r8
add r9, rbp
lea rbp, [rdx + rax]
mov rdx, rcx
mov qword [rsp + 0x60], r9
mov r9, rcx
rol rdx, 0x1e
ror r9, 0x1c
and r12, rbx
xor rdx, r9
mov r9, rcx
rol r9, 0x19
xor rdx, r9
mov r9, r8
xor r9, rbx
and r9, rcx
xor r9, r12
mov r12, qword [rsp + 0x30]
add r9, rdx
add r9, rax
mov rax, rbp
ror rax, 0xe
mov rdx, rax
mov rax, rbp
ror rax, 0x12
xor rax, rdx
mov rdx, rbp
rol rdx, 0x17
add r11, r13
xor rdx, rax
mov rax, rbp
add rdx, r11
not rax
mov r11, rsi
and r11, rbp
and rax, rdi
xor rax, r11
mov r11, qword [rsp + 0x120]
add rax, rdx
mov rdx, r12
ror rdx, 1
add r11, rax
mov rax, r12
ror rax, 8
xor rax, rdx
mov rdx, r12
shr rdx, 7
xor rax, rdx
add rax, qword [rsp + 0x18]
add rax, r13
mov r13, qword [rsp + 0x68]
mov r12, r13
mov rdx, r13
ror r12, 0x13
rol rdx, 3
xor rdx, r12
mov r12, r13
shr r12, 6
xor rdx, r12
mov r12, rbx
add rax, rdx
lea rdx, [r8 + r11]
mov r8, r9
mov qword [rsp + 0x28], rax
mov rax, r9
rol r8, 0x1e
ror rax, 0x1c
and r12, rcx
xor r8, rax
mov rax, r9
rol rax, 0x19
xor r8, rax
mov rax, rbx
xor rax, rcx
and rax, r9
xor rax, r12
add rax, r8
add rax, r11
lea r11, [0x14027c940]
sub r10, 0xffffffffffffff80
cmp r10, r11
je 0x140112dc0
mov r8, qword [r10 + 8]
mov r11, qword [r10]
mov qword [rsp + 0xb0], r8
mov r8, qword [r10 + 0x10]
mov qword [rsp + 0xb8], r8
mov r8, qword [r10 + 0x18]
mov qword [rsp + 0xc0], r8
mov r8, qword [r10 + 0x20]
mov qword [rsp + 0xc8], r8
mov r8, qword [r10 + 0x28]
mov qword [rsp + 0xd0], r8
mov r8, qword [r10 + 0x30]
mov qword [rsp + 0xd8], r8
mov r8, qword [r10 + 0x38]
mov qword [rsp + 0xe0], r8
mov r8, qword [r10 + 0x40]
mov qword [rsp + 0xe8], r8
mov r8, qword [r10 + 0x48]
mov qword [rsp + 0xf0], r8
mov r8, qword [r10 + 0x50]
mov qword [rsp + 0xf8], r8
mov r8, qword [r10 + 0x58]
mov qword [rsp + 0x100], r8
mov r8, qword [r10 + 0x60]
mov qword [rsp + 0x108], r8
mov r8, qword [r10 + 0x68]
mov qword [rsp + 0x110], r8
mov r8, qword [r10 + 0x70]
mov qword [rsp + 0x118], r8
mov r8, qword [r10 + 0x78]
mov qword [rsp + 0x120], r8
jmp 0x140112025
mov r8, rdx
mov r10, rdx
add rdi, qword [rsp + 0x30]
ror r8, 0xe
ror r10, 0x12
mov r11, rax
xor r10, r8
mov r8, rdx
ror r11, 0x1c
rol r8, 0x17
xor r8, r10
movabs r10, 0xca273eceea26619c
add rdi, r10
lea r10, [r8 + rdi]
mov rdi, rdx
mov r8, rbp
not rdi
and r8, rdx
and rdi, rsi
add rsi, qword [rsp + 8]
xor rdi, r8
mov r8, rax
rol r8, 0x1e
add rdi, r10
xor r8, r11
mov r11, rax
lea r10, [rbx + rdi]
rol r11, 0x19
mov rbx, rcx
xor r8, r11
mov r11, rcx
and rbx, r9
xor r11, r9
mov r12, r10
and r11, rax
ror r12, 0xe
xor r11, rbx
add r11, r8
mov r8, r10
ror r8, 0x12
add rdi, r11
mov r11, r9
xor r8, r12
mov r12, r10
rol r12, 0x17
xor r12, r8
movabs r8, 0xd186b8c721c0c207
add rsi, r8
lea r8, [r12 + rsi]
mov rsi, r10
mov r12, rdx
not rsi
and r12, r10
and rsi, rbp
xor rsi, r12
mov r12, rdi
add rsi, r8
mov r8, rdi
rol r12, 0x1e
ror r8, 0x1c
and r11, rax
add rcx, rsi
xor r12, r8
mov r8, rdi
mov rbx, rcx
rol r8, 0x19
ror rbx, 0xe
add rbp, qword [rsp + 0x10]
xor r12, r8
mov r8, r9
xor r8, rax
and r8, rdi
xor r8, r11
add r8, r12
add rsi, r8
mov r8, rcx
ror r8, 0x12
xor r8, rbx
mov rbx, rcx
rol rbx, 0x17
xor rbx, r8
movabs r8, 0xeada7dd6cde0eb1e
add rbp, r8
lea r8, [rbx + rbp]
mov rbp, rcx
mov rbx, r10
not rbp
and rbx, rcx
and rbp, rdx
xor rbp, rbx
mov rbx, rsi
add rbp, r8
mov r8, rsi
rol rbx, 0x1e
ror r8, 0x1c
lea r13, [r9 + rbp]
mov r9, rax
xor rbx, r8
mov r8, rsi
and r9, rdi
rol r8, 0x19
mov r11, r13
mov r12, r13
xor rbx, r8
mov r8, rax
xor r8, rdi
and r8, rsi
xor r8, r9
ror r11, 0xe
add rdx, qword [rsp + 0x40]
add r8, rbx
mov r9, rdi
add rbp, r8
mov r8, r13
and r9, rsi
ror r8, 0x12
xor r8, r11
mov r11, r13
rol r11, 0x17
xor r11, r8
movabs r8, 0xf57d4f7fee6ed178
add rdx, r8
lea r8, [r11 + rdx]
mov rdx, r13
mov r11, rcx
not rdx
and r11, r13
and rdx, r10
xor rdx, r11
mov r11, rbp
add rdx, r8
mov r8, rbp
rol r11, 0x1e
ror r8, 0x1c
add rax, rdx
xor r11, r8
mov r8, rbp
mov rbx, rax
rol r8, 0x19
ror rbx, 0xe
xor r11, r8
mov r8, rdi
xor r8, rsi
and r8, rbp
xor r8, r9
mov r9, rsi
add r8, r11
add rdx, r8
mov r8, rax
ror r8, 0x12
xor rbx, r8
mov r8, rax
rol r8, 0x17
xor r8, rbx
movabs rbx, 0x6f067aa72176fba
add rbx, r14
add rbx, r10
mov r10, rax
and r12, rax
not r10
add r8, rbx
and r9, rbp
and r10, rcx
xor r10, r12
mov r12, rdx
add r10, r8
mov r8, rdx
rol r12, 0x1e
ror r8, 0x1c
lea r14, [rdi + r10]
movabs rdi, 0xa637dc5a2c898a6
xor r12, r8
mov r8, rdx
add rdi, qword [rsp + 0x38]
rol r8, 0x19
mov rbx, r14
mov r11, r14
xor r12, r8
mov r8, rsi
ror rbx, 0xe
xor r8, rbp
and r8, rdx
add rcx, rdi
movabs rdi, 0x113f9804bef90dae
xor r8, r9
mov r9, rbp
add r8, r12
add r10, r8
mov r8, r14
ror r8, 0x12
xor rbx, r8
mov r8, r14
rol r8, 0x17
xor r8, rbx
mov rbx, rax
add r8, rcx
mov rcx, r14
and rbx, r14
not rcx
and rcx, r13
xor rcx, rbx
mov rbx, r10
add rcx, r8
mov r8, r10
rol rbx, 0x1e
ror r8, 0x1c
add rsi, rcx
xor rbx, r8
mov r8, r10
and r9, rdx
rol r8, 0x19
add rdi, qword [rsp]
and r11, rsi
xor rbx, r8
mov r8, rbp
xor r8, rdx
and r8, r10
xor r8, r9
mov r9, rsi
add rdi, r13
add r8, rbx
ror r9, 0xe
mov r13, rsi
add rcx, r8
mov r8, rsi
not r13
ror r8, 0x12
and r13, rax
xor r9, r8
mov r8, rsi
xor r13, r11
rol r8, 0x17
mov r11, rcx
xor r8, r9
rol r11, 0x1e
mov r9, rdx
add r8, rdi
and r9, r10
add r13, r8
mov r8, rcx
ror r8, 0x1c
lea rbx, [rbp + r13]
xor r11, r8
mov r8, rcx
rol r8, 0x19
mov rdi, rbx
xor r11, r8
mov r8, rdx
xor r8, r10
and r8, rcx
xor r8, r9
mov r9, rbx
add r8, r11
mov r11, rbx
add r13, r8
ror rdi, 0xe
ror r9, 0x12
xor rdi, r9
mov r9, rbx
mov r8, r13
rol r9, 0x17
ror r8, 0x1c
xor r9, rdi
movabs rdi, 0x1b710b35131c471b
add rdi, r15
add rax, rdi
mov rdi, rsi
add r9, rax
mov rax, rbx
and rdi, rbx
not rax
and rax, r14
xor rax, rdi
mov rdi, r13
rol rdi, 0x1e
add rax, r9
mov r9, r10
xor rdi, r8
mov r8, r13
and r9, rcx
rol r8, 0x19
add rdx, rax
xor rdi, r8
mov r8, r10
xor r8, rcx
and r8, r13
xor r8, r9
add r8, rdi
mov rdi, rdx
lea r15, [r8 + rax]
mov rax, rdx
ror rdi, 0xe
ror rax, 0x12
mov r8, rcx
xor rdi, rax
mov rax, rdx
rol rax, 0x17
xor rax, rdi
movabs rdi, 0x28db77f523047d84
add rdi, qword [rsp + 0x18]
add rdi, r14
add rax, rdi
mov rdi, rdx
not rdi
and rdi, rsi
and r11, rdx
and r8, r13
xor rdi, r11
mov r11, r15
add rdi, rax
mov rax, r15
rol r11, 0x1e
ror rax, 0x1c
add r10, rdi
xor r11, rax
mov rax, r15
mov rbp, r10
rol rax, 0x19
ror rbp, 0xe
mov r12, r10
xor r11, rax
mov rax, rcx
xor rax, r13
and rax, r15
xor rax, r8
mov r8, r13
add rax, r11
add rdi, rax
mov rax, r10
ror rax, 0x12
xor rbp, rax
mov rax, r10
rol rax, 0x17
xor rax, rbp
movabs rbp, 0x32caab7b40c72493
add rbp, qword [rsp + 0x48]
add rsi, rbp
mov rbp, rdx
add rax, rsi
mov rsi, r10
and rbp, r10
not rsi
and rsi, rbx
xor rsi, rbp
mov rbp, rdi
add rsi, rax
mov rax, rdi
rol rbp, 0x1e
ror rax, 0x1c
add rcx, rsi
xor rbp, rax
mov rax, rdi
rol rax, 0x19
xor rbp, rax
mov rax, r13
and r8, r15
xor rax, r15
and r12, rcx
and rax, rdi
xor rax, r8
mov r8, rcx
add rax, rbp
mov rbp, rcx
ror r8, 0x12
ror rbp, 0xe
add rsi, rax
xor rbp, r8
mov r8, rcx
mov rax, rsi
rol r8, 0x17
ror rax, 0x1c
mov r9, rsi
xor r8, rbp
movabs rbp, 0x3c9ebe0a15c9bebc
add rbp, qword [rsp + 0x20]
add rbp, rbx
mov rbx, qword [rsp + 0x2a0]
add r8, rbp
mov rbp, rcx
not rbp
and rbp, rdx
xor rbp, r12
mov r12, rsi
rol r12, 0x1e
add rbp, r8
mov r8, r15
xor r12, rax
mov rax, rsi
and r8, rdi
rol rax, 0x19
add r13, rbp
xor r12, rax
mov rax, r15
mov r11, r13
xor rax, rdi
ror r11, 0xe
and rax, rsi
xor rax, r8
mov r8, rdi
add rax, r12
lea r14, [rax + rbp]
mov rax, r13
movabs rbp, 0x431d67c49c100d4c
ror rax, 0x12
xor r11, rax
add rbp, qword [rsp + 0x50]
mov rax, r13
rol rax, 0x17
and r8, rsi
xor rax, r11
mov r11, rcx
and r11, r13
add rdx, rbp
movabs rbp, 0x4cc5d4becb3e42b6
add rbp, qword [rsp + 0x58]
add rax, rdx
mov rdx, r13
not rdx
and rdx, r10
xor rdx, r11
mov r11, r14
add r10, rbp
add rdx, rax
mov rax, r14
rol r11, 0x1e
ror rax, 0x1c
add r15, rdx
movabs rbp, 0x597f299cfc657e2a
xor r11, rax
mov rax, r14
rol rax, 0x19
xor r11, rax
mov rax, rdi
xor rax, rsi
and rax, r14
xor rax, r8
mov r8, r15
add rax, r11
ror r8, 0xe
movabs r11, 0x6c44198c4a475817
add rdx, rax
mov rax, r15
ror rax, 0x12
xor r8, rax
mov rax, r15
rol rax, 0x17
xor rax, r8
mov r8, r13
add rax, r10
mov r10, r15
and r8, r15
not r10
and r10, rcx
xor r10, r8
mov r8, rdx
and r9, r14
add r10, rax
mov rax, rdx
ror r8, 0x1c
rol rax, 0x1e
add rdi, r10
add rbp, qword [rsp + 0x68]
xor rax, r8
mov r8, rdx
rol r8, 0x19
xor rax, r8
mov r8, rsi
xor r8, r14
add rcx, rbp
movabs rbp, 0x5fcb6fab3ad6faec
and r8, rdx
xor r8, r9
mov r9, r14
add r8, rax
mov rax, rdi
add r10, r8
mov r8, rdi
ror rax, 0x12
ror r8, 0xe
xor r8, rax
mov rax, rdi
rol rax, 0x17
xor rax, r8
mov r8, r15
add rax, rcx
mov rcx, rdi
and r8, rdi
not rcx
and rcx, r13
xor rcx, r8
mov r8, r10
add rcx, rax
mov rax, r10
ror r8, 0x1c
rol rax, 0x1e
add rsi, rcx
xor rax, r8
mov r8, r10
rol r8, 0x19
xor rax, r8
mov r8, r14
xor r8, rdx
and r9, rdx
add rbp, qword [rsp + 0x60]
and r8, r10
xor r8, r9
mov r9, rdx
add r8, rax
mov rax, rsi
and r9, r10
add rcx, r8
mov r8, rsi
ror rax, 0x12
ror r8, 0xe
add r13, rbp
xor r8, rax
mov rax, rsi
rol rax, 0x17
xor rax, r8
mov r8, rdi
add rax, r13
mov r13, rsi
and r8, rsi
not r13
and r13, r15
xor r13, r8
mov r8, rcx
add r13, rax
mov rax, rcx
ror r8, 0x1c
rol rax, 0x1e
lea rbp, [r14 + r13]
xor rax, r8
mov r8, rcx
rol r8, 0x19
xor rax, r8
mov r8, rdx
xor r8, r10
and r8, rcx
xor r8, r9
mov r9, r10
add r8, rax
mov rax, rbp
add r13, r8
mov r8, rbp
ror rax, 0xe
ror r8, 0x12
xor rax, r8
mov r8, rbp
rol r8, 0x17
add r11, qword [rsp + 0x28]
and r9, rcx
xor r8, rax
mov rax, rsi
add qword [rsp + 0x70], r13
and rax, rbp
add qword [rsp + 0x78], rcx
add qword [rsp + 0x80], r10
add r15, r11
add r8, r15
mov r15, rbp
not r15
and r15, rdi
xor r15, rax
mov rax, r13
add r15, r8
mov r8, r13
rol rax, 0x1e
ror r8, 0x1c
add rdx, r15
add qword [rsp + 0x88], rdx
xor rax, r8
mov r8, r13
rol r8, 0x19
xor rax, r8
mov r8, r10
xor r8, rcx
and r8, r13
xor r8, r9
add r8, rax
add r8, qword [rsp + 0xa8]
lea rax, [r8 + r15]
mov qword [rsp + 0xa8], rax
mov qword [rbx + 0xa8], rax
mov rax, qword [rsp + 0x70]
mov qword [rbx + 0xb0], rax
mov rax, qword [rsp + 0x78]
mov qword [rbx + 0xb8], rax
mov rax, qword [rsp + 0x80]
mov qword [rbx + 0xc0], rax
mov rax, qword [rsp + 0x88]
add qword [rsp + 0x90], rbp
add qword [rsp + 0x98], rsi
mov qword [rbx + 0xc8], rax
mov rax, qword [rsp + 0x90]
mov qword [rbx + 0xd0], rax
mov rax, qword [rsp + 0x98]
add qword [rsp + 0xa0], rdi
sub qword [rsp + 0x2a8], 0xffffffffffffff80
sub qword [rsp + 0x2b0], 1
mov qword [rbx + 0xd8], rax
mov rax, qword [rsp + 0xa0]
mov qword [rbx + 0xe0], rax
jne 0x140111dd4
mov eax, 0x194
movaps xmm6, xmmword [rsp + 0x1b0]
movaps xmm7, xmmword [rsp + 0x1c0]
movaps xmm8, xmmword [rsp + 0x1d0]
movaps xmm9, xmmword [rsp + 0x1e0]
movaps xmm10, xmmword [rsp + 0x1f0]
movaps xmm11, xmmword [rsp + 0x200]
movaps xmm12, xmmword [rsp + 0x210]
movaps xmm13, xmmword [rsp + 0x220]
movaps xmm14, xmmword [rsp + 0x230]
movaps xmm15, xmmword [rsp + 0x240]
add rsp, 0x258
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rdi, qword [rsp + 0x2a8]
lea rsi, [rcx + 0xa8]
mov rdx, r8
call fcn.140144670
add eax, 0xc0
jmp 0x140113649
mov rax, qword [rsp + 0x2a0]
mov rdx, qword [rsp + 0x2b0]
mov rdi, qword [rsp + 0x2a8]
lea rsi, [rax + 0xa8]
call fcn.1401411b0
add eax, 0xc0
jmp 0x140113649
mov rdx, qword [rsp + 0x2b0]
mov rdi, qword [rsp + 0x2a8]
lea rsi, [rax + 0xa8]
call fcn.1401454a0
add eax, 0xc0
jmp 0x140113649