Function at 0x4cfbe0
Capabilities:
Hash data using sha512

Disassembly:
push rbp
push rbx
sub rsp, 0x4b8
lea rbp, [rsp + 0x80]
mov dword [rbp + 0x428], 0x1a46c601
lea rax, [rbp + 0x2d0]
mov r8d, 0x50
lea rdx, str.00000000000002195f03e9e04d29e62fac4573c5c3a4c832d9a75afe96e061221a46c601000684df5b82b4570000000038ff86d939f287b5aaaa0872b4058891aa9b84a8336adf042cbb9b3c4a7fae29
mov rcx, rax
call dbg.hex2bin
lea rax, [rbp + 0x2d0]
mov r9d, 8
mov r8d, 0x50
mov rdx, rax
lea rcx, [0x004f3e79]
call sym.logbyte2_15
lea rax, [rbp + 0x2d0]
mov qword [rbp + 0x420], rax
mov dword [rbp + 0x42c], 0
jmp 0x4cfc8a
mov eax, dword [rbp + 0x42c]
cdqe
lea rdx, [rax*8]
lea rax, [0x004f3c20]
mov rax, qword [rdx + rax]
mov edx, dword [rbp + 0x42c]
movsxd rdx, edx
add rdx, 0x10
mov qword [rbp + rdx*8 + 0x1d0], rax
add dword [rbp + 0x42c], 1
cmp dword [rbp + 0x42c], 7
jle 0x4cfc53
mov rax, qword [rbp + 0x250]
xor rax, 0x1010020
mov qword [rbp + 0x250], rax
mov dword [rbp + 0x42c], 0
jmp 0x4cfd0d
mov eax, dword [rbp + 0x42c]
cdqe
add rax, 0x10
mov rdx, qword [rbp + rax*8 + 0x1d0]
mov eax, dword [rbp + 0x42c]
cdqe
mov qword [rbp + rax*8 + 0x3a0], rdx
mov eax, dword [rbp + 0x42c]
lea ecx, [rax + 8]
mov eax, dword [rbp + 0x42c]
cdqe
lea rdx, [rax*8]
lea rax, [0x004f3c20]
mov rdx, qword [rdx + rax]
movsxd rax, ecx
mov qword [rbp + rax*8 + 0x3a0], rdx
add dword [rbp + 0x42c], 1
cmp dword [rbp + 0x42c], 7
jle 0x4cfcb3
mov rax, qword [rbp + 0x400]
xor rax, 0x50
mov qword [rbp + 0x400], rax
mov rax, qword [rbp + 0x410]
not rax
mov qword [rbp + 0x410], rax
mov dword [rbp + 0x42c], 0
jmp 0x4cfd79
mov eax, dword [rbp + 0x42c]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x420]
add rax, rdx
mov rdx, qword [rax]
mov eax, dword [rbp + 0x42c]
cdqe
mov qword [rbp + rax*8 + 0x320], rdx
add dword [rbp + 0x42c], 1
cmp dword [rbp + 0x42c], 9
jle 0x4cfd45
jmp 0x4cfda1
mov eax, dword [rbp + 0x42c]
lea edx, [rax + 1]
mov dword [rbp + 0x42c], edx
cdqe
mov qword [rbp + rax*8 + 0x320], 0
cmp dword [rbp + 0x42c], 0xf
jle 0x4cfd84
lea rax, [rbp + 0x320]
mov r9d, 0
mov r8d, 0x10
mov rdx, rax
lea rcx, [0x004f3e7e]
call sym.logint64_15
lea rax, [rbp + 0x320]
mov r9d, 8
mov r8d, pe_nt_image_headers64
mov rdx, rax
lea rcx, [0x004f3e7e]
call sym.logbyte2_15
mov dword [rbp + 0x42c], 0
jmp 0x4d1324
mov rax, qword [0x00514e80]
movzx eax, byte [rax]
test al, al
jne 0x4cfe2a
mov rax, qword [0x00514ac0]
movzx eax, byte [rax]
test al, al
jne 0x4cfe2a
mov rax, qword [0x00514ab0]
mov eax, dword [rax]
test eax, eax
js 0x4cfeea
mov eax, dword [rbp + 0x42c]
cdqe
shl rax, 4
mov rdx, rax
lea rax, [0x004f3c61]
movzx eax, byte [rdx + rax]
movzx eax, al
cdqe
mov r11, qword [rbp + rax*8 + 0x320]
mov eax, dword [rbp + 0x42c]
cdqe
shl rax, 4
mov rdx, rax
lea rax, [0x004f3c60]
movzx eax, byte [rdx + rax]
movzx eax, al
cdqe
mov r10, qword [rbp + rax*8 + 0x320]
mov r9, qword [rbp + 0x400]
mov r8, qword [rbp + 0x3e0]
mov rcx, qword [rbp + 0x3c0]
mov rdx, qword [rbp + 0x3a0]
mov ebx, dword [rbp + 0x42c]
lea rax, [rbp - 0x30]
mov qword [rsp + 0x48], r11
mov qword [rsp + 0x40], r10
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rdx
mov r9d, ebx
lea r8, str.G_R_d_G0_Input:___16.16llx__16.16llx__16.16llx__16.16llx__16.16llx__16.16llx
mov edx, 0x200
mov rcx, rax
call sym.snprintf_13
lea rax, [rbp - 0x30]
mov r8d, 0
mov rdx, rax
mov ecx, 0
call dbg._applog
mov rdx, qword [rbp + 0x3a0]
mov rax, qword [rbp + 0x3c0]
lea rcx, [rdx + rax]
mov eax, dword [rbp + 0x42c]
cdqe
shl rax, 4
mov rdx, rax
lea rax, [0x004f3c60]
movzx eax, byte [rdx + rax]
movzx eax, al
cdqe
mov rax, qword [rbp + rax*8 + 0x320]
add rax, rcx
mov qword [rbp + 0x3a0], rax
mov rdx, qword [rbp + 0x400]
mov rax, qword [rbp + 0x3a0]
xor rax, rdx
rol rax, 0x20
mov qword [rbp + 0x400], rax
mov rdx, qword [rbp + 0x3e0]
mov rax, qword [rbp + 0x400]
add rax, rdx
mov qword [rbp + 0x3e0], rax
mov rdx, qword [rbp + 0x3c0]
mov rax, qword [rbp + 0x3e0]
xor rax, rdx
ror rax, 0x18
mov qword [rbp + 0x3c0], rax
mov rdx, qword [rbp + 0x3a0]
mov rax, qword [rbp + 0x3c0]
lea rcx, [rdx + rax]
mov eax, dword [rbp + 0x42c]
cdqe
shl rax, 4
mov rdx, rax
lea rax, [0x004f3c61]
movzx eax, byte [rdx + rax]
movzx eax, al
cdqe
mov rax, qword [rbp + rax*8 + 0x320]
add rax, rcx
mov qword [rbp + 0x3a0], rax
mov rdx, qword [rbp + 0x400]
mov rax, qword [rbp + 0x3a0]
xor rax, rdx
ror rax, 0x10
mov qword [rbp + 0x400], rax
mov rdx, qword [rbp + 0x3e0]
mov rax, qword [rbp + 0x400]
add rax, rdx
mov qword [rbp + 0x3e0], rax
mov rdx, qword [rbp + 0x3c0]
mov rax, qword [rbp + 0x3e0]
xor rax, rdx
rol rax, 1
mov qword [rbp + 0x3c0], rax
mov rax, qword [0x00514e80]
movzx eax, byte [rax]
test al, al
jne 0x4d0038
mov rax, qword [0x00514ac0]
movzx eax, byte [rax]
test al, al
jne 0x4d0038
mov rax, qword [0x00514ab0]
mov eax, dword [rax]
test eax, eax
js 0x4d00a1
mov r9, qword [rbp + 0x400]
mov r8, qword [rbp + 0x3e0]
mov rcx, qword [rbp + 0x3c0]
mov rdx, qword [rbp + 0x3a0]
mov r10d, dword [rbp + 0x42c]
lea rax, [rbp - 0x30]
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rdx
mov r9d, r10d
lea r8, str.G_R_d_G0_Output:__16.16llx__16.16llx__16.16llx__16.16llx
mov edx, 0x200
mov rcx, rax
call sym.snprintf_13
lea rax, [rbp - 0x30]
mov r8d, 0
mov rdx, rax
mov ecx, 0
call dbg._applog
mov rax, qword [0x00514e80]
movzx eax, byte [rax]
test al, al
jne 0x4d00ce
mov rax, qword [0x00514ac0]
movzx eax, byte [rax]
test al, al
jne 0x4d00ce
mov rax, qword [0x00514ab0]
mov eax, dword [rax]
test eax, eax
js 0x4d018e
mov eax, dword [rbp + 0x42c]
cdqe
shl rax, 4
mov rdx, rax
lea rax, [0x004f3c63]
movzx eax, byte [rdx + rax]
movzx eax, al
cdqe
mov r11, qword [rbp + rax*8 + 0x320]
mov eax, dword [rbp + 0x42c]
cdqe
shl rax, 4
mov rdx, rax
lea rax, [0x004f3c62]
movzx eax, byte [rdx + rax]
movzx eax, al
cdqe
mov r10, qword [rbp + rax*8 + 0x320]
mov r9, qword [rbp + 0x408]
mov r8, qword [rbp + 0x3e8]
mov rcx, qword [rbp + 0x3c8]
mov rdx, qword [rbp + 0x3a8]
mov ebx, dword [rbp + 0x42c]
lea rax, [rbp - 0x30]
mov qword [rsp + 0x48], r11
mov qword [rsp + 0x40], r10
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rdx
mov r9d, ebx
lea r8, str.G_R_d_G1_Input:___16.16llx__16.16llx__16.16llx__16.16llx__16.16llx__16.16llx
mov edx, 0x200
mov rcx, rax
call sym.snprintf_13
lea rax, [rbp - 0x30]
mov r8d, 0
mov rdx, rax
mov ecx, 0
call dbg._applog
mov rdx, qword [rbp + 0x3a8]
mov rax, qword [rbp + 0x3c8]
lea rcx, [rdx + rax]
mov eax, dword [rbp + 0x42c]
cdqe
shl rax, 4
mov rdx, rax
lea rax, [0x004f3c62]
movzx eax, byte [rdx + rax]
movzx eax, al
cdqe
mov rax, qword [rbp + rax*8 + 0x320]
add rax, rcx
mov qword [rbp + 0x3a8], rax
mov rdx, qword [rbp + 0x408]
mov rax, qword [rbp + 0x3a8]
xor rax, rdx
rol rax, 0x20
mov qword [rbp + 0x408], rax
mov rdx, qword [rbp + 0x3e8]
mov rax, qword [rbp + 0x408]
add rax, rdx
mov qword [rbp + 0x3e8], rax
mov rdx, qword [rbp + 0x3c8]
mov rax, qword [rbp + 0x3e8]
xor rax, rdx
ror rax, 0x18
mov qword [rbp + 0x3c8], rax
mov rdx, qword [rbp + 0x3a8]
mov rax, qword [rbp + 0x3c8]
lea rcx, [rdx + rax]
mov eax, dword [rbp + 0x42c]
cdqe
shl rax, 4
mov rdx, rax
lea rax, [0x004f3c63]
movzx eax, byte [rdx + rax]
movzx eax, al
cdqe
mov rax, qword [rbp + rax*8 + 0x320]
add rax, rcx
mov qword [rbp + 0x3a8], rax
mov rdx, qword [rbp + 0x408]
mov rax, qword [rbp + 0x3a8]
xor rax, rdx
ror rax, 0x10
mov qword [rbp + 0x408], rax
mov rdx, qword [rbp + 0x3e8]
mov rax, qword [rbp + 0x408]
add rax, rdx
mov qword [rbp + 0x3e8], rax
mov rdx, qword [rbp + 0x3c8]
mov rax, qword [rbp + 0x3e8]
xor rax, rdx
rol rax, 1
mov qword [rbp + 0x3c8], rax
mov rax, qword [0x00514e80]
movzx eax, byte [rax]
test al, al
jne 0x4d02dc
mov rax, qword [0x00514ac0]
movzx eax, byte [rax]
test al, al
jne 0x4d02dc
mov rax, qword [0x00514ab0]
mov eax, dword [rax]
test eax, eax
js 0x4d0345
mov r9, qword [rbp + 0x408]
mov r8, qword [rbp + 0x3e8]
mov rcx, qword [rbp + 0x3c8]
mov rdx, qword [rbp + 0x3a8]
mov r10d, dword [rbp + 0x42c]
lea rax, [rbp - 0x30]
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rdx
mov r9d, r10d
lea r8, str.G_R_d_G1_Output:__16.16llx__16.16llx__16.16llx__16.16llx
mov edx, 0x200
mov rcx, rax
call sym.snprintf_13
lea rax, [rbp - 0x30]
mov r8d, 0
mov rdx, rax
mov ecx, 0
call dbg._applog
mov rax, qword [0x00514e80]
movzx eax, byte [rax]
test al, al
jne 0x4d0372
mov rax, qword [0x00514ac0]
movzx eax, byte [rax]
test al, al
jne 0x4d0372
mov rax, qword [0x00514ab0]
mov eax, dword [rax]
test eax, eax
js 0x4d0432
mov eax, dword [rbp + 0x42c]
cdqe
shl rax, 4
mov rdx, rax
lea rax, [0x004f3c65]
movzx eax, byte [rdx + rax]
movzx eax, al
cdqe
mov r11, qword [rbp + rax*8 + 0x320]
mov eax, dword [rbp + 0x42c]
cdqe
shl rax, 4
mov rdx, rax
lea rax, [0x004f3c64]
movzx eax, byte [rdx + rax]
movzx eax, al
cdqe
mov r10, qword [rbp + rax*8 + 0x320]
mov r9, qword [rbp + 0x410]
mov r8, qword [rbp + 0x3f0]
mov rcx, qword [rbp + 0x3d0]
mov rdx, qword [rbp + 0x3b0]
mov ebx, dword [rbp + 0x42c]
lea rax, [rbp - 0x30]
mov qword [rsp + 0x48], r11
mov qword [rsp + 0x40], r10
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rdx
mov r9d, ebx
lea r8, str.G_R_d_G2_Input:___16.16llx__16.16llx__16.16llx__16.16llx__16.16llx__16.16llx
mov edx, 0x200
mov rcx, rax
call sym.snprintf_13
lea rax, [rbp - 0x30]
mov r8d, 0
mov rdx, rax
mov ecx, 0
call dbg._applog
mov rdx, qword [rbp + 0x3b0]
mov rax, qword [rbp + 0x3d0]
lea rcx, [rdx + rax]
mov eax, dword [rbp + 0x42c]
cdqe
shl rax, 4
mov rdx, rax
lea rax, [0x004f3c64]
movzx eax, byte [rdx + rax]
movzx eax, al
cdqe
mov rax, qword [rbp + rax*8 + 0x320]
add rax, rcx
mov qword [rbp + 0x3b0], rax
mov rdx, qword [rbp + 0x410]
mov rax, qword [rbp + 0x3b0]
xor rax, rdx
rol rax, 0x20
mov qword [rbp + 0x410], rax
mov rdx, qword [rbp + 0x3f0]
mov rax, qword [rbp + 0x410]
add rax, rdx
mov qword [rbp + 0x3f0], rax
mov rdx, qword [rbp + 0x3d0]
mov rax, qword [rbp + 0x3f0]
xor rax, rdx
ror rax, 0x18
mov qword [rbp + 0x3d0], rax
mov rdx, qword [rbp + 0x3b0]
mov rax, qword [rbp + 0x3d0]
lea rcx, [rdx + rax]
mov eax, dword [rbp + 0x42c]
cdqe
shl rax, 4
mov rdx, rax
lea rax, [0x004f3c65]
movzx eax, byte [rdx + rax]
movzx eax, al
cdqe
mov rax, qword [rbp + rax*8 + 0x320]
add rax, rcx
mov qword [rbp + 0x3b0], rax
mov rdx, qword [rbp + 0x410]
mov rax, qword [rbp + 0x3b0]
xor rax, rdx
ror rax, 0x10
mov qword [rbp + 0x410], rax
mov rdx, qword [rbp + 0x3f0]
mov rax, qword [rbp + 0x410]
add rax, rdx
mov qword [rbp + 0x3f0], rax
mov rdx, qword [rbp + 0x3d0]
mov rax, qword [rbp + 0x3f0]
xor rax, rdx
rol rax, 1
mov qword [rbp + 0x3d0], rax
mov rax, qword [0x00514e80]
movzx eax, byte [rax]
test al, al
jne 0x4d0580
mov rax, qword [0x00514ac0]
movzx eax, byte [rax]
test al, al
jne 0x4d0580
mov rax, qword [0x00514ab0]
mov eax, dword [rax]
test eax, eax
js 0x4d05e9
mov r9, qword [rbp + 0x410]
mov r8, qword [rbp + 0x3f0]
mov rcx, qword [rbp + 0x3d0]
mov rdx, qword [rbp + 0x3b0]
mov r10d, dword [rbp + 0x42c]
lea rax, [rbp - 0x30]
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rdx
mov r9d, r10d
lea r8, str.G_R_d_G2_Output:__16.16llx__16.16llx__16.16llx__16.16llx
mov edx, 0x200
mov rcx, rax
call sym.snprintf_13
lea rax, [rbp - 0x30]
mov r8d, 0
mov rdx, rax
mov ecx, 0
call dbg._applog
mov rax, qword [0x00514e80]
movzx eax, byte [rax]
test al, al
jne 0x4d0616
mov rax, qword [0x00514ac0]
movzx eax, byte [rax]
test al, al
jne 0x4d0616
mov rax, qword [0x00514ab0]
mov eax, dword [rax]
test eax, eax
js 0x4d06d6
mov eax, dword [rbp + 0x42c]
cdqe
shl rax, 4
mov rdx, rax
lea rax, [0x004f3c67]
movzx eax, byte [rdx + rax]
movzx eax, al
cdqe
mov r11, qword [rbp + rax*8 + 0x320]
mov eax, dword [rbp + 0x42c]
cdqe
shl rax, 4
mov rdx, rax
lea rax, [0x004f3c66]
movzx eax, byte [rdx + rax]
movzx eax, al
cdqe
mov r10, qword [rbp + rax*8 + 0x320]
mov r9, qword [rbp + 0x418]
mov r8, qword [rbp + 0x3f8]
mov rcx, qword [rbp + 0x3d8]
mov rdx, qword [rbp + 0x3b8]
mov ebx, dword [rbp + 0x42c]
lea rax, [rbp - 0x30]
mov qword [rsp + 0x48], r11
mov qword [rsp + 0x40], r10
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rdx
mov r9d, ebx
lea r8, str.G_R_d_G3_Input:___16.16llx__16.16llx__16.16llx__16.16llx__16.16llx__16.16llx
mov edx, 0x200
mov rcx, rax
call sym.snprintf_13
lea rax, [rbp - 0x30]
mov r8d, 0
mov rdx, rax
mov ecx, 0
call dbg._applog
mov rdx, qword [rbp + 0x3b8]
mov rax, qword [rbp + 0x3d8]
lea rcx, [rdx + rax]
mov eax, dword [rbp + 0x42c]
cdqe
shl rax, 4
mov rdx, rax
lea rax, [0x004f3c66]
movzx eax, byte [rdx + rax]
movzx eax, al
cdqe
mov rax, qword [rbp + rax*8 + 0x320]
add rax, rcx
mov qword [rbp + 0x3b8], rax
mov rdx, qword [rbp + 0x418]
mov rax, qword [rbp + 0x3b8]
xor rax, rdx
rol rax, 0x20
mov qword [rbp + 0x418], rax
mov rdx, qword [rbp + 0x3f8]
mov rax, qword [rbp + 0x418]
add rax, rdx
mov qword [rbp + 0x3f8], rax
mov rdx, qword [rbp + 0x3d8]
mov rax, qword [rbp + 0x3f8]
xor rax, rdx
ror rax, 0x18
mov qword [rbp + 0x3d8], rax
mov rdx, qword [rbp + 0x3b8]
mov rax, qword [rbp + 0x3d8]
lea rcx, [rdx + rax]
mov eax, dword [rbp + 0x42c]
cdqe
shl rax, 4
mov rdx, rax
lea rax, [0x004f3c67]
movzx eax, byte [rdx + rax]
movzx eax, al
cdqe
mov rax, qword [rbp + rax*8 + 0x320]
add rax, rcx
mov qword [rbp + 0x3b8], rax
mov rdx, qword [rbp + 0x418]
mov rax, qword [rbp + 0x3b8]
xor rax, rdx
ror rax, 0x10
mov qword [rbp + 0x418], rax
mov rdx, qword [rbp + 0x3f8]
mov rax, qword [rbp + 0x418]
add rax, rdx
mov qword [rbp + 0x3f8], rax
mov rdx, qword [rbp + 0x3d8]
mov rax, qword [rbp + 0x3f8]
xor rax, rdx
rol rax, 1
mov qword [rbp + 0x3d8], rax
mov rax, qword [0x00514e80]
movzx eax, byte [rax]
test al, al
jne 0x4d0824
mov rax, qword [0x00514ac0]
movzx eax, byte [rax]
test al, al
jne 0x4d0824
mov rax, qword [0x00514ab0]
mov eax, dword [rax]
test eax, eax
js 0x4d088d
mov r9, qword [rbp + 0x418]
mov r8, qword [rbp + 0x3f8]
mov rcx, qword [rbp + 0x3d8]
mov rdx, qword [rbp + 0x3b8]
mov r10d, dword [rbp + 0x42c]
lea rax, [rbp - 0x30]
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rdx
mov r9d, r10d
lea r8, str.G_R_d_G3_Output:__16.16llx__16.16llx__16.16llx__16.16llx
mov edx, 0x200
mov rcx, rax
call sym.snprintf_13
lea rax, [rbp - 0x30]
mov r8d, 0
mov rdx, rax
mov ecx, 0
call dbg._applog
mov rax, qword [0x00514e80]
movzx eax, byte [rax]
test al, al
jne 0x4d08ba
mov rax, qword [0x00514ac0]
movzx eax, byte [rax]
test al, al
jne 0x4d08ba
mov rax, qword [0x00514ab0]
mov eax, dword [rax]
test eax, eax
js 0x4d097a
mov eax, dword [rbp + 0x42c]
cdqe
shl rax, 4
mov rdx, rax
lea rax, [0x004f3c69]
movzx eax, byte [rdx + rax]
movzx eax, al
cdqe
mov r11, qword [rbp + rax*8 + 0x320]
mov eax, dword [rbp + 0x42c]
cdqe
shl rax, 4
mov rdx, rax
lea rax, [0x004f3c68]
movzx eax, byte [rdx + rax]
movzx eax, al
cdqe
mov r10, qword [rbp + rax*8 + 0x320]
mov r9, qword [rbp + 0x418]
mov r8, qword [rbp + 0x3f0]
mov rcx, qword [rbp + 0x3c8]
mov rdx, qword [rbp + 0x3a0]
mov ebx, dword [rbp + 0x42c]
lea rax, [rbp - 0x30]
mov qword [rsp + 0x48], r11
mov qword [rsp + 0x40], r10
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rdx
mov r9d, ebx
lea r8, str.G_R_d_G4_Input:___16.16llx__16.16llx__16.16llx__16.16llx__16.16llx__16.16llx
mov edx, 0x200
mov rcx, rax
call sym.snprintf_13
lea rax, [rbp - 0x30]
mov r8d, 0
mov rdx, rax
mov ecx, 0
call dbg._applog
mov rdx, qword [rbp + 0x3a0]
mov rax, qword [rbp + 0x3c8]
lea rcx, [rdx + rax]
mov eax, dword [rbp + 0x42c]
cdqe
shl rax, 4
mov rdx, rax
lea rax, [0x004f3c68]
movzx eax, byte [rdx + rax]
movzx eax, al
cdqe
mov rax, qword [rbp + rax*8 + 0x320]
add rax, rcx
mov qword [rbp + 0x3a0], rax
mov rdx, qword [rbp + 0x418]
mov rax, qword [rbp + 0x3a0]
xor rax, rdx
rol rax, 0x20
mov qword [rbp + 0x418], rax
mov rdx, qword [rbp + 0x3f0]
mov rax, qword [rbp + 0x418]
add rax, rdx
mov qword [rbp + 0x3f0], rax
mov rdx, qword [rbp + 0x3c8]
mov rax, qword [rbp + 0x3f0]
xor rax, rdx
ror rax, 0x18
mov qword [rbp + 0x3c8], rax
mov rdx, qword [rbp + 0x3a0]
mov rax, qword [rbp + 0x3c8]
lea rcx, [rdx + rax]
mov eax, dword [rbp + 0x42c]
cdqe
shl rax, 4
mov rdx, rax
lea rax, [0x004f3c69]
movzx eax, byte [rdx + rax]
movzx eax, al
cdqe
mov rax, qword [rbp + rax*8 + 0x320]
add rax, rcx
mov qword [rbp + 0x3a0], rax
mov rdx, qword [rbp + 0x418]
mov rax, qword [rbp + 0x3a0]
xor rax, rdx
ror rax, 0x10
mov qword [rbp + 0x418], rax
mov rdx, qword [rbp + 0x3f0]
mov rax, qword [rbp + 0x418]
add rax, rdx
mov qword [rbp + 0x3f0], rax
mov rdx, qword [rbp + 0x3c8]
mov rax, qword [rbp + 0x3f0]
xor rax, rdx
rol rax, 1
mov qword [rbp + 0x3c8], rax
mov rax, qword [0x00514e80]
movzx eax, byte [rax]
test al, al
jne 0x4d0ac8
mov rax, qword [0x00514ac0]
movzx eax, byte [rax]
test al, al
jne 0x4d0ac8
mov rax, qword [0x00514ab0]
mov eax, dword [rax]
test eax, eax
js 0x4d0b31
mov r9, qword [rbp + 0x418]
mov r8, qword [rbp + 0x3f0]
mov rcx, qword [rbp + 0x3c8]
mov rdx, qword [rbp + 0x3a0]
mov r10d, dword [rbp + 0x42c]
lea rax, [rbp - 0x30]
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rdx
mov r9d, r10d
lea r8, str.G_R_d_G4_Output:__16.16llx__16.16llx__16.16llx__16.16llx
mov edx, 0x200
mov rcx, rax
call sym.snprintf_13
lea rax, [rbp - 0x30]
mov r8d, 0
mov rdx, rax
mov ecx, 0
call dbg._applog
mov rax, qword [0x00514e80]
movzx eax, byte [rax]
test al, al
jne 0x4d0b5e
mov rax, qword [0x00514ac0]
movzx eax, byte [rax]
test al, al
jne 0x4d0b5e
mov rax, qword [0x00514ab0]
mov eax, dword [rax]
test eax, eax
js 0x4d0c1e
mov eax, dword [rbp + 0x42c]
cdqe
shl rax, 4
mov rdx, rax
lea rax, [0x004f3c6b]
movzx eax, byte [rdx + rax]
movzx eax, al
cdqe
mov r11, qword [rbp + rax*8 + 0x320]
mov eax, dword [rbp + 0x42c]
cdqe
shl rax, 4
mov rdx, rax
lea rax, [0x004f3c6a]
movzx eax, byte [rdx + rax]
movzx eax, al
cdqe
mov r10, qword [rbp + rax*8 + 0x320]
mov r9, qword [rbp + 0x400]
mov r8, qword [rbp + 0x3f8]
mov rcx, qword [rbp + 0x3d0]
mov rdx, qword [rbp + 0x3a8]
mov ebx, dword [rbp + 0x42c]
lea rax, [rbp - 0x30]
mov qword [rsp + 0x48], r11
mov qword [rsp + 0x40], r10
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rdx
mov r9d, ebx
lea r8, str.G_R_d_G5_Input:___16.16llx__16.16llx__16.16llx__16.16llx__16.16llx__16.16llx
mov edx, 0x200
mov rcx, rax
call sym.snprintf_13
lea rax, [rbp - 0x30]
mov r8d, 0
mov rdx, rax
mov ecx, 0
call dbg._applog
mov rdx, qword [rbp + 0x3a8]
mov rax, qword [rbp + 0x3d0]
lea rcx, [rdx + rax]
mov eax, dword [rbp + 0x42c]
cdqe
shl rax, 4
mov rdx, rax
lea rax, [0x004f3c6a]
movzx eax, byte [rdx + rax]
movzx eax, al
cdqe
mov rax, qword [rbp + rax*8 + 0x320]
add rax, rcx
mov qword [rbp + 0x3a8], rax
mov rdx, qword [rbp + 0x400]
mov rax, qword [rbp + 0x3a8]
xor rax, rdx
rol rax, 0x20
mov qword [rbp + 0x400], rax
mov rdx, qword [rbp + 0x3f8]
mov rax, qword [rbp + 0x400]
add rax, rdx
mov qword [rbp + 0x3f8], rax
mov rdx, qword [rbp + 0x3d0]
mov rax, qword [rbp + 0x3f8]
xor rax, rdx
ror rax, 0x18
mov qword [rbp + 0x3d0], rax
mov rdx, qword [rbp + 0x3a8]
mov rax, qword [rbp + 0x3d0]
lea rcx, [rdx + rax]
mov eax, dword [rbp + 0x42c]
cdqe
shl rax, 4
mov rdx, rax
lea rax, [0x004f3c6b]
movzx eax, byte [rdx + rax]
movzx eax, al
cdqe
mov rax, qword [rbp + rax*8 + 0x320]
add rax, rcx
mov qword [rbp + 0x3a8], rax
mov rdx, qword [rbp + 0x400]
mov rax, qword [rbp + 0x3a8]
xor rax, rdx
ror rax, 0x10
mov qword [rbp + 0x400], rax
mov rdx, qword [rbp + 0x3f8]
mov rax, qword [rbp + 0x400]
add rax, rdx
mov qword [rbp + 0x3f8], rax
mov rdx, qword [rbp + 0x3d0]
mov rax, qword [rbp + 0x3f8]
xor rax, rdx
rol rax, 1
mov qword [rbp + 0x3d0], rax
mov rax, qword [0x00514e80]
movzx eax, byte [rax]
test al, al
jne 0x4d0d6c
mov rax, qword [0x00514ac0]
movzx eax, byte [rax]
test al, al
jne 0x4d0d6c
mov rax, qword [0x00514ab0]
mov eax, dword [rax]
test eax, eax
js 0x4d0dd5
mov r9, qword [rbp + 0x400]
mov r8, qword [rbp + 0x3f8]
mov rcx, qword [rbp + 0x3d0]
mov rdx, qword [rbp + 0x3a8]
mov r10d, dword [rbp + 0x42c]
lea rax, [rbp - 0x30]
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rdx
mov r9d, r10d
lea r8, str.G_R_d_G5_Output:__16.16llx__16.16llx__16.16llx__16.16llx
mov edx, 0x200
mov rcx, rax
call sym.snprintf_13
lea rax, [rbp - 0x30]
mov r8d, 0
mov rdx, rax
mov ecx, 0
call dbg._applog
mov rax, qword [0x00514e80]
movzx eax, byte [rax]
test al, al
jne 0x4d0e02
mov rax, qword [0x00514ac0]
movzx eax, byte [rax]
test al, al
jne 0x4d0e02
mov rax, qword [0x00514ab0]
mov eax, dword [rax]
test eax, eax
js 0x4d0ec2
mov eax, dword [rbp + 0x42c]
cdqe
shl rax, 4
mov rdx, rax
lea rax, [0x004f3c6d]
movzx eax, byte [rdx + rax]
movzx eax, al
cdqe
mov r11, qword [rbp + rax*8 + 0x320]
mov eax, dword [rbp + 0x42c]
cdqe
shl rax, 4
mov rdx, rax
lea rax, [0x004f3c6c]
movzx eax, byte [rdx + rax]
movzx eax, al
cdqe
mov r10, qword [rbp + rax*8 + 0x320]
mov r9, qword [rbp + 0x408]
mov r8, qword [rbp + 0x3e0]
mov rcx, qword [rbp + 0x3d8]
mov rdx, qword [rbp + 0x3b0]
mov ebx, dword [rbp + 0x42c]
lea rax, [rbp - 0x30]
mov qword [rsp + 0x48], r11
mov qword [rsp + 0x40], r10
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rdx
mov r9d, ebx
lea r8, str.G_R_d_G6_Input:___16.16llx__16.16llx__16.16llx__16.16llx__16.16llx__16.16llx
mov edx, 0x200
mov rcx, rax
call sym.snprintf_13
lea rax, [rbp - 0x30]
mov r8d, 0
mov rdx, rax
mov ecx, 0
call dbg._applog
mov rdx, qword [rbp + 0x3b0]
mov rax, qword [rbp + 0x3d8]
lea rcx, [rdx + rax]
mov eax, dword [rbp + 0x42c]
cdqe
shl rax, 4
mov rdx, rax
lea rax, [0x004f3c6c]
movzx eax, byte [rdx + rax]
movzx eax, al
cdqe
mov rax, qword [rbp + rax*8 + 0x320]
add rax, rcx
mov qword [rbp + 0x3b0], rax
mov rdx, qword [rbp + 0x408]
mov rax, qword [rbp + 0x3b0]
xor rax, rdx
rol rax, 0x20
mov qword [rbp + 0x408], rax
mov rdx, qword [rbp + 0x3e0]
mov rax, qword [rbp + 0x408]
add rax, rdx
mov qword [rbp + 0x3e0], rax
mov rdx, qword [rbp + 0x3d8]
mov rax, qword [rbp + 0x3e0]
xor rax, rdx
ror rax, 0x18
mov qword [rbp + 0x3d8], rax
mov rdx, qword [rbp + 0x3b0]
mov rax, qword [rbp + 0x3d8]
lea rcx, [rdx + rax]
mov eax, dword [rbp + 0x42c]
cdqe
shl rax, 4
mov rdx, rax
lea rax, [0x004f3c6d]
movzx eax, byte [rdx + rax]
movzx eax, al
cdqe
mov rax, qword [rbp + rax*8 + 0x320]
add rax, rcx
mov qword [rbp + 0x3b0], rax
mov rdx, qword [rbp + 0x408]
mov rax, qword [rbp + 0x3b0]
xor rax, rdx
ror rax, 0x10
mov qword [rbp + 0x408], rax
mov rdx, qword [rbp + 0x3e0]
mov rax, qword [rbp + 0x408]
add rax, rdx
mov qword [rbp + 0x3e0], rax
mov rdx, qword [rbp + 0x3d8]
mov rax, qword [rbp + 0x3e0]
xor rax, rdx
rol rax, 1
mov qword [rbp + 0x3d8], rax
mov rax, qword [0x00514e80]
movzx eax, byte [rax]
test al, al
jne 0x4d1010
mov rax, qword [0x00514ac0]
movzx eax, byte [rax]
test al, al
jne 0x4d1010
mov rax, qword [0x00514ab0]
mov eax, dword [rax]
test eax, eax
js 0x4d1079
mov r9, qword [rbp + 0x408]
mov r8, qword [rbp + 0x3e0]
mov rcx, qword [rbp + 0x3d8]
mov rdx, qword [rbp + 0x3b0]
mov r10d, dword [rbp + 0x42c]
lea rax, [rbp - 0x30]
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rdx
mov r9d, r10d
lea r8, str.G_R_d_G6_Output:__16.16llx__16.16llx__16.16llx__16.16llx
mov edx, 0x200
mov rcx, rax
call sym.snprintf_13
lea rax, [rbp - 0x30]
mov r8d, 0
mov rdx, rax
mov ecx, 0
call dbg._applog
mov rax, qword [0x00514e80]
movzx eax, byte [rax]
test al, al
jne 0x4d10a6
mov rax, qword [0x00514ac0]
movzx eax, byte [rax]
test al, al
jne 0x4d10a6
mov rax, qword [0x00514ab0]
mov eax, dword [rax]
test eax, eax
js 0x4d1166
mov eax, dword [rbp + 0x42c]
cdqe
shl rax, 4
mov rdx, rax
lea rax, [0x004f3c6f]
movzx eax, byte [rdx + rax]
movzx eax, al
cdqe
mov r11, qword [rbp + rax*8 + 0x320]
mov eax, dword [rbp + 0x42c]
cdqe
shl rax, 4
mov rdx, rax
lea rax, [0x004f3c6e]
movzx eax, byte [rdx + rax]
movzx eax, al
cdqe
mov r10, qword [rbp + rax*8 + 0x320]
mov r9, qword [rbp + 0x410]
mov r8, qword [rbp + 0x3e8]
mov rcx, qword [rbp + 0x3c0]
mov rdx, qword [rbp + 0x3b8]
mov ebx, dword [rbp + 0x42c]
lea rax, [rbp - 0x30]
mov qword [rsp + 0x48], r11
mov qword [rsp + 0x40], r10
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rdx
mov r9d, ebx
lea r8, str.G_R_d_G7_Input:___16.16llx__16.16llx__16.16llx__16.16llx__16.16llx__16.16llx
mov edx, 0x200
mov rcx, rax
call sym.snprintf_13
lea rax, [rbp - 0x30]
mov r8d, 0
mov rdx, rax
mov ecx, 0
call dbg._applog
mov rdx, qword [rbp + 0x3b8]
mov rax, qword [rbp + 0x3c0]
lea rcx, [rdx + rax]
mov eax, dword [rbp + 0x42c]
cdqe
shl rax, 4
mov rdx, rax
lea rax, [0x004f3c6e]
movzx eax, byte [rdx + rax]
movzx eax, al
cdqe
mov rax, qword [rbp + rax*8 + 0x320]
add rax, rcx
mov qword [rbp + 0x3b8], rax
mov rdx, qword [rbp + 0x410]
mov rax, qword [rbp + 0x3b8]
xor rax, rdx
rol rax, 0x20
mov qword [rbp + 0x410], rax
mov rdx, qword [rbp + 0x3e8]
mov rax, qword [rbp + 0x410]
add rax, rdx
mov qword [rbp + 0x3e8], rax
mov rdx, qword [rbp + 0x3c0]
mov rax, qword [rbp + 0x3e8]
xor rax, rdx
ror rax, 0x18
mov qword [rbp + 0x3c0], rax
mov rdx, qword [rbp + 0x3b8]
mov rax, qword [rbp + 0x3c0]
lea rcx, [rdx + rax]
mov eax, dword [rbp + 0x42c]
cdqe
shl rax, 4
mov rdx, rax
lea rax, [0x004f3c6f]
movzx eax, byte [rdx + rax]
movzx eax, al
cdqe
mov rax, qword [rbp + rax*8 + 0x320]
add rax, rcx
mov qword [rbp + 0x3b8], rax
mov rdx, qword [rbp + 0x410]
mov rax, qword [rbp + 0x3b8]
xor rax, rdx
ror rax, 0x10
mov qword [rbp + 0x410], rax
mov rdx, qword [rbp + 0x3e8]
mov rax, qword [rbp + 0x410]
add rax, rdx
mov qword [rbp + 0x3e8], rax
mov rdx, qword [rbp + 0x3c0]
mov rax, qword [rbp + 0x3e8]
xor rax, rdx
rol rax, 1
mov qword [rbp + 0x3c0], rax
mov rax, qword [0x00514e80]
movzx eax, byte [rax]
test al, al
jne 0x4d12b4
mov rax, qword [0x00514ac0]
movzx eax, byte [rax]
test al, al
jne 0x4d12b4
mov rax, qword [0x00514ab0]
mov eax, dword [rax]
test eax, eax
js 0x4d131d
mov r9, qword [rbp + 0x410]
mov r8, qword [rbp + 0x3e8]
mov rcx, qword [rbp + 0x3c0]
mov rdx, qword [rbp + 0x3b8]
mov r10d, dword [rbp + 0x42c]
lea rax, [rbp - 0x30]
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rdx
mov r9d, r10d
lea r8, str.G_R_d_G7_Output:__16.16llx__16.16llx__16.16llx__16.16llx
mov edx, 0x200
mov rcx, rax
call sym.snprintf_13
lea rax, [rbp - 0x30]
mov r8d, 0
mov rdx, rax
mov ecx, 0
call dbg._applog
add dword [rbp + 0x42c], 1
cmp dword [rbp + 0x42c], 0xb
jle 0x4cfdfd
mov dword [rbp + 0x42c], 0
jmp 0x4d1395
mov eax, dword [rbp + 0x42c]
cdqe
add rax, 0x10
mov rdx, qword [rbp + rax*8 + 0x1d0]
mov eax, dword [rbp + 0x42c]
cdqe
mov rcx, qword [rbp + rax*8 + 0x3a0]
mov eax, dword [rbp + 0x42c]
add eax, 8
cdqe
mov rax, qword [rbp + rax*8 + 0x3a0]
xor rax, rcx
xor rdx, rax
mov eax, dword [rbp + 0x42c]
cdqe
add rax, 0x10
mov qword [rbp + rax*8 + 0x1d0], rdx
add dword [rbp + 0x42c], 1
cmp dword [rbp + 0x42c], 7
jle 0x4d133d
lea rax, [rbp + 0x1d0]
sub rax, 0xffffffffffffff80
mov r9d, 8
mov r8d, 0x40
mov rdx, rax
lea rcx, str.hash512
call sym.logbyte2_15
mov dword [rbp + 0x42c], 0
jmp 0x4d1418
mov eax, dword [rbp + 0x42c]
sar eax, 3
cdqe
add rax, 0x10
mov rdx, qword [rbp + rax*8 + 0x1d0]
mov eax, dword [rbp + 0x42c]
and eax, 7
shl eax, 3
mov ecx, eax
shr rdx, cl
mov rcx, rdx
mov eax, dword [rbp + 0x42c]
cdqe
lea rdx, [rbp + 0x2b0]
add rax, rdx
mov edx, ecx
mov byte [rax], dl
add dword [rbp + 0x42c], 1
cmp dword [rbp + 0x42c], 0x1f
jle 0x4d13d0
lea rax, [rbp + 0x2b0]
mov r9d, 4
mov r8d, 0x20
mov rdx, rax
lea rcx, str.hash256
call sym.logbyte2_15
nop
add rsp, 0x4b8
pop rbx
pop rbp
ret