Function at 0x18003aba0
Capabilities:
Hash data using sha256

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x2d8
mov dword [rsp + 0x170], 0x6a09e667
mov dword [rsp + 0x29c], 0xbb67ae85
mov dword [rsp + 0x28c], 0x3c6ef372
mov dword [rsp + 0x288], 0xa54ff53a
mov dword [rsp + 0x284], 0x510e527f
mov dword [rsp + 0x2a4], 0x9b05688c
mov dword [rsp + 0x160], 0x1f83d9ab
mov dword [rsp + 0x50], 0x5be0cd19
mov dword [rsp + 0x180], 0x428a2f98
mov dword [rsp + 0x184], 0x71374491
mov dword [rsp + 0x188], 0xb5c0fbcf
mov dword [rsp + 0x18c], 0xe9b5dba5
mov dword [rsp + 0x190], 0x3956c25b
mov dword [rsp + 0x194], 0x59f111f1
mov dword [rsp + 0x198], 0x923f82a4
mov dword [rsp + 0x19c], 0xab1c5ed5
mov dword [rsp + 0x1a0], 0xd807aa98
mov dword [rsp + 0x1a4], 0x12835b01
mov dword [rsp + 0x1a8], 0x243185be
mov dword [rsp + 0x1ac], 0x550c7dc3
mov dword [rsp + 0x1b0], 0x72be5d74
mov dword [rsp + 0x1b4], 0x80deb1fe
mov dword [rsp + 0x1b8], 0x9bdc06a7
mov dword [rsp + 0x1bc], 0xc19bf174
mov dword [rsp + 0x1c0], 0xe49b69c1
mov dword [rsp + 0x1c4], 0xefbe4786
mov dword [rsp + 0x1c8], 0xfc19dc6
mov dword [rsp + 0x1cc], 0x240ca1cc
mov dword [rsp + 0x1d0], 0x2de92c6f
mov dword [rsp + 0x1d4], 0x4a7484aa
mov dword [rsp + 0x1d8], 0x5cb0a9dc
mov dword [rsp + 0x1dc], 0x76f988da
mov dword [rsp + 0x1e0], 0x983e5152
mov dword [rsp + 0x1e4], 0xa831c66d
mov dword [rsp + 0x1e8], 0xb00327c8
mov dword [rsp + 0x1ec], 0xbf597fc7
mov dword [rsp + 0x1f0], 0xc6e00bf3
mov dword [rsp + 0x1f4], 0xd5a79147
mov dword [rsp + 0x1f8], 0x6ca6351
mov dword [rsp + 0x1fc], 0x14292967
mov dword [rsp + 0x200], 0x27b70a85
mov dword [rsp + 0x204], 0x2e1b2138
mov dword [rsp + 0x208], 0x4d2c6dfc
mov dword [rsp + 0x20c], 0x53380d13
mov dword [rsp + 0x210], 0x650a7354
mov dword [rsp + 0x214], 0x766a0abb
mov dword [rsp + 0x218], 0x81c2c92e
mov dword [rsp + 0x21c], 0x92722c85
mov dword [rsp + 0x220], 0xa2bfe8a1
mov dword [rsp + 0x224], 0xa81a664b
mov dword [rsp + 0x228], 0xc24b8b70
mov dword [rsp + 0x22c], 0xc76c51a3
mov dword [rsp + 0x230], 0xd192e819
mov dword [rsp + 0x234], 0xd6990624
mov dword [rsp + 0x238], 0xf40e3585
mov dword [rsp + 0x23c], 0x106aa070
mov dword [rsp + 0x240], 0x19a4c116
mov dword [rsp + 0x244], 0x1e376c08
mov dword [rsp + 0x248], 0x2748774c
mov dword [rsp + 0x24c], 0x34b0bcb5
mov dword [rsp + 0x250], 0x391c0cb3
mov dword [rsp + 0x254], 0x4ed8aa4a
mov dword [rsp + 0x258], 0x5b9cca4f
mov dword [rsp + 0x25c], 0x682e6ff3
mov dword [rsp + 0x260], 0x748f82ee
mov dword [rsp + 0x264], 0x78a5636f
mov dword [rsp + 0x268], 0x84c87814
mov dword [rsp + 0x26c], 0x8cc70208
mov dword [rsp + 0x270], 0x90befffa
mov dword [rsp + 0x274], 0xa4506ceb
mov dword [rsp + 0x278], 0xbef9a3f7
mov dword [rsp + 0x27c], 0xc67178f2
mov rax, qword [rsp + 0x2e8]
cqo
and rdx, 0x3f
add rax, rdx
and rax, 0x3f
sub rax, rdx
cmp rax, 0x38
jle 0x18003af16
mov rax, qword [rsp + 0x2e8]
cqo
and rdx, 0x3f
add rax, rdx
and rax, 0x3f
sub rax, rdx
mov rcx, rax
mov eax, 0x80
sub rax, rcx
mov qword [rsp + 0x2c0], rax
jmp 0x18003af41
mov rax, qword [rsp + 0x2e8]
cqo
and rdx, 0x3f
add rax, rdx
and rax, 0x3f
sub rax, rdx
mov rcx, rax
mov eax, 0x40
sub rax, rcx
mov qword [rsp + 0x2c0], rax
mov rcx, qword [rsp + 0x2c0]
mov rax, qword [rsp + 0x2e8]
add rax, rcx
mov dword [rsp + 0x298], eax
mov ecx, dword [rsp + 0x298]
call fcn.18004f7d0
mov qword [rsp + 0x168], rax
cmp qword [rsp + 0x168], 0
jne 0x18003af81
xor eax, eax
jmp 0x18003b646
mov dword [rsp + 0x164], 0
jmp 0x18003afe9
movsxd r9, dword [rsp + 0x164]
mov r8d, dword [rsp + 0x164]
add r8d, 3
mov eax, dword [rsp + 0x164]
cdq
and edx, 3
add eax, edx
and eax, 3
sub eax, edx
mov ecx, eax
shl ecx, 1
mov eax, r8d
sub eax, ecx
movsxd rdx, eax
mov rcx, qword [rsp + 0x168]
mov rax, qword [rsp + 0x2e0]
movzx eax, byte [rax + r9]
mov byte [rcx + rdx], al
mov eax, dword [rsp + 0x164]
add eax, 1
mov dword [rsp + 0x164], eax
movsxd rax, dword [rsp + 0x164]
cmp rax, qword [rsp + 0x2e8]
jge 0x18003affd
jmp 0x18003af8e
mov r8d, dword [rsp + 0x164]
add r8d, 3
mov eax, dword [rsp + 0x164]
cdq
and edx, 3
add eax, edx
and eax, 3
sub eax, edx
mov ecx, eax
shl ecx, 1
mov eax, r8d
sub eax, ecx
movsxd rcx, eax
mov rax, qword [rsp + 0x168]
mov byte [rax + rcx], 0x80
mov eax, dword [rsp + 0x164]
add eax, 1
mov dword [rsp + 0x164], eax
jmp 0x18003b08d
mov r8d, dword [rsp + 0x164]
add r8d, 3
mov eax, dword [rsp + 0x164]
cdq
and edx, 3
add eax, edx
and eax, 3
sub eax, edx
mov ecx, eax
shl ecx, 1
mov eax, r8d
sub eax, ecx
movsxd rcx, eax
mov rax, qword [rsp + 0x168]
mov byte [rax + rcx], 0
mov eax, dword [rsp + 0x164]
add eax, 1
mov dword [rsp + 0x164], eax
mov eax, dword [rsp + 0x298]
cmp dword [rsp + 0x164], eax
jge 0x18003b09f
jmp 0x18003b046
mov rdx, qword [rsp + 0x2e8]
shl rdx, 3
movsxd rcx, dword [rsp + 0x298]
mov rax, qword [rsp + 0x168]
mov dword [rax + rcx - 4], edx
mov rdx, qword [rsp + 0x2e8]
sar rdx, 0x1d
movsxd rcx, dword [rsp + 0x298]
mov rax, qword [rsp + 0x168]
mov dword [rax + rcx - 8], edx
movsxd rcx, dword [rsp + 0x298]
mov rax, qword [rsp + 0x168]
add rax, rcx
mov qword [rsp + 0x2b8], rax
jmp 0x18003b110
mov rax, qword [rsp + 0x168]
add rax, 0x40
mov qword [rsp + 0x168], rax
mov rax, qword [rsp + 0x2b8]
cmp qword [rsp + 0x168], rax
jae 0x18003b5c1
mov dword [rsp + 0x164], 0
jmp 0x18003b163
movsxd rdx, dword [rsp + 0x164]
movsxd rcx, dword [rsp + 0x164]
mov rax, qword [rsp + 0x168]
mov eax, dword [rax + rdx*4]
mov dword [rsp + rcx*4 + 0x60], eax
mov eax, dword [rsp + 0x164]
add eax, 1
mov dword [rsp + 0x164], eax
cmp dword [rsp + 0x164], 0x10
jge 0x18003b16f
jmp 0x18003b133
mov dword [rsp + 0x164], 0x10
jmp 0x18003b2c6
mov eax, dword [rsp + 0x164]
sub eax, 2
cdqe
mov r9d, dword [rsp + rax*4 + 0x60]
sar r9d, 0x11
and r9d, 0x7fff
mov eax, dword [rsp + 0x164]
sub eax, 2
cdqe
mov eax, dword [rsp + rax*4 + 0x60]
shl eax, 0xf
or r9d, eax
mov eax, dword [rsp + 0x164]
sub eax, 2
cdqe
mov edx, dword [rsp + rax*4 + 0x60]
sar edx, 0x13
and edx, 0x1fff
mov eax, dword [rsp + 0x164]
sub eax, 2
cdqe
mov ecx, dword [rsp + rax*4 + 0x60]
shl ecx, 0xd
mov eax, edx
or eax, ecx
xor r9d, eax
mov eax, dword [rsp + 0x164]
sub eax, 2
cdqe
mov eax, dword [rsp + rax*4 + 0x60]
sar eax, 0xa
and eax, 0x3fffff
xor r9d, eax
mov eax, dword [rsp + 0x164]
sub eax, 7
cdqe
add r9d, dword [rsp + rax*4 + 0x60]
mov eax, dword [rsp + 0x164]
sub eax, 0xf
cdqe
mov r8d, dword [rsp + rax*4 + 0x60]
sar r8d, 7
and r8d, 0x1ffffff
mov eax, dword [rsp + 0x164]
sub eax, 0xf
cdqe
mov eax, dword [rsp + rax*4 + 0x60]
shl eax, 0x19
or r8d, eax
mov eax, dword [rsp + 0x164]
sub eax, 0xf
cdqe
mov edx, dword [rsp + rax*4 + 0x60]
sar edx, 0x12
and edx, 0x3fff
mov eax, dword [rsp + 0x164]
sub eax, 0xf
cdqe
mov ecx, dword [rsp + rax*4 + 0x60]
shl ecx, 0xe
mov eax, edx
or eax, ecx
mov edx, r8d
xor edx, eax
mov eax, dword [rsp + 0x164]
sub eax, 0xf
cdqe
mov ecx, dword [rsp + rax*4 + 0x60]
sar ecx, 3
and ecx, 0x1fffffff
mov eax, edx
xor eax, ecx
mov ecx, r9d
add ecx, eax
mov eax, dword [rsp + 0x164]
sub eax, 0x10
cdqe
add ecx, dword [rsp + rax*4 + 0x60]
movsxd rax, dword [rsp + 0x164]
mov dword [rsp + rax*4 + 0x60], ecx
mov eax, dword [rsp + 0x164]
add eax, 1
mov dword [rsp + 0x164], eax
cmp dword [rsp + 0x164], 0x40
jge 0x18003b2d5
jmp 0x18003b17f
mov eax, dword [rsp + 0x170]
mov dword [rsp + 0x294], eax
mov eax, dword [rsp + 0x29c]
mov dword [rsp + 0x174], eax
mov eax, dword [rsp + 0x28c]
mov dword [rsp + 0x280], eax
mov eax, dword [rsp + 0x288]
mov dword [rsp + 0x2a0], eax
mov eax, dword [rsp + 0x284]
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x2a4]
mov dword [rsp + 0x290], eax
mov eax, dword [rsp + 0x160]
mov dword [rsp + 0x2a8], eax
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x164], 0
jmp 0x18003b35a
mov eax, dword [rsp + 0x164]
add eax, 1
mov dword [rsp + 0x164], eax
cmp dword [rsp + 0x164], 0x40
jge 0x18003b510
mov edx, dword [rsp + 0x54]
sar edx, 6
and edx, 0x3ffffff
mov eax, dword [rsp + 0x54]
shl eax, 0x1a
or edx, eax
mov eax, dword [rsp + 0x54]
sar eax, 0xb
and eax, 0x1fffff
mov ecx, dword [rsp + 0x54]
shl ecx, 0x15
or eax, ecx
xor edx, eax
mov ecx, dword [rsp + 0x54]
sar ecx, 0x19
and ecx, 0x7f
mov eax, dword [rsp + 0x54]
shl eax, 7
or ecx, eax
mov eax, edx
xor eax, ecx
mov edx, dword [rsp + 0x58]
add edx, eax
mov eax, dword [rsp + 0x290]
mov ecx, dword [rsp + 0x54]
and ecx, eax
mov eax, dword [rsp + 0x54]
not eax
and eax, dword [rsp + 0x2a8]
xor ecx, eax
mov eax, edx
add eax, ecx
movsxd rcx, dword [rsp + 0x164]
add eax, dword [rsp + rcx*4 + 0x180]
movsxd rcx, dword [rsp + 0x164]
add eax, dword [rsp + rcx*4 + 0x60]
mov dword [rsp + 0x2b0], eax
mov r8d, dword [rsp + 0x294]
sar r8d, 2
and r8d, 0x3fffffff
mov eax, dword [rsp + 0x294]
shl eax, 0x1e
or r8d, eax
mov eax, dword [rsp + 0x294]
sar eax, 0xd
and eax, 0x7ffff
mov ecx, dword [rsp + 0x294]
shl ecx, 0x13
or eax, ecx
xor r8d, eax
mov eax, dword [rsp + 0x294]
sar eax, 0x16
and eax, 0x3ff
mov ecx, dword [rsp + 0x294]
shl ecx, 0xa
or eax, ecx
xor r8d, eax
mov eax, dword [rsp + 0x174]
mov edx, dword [rsp + 0x294]
and edx, eax
mov ecx, dword [rsp + 0x280]
mov eax, dword [rsp + 0x294]
and eax, ecx
xor edx, eax
mov ecx, dword [rsp + 0x280]
mov eax, dword [rsp + 0x174]
and eax, ecx
mov ecx, edx
xor ecx, eax
mov eax, r8d
add eax, ecx
mov dword [rsp + 0x2ac], eax
mov eax, dword [rsp + 0x2a8]
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x290]
mov dword [rsp + 0x2a8], eax
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x290], eax
mov ecx, dword [rsp + 0x2b0]
mov eax, dword [rsp + 0x2a0]
add eax, ecx
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x280]
mov dword [rsp + 0x2a0], eax
mov eax, dword [rsp + 0x174]
mov dword [rsp + 0x280], eax
mov eax, dword [rsp + 0x294]
mov dword [rsp + 0x174], eax
mov ecx, dword [rsp + 0x2ac]
mov eax, dword [rsp + 0x2b0]
add eax, ecx
mov dword [rsp + 0x294], eax
jmp 0x18003b349
mov ecx, dword [rsp + 0x294]
mov eax, dword [rsp + 0x170]
add eax, ecx
mov dword [rsp + 0x170], eax
mov ecx, dword [rsp + 0x174]
mov eax, dword [rsp + 0x29c]
add eax, ecx
mov dword [rsp + 0x29c], eax
mov ecx, dword [rsp + 0x280]
mov eax, dword [rsp + 0x28c]
add eax, ecx
mov dword [rsp + 0x28c], eax
mov ecx, dword [rsp + 0x2a0]
mov eax, dword [rsp + 0x288]
add eax, ecx
mov dword [rsp + 0x288], eax
mov ecx, dword [rsp + 0x54]
mov eax, dword [rsp + 0x284]
add eax, ecx
mov dword [rsp + 0x284], eax
mov ecx, dword [rsp + 0x290]
mov eax, dword [rsp + 0x2a4]
add eax, ecx
mov dword [rsp + 0x2a4], eax
mov ecx, dword [rsp + 0x2a8]
mov eax, dword [rsp + 0x160]
add eax, ecx
mov dword [rsp + 0x160], eax
mov ecx, dword [rsp + 0x58]
mov eax, dword [rsp + 0x50]
add eax, ecx
mov dword [rsp + 0x50], eax
jmp 0x18003b0fc
movsxd rax, dword [rsp + 0x298]
mov rcx, qword [rsp + 0x168]
sub rcx, rax
call fcn.18004f790
mov r11d, dword [rsp + 0x50]
mov dword [rsp + 0x48], r11d
mov eax, dword [rsp + 0x160]
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x2a4]
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x284]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x288]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x28c]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x29c]
mov r8d, dword [rsp + 0x170]
lea rdx, str._08x_08x_08x_08x_08x_08x_08x_08x
mov rcx, qword [rsp + 0x2f0]
call fcn.1800505b8
mov rax, qword [rsp + 0x2f0]
add rsp, 0x2d8
ret