Function at 0x1400bdc10
Capabilities:
Hash data using sha1

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x58
call fcn.1401c1690
sub rsp, rax
mov r9d, dword [rcx + 0xc]
mov r13, rdx
mov eax, dword [rcx + 8]
mov r11d, r9d
mov r8d, dword [rcx + 0x10]
mov ebx, eax
mov esi, dword [rcx]
mov ebp, dword [rcx + 4]
mov dword [rsp + 0x40], r9d
mov dword [rsp + 0x44], r8d
movzx ecx, byte [r13 + 1]
mov r10d, r8d
movzx r8d, byte [r13]
mov edx, r11d
movzx r9d, byte [r13 + 4]
xor edx, ebx
shl ecx, 0x10
and edx, ebp
xor edx, r11d
shl r8d, 0x18
or r8d, ecx
shl r9d, 0x18
movzx ecx, byte [r13 + 2]
shl ecx, 8
or r8d, ecx
ror ebp, 2
movzx ecx, byte [r13 + 3]
or r8d, ecx
movzx ecx, byte [r13 + 5]
shl ecx, 0x10
or r9d, ecx
mov dword [rsp + 0x38], r8d
movzx ecx, byte [r13 + 6]
shl ecx, 8
or r9d, ecx
movzx ecx, byte [r13 + 7]
or r9d, ecx
mov ecx, esi
rol ecx, 5
add ecx, r8d
mov dword [rsp + 0xc], r9d
add edx, ecx
lea r8d, [r10 + 0x5a827999]
movzx ecx, byte [r13 + 9]
add r8d, edx
movzx r10d, byte [r13 + 8]
mov edx, ebx
shl ecx, 0x10
xor edx, ebp
and edx, esi
shl r10d, 0x18
or r10d, ecx
ror esi, 2
movzx ecx, byte [r13 + 0xa]
xor edx, ebx
shl ecx, 8
or r10d, ecx
movzx ecx, byte [r13 + 0xb]
or r10d, ecx
mov ecx, r8d
rol ecx, 5
add ecx, r9d
mov dword [rsp + 0x3c], r10d
add edx, ecx
lea r9d, [r11 + 0x5a827999]
movzx ecx, byte [r13 + 0xd]
add r9d, edx
movzx r11d, byte [r13 + 0xc]
mov edx, ebp
shl ecx, 0x10
xor edx, esi
shl r11d, 0x18
and edx, r8d
or r11d, ecx
ror r8d, 2
movzx ecx, byte [r13 + 0xe]
xor edx, ebp
shl ecx, 8
or r11d, ecx
movzx ecx, byte [r13 + 0xf]
or r11d, ecx
mov ecx, r9d
rol ecx, 5
add ecx, r10d
mov dword [rsp + 0x2c], r11d
add edx, ecx
lea r10d, [rbx + 0x5a827999]
movzx ebx, byte [r13 + 0x10]
add r10d, edx
movzx ecx, byte [r13 + 0x11]
shl ebx, 0x18
movzx edi, byte [r13 + 0x14]
mov edx, r8d
shl ecx, 0x10
xor edx, esi
or ebx, ecx
shl edi, 0x18
movzx ecx, byte [r13 + 0x12]
and edx, r9d
shl ecx, 8
xor edx, esi
or ebx, ecx
ror r9d, 2
movzx ecx, byte [r13 + 0x13]
add edx, 0x5a827999
or ebx, ecx
mov ecx, r10d
rol ecx, 5
add r11d, ecx
mov dword [rsp + 0x28], ebx
movzx ecx, byte [r13 + 0x15]
add r11d, edx
shl ecx, 0x10
mov edx, r8d
or edi, ecx
xor edx, r9d
movzx ecx, byte [r13 + 0x16]
and edx, r10d
shl ecx, 8
xor edx, r8d
or edi, ecx
ror r10d, 2
movzx ecx, byte [r13 + 0x17]
add edx, 0x5a827999
or edi, ecx
add r11d, ebp
mov dword [rsp + 8], edi
mov ecx, r11d
rol ecx, 5
add ebx, ecx
movzx ecx, byte [r13 + 0x19]
shl ecx, 0x10
add ebx, edx
add ebx, esi
mov edx, r9d
movzx esi, byte [r13 + 0x18]
xor edx, r10d
and edx, r11d
shl esi, 0x18
or esi, ecx
ror r11d, 2
movzx ecx, byte [r13 + 0x1a]
xor edx, r9d
shl ecx, 8
add edx, 0x5a827999
or esi, ecx
movzx ecx, byte [r13 + 0x1b]
or esi, ecx
mov ecx, ebx
rol ecx, 5
add edi, ecx
mov dword [rsp + 0x14], esi
movzx ecx, byte [r13 + 0x1d]
add edi, edx
add edi, r8d
shl ecx, 0x10
movzx r8d, byte [r13 + 0x1c]
mov edx, r10d
shl r8d, 0x18
xor edx, r11d
or r8d, ecx
and edx, ebx
movzx ecx, byte [r13 + 0x1e]
xor edx, r10d
shl ecx, 8
or r8d, ecx
movzx ecx, byte [r13 + 0x1f]
or r8d, ecx
mov ecx, edi
rol ecx, 5
add esi, ecx
mov dword [rsp + 0x1c], r8d
movzx ecx, byte [r13 + 0x21]
add edx, 0x5a827999
movzx r12d, byte [r13 + 0x2c]
add esi, edx
shl ecx, 0x10
add esi, r9d
movzx r9d, byte [r13 + 0x20]
mov ebp, r11d
shl r9d, 0x18
or r9d, ecx
ror ebx, 2
movzx ecx, byte [r13 + 0x22]
xor ebp, ebx
shl ecx, 8
and ebp, edi
or r9d, ecx
ror edi, 2
movzx ecx, byte [r13 + 0x23]
xor ebp, r11d
or r9d, ecx
shl r12d, 0x18
mov dword [rsp], r9d
mov ecx, esi
rol ecx, 5
add r9d, 0x5a827999
add ecx, 0x5a827999
mov r14d, ebx
add ecx, r8d
xor r14d, edi
movzx r8d, byte [r13 + 0x24]
add ebp, ecx
movzx ecx, byte [r13 + 0x25]
and r14d, esi
shl ecx, 0x10
add ebp, r10d
shl r8d, 0x18
xor r14d, ebx
or r8d, ecx
ror esi, 2
movzx ecx, byte [r13 + 0x26]
mov edx, esi
shl ecx, 8
xor edx, edi
or r8d, ecx
and edx, ebp
movzx ecx, byte [r13 + 0x27]
xor edx, edi
or r8d, ecx
add edx, 0x5a827999
mov dword [rsp + 0x24], r8d
mov ecx, ebp
rol ecx, 5
add ecx, r9d
ror ebp, 2
movzx r9d, byte [r13 + 0x28]
add r14d, ecx
movzx ecx, byte [r13 + 0x29]
add r14d, r11d
shl ecx, 0x10
shl r9d, 0x18
or r9d, ecx
movzx ecx, byte [r13 + 0x2a]
shl ecx, 8
or r9d, ecx
movzx ecx, byte [r13 + 0x2b]
or r9d, ecx
mov ecx, r14d
rol ecx, 5
add r8d, ecx
mov dword [rsp + 0x20], r9d
movzx ecx, byte [r13 + 0x2d]
add r8d, edx
shl ecx, 0x10
add r8d, ebx
or r12d, ecx
movzx ecx, byte [r13 + 0x2e]
shl ecx, 8
or r12d, ecx
movzx ecx, byte [r13 + 0x2f]
or r12d, ecx
mov dword [rsp + 4], r12d
movzx r15d, byte [r13 + 0x34]
mov r10d, ebp
mov edx, esi
shl r15d, 0x18
xor edx, ebp
mov ecx, r8d
rol ecx, 5
and edx, r14d
add ecx, r9d
ror r14d, 2
lea r9d, [rdi + 0x5a827999]
xor r10d, r14d
movzx edi, byte [r13 + 0x30]
and r10d, r8d
xor r10d, ebp
shl edi, 0x18
xor edx, esi
ror r8d, 2
add edx, ecx
mov r11d, r14d
movzx ecx, byte [r13 + 0x31]
xor r11d, r8d
shl ecx, 0x10
add r9d, edx
or edi, ecx
and r11d, r9d
movzx ecx, byte [r13 + 0x32]
xor r11d, r14d
shl ecx, 8
mov ebx, r8d
or edi, ecx
movzx ecx, byte [r13 + 0x33]
or edi, ecx
mov ecx, r9d
rol ecx, 5
add ecx, 0x5a827999
ror r9d, 2
add ecx, r12d
mov dword [rsp + 0x18], edi
add r10d, ecx
xor ebx, r9d
movzx ecx, byte [r13 + 0x35]
add r10d, esi
movzx esi, byte [r13 + 0x3c]
and ebx, r10d
shl ecx, 0x10
xor ebx, r8d
or r15d, ecx
shl esi, 0x18
movzx ecx, byte [r13 + 0x36]
shl ecx, 8
or r15d, ecx
movzx ecx, byte [r13 + 0x37]
or r15d, ecx
mov ecx, r10d
rol ecx, 5
add ecx, 0x5a827999
ror r10d, 2
add ecx, edi
mov dword [rsp + 0x34], r15d
add r11d, ecx
movzx ecx, byte [r13 + 0x39]
shl ecx, 0x10
add r11d, ebp
movzx ebp, byte [r13 + 0x38]
shl ebp, 0x18
or ebp, ecx
movzx ecx, byte [r13 + 0x3a]
shl ecx, 8
or ebp, ecx
movzx ecx, byte [r13 + 0x3b]
or ebp, ecx
mov ecx, r11d
rol ecx, 5
add ecx, 0x5a827999
mov dword [rsp + 0xa8], ebp
add ecx, r15d
add ebx, ecx
movzx ecx, byte [r13 + 0x3d]
add ebx, r14d
shl ecx, 0x10
or esi, ecx
mov edx, r9d
movzx ecx, byte [r13 + 0x3e]
xor edx, r10d
and edx, r11d
shl ecx, 8
xor edx, r9d
ror r11d, 2
or esi, ecx
movzx ecx, byte [r13 + 0x3f]
or esi, ecx
add r13, 0x40
mov ecx, ebx
mov qword [rsp + 0x48], r13
rol ecx, 5
mov r13d, r15d
xor r13d, dword [rsp]
add ecx, 0x5a827999
xor r13d, dword [rsp + 0x3c]
add ecx, ebp
xor ebp, dword [rsp + 0x24]
add edx, ecx
xor ebp, dword [rsp + 0x2c]
add r8d, edx
xor ebp, dword [rsp + 0xc]
mov edx, r11d
xor r13d, dword [rsp + 0x38]
xor edx, r10d
and edx, ebx
mov dword [rsp + 0xb8], esi
xor edx, r10d
ror ebx, 2
rol r13d, 1
mov ecx, r8d
rol ecx, 5
add ecx, 0x5a827999
rol ebp, 1
add ecx, esi
mov dword [rsp + 0x30], r13d
xor esi, dword [rsp + 0x20]
add edx, ecx
xor esi, dword [rsp + 0x28]
add r9d, edx
xor esi, dword [rsp + 0x3c]
mov edx, r11d
xor edx, ebx
rol esi, 1
and edx, r8d
mov dword [rsp + 0xc], ebp
xor edx, r11d
ror r8d, 2
add edx, 0x5a827999
mov dword [rsp + 0x10], esi
mov ecx, r9d
rol ecx, 5
add r10d, ecx
add r10d, edx
mov edx, ebx
xor edx, r8d
add r10d, r13d
and edx, r9d
mov ecx, r10d
xor edx, ebx
rol ecx, 5
add edx, 0x5a827999
ror r9d, 2
add r11d, ecx
add r11d, edx
mov edx, r8d
xor edx, r9d
add r11d, ebp
and edx, r10d
mov ecx, r11d
xor edx, r8d
rol ecx, 5
add ebx, ecx
ror r10d, 2
add edx, 0x5a827999
add ebx, edx
add ebx, esi
xor r12d, dword [rsp + 8]
xor edi, dword [rsp + 0x14]
mov edx, r9d
xor r12d, dword [rsp + 0x2c]
xor edx, r10d
xor edi, dword [rsp + 0x28]
and edx, r11d
mov r14d, dword [rsp + 0xa8]
xor edx, r9d
xor r14d, dword [rsp]
add edx, 0x5a827999
xor r14d, dword [rsp + 0x14]
xor edi, ebp
ror r11d, 2
mov ebp, r15d
xor ebp, dword [rsp + 0x1c]
mov ecx, ebx
xor ebp, dword [rsp + 8]
xor r12d, r13d
mov r15d, dword [rsp + 0xb8]
xor ebp, esi
xor r15d, dword [rsp + 0x24]
xor r15d, dword [rsp + 0x1c]
mov esi, dword [rsp + 0x20]
xor esi, dword [rsp]
rol ecx, 5
add r8d, ecx
rol r12d, 1
add r8d, edx
rol edi, 1
mov edx, ebx
rol ebp, 1
xor edx, r10d
ror ebx, 2
xor edx, r11d
add r8d, r12d
add edx, 0x6ed9eba1
mov ecx, r8d
rol ecx, 5
xor esi, ebp
add r9d, ecx
xor r14d, r12d
add r9d, edx
rol r14d, 1
add r9d, edi
mov edx, ebx
xor edx, r8d
mov ecx, r9d
xor edx, r11d
rol ecx, 5
add edx, 0x6ed9eba1
ror r8d, 2
add r10d, ecx
xor r15d, edi
add r10d, edx
rol r15d, 1
add r10d, ebp
mov edx, ebx
xor edx, r8d
mov ecx, r10d
xor edx, r9d
rol ecx, 5
add edx, 0x6ed9eba1
ror r9d, 2
add r11d, ecx
xor esi, r13d
add r11d, edx
rol esi, 1
add r11d, r14d
mov edx, r8d
xor edx, r9d
mov ecx, r11d
xor edx, r10d
rol ecx, 5
add ebx, ecx
ror r10d, 2
add edx, 0x6ed9eba1
add ebx, edx
mov edx, r9d
add ebx, r15d
mov ecx, ebx
rol ecx, 5
add r8d, ecx
mov r13d, dword [rsp + 4]
xor r13d, dword [rsp + 0x24]
xor edx, r10d
xor edx, r11d
xor r13d, r14d
xor r13d, dword [rsp + 0xc]
add edx, 0x6ed9eba1
add r8d, edx
ror r11d, 2
mov edx, r10d
rol r13d, 1
xor edx, r11d
add r8d, esi
xor edx, ebx
mov ecx, r8d
rol ecx, 5
add edx, 0x6ed9eba1
add r9d, ecx
ror ebx, 2
mov ecx, dword [rsp + 0x18]
add r9d, edx
xor ecx, dword [rsp + 0x20]
add r9d, r13d
xor ecx, r15d
mov edx, r8d
xor ecx, dword [rsp + 0x10]
xor edx, r11d
rol ecx, 1
xor edx, ebx
mov dword [rsp + 8], ecx
mov ecx, r9d
rol ecx, 5
add r10d, ecx
ror r8d, 2
mov ecx, dword [rsp + 8]
add r10d, edx
add ecx, 0x6ed9eba1
mov edx, r8d
add r10d, ecx
xor edx, r9d
mov ecx, dword [rsp + 0x34]
xor edx, ebx
xor ecx, dword [rsp + 4]
xor ecx, esi
ror r9d, 2
xor ecx, r12d
rol ecx, 1
mov dword [rsp + 4], ecx
mov ecx, r10d
rol ecx, 5
add r11d, ecx
mov ecx, dword [rsp + 4]
add ecx, 0x6ed9eba1
add r11d, edx
add r11d, ecx
mov edx, r8d
mov ecx, dword [rsp + 0xa8]
xor edx, r9d
xor ecx, dword [rsp + 0x18]
xor edx, r10d
xor ecx, r13d
ror r10d, 2
xor ecx, edi
rol ecx, 1
mov dword [rsp], ecx
mov ecx, r11d
rol ecx, 5
add ebx, ecx
mov ecx, dword [rsp]
add ecx, 0x6ed9eba1
add ebx, edx
add ebx, ecx
mov ecx, dword [rsp + 0xb8]
xor ecx, dword [rsp + 0x34]
xor ecx, dword [rsp + 8]
xor ecx, ebp
rol ecx, 1
mov dword [rsp + 0x1c], ecx
mov ecx, ebx
rol ecx, 5
add r8d, ecx
mov edx, r9d
mov ecx, dword [rsp + 0x1c]
xor edx, r10d
add ecx, 0x6ed9eba1
xor edx, r11d
add r8d, edx
ror r11d, 2
add r8d, ecx
mov edx, r10d
mov ecx, dword [rsp + 0xa8]
xor edx, r11d
xor ecx, dword [rsp + 4]
xor edx, ebx
xor ecx, r14d
ror ebx, 2
xor ecx, dword [rsp + 0x30]
rol ecx, 1
mov dword [rsp + 0xa8], ecx
mov ecx, r8d
rol ecx, 5
add r9d, ecx
mov ecx, dword [rsp + 0xa8]
add ecx, 0x6ed9eba1
add r9d, edx
add r9d, ecx
mov edx, r11d
mov ecx, dword [rsp + 0xb8]
xor edx, ebx
xor ecx, dword [rsp]
xor edx, r8d
xor ecx, r15d
ror r8d, 2
xor ecx, dword [rsp + 0xc]
rol ecx, 1
mov dword [rsp + 0xb8], ecx
mov ecx, r9d
rol ecx, 5
add r10d, ecx
mov ecx, dword [rsp + 0xb8]
add ecx, 0x6ed9eba1
add r10d, edx
add r10d, ecx
mov edx, r9d
mov ecx, dword [rsp + 0x1c]
xor edx, ebx
xor ecx, esi
ror r9d, 2
xor ecx, dword [rsp + 0x10]
xor edx, r8d
xor ecx, dword [rsp + 0x30]
rol ecx, 1
mov dword [rsp + 0x18], ecx
mov ecx, r10d
rol ecx, 5
add r11d, ecx
mov ecx, dword [rsp + 0x18]
add ecx, 0x6ed9eba1
add r11d, edx
add r11d, ecx
mov edx, r9d
mov ecx, dword [rsp + 0xa8]
xor edx, r10d
xor ecx, r13d
ror r10d, 2
xor ecx, r12d
xor edx, r8d
xor ecx, dword [rsp + 0xc]
rol ecx, 1
mov dword [rsp + 0x14], ecx
mov ecx, r11d
rol ecx, 5
add ebx, ecx
mov ecx, dword [rsp + 0x14]
add ecx, 0x6ed9eba1
add ebx, edx
add ebx, ecx
mov ecx, dword [rsp + 0xb8]
xor ecx, dword [rsp + 8]
xor ecx, edi
xor ecx, dword [rsp + 0x10]
rol ecx, 1
mov edx, r9d
mov dword [rsp + 0x10], ecx
xor edx, r10d
xor edx, r11d
mov ecx, ebx
rol ecx, 5
add r8d, ecx
ror r11d, 2
mov ecx, dword [rsp + 0x10]
add r8d, edx
add ecx, 0x6ed9eba1
mov edx, r10d
add r8d, ecx
xor edx, r11d
mov ecx, dword [rsp + 4]
xor edx, ebx
xor ecx, ebp
ror ebx, 2
xor ecx, r12d
mov r12d, dword [rsp]
xor ecx, dword [rsp + 0x18]
rol ecx, 1
mov dword [rsp + 0x20], ecx
mov ecx, r8d
rol ecx, 5
add r9d, ecx
mov ecx, dword [rsp + 0x20]
add ecx, 0x6ed9eba1
add r9d, edx
add r9d, ecx
mov edx, r11d
xor edx, ebx
mov ecx, r12d
xor ecx, r14d
xor edx, r8d
xor ecx, edi
ror r8d, 2
xor ecx, dword [rsp + 0x14]
add edx, 0x6ed9eba1
rol ecx, 1
mov dword [rsp + 0x28], ecx
mov ecx, r9d
rol ecx, 5
add r10d, ecx
mov ecx, dword [rsp + 0x1c]
xor ecx, r15d
add r10d, edx
add r10d, dword [rsp + 0x28]
xor ecx, ebp
xor ecx, dword [rsp + 0x10]
mov edx, ebx
mov ebp, dword [rsp + 0xa8]
xor edx, r8d
rol ecx, 1
xor edx, r9d
mov dword [rsp + 0xc], ecx
xor ebp, esi
xor ebp, r14d
ror r9d, 2
xor ebp, dword [rsp + 0x20]
mov ecx, r10d
rol ecx, 5
add r11d, ecx
rol ebp, 1
mov ecx, dword [rsp + 0xc]
add r11d, edx
add ecx, 0x6ed9eba1
mov dword [rsp + 0x24], ebp
add r11d, ecx
add ebp, 0x6ed9eba1
mov edx, r10d
mov ecx, r11d
rol ecx, 5
xor edx, r8d
add ebx, ecx
xor edx, r9d
add ebx, edx
add ebx, ebp
mov ebp, dword [rsp + 0xb8]
ror r10d, 2
mov r14d, dword [rsp + 0x18]
add r8d, 0x6ed9eba1
xor ebp, r13d
mov edi, r10d
xor ebp, r15d
xor edi, r11d
xor ebp, dword [rsp + 0x28]
xor edi, r9d
mov r15d, dword [rsp + 8]
mov ecx, ebx
rol ecx, 5
xor r15d, esi
xor r15d, dword [rsp + 0xc]
add ecx, r8d
add edi, ecx
ror r11d, 2
rol ebp, 1
mov edx, r11d
or edx, ebx
mov dword [rsp], ebp
and edx, r10d
add edi, ebp
mov ecx, r11d
xor r15d, r14d
and ecx, ebx
rol r15d, 1
or edx, ecx
ror ebx, 2
mov ecx, dword [rsp + 4]
add edx, r9d
xor ecx, r13d
mov dword [rsp + 0x2c], r15d
xor ecx, dword [rsp + 0x24]
add edx, r15d
mov r13d, dword [rsp + 0x10]
mov r8d, edi
mov r15d, dword [rsp + 0x14]
xor ecx, r15d
rol ecx, 1
mov dword [rsp + 0x18], ecx
mov ecx, ebx
and ecx, edi
rol r8d, 5
lea r9d, [r8 - 0x70e44324]
add r9d, edx
mov edx, ebx
or edx, edi
mov r8d, r9d
and edx, r11d
rol r8d, 5
or edx, ecx
ror edi, 2
add edx, r10d
mov ecx, r12d
xor ecx, dword [rsp + 8]
add edx, dword [rsp + 0x18]
lea r10d, [r8 - 0x70e44324]
xor ecx, ebp
add r10d, edx
xor ecx, r13d
mov edx, edi
rol ecx, 1
or edx, r9d
mov dword [rsp + 0x10], ecx
and edx, ebx
mov ecx, edi
mov r8d, r10d
and ecx, r9d
rol r8d, 5
or edx, ecx
ror r9d, 2
mov ecx, dword [rsp + 0x1c]
add edx, r11d
xor ecx, dword [rsp + 4]
xor ecx, dword [rsp + 0x2c]
lea r11d, [r8 - 0x70e44324]
add edx, dword [rsp + 0x10]
xor ecx, dword [rsp + 0x20]
add r11d, edx
rol ecx, 1
mov dword [rsp + 4], ecx
mov ebp, dword [rsp + 0xa8]
mov edx, r9d
xor ebp, dword [rsp + 4]
or edx, r10d
xor ebp, dword [rsp + 0x24]
and edx, edi
xor ebp, r14d
mov ecx, r9d
and ecx, r10d
rol ebp, 1
or edx, ecx
ror r10d, 2
mov ecx, dword [rsp + 0xa8]
add edx, ebx
add edx, dword [rsp + 4]
xor ecx, r12d
xor ecx, dword [rsp + 0x18]
mov r8d, r11d
xor ecx, dword [rsp + 0x28]
mov r12d, dword [rsp + 0xb8]
xor r12d, dword [rsp + 0x1c]
xor r12d, dword [rsp + 0x10]
xor r12d, dword [rsp + 0xc]
rol r8d, 5
rol ecx, 1
mov dword [rsp + 8], ecx
mov ecx, r11d
and ecx, r10d
mov dword [rsp + 0xa8], ebp
lea ebx, [r8 - 0x70e44324]
rol r12d, 1
add ebx, edx
mov dword [rsp + 0x14], r12d
mov edx, r11d
mov r8d, ebx
or edx, r10d
rol r8d, 5
and edx, r9d
ror r11d, 2
or edx, ecx
mov ecx, r11d
add edx, edi
and ecx, ebx
add edx, dword [rsp + 8]
lea edi, [r8 - 0x70e44324]
add edi, edx
mov edx, r11d
or edx, ebx
mov r8d, edi
and edx, r10d
rol r8d, 5
or edx, ecx
ror ebx, 2
add edx, r9d
mov ecx, ebx
add edx, r12d
and ecx, edi
lea r9d, [r8 - 0x70e44324]
add r9d, edx
mov edx, ebx
or edx, edi
mov r8d, r9d
and edx, r11d
rol r8d, 5
or edx, ecx
ror edi, 2
add edx, r10d
add edx, ebp
mov ebp, dword [rsp + 0xb8]
xor ebp, dword [rsp + 8]
lea r10d, [r8 - 0x70e44324]
xor ebp, dword [rsp]
add r10d, edx
xor ebp, r15d
mov r8d, r10d
rol ebp, 1
mov edx, edi
rol r8d, 5
or edx, r9d
mov dword [rsp + 0xb8], ebp
and edx, ebx
xor r12d, dword [rsp + 0x2c]
mov ecx, edi
mov esi, dword [rsp + 4]
and ecx, r9d
xor esi, dword [rsp + 0xc]
or edx, ecx
xor esi, dword [rsp + 0x20]
add edx, r11d
add edx, ebp
ror r9d, 2
xor ebp, dword [rsp + 0x10]
lea r11d, [r8 - 0x70e44324]
add r11d, edx
mov ecx, r9d
and ecx, r10d
mov edx, r9d
or edx, r10d
xor r12d, r13d
and edx, edi
ror r10d, 2
or edx, ecx
xor r12d, r14d
mov r14d, dword [rsp + 0xa8]
add edx, ebx
xor r14d, dword [rsp + 0x18]
mov r8d, r11d
xor r14d, dword [rsp + 0x20]
mov ecx, r10d
rol r8d, 5
and ecx, r11d
rol r12d, 1
xor r14d, r15d
mov r15d, dword [rsp + 0x28]
add edx, r12d
rol r14d, 1
xor ebp, r15d
lea ebx, [r8 - 0x70e44324]
mov dword [rsp + 0x30], r12d
add ebx, edx
mov dword [rsp + 0x34], r14d
mov edx, r10d
mov r8d, ebx
or edx, r11d
rol r8d, 5
and edx, r9d
ror r11d, 2
or edx, ecx
xor ebp, r13d
add edx, edi
rol ebp, 1
add edx, r14d
mov dword [rsp + 0x1c], ebp
lea edi, [r8 - 0x70e44324]
mov ecx, ebx
add edi, edx
and ecx, r11d
mov edx, ebx
xor esi, r12d
or edx, r11d
ror ebx, 2
and edx, r10d
rol esi, 1
or edx, ecx
mov dword [rsp + 0x28], esi
add edx, r9d
mov r8d, edi
add edx, ebp
rol r8d, 5
mov ecx, ebx
and ecx, edi
lea r9d, [r8 - 0x70e44324]
add r9d, edx
mov edx, ebx
or edx, edi
mov r8d, r9d
and edx, r11d
rol r8d, 5
or edx, ecx
add edx, r10d
add edx, esi
lea r10d, [r8 - 0x70e44324]
mov r13d, dword [rsp + 0x2c]
add r10d, edx
mov r12d, dword [rsp + 8]
mov r8d, r10d
xor r12d, dword [rsp + 0x24]
ror edi, 2
xor r12d, r15d
mov r15d, dword [rsp + 0x14]
xor r12d, r14d
xor r15d, dword [rsp]
mov edx, edi
xor r15d, dword [rsp + 0xc]
or edx, r9d
mov r14d, dword [rsp + 0xa8]
and edx, ebx
xor r15d, ebp
rol r8d, 5
mov ebp, dword [rsp + 0xb8]
mov ecx, edi
xor ebp, dword [rsp + 0x18]
and ecx, r9d
xor ebp, dword [rsp]
or edx, ecx
add edx, r11d
ror r9d, 2
rol r12d, 1
lea r11d, [r8 - 0x70e44324]
add edx, r12d
rol r15d, 1
add r11d, edx
mov dword [rsp + 0x3c], r12d
mov edx, r9d
mov dword [rsp + 0x38], r15d
or edx, r10d
mov ecx, r9d
and edx, edi
and ecx, r10d
or edx, ecx
ror r10d, 2
add edx, 0x8f1bbcdc
add edi, 0x8f1bbcdc
add ebx, edx
xor r14d, r13d
xor r14d, dword [rsp + 0x24]
add ebx, r15d
xor r14d, esi
mov r8d, r11d
rol r14d, 1
xor ebp, r12d
rol ebp, 1
mov edx, r10d
or edx, r11d
rol r8d, 5
and edx, r9d
mov dword [rsp + 0x2c], r14d
add ebx, r8d
mov dword [rsp], ebp
add r9d, 0x8f1bbcdc
mov esi, ebx
rol esi, 5
mov ecx, r10d
and ecx, r11d
ror r11d, 2
or edx, ecx
mov ecx, r11d
add edx, edi
and ecx, ebx
add edx, r14d
add esi, edx
mov edx, r11d
or edx, ebx
mov edi, esi
and edx, r10d
rol edi, 5
or edx, ecx
ror ebx, 2
add edx, r9d
mov r9d, dword [rsp + 0x10]
add edx, ebp
add edi, edx
xor r9d, r13d
mov r13d, dword [rsp + 0x14]
xor r9d, r15d
xor r9d, dword [rsp + 0x30]
mov edx, esi
xor r13d, dword [rsp + 4]
or edx, ebx
mov r15d, dword [rsp + 4]
and edx, r11d
xor r15d, dword [rsp + 0x18]
mov ecx, esi
and ecx, ebx
rol r9d, 1
or edx, ecx
ror esi, 2
add edx, r10d
mov dword [rsp + 0x24], r9d
add edx, r9d
xor r15d, r14d
xor r15d, dword [rsp + 0x34]
xor r13d, r9d
mov r14d, dword [rsp + 8]
mov ecx, esi
xor r14d, dword [rsp + 0x10]
and ecx, edi
xor r13d, dword [rsp + 0x28]
xor r14d, ebp
xor r14d, dword [rsp + 0x1c]
mov r8d, edi
rol r8d, 5
rol r15d, 1
rol r14d, 1
rol r13d, 1
lea r10d, [r8 - 0x70e44324]
mov dword [rsp + 0x20], r15d
add r10d, edx
mov dword [rsp + 0xc], r14d
mov edx, esi
mov dword [rsp + 4], r13d
or edx, edi
mov r8d, r10d
and edx, ebx
rol r8d, 5
or edx, ecx
ror edi, 2
add edx, r11d
mov ecx, edi
add edx, r15d
and ecx, r10d
lea r11d, [r8 - 0x70e44324]
add r11d, edx
mov edx, edi
or edx, r10d
mov r8d, r11d
and edx, esi
ror r10d, 2
or edx, ecx
rol r8d, 5
add edx, ebx
add esi, 0x8f1bbcdc
add edx, r14d
mov ecx, r10d
and ecx, r11d
lea ebx, [r8 - 0x70e44324]
add ebx, edx
mov edx, r10d
or edx, r11d
mov r9d, ebx
and edx, edi
rol r9d, 5
or edx, ecx
ror r11d, 2
add edx, esi
mov esi, dword [rsp + 0xa8]
add edx, r13d
mov ebp, esi
xor ebp, dword [rsp + 8]
add r9d, edx
xor ebp, r15d
xor ebp, r12d
rol ebp, 1
mov dword [rsp + 8], ebp
mov ecx, r10d
mov r8d, r9d
xor ecx, r11d
rol r8d, 5
xor ecx, ebx
add r8d, edi
mov edi, dword [rsp + 0xb8]
add ecx, 0xca62c1d6
add ecx, ebp
ror ebx, 2
add r8d, ecx
mov r12d, edi
xor r12d, dword [rsp + 0x14]
xor edi, ebp
xor edi, dword [rsp]
xor r12d, r14d
xor edi, dword [rsp + 0x34]
mov ecx, r11d
xor r12d, dword [rsp + 0x38]
xor ecx, ebx
xor ecx, r9d
rol r12d, 1
add ecx, 0xca62c1d6
ror r9d, 2
add ecx, r12d
rol edi, 1
xor esi, r13d
mov dword [rsp + 0xb8], edi
xor esi, dword [rsp + 0x2c]
add edi, 0xca62c1d6
xor esi, dword [rsp + 0x30]
mov edx, r8d
rol edx, 5
mov r15d, r12d
xor r15d, dword [rsp + 0x24]
add r10d, edx
add r10d, ecx
rol esi, 1
mov ecx, r8d
mov dword [rsp + 0x14], r12d
xor ecx, ebx
ror r8d, 2
xor ecx, r9d
mov dword [rsp + 0xa8], esi
add ecx, 0xca62c1d6
mov edx, r10d
add ecx, esi
rol edx, 5
add r11d, edx
mov r14d, esi
xor r14d, dword [rsp + 0x20]
add r11d, ecx
xor r14d, dword [rsp + 0x28]
mov edx, r11d
xor r14d, dword [rsp + 0x34]
mov ecx, r8d
xor ecx, r10d
rol edx, 5
xor ecx, r9d
ror r10d, 2
add ecx, edi
add ebx, edx
mov edi, dword [rsp + 0x1c]
add ebx, ecx
xor r15d, edi
mov ecx, r8d
xor r15d, dword [rsp + 0x30]
xor ecx, r10d
xor ecx, r11d
rol r15d, 1
add ecx, 0xca62c1d6
ror r11d, 2
add ecx, r15d
mov dword [rsp + 0x1c], r15d
mov edx, ebx
rol edx, 5
add r9d, edx
add r9d, ecx
rol r14d, 1
mov edx, r9d
mov dword [rsp + 0x30], r14d
xor ebp, dword [rsp + 0x2c]
mov ecx, r10d
xor ebp, dword [rsp + 0x3c]
xor ecx, r11d
mov esi, dword [rsp + 0xb8]
xor ecx, ebx
xor esi, dword [rsp + 0xc]
add ecx, r8d
xor esi, dword [rsp + 0x3c]
add ecx, 0xca62c1d6
rol edx, 5
xor esi, edi
mov edi, r13d
ror ebx, 2
mov r13d, dword [rsp + 0x38]
xor ebp, r14d
xor edi, r13d
rol esi, 1
xor edi, dword [rsp + 0x28]
lea r8d, [r14 + rdx]
add r8d, ecx
rol ebp, 1
mov ecx, r11d
mov dword [rsp + 0x3c], ebp
xor ecx, ebx
xor edi, r15d
xor ecx, r9d
rol edi, 1
add ecx, 0xca62c1d6
ror r9d, 2
add ecx, esi
mov dword [rsp + 0x38], edi
mov edx, r8d
mov r14d, r12d
xor r14d, dword [rsp]
rol edx, 5
xor r14d, r13d
mov r13d, dword [rsp + 0xa8]
add r10d, edx
xor r13d, dword [rsp + 0x24]
add r10d, ecx
xor r13d, dword [rsp + 0x2c]
mov ecx, ebx
xor ecx, r9d
xor r13d, edi
xor ecx, r8d
rol r13d, 1
add ecx, 0xca62c1d6
ror r8d, 2
add ecx, edi
mov edx, r10d
rol edx, 5
xor r14d, esi
add r11d, edx
rol r14d, 1
add r11d, ecx
mov dword [rsp + 0x34], r14d
mov ecx, r10d
mov edx, r11d
xor ecx, r9d
rol edx, 5
xor ecx, r8d
ror r10d, 2
add ecx, 0xca62c1d6
add ebx, edx
add ecx, ebp
add ebx, ecx
mov ecx, r10d
xor ecx, r11d
mov edx, ebx
xor ecx, r8d
rol edx, 5
add ecx, 0xca62c1d6
ror r11d, 2
add ecx, r14d
add r9d, edx
add r9d, ecx
mov ecx, r10d
mov edi, r9d
rol edi, 5
xor ecx, r11d
xor ecx, ebx
mov r12d, dword [rsp + 0xb8]
xor r12d, dword [rsp + 0x20]
add ecx, 0xca62c1d6
xor r12d, dword [rsp]
add ecx, r13d
add edi, r8d
ror ebx, 2
mov r8d, dword [rsp + 0xc]
add edi, ecx
xor r8d, dword [rsp + 0x24]
xor r12d, ebp
xor r8d, r14d
rol r12d, 1
xor r8d, r15d
mov ecx, r11d
xor ecx, ebx
rol r8d, 1
xor ecx, r9d
mov ebp, edi
add ecx, 0xca62c1d6
ror r9d, 2
add ecx, r12d
rol ebp, 5
add ebp, r10d
add ebp, ecx
mov ecx, ebx
xor ecx, r9d
mov r15d, ebp
xor ecx, edi
rol r15d, 5
add ecx, 0xca62c1d6
ror edi, 2
add ecx, r8d
add r15d, r11d
mov r11d, dword [rsp + 4]
add r15d, ecx
xor r11d, dword [rsp + 0x20]
mov ecx, r9d
xor ecx, edi
xor r11d, r13d
xor r11d, dword [rsp + 0x30]
xor ecx, ebp
add ecx, 0xca62c1d6
ror ebp, 2
mov r14d, r15d
rol r11d, 1
add ecx, r11d
rol r14d, 5
add r14d, ebx
mov ebx, dword [rsp + 8]
xor ebx, dword [rsp + 0xc]
add r14d, ecx
xor ebx, r12d
mov ecx, r15d
xor ecx, edi
ror r15d, 2
xor ecx, ebp
xor ebx, esi
add ecx, 0xca62c1d6
rol ebx, 1
add ecx, ebx
mov esi, r14d
rol esi, 5
add esi, r9d
mov r9d, dword [rsp + 0x14]
xor r9d, dword [rsp + 4]
add esi, ecx
xor r9d, r8d
mov ecx, r15d
xor r9d, dword [rsp + 0x38]
xor ecx, r14d
xor ecx, ebp
rol r9d, 1
add ecx, 0xca62c1d6
mov edx, esi
rol edx, 5
add ecx, r9d
add edi, edx
add edi, ecx
ror r14d, 2
mov r10d, dword [rsp + 0xa8]
mov edx, r14d
xor r10d, dword [rsp + 8]
mov ecx, r15d
xor ecx, r14d
xor r10d, r11d
xor r10d, dword [rsp + 0x3c]
xor ecx, esi
add ecx, 0xca62c1d6
ror esi, 2
xor edx, esi
rol r10d, 1
add ecx, r10d
xor edx, edi
add edx, 0xca62c1d6
mov r11d, edi
rol r11d, 5
add r11d, ebp
ror edi, 2
mov ebp, dword [rsp + 0xb8]
add r11d, ecx
mov ecx, ebp
xor ebp, r10d
xor ecx, dword [rsp + 0x14]
xor ebp, r12d
xor ebp, dword [rsp + 0x30]
xor ecx, ebx
xor ecx, dword [rsp + 0x34]
mov ebx, r11d
rol ecx, 1
add ecx, r15d
rol ebx, 5
add ebx, ecx
rol ebp, 1
mov ecx, dword [rsp + 0xa8]
add ebx, edx
xor ecx, r9d
mov edx, esi
xor ecx, r13d
xor edx, edi
xor ecx, dword [rsp + 0x1c]
xor edx, r11d
rol ecx, 1
add edx, 0xca62c1d6
add ecx, r14d
ror r11d, 2
mov r9d, ebx
rol r9d, 5
add r9d, ecx
lea ecx, [rsi + rbp]
add r9d, edx
mov edx, edi
xor edx, r11d
mov r8d, r9d
xor edx, ebx
rol r8d, 5
add ecx, r8d
ror ebx, 2
mov r8d, dword [rsp + 0x44]
add edx, 0xca62c1d6
add ecx, edx
add r8d, edi
mov rdx, qword [rsp + 0xa0]
add ebx, eax
mov dword [rsp + 0x44], r8d
add dword [rdx], ecx
mov ecx, dword [rsp + 0x40]
add dword [rdx + 4], r9d
add ecx, r11d
sub qword [rsp + 0xb0], 1
mov esi, dword [rdx]
mov ebp, dword [rdx + 4]
mov dword [rdx + 8], ebx
mov dword [rsp + 0x40], ecx
mov dword [rdx + 0xc], ecx
mov dword [rdx + 0x10], r8d
je 0x1400befed
mov r13, qword [rsp + 0x48]
mov eax, ebx
mov r11d, ecx
jmp 0x1400bdc55
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret