Function at 0x140019f90
Capabilities:
Hash data using sha256

Disassembly:
push rbx
push rbp
push rsi
push r12
push r13
push r14
push r15
sub rsp, 0xd0
mov rax, qword [0x140067040]
xor rax, rsp
mov qword [rsp + 0xb0], rax
mov r15, qword [rsp + 0x130]
xor esi, esi
mov r12, qword [rsp + 0x148]
mov rbx, rcx
mov rcx, qword [r8]
mov r14, r9
mov rbp, r8
mov qword [rsp + 0x60], r8
mov rax, qword [r15]
lea r9, [0x14006b3e0]
mov qword [r8], rsi
mov r13, rdx
mov qword [r15], rsi
lea r8, [0x140000000]
mov dword [r12], esi
mov qword [rsp + 0xc8], rdi
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x40], rax
jmp 0x14001a027
mov rbp, qword [rsp + 0x60]
jmp 0x14001a027
jne 0x14001a90a
mov rcx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x40]
cmp dword [rbx], 6
jne 0x14001a245
mov r8d, dword [rsp + 0x140]
mov rdx, rcx
sub rdx, qword [rbp]
mov rcx, rax
sub rcx, qword [r15]
mov r10d, esi
mov rax, qword [rbx + 0x1d0]
mov r9d, dword [rsp + 0x138]
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], rcx
cmp rax, 0xffffffffffffffff
je 0x14001a091
sub rax, qword [rbx + 0x18]
cmp rcx, rax
jb 0x14001a07b
mov r9d, 1
mov qword [rsp + 0x58], rax
test rax, rax
jne 0x14001a091
mov rax, qword [rbx + 0x20]
cmp qword [rbx + 0x1d8], rax
je 0x14001aa8b
mov rax, qword [rbx + 0x1d8]
cmp rax, 0xffffffffffffffff
je 0x14001a0b5
sub rax, qword [rbx + 0x20]
cmp rdx, rax
jb 0x14001a0b5
mov r10d, 1
mov qword [rsp + 0x50], rax
mov r8d, r10d
cmp qword [rbx + 0x388], 0
lea rax, [rsp + 0x58]
mov dword [rsp + 0x38], r8d
lea rcx, [rbx + 0x68]
mov dword [rsp + 0x30], r9d
lea r8, [rsp + 0x50]
mov qword [rsp + 0x28], rax
mov rdx, r13
cmovne rdx, rsi
mov qword [rsp + 0x20], r14
mov r9d, r10d
call fcn.1400194b0
mov esi, eax
mov eax, dword [rbx + 0xa0]
mov dword [r12], eax
mov rcx, qword [rbx + 0x388]
test rcx, rcx
je 0x14001a112
mov rdx, qword [rbx + 0x398]
add rdx, rcx
jmp 0x14001a115
mov rdx, r13
mov ecx, dword [rbx + 0x268]
mov rdi, qword [rsp + 0x50]
sub ecx, 1
je 0x14001a160
sub ecx, 3
je 0x14001a140
cmp ecx, 6
jne 0x14001a17c
lea rcx, [rbx + 0x278]
mov r8, rdi
call fcn.14001c0c0
jmp 0x14001a17c
mov rcx, qword [rbx + 0x270]
lea r9, [0x1400693c0]
mov r8, rdi
call qword [0x140069398]
mov qword [rbx + 0x270], rax
jmp 0x14001a17c
mov ecx, dword [rbx + 0x26c]
lea r9, [0x14006b3e0]
mov r8, rdi
call qword [0x14006b3c0]
mov dword [rbx + 0x26c], eax
cmp qword [rbx + 0x388], 0
jne 0x14001a189
add r13, rdi
mov rcx, qword [rsp + 0x58]
add qword [rbx + 0x398], rdi
add r14, rcx
add qword [r15], rcx
add qword [rbx + 0x18], rcx
add qword [rbp], rdi
mov r8, qword [rbx + 0x20]
add r8, rdi
mov qword [rbx + 0x20], r8
test esi, esi
jne 0x14001aa92
mov eax, dword [r12]
cmp eax, 1
jne 0x14001aa71
movzx ecx, word [rbx + 0x10]
and ecx, 0xf
jne 0x14001a1d2
xor esi, esi
mov eax, esi
jmp 0x14001a1e9
dec ecx
mov eax, 0xaaaaaaab
mul ecx
mov eax, 4
shr edx, 1
movzx ecx, dl
shl eax, cl
xor esi, esi
mov edx, dword [rbx + 0x14]
mov rcx, rbx
add rdx, rax
add rdx, qword [rbx + 0x18]
call fcn.140019eb0
mov qword [rbx], 7
mov dword [rbx + 8], esi
mov dword [r12], esi
mov rax, qword [rbx + 0x1d0]
cmp rax, 0xffffffffffffffff
je 0x14001a220
cmp rax, qword [rbx + 0x18]
jne 0x14001aa8b
mov rax, qword [rbx + 0x1d8]
cmp rax, 0xffffffffffffffff
je 0x14001a237
cmp rax, qword [rbx + 0x20]
jne 0x14001aa8b
lea r9, [0x14006b3e0]
lea r8, [0x140000000]
mov rdx, qword [r15]
mov rdi, qword [rsp + 0x40]
sub rdi, rdx
jne 0x14001a25b
cmp dword [rbx], 7
jne 0x14001aab4
movsxd rax, dword [rbx]
mov rcx, qword [rsp + 0x48]
cmp eax, 7
ja case.default.0x14001a277
mov ecx, dword [r8 + rax*4 + 0x1aafc]
add rcx, r8
jmp rcx
mov eax, dword [rbx + 4]
cmp eax, 0xc
jae 0x14001a2c0
mov ecx, eax
cmp eax, 6
jae 0x14001a29a
movzx eax, byte [rax + r8 + 0x5a9e8]
cmp byte [r14], al
jne 0x14001aacc
cmp dword [rbx + 0x380], 0
jne 0x14001aaa9
movzx eax, byte [r14]
inc r14
mov byte [rcx + rbx + 0x3c0], al
inc dword [rbx + 4]
inc qword [r15]
jmp case.0x14001a277.6
movzx eax, byte [rbx + 0x3c7]
lea rdx, [rbx + 0x3c6]
movzx ecx, byte [rdx]
mov r8d, 2
shl cx, 8
or cx, ax
mov word [rbx + 0x10], cx
mov ecx, 0xffffffff
call qword [0x14006b3c0]
not eax
cmp eax, dword [rbx + 0x3c8]
jne 0x14001aa96
cmp word [rbx + 0x10], 0xf
mov ecx, 4
cmovbe ecx, esi
ja 0x14001aa9b
inc qword [rbx + 0x48]
lea rax, [0x14001b9d0]
mov qword [rbx + 0x30], rsi
mov qword [rbx + 0x28], rsi
mov qword [rbx + 0x2f8], rax
mov qword [rbx + 0x300], rsi
mov dword [rbx + 0x318], 0x6a09e667
mov dword [rbx + 0x31c], 0xbb67ae85
mov dword [rbx + 0x320], 0x3c6ef372
mov dword [rbx + 0x324], 0xa54ff53a
mov dword [rbx + 0x328], 0x510e527f
mov dword [rbx + 0x32c], 0x9b05688c
mov dword [rbx + 0x330], 0x1f83d9ab
mov dword [rbx + 0x334], 0x5be0cd19
mov qword [rbx], 5
lea r8, [0x140000000]
lea r9, [0x14006b3e0]
jmp case.0x14001a277.6
mov ecx, dword [rbx + 4]
test ecx, ecx
jne 0x14001a4ba
movzx eax, byte [r14]
inc r14
mov byte [rbx + 0x3c0], al
lea eax, [rcx + 1]
mov dword [rbx + 4], eax
inc qword [r15]
movzx eax, byte [rbx + 0x3c0]
test al, al
jne 0x14001a4ab
cmp dword [rbx + 0x384], ecx
jne 0x14001aa8b
mov rdx, qword [rbx + 0x28]
mov r8d, esi
nop dword [rax]
movzx ecx, dl
mov eax, r8d
or cl, 0x80
shr rdx, 7
inc r8d
mov byte [rax + rbx + 0x3c1], cl
test rdx, rdx
jne 0x14001a3e0
and byte [r8 + rbx + 0x3c0], 0x7f
lea eax, [r8 + 1]
mov ecx, eax
lea rdi, [rbx + 0x2f8]
add qword [rbx + 0x30], rcx
lea rdx, [rbx + 0x3a0]
mov qword [rbx + 0x38], rcx
mov rcx, rdi
mov dword [rbx + 0xc], eax
call fcn.14001c190
lea rax, [0x14001b9d0]
mov qword [rdi + 8], rsi
mov qword [rdi], rax
lea rdx, [rbx + 0x3c0]
mov dword [rdi + 0x20], 0x6a09e667
lea r9, [0x14006b3e0]
mov dword [rdi + 0x24], 0xbb67ae85
mov ecx, 0xffffffff
mov dword [rdi + 0x28], 0x3c6ef372
mov dword [rdi + 0x2c], 0xa54ff53a
mov dword [rdi + 0x30], 0x510e527f
mov dword [rdi + 0x34], 0x9b05688c
mov dword [rdi + 0x38], 0x1f83d9ab
mov dword [rdi + 0x3c], 0x5be0cd19
mov r8d, dword [rbx + 0xc]
call qword [0x14006b3c0]
mov dword [rbx], 1
lea r8, [0x140000000]
mov dword [rbx + 0x60], eax
lea r9, [0x14006b3e0]
jmp case.0x14001a277.6
lea eax, [rax*4 + 4]
mov dword [rbx + 0x14], eax
jmp case.0x14001a277.6
mov esi, dword [rbx + 0x14]
cmp ecx, esi
je 0x14001a500
sub esi, ecx
mov rdx, r14
mov eax, esi
cmp rax, rdi
cmova esi, edi
add rcx, 0x3c0
add rcx, rbx
mov r8d, esi
mov edi, esi
call fcn.14004c350
add dword [rbx + 4], esi
lea r8, [0x140000000]
add qword [r15], rdi
lea r9, [0x14006b3e0]
add r14, rdi
xor esi, esi
jmp case.0x14001a277.6
lea rdi, [rbx + 0x1d0]
mov rcx, rdi
lea rdx, [rbx + 0x3c0]
call fcn.1400198c0
test eax, eax
jne 0x14001aad1
movzx r8d, byte [rdi + 0x10]
and r8d, 3
mov eax, r8d
shl rax, 5
cmp qword [rax + rdi + 0x18], 0x21
jne 0x14001aaad
cmp dword [rax + rdi + 0x20], 1
jne 0x14001aaad
cmp byte [rax + rdi + 0x24], 0x28
ja 0x14001aaad
xor esi, esi
mov edx, esi
test r8d, r8d
je 0x14001a594
lea rcx, [rdi + 0x20]
nop dword [rax]
mov rax, qword [rcx - 8]
cmp rax, 3
jne 0x14001a56f
cmp dword [rcx], 1
jmp 0x14001a583
add rax, 0xfffffffffffffffd
cmp rax, 7
ja 0x14001aaad
test dword [rcx], 0xfffffffb
jne 0x14001aaad
inc edx
add rcx, 0x20
cmp edx, r8d
jb 0x14001a560
movzx eax, word [rbx + 0x10]
inc qword [rbx + 0x58]
and eax, 0xf
mov dword [rbx], 6
mov dword [rbx + 0x268], eax
mov qword [rbx + 0x18], rsi
mov qword [rbx + 0x20], rsi
sub eax, 1
je 0x14001a636
sub eax, 3
je 0x14001a629
cmp eax, 6
jne 0x14001a640
lea rax, [0x14001b9d0]
mov qword [rbx + 0x280], rsi
mov qword [rbx + 0x278], rax
mov dword [rbx + 0x298], 0x6a09e667
mov dword [rbx + 0x29c], 0xbb67ae85
mov dword [rbx + 0x2a0], 0x3c6ef372
mov dword [rbx + 0x2a4], 0xa54ff53a
mov dword [rbx + 0x2a8], 0x510e527f
mov dword [rbx + 0x2ac], 0x9b05688c
mov dword [rbx + 0x2b0], 0x1f83d9ab
mov dword [rbx + 0x2b4], 0x5be0cd19
jmp 0x14001a640
mov qword [rbx + 0x270], 0xffffffffffffffff
jmp 0x14001a640
mov dword [rbx + 0x26c], 0xffffffff
cmp dword [rbx + 0x378], esi
jne 0x14001aa9f
mov r9, qword [rbx + 0x390]
lea rdx, [rbx + 0x1d0]
mov r8, qword [rbx + 0x388]
lea rcx, [rbx + 0x68]
call fcn.140019ae0
test eax, eax
jne 0x14001aad1
lea r8, [0x140000000]
lea r9, [0x14006b3e0]
jmp case.0x14001a277.6
mov eax, dword [rbx + 0x18]
add eax, dword [rbx + 8]
test al, 3
je 0x14001a6b0
test rdi, rdi
je 0x14001aab4
lea rax, [rdx + 1]
mov qword [r15], rax
inc dword [rbx + 8]
movzx eax, byte [r14]
inc r14
test al, al
jmp 0x14001a017
movzx ecx, word [rbx + 0x10]
and ecx, 0xf
jne 0x14001a6bd
mov ebp, esi
jmp 0x14001a6d2
dec ecx
mov eax, 0xaaaaaaab
mul ecx
mov ebp, 4
shr edx, 1
movzx ecx, dl
shl ebp, cl
mov ecx, dword [rbx + 4]
mov esi, ebp
sub esi, ecx
je 0x14001a732
test rdi, rdi
je 0x14001aab4
mov eax, esi
mov rdx, r14
cmp rax, rdi
cmova esi, edi
add rcx, 0x3c0
add rcx, rbx
mov r8d, esi
mov edi, esi
call fcn.14004c350
add dword [rbx + 4], esi
lea r8, [0x140000000]
add qword [r15], rdi
lea r9, [0x14006b3e0]
mov rax, qword [rsp + 0x40]
add r14, rdi
mov esi, 0
mov rcx, qword [rsp + 0x48]
cmp ebp, dword [rbx + 4]
jne 0x14001a010
mov qword [rbx], 5
xor esi, esi
mov ecx, dword [rbx + 0x268]
sub ecx, 1
je 0x14001a7af
sub ecx, 3
je 0x14001a767
cmp ecx, 6
jne 0x14001a7d7
lea rcx, [rbx + 0x278]
lea rdx, [rsp + 0x70]
call fcn.14001c190
jmp 0x14001a7bb
mov rax, qword [rbx + 0x270]
not rax
mov byte [rsp + 0x70], al
shr rax, 8
mov byte [rsp + 0x71], al
shr rax, 8
mov byte [rsp + 0x72], al
shr rax, 8
mov byte [rsp + 0x73], al
shr rax, 8
mov byte [rsp + 0x74], al
shr rax, 8
mov byte [rsp + 0x75], al
shr rax, 8
mov byte [rsp + 0x76], al
shr rax, 8
mov byte [rsp + 0x77], al
jmp 0x14001a7bb
mov eax, dword [rbx + 0x26c]
not eax
mov dword [rsp + 0x70], eax
mov r8d, ebp
lea rdx, [rbx + 0x3c0]
lea rcx, [rsp + 0x70]
call fcn.14004c9d0
test eax, eax
jne 0x14001a90a
cmp dword [rbx + 0x384], esi
jne 0x14001aac0
mov rbp, qword [rsp + 0x60]
lea r8, [0x140000000]
lea r9, [0x14006b3e0]
jmp case.0x14001a277.6
mov eax, dword [rbx + 0xc]
cmp dword [rbx + 4], eax
jae 0x14001a828
lea rax, [rdx + 1]
mov qword [r15], rax
mov eax, dword [rbx + 4]
movzx edx, byte [r14]
inc r14
movzx ecx, byte [rax + rbx + 0x3c0]
inc eax
mov dword [rbx + 4], eax
cmp dl, cl
jmp 0x14001a017
mov rcx, qword [rbx + 0x38]
mov rax, qword [rbx + 0x30]
cmp rcx, rax
jae 0x14001a880
sub rax, rcx
mov rdx, r14
mov ecx, dword [rbx + 0x60]
cmp rdi, rax
cmova rdi, rax
mov r8, rdi
call qword [0x14006b3c0]
lea rcx, [rbx + 0x2f8]
mov r8, rdi
mov rdx, r14
mov dword [rbx + 0x60], eax
call fcn.14001c0c0
add qword [r15], rdi
lea r8, [0x140000000]
add r14, rdi
lea r9, [0x14006b3e0]
add qword [rbx + 0x38], rdi
jmp case.0x14001a277.6
test cl, 3
je 0x14001a8cb
movzx r8d, byte [r14]
inc r14
mov edx, dword [rbx + 0x60]
mov ecx, edx
movdqa xmm1, xmmword [0x1400619b0]
xor rcx, r8
shr edx, 8
movzx eax, cl
xor edx, dword [r9 + rax*4]
mov dword [rbx + 0x60], edx
inc qword [r15]
movdqu xmm0, xmmword [rbx + 0x30]
paddq xmm1, xmm0
movdqu xmmword [rbx + 0x30], xmm1
test r8b, r8b
jne 0x14001a90a
lea r8, [0x140000000]
jmp case.0x14001a277.6
add rax, 4
mov qword [rbx], 2
lea rcx, [rbx + 0x2f8]
mov qword [rbx + 0x30], rax
lea rdx, [rsp + 0x70]
call fcn.14001c190
lea rdx, [rbx + 0x3a0]
mov r8d, 0x20
lea rcx, [rsp + 0x70]
call fcn.14004c9d0
test eax, eax
je 0x14001a386
mov eax, 3
jmp 0x14001aad1
cmp dword [rbx + 4], 4
jae 0x14001a93a
lea rax, [rdx + 1]
mov qword [r15], rax
movzx eax, byte [r14]
mov ecx, dword [rbx + 4]
mov byte [rcx + rbx + 0x3c0], al
inc dword [rbx + 4]
inc r14
jmp case.0x14001a277.6
mov eax, dword [rbx + 0x60]
not eax
mov qword [rbx], 3
cmp eax, dword [rbx + 0x3c0]
jmp 0x14001a017
mov ecx, dword [rbx + 4]
mov esi, 0xc
sub esi, ecx
mov rdx, r14
mov eax, esi
cmp rax, rdi
cmova esi, edi
add rcx, 0x3c0
add rcx, rbx
mov r8d, esi
mov edi, esi
call fcn.14004c350
add dword [rbx + 4], esi
lea r8, [0x140000000]
add qword [r15], rdi
lea r9, [0x14006b3e0]
mov rax, qword [rsp + 0x40]
add r14, rdi
cmp dword [rbx + 4], 0xc
mov esi, 0
mov rcx, qword [rsp + 0x48]
jne 0x14001a027
inc qword [rbx + 0x50]
lea rdx, [rbx + 0x3c4]
movzx edi, word [rbx + 0x10]
mov dword [rbx], 4
mov qword [rbx + 0x40], rsi
mov eax, dword [rdx]
lea rax, [rax*4 + 4]
cmp qword [rbx + 0x30], rax
jne 0x14001a90a
lea r9, [0x14006b3e0]
mov ecx, 0xffffffff
lea r8d, [rsi + 6]
call qword [0x14006b3c0]
not eax
cmp dword [rbx + 0x3c0], eax
jne 0x14001a90a
movzx ecx, byte [rbx + 0x3c8]
movzx eax, byte [rbx + 0x3c9]
shl cx, 8
or cx, ax
cmp di, cx
jne 0x14001a90a
cmp byte [rbx + 0x3ca], 0x59
jne 0x14001a90a
cmp byte [rbx + 0x3cb], 0x5a
jne 0x14001a90a
lea r8, [0x140000000]
lea r9, [0x14006b3e0]
jmp case.0x14001a277.6
cmp byte [r14], 0
je 0x14001aa5e
test byte [rbx + 0x40], 3
jne 0x14001aacc
mov qword [rbx], 0
jmp case.0x14001a277.6
lea rax, [rdx + 1]
inc r14
mov qword [r15], rax
inc qword [rbx + 0x40]
jmp case.0x14001a277.6
mov rcx, qword [rbx + 0x18]
cmp qword [rbx + 0x1d0], rcx
jne 0x14001aaa9
cmp eax, 3
jne 0x14001aaa9
mov dword [r12], 0
mov eax, 1
jmp 0x14001aad1
mov eax, esi
jmp 0x14001aad1
mov ecx, 0x11
mov eax, ecx
jmp 0x14001aad1
mov dword [rbx + 0x37c], 1
xor eax, eax
jmp 0x14001aad1
mov eax, 4
jmp 0x14001aad1
mov dword [r12], 3
xor eax, eax
jmp 0x14001aad1
mov dword [r12], 1
xor eax, eax
jmp 0x14001aad1
mov eax, 0x11
mov rdi, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.14002d030
add rsp, 0xd0
pop r15
pop r14
pop r13
pop r12
pop rsi
pop rbp
pop rbx
ret