Function at 0x599330
Capabilities:
Hash data using sha512

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x198
mov eax, pe_nt_image_headers64
cmp r8, 0x80
mov rsi, rcx
mov qword [rsp + 0x1e0], rcx
cmovbe rax, r8
mov qword [rsp + 0x1e8], rdx
mov rdx, qword [rcx + 8]
mov qword [rsp + 0x1f0], r8
mov qword [rsp + 0x90], rax
mov rbx, rax
mov rax, qword [rcx]
mov qword [rsp + 0x118], rdx
mov rdi, qword [rsp + 0x118]
mov r11, rax
mov qword [rsp + 0x110], rax
mov rax, qword [rcx + 0x10]
mov rcx, qword [rcx + 0x18]
mov qword [rsp + 0xc0], r11
mov rdx, rax
mov qword [rsp + 0x120], rax
mov rax, qword [rsi + 0x20]
mov qword [rsp + 0x128], rcx
mov rcx, qword [rsi + 0x28]
mov rbp, rdx
mov qword [rsp + 0x130], rax
mov r10, rax
mov rax, qword [rsi + 0x30]
mov qword [rsp + 0x138], rcx
mov rcx, qword [rsi + 0x38]
mov r12, rax
mov qword [rsp + 0x140], rax
mov rax, qword [rsi + 0x50]
mov qword [rsp + 0x148], rcx
mov rdx, rcx
mov r8, r12
mov rcx, qword [rsp + 0x1e0]
mov qword [rsp + 0x100], rax
mov rax, qword [rsi + 0x58]
mov rsi, r11
mov rcx, qword [rcx + 0x48]
mov qword [rsp + 0xc8], rdi
mov qword [rsp + 0x108], rax
mov r9, qword [rsp + 0x138]
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0xd0], rbp
mov rcx, qword [rsp + 0x1e0]
mov qword [rsp + 0x68], rdi
mov r11, rax
add rbx, qword [rcx + 0x40]
mov qword [rsp + 0xd8], rax
mov rdi, rcx
mov qword [rsp + 0xe0], r10
mov qword [rsp + 0xe8], r9
mov qword [rsp + 0xf0], r12
mov qword [rsp + 0xf8], rdx
mov qword [rsp + 0x88], rbx
jmp 0x5994d8
mov qword [rsp + 0xf8], rdx
mov qword [rsp + 0xf0], r8
mov qword [rsp + 0xe8], r9
mov qword [rsp + 0xe0], r10
mov qword [rsp + 0xd8], r11
mov qword [rsp + 0xd0], rbp
mov qword [rsp + 0xc8], r13
mov qword [rsp + 0xc0], rsi
mov rbx, qword [rsp + 0x1e8]
mov r12, qword [rsp + 0x1e8]
mov rax, qword [rsp + 0x1e8]
mov rcx, qword [rsp + 0x1e8]
mov r15, qword [rbx + 0x10]
mov r14, qword [rbx + 0x18]
mov r13, qword [rbx + 0x20]
mov rbx, qword [rbx + 0x28]
mov r12, qword [r12 + 0x30]
mov rax, qword [rax]
mov qword [rsp], rbx
mov rbx, qword [rsp + 0x1e8]
mov qword [rsp + 8], r12
mov r12, qword [rsp + 0x1e8]
mov rbx, qword [rbx + 0x38]
mov rcx, qword [rcx + 8]
mov r12, qword [r12 + 0x40]
mov qword [rsp + 0x10], rbx
mov rbx, qword [rsp + 0x1e8]
mov qword [rsp + 0x18], r12
mov r12, qword [rsp + 0x1e8]
mov rbx, qword [rbx + 0x48]
mov r12, qword [r12 + 0x50]
mov qword [rsp + 0x20], rbx
mov rbx, qword [rsp + 0x1e8]
mov qword [rsp + 0x28], r12
mov r12, qword [rsp + 0x1e8]
mov rbx, qword [rbx + 0x58]
mov r12, qword [r12 + 0x60]
mov qword [rsp + 0x30], rbx
mov rbx, qword [rsp + 0x1e8]
mov qword [rsp + 0x38], r12
mov rbx, qword [rbx + 0x68]
mov r12, qword [rsp + 0x1e8]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x40], rbx
mov rbx, qword [rsp + 0x1e8]
mov r12, qword [r12 + 0x70]
mov qword [rsp + 0x58], rcx
mov rbx, qword [rbx + 0x78]
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x78], r12
mov r12, qword [rsp + 0x88]
mov qword [rsp + 0x48], rbx
mov rbx, qword [rsp + 0x1e0]
cmp r12, qword [rsp + 0x90]
adc qword [rsp + 0x80], 0
mov qword [rbx + 0x40], r12
mov rbx, qword [rsp + 0x80]
mov qword [rdi + 0x48], rbx
lea rbx, [r10 + rax]
lea rax, [r9 + r15]
movabs rdi, 0x510e527fade682d1
movabs r15, 0x9b05688c2b3e6c1f
add rbx, rsi
mov rsi, r12
xor rsi, rbx
add rbx, rcx
lea rcx, [r8 + r13]
xor rsi, rdi
add rbp, rcx
movabs rdi, 0x6a09e667f3bcc908
rol rsi, 0x20
lea r12, [rsi + rdi]
mov rdi, qword [rsp + 0x68]
mov qword [rsp + 0x68], r14
xor r10, r12
ror r10, 0x18
add rdi, rax
add rbx, r10
xor rsi, rbx
ror rsi, 0x10
add r12, rsi
xor r10, r12
rol r10, 1
mov qword [rsp + 0x98], r10
mov r10, qword [rsp + 0x80]
xor r10, rdi
add rdi, r14
mov r14, qword [rsp + 0x100]
xor r10, r15
movabs r15, 0xbb67ae8584caa73b
rol r10, 0x20
xor r14, rbp
add r15, r10
mov rax, r14
movabs r14, 0x1f83d9abfb41bd6b
xor r9, r15
xor rax, r14
movabs r14, 0x3c6ef372fe94f82b
ror r9, 0x18
rol rax, 0x20
add rdi, r9
xor r10, rdi
ror r10, 0x10
add r15, r10
xor r9, r15
rol r9, 1
add r14, rax
add rbp, qword [rsp]
add rbx, qword [rsp + 0x18]
xor r8, r14
add rbx, r9
ror r8, 0x18
lea rcx, [rbp + r8]
mov rbp, qword [rsp + 8]
xor rax, rcx
add rbp, rdx
ror rax, 0x10
add r11, rbp
mov rbp, qword [rsp + 0x108]
add r14, rax
xor r8, r14
xor rbp, r11
add r11, qword [rsp + 0x10]
rol r8, 1
mov r13, rbp
movabs rbp, 0x5be0cd19137e2179
xor r13, rbp
movabs rbp, 0xa54ff53a5f1d36f1
rol r13, 0x20
add rbp, r13
xor rdx, rbp
ror rdx, 0x18
add r11, rdx
xor r13, r11
ror r13, 0x10
add rbp, r13
xor r13, rbx
add rbx, qword [rsp + 0x20]
rol r13, 0x20
xor rdx, rbp
add r14, r13
rol rdx, 1
xor r9, r14
ror r9, 0x18
add rbx, r9
xor r13, rbx
ror r13, 0x10
mov qword [rsp + 0xa0], r13
add rdi, qword [rsp + 0x28]
add r14, r13
add rdi, r8
add rcx, qword [rsp + 0x38]
xor r9, r14
mov r13, qword [rsp + 0x98]
add rcx, rdx
xor rsi, rdi
add rdi, qword [rsp + 0x30]
rol r9, 1
rol rsi, 0x20
xor r10, rcx
add rcx, qword [rsp + 0x40]
add rbp, rsi
rol r10, 0x20
add r12, r10
xor r8, rbp
ror r8, 0x18
xor rdx, r12
add rdi, r8
ror rdx, 0x18
xor rsi, rdi
add rcx, rdx
ror rsi, 0x10
xor r10, rcx
add rbp, rsi
ror r10, 0x10
xor r8, rbp
add r12, r10
rol r8, 1
xor rdx, r12
add r11, qword [rsp + 0x78]
add rbx, qword [rsp + 0x78]
add r11, r13
add rdi, qword [rsp + 0x70]
rol rdx, 1
xor rax, r11
add r11, qword [rsp + 0x48]
add rdi, r9
rol rax, 0x20
add r15, rax
xor r13, r15
ror r13, 0x18
add r11, r13
xor rax, r11
ror rax, 0x10
add r15, rax
xor r13, r15
rol r13, 1
add rbx, r13
xor rsi, rbx
add rbx, qword [rsp + 0x28]
rol rsi, 0x20
add r12, rsi
xor r13, r12
ror r13, 0x18
add rbx, r13
xor rsi, rbx
ror rsi, 0x10
add r12, rsi
xor r13, r12
rol r13, 1
xor r10, rdi
add rcx, qword [rsp + 0x20]
add rdi, qword [rsp + 0x18]
add rcx, r8
rol r10, 0x20
add r11, qword [rsp + 0x40]
mov qword [rsp + 0x98], r13
xor rax, rcx
add r15, r10
add rcx, qword [rsp + 0x48]
add r11, rdx
rol rax, 0x20
xor r9, r15
mov r13, qword [rsp + 0xa0]
add r14, rax
ror r9, 0x18
xor r8, r14
add rdi, r9
xor r13, r11
ror r8, 0x18
xor r10, rdi
rol r13, 0x20
add rcx, r8
ror r10, 0x10
add rbp, r13
xor rax, rcx
add r15, r10
xor rdx, rbp
ror rax, 0x10
xor r9, r15
add r14, rax
rol r9, 1
xor r8, r14
rol r8, 1
ror rdx, 0x18
add r11, qword [rsp + 8]
add rbx, qword [rsp + 0x58]
add r11, rdx
add rbx, r9
add rdi, qword [rsp + 0x50]
xor r13, r11
add rdi, r8
ror r13, 0x10
xor rsi, rdi
add rdi, qword [rsp + 0x60]
add rbp, r13
xor r13, rbx
rol rsi, 0x20
add rbx, qword [rsp + 0x38]
rol r13, 0x20
xor rdx, rbp
add rbp, rsi
add r14, r13
xor r8, rbp
rol rdx, 1
xor r9, r14
ror r8, 0x18
ror r9, 0x18
add rdi, r8
add rbx, r9
xor rsi, rdi
xor r13, rbx
ror r13, 0x10
add r14, r13
mov qword [rsp + 0xa0], r13
mov r13, qword [rsp + 0x98]
xor r9, r14
rol r9, 1
ror rsi, 0x10
add rcx, qword [rsp + 0x30]
add r11, qword [rsp]
add rcx, rdx
add r11, r13
add rbp, rsi
xor r10, rcx
xor rax, r11
add rcx, qword [rsp + 0x10]
add r11, qword [rsp + 0x68]
rol r10, 0x20
rol rax, 0x20
xor r8, rbp
add r12, r10
add r15, rax
rol r8, 1
xor rdx, r12
xor r13, r15
ror rdx, 0x18
ror r13, 0x18
add rcx, rdx
add r11, r13
xor r10, rcx
xor rax, r11
ror r10, 0x10
ror rax, 0x10
add r12, r10
add r15, rax
xor rdx, r12
xor r13, r15
rol rdx, 1
rol r13, 1
add rbx, qword [rsp + 0x30]
add rdi, qword [rsp + 0x38]
add rbx, r13
add rdi, r9
xor rsi, rbx
add rbx, qword [rsp + 0x18]
xor r10, rdi
add rdi, qword [rsp + 0x50]
rol rsi, 0x20
rol r10, 0x20
add r12, rsi
add r15, r10
xor r13, r12
xor r9, r15
ror r13, 0x18
ror r9, 0x18
add rbx, r13
add rdi, r9
xor rsi, rbx
xor r10, rdi
ror rsi, 0x10
ror r10, 0x10
add r12, rsi
add r15, r10
xor r13, r12
xor r9, r15
rol r13, 1
rol r9, 1
mov qword [rsp + 0x98], r13
add rcx, qword [rsp]
add rcx, r8
mov r13, qword [rsp + 0xa0]
xor rax, rcx
rol rax, 0x20
add r14, rax
add r11, qword [rsp + 0x48]
add rcx, qword [rsp + 0x60]
add r11, rdx
xor r8, r14
add rbx, qword [rsp + 0x28]
xor r13, r11
add r11, qword [rsp + 0x40]
ror r8, 0x18
add rbx, r9
rol r13, 0x20
add rcx, r8
add rbp, r13
xor rax, rcx
xor rdx, rbp
ror rax, 0x10
ror rdx, 0x18
add r14, rax
add r11, rdx
xor r8, r14
xor r13, r11
rol r8, 1
ror r13, 0x10
add rbp, r13
xor r13, rbx
add rbx, qword [rsp + 0x78]
rol r13, 0x20
xor rdx, rbp
add r14, r13
rol rdx, 1
xor r9, r14
ror r9, 0x18
add rbx, r9
add rdi, qword [rsp + 0x68]
add rcx, qword [rsp + 0x10]
add rdi, r8
add rcx, rdx
xor r13, rbx
xor rsi, rdi
xor r10, rcx
add rdi, qword [rsp + 8]
add rcx, qword [rsp + 0x58]
rol rsi, 0x20
rol r10, 0x20
add rbp, rsi
add r12, r10
ror r13, 0x10
xor r8, rbp
xor rdx, r12
add r14, r13
mov qword [rsp + 0xa0], r13
ror r8, 0x18
ror rdx, 0x18
xor r9, r14
mov r13, qword [rsp + 0x98]
add rdi, r8
add rcx, rdx
rol r9, 1
xor rsi, rdi
xor r10, rcx
ror rsi, 0x10
ror r10, 0x10
add rbp, rsi
add r12, r10
xor r8, rbp
rol r8, 1
xor rdx, r12
add r11, qword [rsp + 0x20]
add rbx, qword [rsp + 0x10]
add r11, r13
add rdi, qword [rsp + 0x68]
rol rdx, 1
xor rax, r11
add r11, qword [rsp + 0x70]
add rdi, r9
rol rax, 0x20
add r15, rax
xor r13, r15
ror r13, 0x18
add r11, r13
xor rax, r11
ror rax, 0x10
add r15, rax
xor r13, r15
rol r13, 1
add rbx, r13
xor rsi, rbx
add rbx, qword [rsp + 0x20]
rol rsi, 0x20
add r12, rsi
xor r13, r12
ror r13, 0x18
add rbx, r13
xor rsi, rbx
ror rsi, 0x10
add r12, rsi
xor r13, r12
rol r13, 1
xor r10, rdi
add rcx, qword [rsp + 0x40]
add rdi, qword [rsp + 0x58]
add rcx, r8
rol r10, 0x20
add r11, qword [rsp + 0x30]
mov qword [rsp + 0x98], r13
xor rax, rcx
add r15, r10
add rcx, qword [rsp + 0x38]
add r11, rdx
rol rax, 0x20
xor r9, r15
mov r13, qword [rsp + 0xa0]
add r14, rax
ror r9, 0x18
xor r8, r14
add rdi, r9
xor r13, r11
ror r8, 0x18
xor r10, rdi
rol r13, 0x20
add rcx, r8
ror r10, 0x10
add rbp, r13
xor rax, rcx
add r15, r10
xor rdx, rbp
ror rax, 0x10
xor r9, r15
add r14, rax
rol r9, 1
xor r8, r14
rol r8, 1
ror rdx, 0x18
add r11, qword [rsp + 0x78]
add rdi, qword [rsp]
add r11, rdx
add rbx, qword [rsp + 0x60]
add rdi, r8
xor r13, r11
add rbx, r9
xor rsi, rdi
add rdi, qword [rsp + 0x28]
ror r13, 0x10
rol rsi, 0x20
add rbp, r13
xor r13, rbx
add rbx, qword [rsp + 8]
rol r13, 0x20
xor rdx, rbp
add rbp, rsi
add r14, r13
xor r8, rbp
rol rdx, 1
xor r9, r14
ror r8, 0x18
ror r9, 0x18
add rdi, r8
add rbx, r9
xor rsi, rdi
xor r13, rbx
ror r13, 0x10
add r14, r13
mov qword [rsp + 0xa0], r13
xor r9, r14
rol r9, 1
ror rsi, 0x10
add rcx, qword [rsp + 0x70]
add rcx, rdx
add rbp, rsi
xor r10, rcx
add rcx, qword [rsp + 0x50]
add r11, qword [rsp + 0x48]
xor r8, rbp
mov r13, qword [rsp + 0x98]
rol r10, 0x20
rol r8, 1
add r12, r10
add r11, r13
xor rdx, r12
xor rax, r11
ror rdx, 0x18
add r11, qword [rsp + 0x18]
rol rax, 0x20
add rcx, rdx
add r15, rax
xor r10, rcx
xor r13, r15
ror r10, 0x10
ror r13, 0x18
add r12, r10
add r11, r13
xor rdx, r12
xor rax, r11
rol rdx, 1
ror rax, 0x10
add r15, rax
xor r13, r15
rol r13, 1
add rbx, qword [rsp + 0x20]
add rdi, qword [rsp]
add rbx, r13
add rdi, r9
add rcx, qword [rsp + 0x60]
xor rsi, rbx
xor r10, rdi
add rbx, qword [rsp + 0x50]
add rdi, qword [rsp + 0x10]
rol rsi, 0x20
rol r10, 0x20
add rcx, r8
add r12, rsi
add r15, r10
xor rax, rcx
xor r13, r12
xor r9, r15
rol rax, 0x20
ror r13, 0x18
ror r9, 0x18
add rbx, r13
add rdi, r9
xor rsi, rbx
xor r10, rdi
ror rsi, 0x10
ror r10, 0x10
add r12, rsi
add r15, r10
xor r13, r12
xor r9, r15
rol r13, 1
rol r9, 1
add r14, rax
add r11, qword [rsp + 0x28]
add r11, rdx
xor r8, r14
add rcx, qword [rsp + 0x70]
add rbx, qword [rsp + 0x78]
mov qword [rsp + 0x98], r13
ror r8, 0x18
add rbx, r9
mov r13, qword [rsp + 0xa0]
add rcx, r8
xor r13, r11
add r11, qword [rsp + 0x48]
xor rax, rcx
rol r13, 0x20
ror rax, 0x10
add rbp, r13
add r14, rax
xor rdx, rbp
xor r8, r14
ror rdx, 0x18
rol r8, 1
add r11, rdx
xor r13, r11
ror r13, 0x10
add rbp, r13
xor r13, rbx
add rbx, qword [rsp + 0x58]
rol r13, 0x20
xor rdx, rbp
add r14, r13
rol rdx, 1
xor r9, r14
ror r9, 0x18
add rbx, r9
add rdi, qword [rsp + 0x30]
add rcx, qword [rsp + 8]
add rdi, r8
add rcx, rdx
xor r13, rbx
xor rsi, rdi
xor r10, rcx
add rdi, qword [rsp + 0x38]
add rcx, qword [rsp + 0x18]
rol rsi, 0x20
rol r10, 0x20
add rbp, rsi
add r12, r10
ror r13, 0x10
xor r8, rbp
xor rdx, r12
add r14, r13
mov qword [rsp + 0xa0], r13
ror r8, 0x18
ror rdx, 0x18
xor r9, r14
mov r13, qword [rsp + 0x98]
add rdi, r8
add rcx, rdx
rol r9, 1
xor rsi, rdi
xor r10, rcx
ror rsi, 0x10
ror r10, 0x10
add rbp, rsi
add r12, r10
xor r8, rbp
rol r8, 1
xor rdx, r12
add r11, qword [rsp + 0x68]
add rbx, qword [rsp + 0x60]
add r11, r13
add rdi, qword [rsp + 8]
rol rdx, 1
xor rax, r11
add r11, qword [rsp + 0x40]
add rdi, r9
rol rax, 0x20
add r15, rax
xor r13, r15
ror r13, 0x18
add r11, r13
xor rax, r11
ror rax, 0x10
add r15, rax
xor r13, r15
rol r13, 1
add rbx, r13
xor rsi, rbx
add rbx, qword [rsp + 0x38]
rol rsi, 0x20
add r12, rsi
xor r13, r12
ror r13, 0x18
add rbx, r13
xor rsi, rbx
ror rsi, 0x10
add r12, rsi
xor r13, r12
rol r13, 1
xor r10, rdi
add rcx, qword [rsp + 0x50]
add rdi, qword [rsp + 0x28]
add rcx, r8
rol r10, 0x20
add r11, qword [rsp + 0x18]
mov qword [rsp + 0x98], r13
xor rax, rcx
add r15, r10
add rcx, qword [rsp + 0x30]
add r11, rdx
rol rax, 0x20
xor r9, r15
mov r13, qword [rsp + 0xa0]
add r14, rax
ror r9, 0x18
xor r8, r14
add rdi, r9
xor r13, r11
ror r8, 0x18
xor r10, rdi
rol r13, 0x20
add rcx, r8
ror r10, 0x10
add rbp, r13
xor rax, rcx
add r15, r10
xor rdx, rbp
ror rax, 0x10
xor r9, r15
add r14, rax
rol r9, 1
xor r8, r14
rol r8, 1
ror rdx, 0x18
add r11, qword [rsp + 0x68]
add rbx, qword [rsp + 0x70]
add r11, rdx
add rbx, r9
add rdi, qword [rsp + 0x10]
xor r13, r11
add rdi, r8
ror r13, 0x10
xor rsi, rdi
add rdi, qword [rsp]
add rbp, r13
xor r13, rbx
rol rsi, 0x20
add rbx, qword [rsp + 0x40]
rol r13, 0x20
xor rdx, rbp
add rbp, rsi
add r14, r13
xor r8, rbp
rol rdx, 1
xor r9, r14
ror r8, 0x18
ror r9, 0x18
add rdi, r8
add rbx, r9
xor rsi, rdi
xor r13, rbx
ror r13, 0x10
add r14, r13
mov qword [rsp + 0xa0], r13
mov r13, qword [rsp + 0x98]
xor r9, r14
rol r9, 1
ror rsi, 0x10
add rcx, qword [rsp + 0x48]
add r11, qword [rsp + 0x58]
add rcx, rdx
add r11, r13
add rbp, rsi
xor r10, rcx
xor rax, r11
add rcx, qword [rsp + 0x78]
add r11, qword [rsp + 0x20]
rol r10, 0x20
rol rax, 0x20
xor r8, rbp
add r12, r10
add r15, rax
rol r8, 1
xor rdx, r12
xor r13, r15
ror rdx, 0x18
ror r13, 0x18
add rcx, rdx
add r11, r13
xor r10, rcx
xor rax, r11
ror r10, 0x10
ror rax, 0x10
add r12, r10
add r15, rax
xor rdx, r12
xor r13, r15
rol rdx, 1
rol r13, 1
add rbx, qword [rsp + 0x38]
add rdi, qword [rsp + 0x58]
add rbx, r13
add rdi, r9
add rcx, qword [rsp + 0x78]
xor rsi, rbx
xor r10, rdi
add rbx, qword [rsp]
add rdi, qword [rsp + 0x48]
rol rsi, 0x20
rol r10, 0x20
add rcx, r8
add r12, rsi
add r15, r10
xor rax, rcx
xor r13, r12
xor r9, r15
rol rax, 0x20
ror r13, 0x18
ror r9, 0x18
add rbx, r13
add rdi, r9
xor rsi, rbx
xor r10, rdi
ror rsi, 0x10
ror r10, 0x10
add r12, rsi
add r15, r10
xor r13, r12
xor r9, r15
rol r13, 1
rol r9, 1
add r14, rax
add r11, qword [rsp + 0x70]
add r11, rdx
xor r8, r14
add rcx, qword [rsp + 0x40]
add rbx, qword [rsp + 0x50]
mov qword [rsp + 0x98], r13
ror r8, 0x18
add rbx, r9
mov r13, qword [rsp + 0xa0]
add rcx, r8
xor r13, r11
add r11, qword [rsp + 0x28]
xor rax, rcx
rol r13, 0x20
ror rax, 0x10
add rbp, r13
add r14, rax
xor rdx, rbp
xor r8, r14
ror rdx, 0x18
rol r8, 1
add r11, rdx
xor r13, r11
ror r13, 0x10
add rbp, r13
xor r13, rbx
add rbx, qword [rsp + 0x10]
rol r13, 0x20
xor rdx, rbp
add r14, r13
rol rdx, 1
xor r9, r14
ror r9, 0x18
add rbx, r9
add rdi, qword [rsp + 8]
add rcx, qword [rsp + 0x20]
add rdi, r8
add rcx, rdx
xor r13, rbx
xor rsi, rdi
xor r10, rcx
add rdi, qword [rsp + 0x68]
add rcx, qword [rsp + 0x60]
rol rsi, 0x20
rol r10, 0x20
add rbp, rsi
add r12, r10
ror r13, 0x10
xor r8, rbp
xor rdx, r12
add r14, r13
mov qword [rsp + 0xa0], r13
ror r8, 0x18
ror rdx, 0x18
xor r9, r14
mov r13, qword [rsp + 0x98]
add rdi, r8
add rcx, rdx
rol r9, 1
xor rsi, rdi
xor r10, rcx
ror rsi, 0x10
ror r10, 0x10
add rbp, rsi
add r12, r10
xor r8, rbp
rol r8, 1
xor rdx, r12
add r11, qword [rsp + 0x18]
add rbx, qword [rsp + 0x40]
add r11, r13
rol rdx, 1
xor rax, r11
add r11, qword [rsp + 0x30]
rol rax, 0x20
add r15, rax
xor r13, r15
ror r13, 0x18
add r11, r13
xor rax, r11
ror rax, 0x10
add r15, rax
xor r13, r15
rol r13, 1
add rbx, r13
xor rsi, rbx
add rbx, qword [rsp + 0x30]
add rdi, qword [rsp + 0x10]
rol rsi, 0x20
add rdi, r9
add r12, rsi
xor r13, r12
ror r13, 0x18
add rbx, r13
xor rsi, rbx
ror rsi, 0x10
add r12, rsi
xor r13, r12
rol r13, 1
xor r10, rdi
add rcx, qword [rsp + 0x38]
add rdi, qword [rsp + 0x78]
add rcx, r8
rol r10, 0x20
add r11, qword [rsp + 0x68]
mov qword [rsp + 0x98], r13
xor rax, rcx
add r15, r10
add rcx, qword [rsp + 0x58]
add r11, rdx
rol rax, 0x20
xor r9, r15
mov r13, qword [rsp + 0xa0]
add r14, rax
ror r9, 0x18
xor r8, r14
add rdi, r9
xor r13, r11
ror r8, 0x18
xor r10, rdi
rol r13, 0x20
add rcx, r8
ror r10, 0x10
add rbp, r13
xor rax, rcx
add r15, r10
xor rdx, rbp
ror rax, 0x10
xor r9, r15
add r14, rax
rol r9, 1
xor r8, r14
rol r8, 1
ror rdx, 0x18
add r11, qword [rsp + 0x20]
add rbx, qword [rsp]
add r11, rdx
add rbx, r9
add rdi, qword [rsp + 0x48]
xor r13, r11
add rdi, r8
ror r13, 0x10
xor rsi, rdi
add rdi, qword [rsp + 0x70]
add rbp, r13
xor r13, rbx
rol rsi, 0x20
add rbx, qword [rsp + 0x50]
rol r13, 0x20
xor rdx, rbp
add rbp, rsi
add r14, r13
xor r8, rbp
rol rdx, 1
xor r9, r14
ror r8, 0x18
ror r9, 0x18
add rdi, r8
add rbx, r9
xor rsi, rdi
xor r13, rbx
ror r13, 0x10
add r14, r13
mov qword [rsp + 0xa0], r13
mov r13, qword [rsp + 0x98]
xor r9, r14
rol r9, 1
ror rsi, 0x10
add rcx, qword [rsp + 0x18]
add r11, qword [rsp + 0x60]
add rcx, rdx
add r11, r13
add rbp, rsi
xor r10, rcx
xor rax, r11
add rcx, qword [rsp + 8]
add r11, qword [rsp + 0x28]
rol r10, 0x20
rol rax, 0x20
xor r8, rbp
add r12, r10
add r15, rax
rol r8, 1
xor rdx, r12
xor r13, r15
ror rdx, 0x18
ror r13, 0x18
add rcx, rdx
add r11, r13
xor r10, rcx
xor rax, r11
ror r10, 0x10
ror rax, 0x10
add r12, r10
add r15, rax
xor rdx, r12
xor r13, r15
rol rdx, 1
rol r13, 1
add rbx, qword [rsp + 8]
add rdi, qword [rsp + 0x78]
add rbx, r13
add rdi, r9
add rcx, qword [rsp + 0x30]
xor rsi, rbx
xor r10, rdi
add rbx, qword [rsp + 0x48]
add rdi, qword [rsp + 0x20]
rol rsi, 0x20
rol r10, 0x20
add rcx, r8
add r12, rsi
add r15, r10
xor rax, rcx
xor r13, r12
xor r9, r15
rol rax, 0x20
ror r13, 0x18
ror r9, 0x18
add rbx, r13
add rdi, r9
xor rsi, rbx
xor r10, rdi
ror rsi, 0x10
ror r10, 0x10
add r12, rsi
add r15, r10
xor r13, r12
xor r9, r15
rol r13, 1
rol r9, 1
add r14, rax
add r11, qword [rsp + 0x50]
add r11, rdx
xor r8, r14
add rcx, qword [rsp + 0x68]
add rbx, qword [rsp + 0x38]
mov qword [rsp + 0x98], r13
ror r8, 0x18
add rbx, r9
mov r13, qword [rsp + 0xa0]
add rcx, r8
xor r13, r11
add r11, qword [rsp + 0x18]
xor rax, rcx
rol r13, 0x20
ror rax, 0x10
add rbp, r13
add r14, rax
xor rdx, rbp
xor r8, r14
ror rdx, 0x18
rol r8, 1
add r11, rdx
xor r13, r11
ror r13, 0x10
add rbp, r13
xor r13, rbx
add rbx, qword [rsp + 0x60]
rol r13, 0x20
xor rdx, rbp
add r14, r13
rol rdx, 1
xor r9, r14
ror r9, 0x18
add rbx, r9
xor r13, rbx
ror r13, 0x10
mov qword [rsp + 0xa0], r13
add rdi, qword [rsp + 0x40]
add r14, r13
add rdi, r8
add rcx, qword [rsp + 0x58]
xor r9, r14
mov r13, qword [rsp + 0x98]
add rcx, rdx
xor rsi, rdi
add rdi, qword [rsp + 0x10]
rol r9, 1
rol rsi, 0x20
xor r10, rcx
add rcx, qword [rsp + 0x70]
add rbp, rsi
rol r10, 0x20
add r12, r10
xor r8, rbp
ror r8, 0x18
xor rdx, r12
add rdi, r8
ror rdx, 0x18
xor rsi, rdi
add rcx, rdx
ror rsi, 0x10
xor r10, rcx
add rbp, rsi
ror r10, 0x10
xor r8, rbp
add r12, r10
rol r8, 1
xor rdx, r12
add r11, qword [rsp + 0x28]
add rbx, qword [rsp + 0x28]
add r11, r13
add rdi, qword [rsp + 0x18]
rol rdx, 1
xor rax, r11
add r11, qword [rsp]
add rdi, r9
rol rax, 0x20
add r15, rax
xor r13, r15
ror r13, 0x18
add r11, r13
xor rax, r11
ror rax, 0x10
add r15, rax
xor r13, r15
rol r13, 1
add rbx, r13
xor rsi, rbx
add rbx, qword [rsp + 0x60]
rol rsi, 0x20
add r12, rsi
xor r13, r12
ror r13, 0x18
add rbx, r13
xor rsi, rbx
ror rsi, 0x10
add r12, rsi
xor r13, r12
rol r13, 1
xor r10, rdi
add rcx, qword [rsp + 0x10]
add rdi, qword [rsp + 0x70]
add rcx, r8
rol r10, 0x20
add r11, qword [rsp + 0x58]
mov qword [rsp + 0x98], r13
xor rax, rcx
add r15, r10
add rcx, qword [rsp + 8]
add r11, rdx
rol rax, 0x20
xor r9, r15
mov r13, qword [rsp + 0xa0]
add r14, rax
ror r9, 0x18
xor r8, r14
add rdi, r9
xor r13, r11
ror r8, 0x18
xor r10, rdi
rol r13, 0x20
add rcx, r8
ror r10, 0x10
add rbp, r13
xor rax, rcx
add r15, r10
xor rdx, rbp
ror rax, 0x10
xor r9, r15
add r14, rax
rol r9, 1
xor r8, r14
rol r8, 1
ror rdx, 0x18
add r11, qword [rsp]
add rbx, qword [rsp + 0x48]
add r11, rdx
add rbx, r9
add rdi, qword [rsp + 0x20]
xor r13, r11
add rdi, r8
ror r13, 0x10
xor rsi, rdi
add rdi, qword [rsp + 0x78]
add rbp, r13
xor r13, rbx
rol rsi, 0x20
add rbx, qword [rsp + 0x30]
rol r13, 0x20
xor rdx, rbp
add rbp, rsi
add r14, r13
xor r8, rbp
rol rdx, 1
xor r9, r14
ror r8, 0x18
ror r9, 0x18
add rdi, r8
add rbx, r9
xor rsi, rdi
xor r13, rbx
ror r13, 0x10
add r14, r13
mov qword [rsp + 0xa0], r13
mov r13, qword [rsp + 0x98]
xor r9, r14
rol r9, 1
ror rsi, 0x10
add rcx, qword [rsp + 0x68]
add r11, qword [rsp + 0x40]
add rcx, rdx
add r11, r13
add rbp, rsi
xor r10, rcx
xor rax, r11
add rcx, qword [rsp + 0x38]
add r11, qword [rsp + 0x50]
rol r10, 0x20
rol rax, 0x20
xor r8, rbp
add r12, r10
add r15, rax
rol r8, 1
xor rdx, r12
xor r13, r15
ror rdx, 0x18
ror r13, 0x18
add rcx, rdx
add r11, r13
xor r10, rcx
xor rax, r11
ror r10, 0x10
ror rax, 0x10
add r12, r10
add r15, rax
xor rdx, r12
xor r13, r15
rol rdx, 1
rol r13, 1
add rbx, qword [rsp + 0x50]
add rdi, qword [rsp + 0x60]
add rbx, r13
add rdi, r9
xor rsi, rbx
add rbx, qword [rsp + 0x58]
xor r10, rdi
add rdi, qword [rsp + 0x68]
rol rsi, 0x20
rol r10, 0x20
add r12, rsi
add r15, r10
xor r13, r12
xor r9, r15
ror r13, 0x18
ror r9, 0x18
add rbx, r13
add rdi, r9
xor rsi, rbx
xor r10, rdi
ror rsi, 0x10
ror r10, 0x10
add r12, rsi
add r15, r10
xor r13, r12
xor r9, r15
rol r13, 1
rol r9, 1
mov qword [rsp + 0xb0], r13
add rcx, qword [rsp + 0x70]
add rcx, r8
xor rax, rcx
rol rax, 0x20
add r14, rax
add rcx, qword [rsp]
add r11, qword [rsp + 8]
xor r8, r14
add rbx, qword [rsp + 0x18]
ror r8, 0x18
add rbx, r9
add rcx, r8
mov qword [rsp + 0x98], rcx
xor rax, rcx
lea rcx, [r11 + rdx]
mov r11, qword [rsp + 0xa0]
ror rax, 0x10
xor r11, rcx
add rcx, qword [rsp + 0x10]
add r14, rax
mov r13, r11
xor r8, r14
rol r13, 0x20
rol r8, 1
add rbp, r13
xor rdx, rbp
ror rdx, 0x18
add rcx, rdx
xor r13, rcx
ror r13, 0x10
add rbp, r13
xor r13, rbx
add rbx, qword [rsp + 0x20]
rol r13, 0x20
xor rdx, rbp
add r14, r13
rol rdx, 1
xor r9, r14
ror r9, 0x18
add rbx, r9
xor r13, rbx
add rdi, qword [rsp + 0x28]
add rdi, r8
mov r11, r13
mov r13, r14
xor rsi, rdi
add rdi, qword [rsp + 0x30]
ror r11, 0x10
rol rsi, 0x20
add r13, r11
mov qword [rsp + 0xb8], r11
add rbp, rsi
xor r9, r13
mov qword [rsp + 0xa0], r13
mov r13, qword [rsp + 0xb0]
xor r8, rbp
rol r9, 1
ror r8, 0x18
mov r11, r9
add rdi, r8
xor rsi, rdi
ror rsi, 0x10
add rbp, rsi
mov qword [rsp + 0xa8], rbp
xor r8, rbp
mov rbp, qword [rsp + 0x98]
add rbp, qword [rsp + 0x38]
rol r8, 1
add rbp, rdx
mov r14, r8
mov r8, rax
mov rax, r13
xor r10, rbp
add rbp, qword [rsp + 0x40]
rol r10, 0x20
add r12, r10
xor rdx, r12
ror rdx, 0x18
add rbp, rdx
xor r10, rbp
ror r10, 0x10
add r12, r10
mov r9, r10
mov r10, qword [rsp + 0x78]
xor rdx, r12
rol rdx, 1
add rcx, r10
add rbx, r10
mov r10, rsi
add rcx, r13
mov rsi, qword [rsp + 0x28]
add rdi, qword [rsp + 0x70]
xor r8, rcx
add rcx, qword [rsp + 0x48]
add rdi, r11
rol r8, 0x20
xor r9, rdi
add r15, r8
rol r9, 0x20
xor rax, r15
mov r13, rax
ror r13, 0x18
add rcx, r13
mov rax, r13
mov r13, rdx
xor r8, rcx
ror r8, 0x10
add r15, r8
xor rax, r15
rol rax, 1
add rbx, rax
xor r10, rbx
add rsi, rbx
rol r10, 0x20
add r12, r10
xor rax, r12
ror rax, 0x18
add rsi, rax
xor r10, rsi
ror r10, 0x10
lea rbx, [r12 + r10]
mov r12, rax
mov rax, qword [rsp + 0xa0]
xor r12, rbx
mov qword [rsp + 0x28], rbx
mov rbx, r12
rol rbx, 1
mov qword [rsp + 0x78], rbx
lea rbx, [r15 + r9]
xor r11, rbx
add rbp, qword [rsp + 0x20]
add rcx, qword [rsp + 0x40]
ror r11, 0x18
add rbp, r14
add rdi, qword [rsp + 0x18]
add rdi, r11
xor r8, rbp
mov r15, r11
add rbp, qword [rsp + 0x48]
lea r11, [rcx + rdx]
mov rcx, qword [rsp + 0xb8]
rol r8, 0x20
xor r9, rdi
add rax, r8
ror r9, 0x10
xor rcx, r11
xor r14, rax
add r11, qword [rsp + 8]
add rbx, r9
mov r12, rcx
mov rcx, qword [rsp + 0xa8]
ror r14, 0x18
xor r15, rbx
rol r12, 0x20
add rbp, r14
rol r15, 1
add rcx, r12
xor r8, rbp
xor r13, rcx
ror r8, 0x10
ror r13, 0x18
add rax, r8
add r11, r13
xor r14, rax
xor r12, r11
rol r14, 1
ror r12, 0x10
add rsi, qword [rsp + 0x58]
add rsi, r15
mov rdx, r12
add rcx, r12
xor rdx, rsi
add rsi, qword [rsp + 0x38]
add rdi, qword [rsp + 0x50]
xor r13, rcx
rol rdx, 0x20
add rdi, r14
add rbp, qword [rsp + 0x30]
rol r13, 1
add rax, rdx
xor r10, rdi
add rbp, r13
add rdi, qword [rsp + 0x60]
xor r15, rax
rol r10, 0x20
xor r9, rbp
ror r15, 0x18
add rcx, r10
rol r9, 0x20
add rsi, r15
xor r14, rcx
xor rdx, rsi
ror r14, 0x18
ror rdx, 0x10
add rdi, r14
add rax, rdx
mov qword [rsp + 8], rdx
mov rdx, qword [rsp + 0x28]
xor r10, rdi
ror r10, 0x10
lea r12, [rdx + r9]
add rcx, r10
xor r13, r12
add rbp, qword [rsp + 0x10]
add r11, qword [rsp]
mov rdx, r13
mov r13, qword [rsp + 0x1e0]
ror rdx, 0x18
add rbp, rdx
mov qword [rsp + 0x10], rdx
xor r9, rbp
xor rbp, rax
xor rax, r15
xor rbp, qword [rsp + 0xd0]
ror r9, 0x10
rol rax, 1
lea rdx, [r12 + r9]
mov r12, qword [rsp + 0x78]
xor rsi, rdx
xor rsi, qword [rsp + 0xc0]
add r11, r12
mov qword [r13], rsi
xor r8, r11
add r11, qword [rsp + 0x68]
rol r8, 0x20
add rbx, r8
xor r12, rbx
ror r12, 0x18
add r11, r12
xor r8, r11
xor r11, rcx
xor r11, qword [rsp + 0xd8]
ror r8, 0x10
add rbx, r8
xor rdi, rbx
xor rbx, r12
xor rdi, qword [rsp + 0xc8]
rol rbx, 1
mov qword [rsp + 0x68], rdi
mov r13, rdi
mov rdi, qword [rsp + 0x1e0]
xor r10, rbx
xor r10, qword [rsp + 0xe0]
xor r9, rax
xor rcx, r14
xor rdx, qword [rsp + 0x10]
rol rcx, 1
xor r9, qword [rsp + 0xe8]
mov qword [rdi + 8], r13
xor r8, rcx
rol rdx, 1
xor r8, qword [rsp + 0xf0]
mov qword [rdi + 0x10], rbp
xor rdx, qword [rsp + 8]
xor rdx, qword [rsp + 0xf8]
mov qword [rdi + 0x18], r11
mov qword [rdi + 0x20], r10
mov qword [rdi + 0x28], r9
mov qword [rdi + 0x30], r8
mov qword [rdi + 0x38], rdx
mov rax, qword [rsp + 0x90]
add qword [rsp + 0x1e8], rax
add qword [rsp + 0x88], rax
sub qword [rsp + 0x1f0], rax
jne 0x599498
add rsp, 0x198
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret