Function at 0x1400159a0
Capabilities:
Encode data using xor
Hash data using sha1 via x86 extensions

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xa8
mov rax, qword [0x1400b6370]
cmp dword [rax], 0
mov qword [rsp], rcx
je 0x1400159e5
sub rcx, 0xffffffffffffff80
mov r8d, 0x40
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.14001466b
mov rax, qword [rsp]
lea r8, [rdx + 0x40]
mov rax, qword [rax + 0x80]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp]
mov rax, qword [rax + 0x88]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp]
mov rax, qword [rax + 0x90]
mov qword [rsp + 8], rax
mov rax, qword [rsp]
mov rax, qword [rax + 0x98]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp]
mov rax, qword [rax + 0xa0]
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x60]
mov ecx, dword [rdx]
add rdx, 0x10
add rax, 0x10
bswap ecx
mov dword [rax - 0x10], ecx
mov ecx, dword [rdx - 0xc]
bswap ecx
mov dword [rax - 0xc], ecx
mov ecx, dword [rdx - 8]
bswap ecx
mov dword [rax - 8], ecx
mov ecx, dword [rdx - 4]
bswap ecx
mov dword [rax - 4], ecx
cmp rdx, r8
jne 0x140015a3e
mov ebx, dword [rsp + 8]
mov r8d, dword [rsp + 0x48]
mov esi, dword [rsp + 0x60]
mov rax, qword [rsp + 0x58]
xor r8d, ebx
mov ebx, dword [rsp + 0x50]
mov edx, dword [rsp + 0x40]
lea eax, [rsi + rax + 0x5a827999]
mov r9d, dword [rsp + 0x50]
mov edi, dword [rsp + 0x40]
and r8d, ebx
mov ebx, dword [rsp + 0x48]
rol edx, 5
mov r10d, dword [rsp + 0x40]
add eax, edx
ror r9d, 2
mov r11d, dword [rsp + 0x68]
mov ebp, dword [rsp + 0x70]
xor r8d, ebx
mov ebx, dword [rsp + 0x64]
ror r10d, 2
mov r13d, dword [rsp + 0x74]
add r8d, eax
mov eax, dword [rsp + 8]
mov r14d, dword [rsp + 0x78]
mov ecx, r8d
mov r15d, dword [rsp + 0x7c]
mov r12d, dword [rsp + 0x84]
xor eax, r9d
rol ecx, 5
and eax, edi
mov edi, dword [rsp + 8]
xor eax, edi
mov rdi, qword [rsp + 0x48]
lea edx, [rbx + rdi + 0x5a827999]
mov rdi, qword [rsp + 8]
add eax, edx
add ecx, eax
mov eax, r9d
lea edx, [r11 + rdi + 0x5a827999]
mov edi, dword [rsp + 0x6c]
xor eax, r10d
and eax, r8d
ror r8d, 2
xor eax, r9d
lea r9d, [r9 + rdi + 0x5a827999]
add eax, edx
mov edx, ecx
rol edx, 5
add edx, eax
mov eax, r10d
xor eax, r8d
and eax, ecx
ror ecx, 2
xor eax, r10d
lea r10d, [r10 + rbp + 0x5a827999]
add r9d, eax
mov eax, edx
rol eax, 5
add eax, r9d
mov r9d, r8d
xor r9d, ecx
and r9d, edx
xor r9d, r8d
lea r8d, [r8 + r13 + 0x5a827999]
add r10d, r9d
mov r9d, eax
rol r9d, 5
ror edx, 2
add r9d, r10d
mov r10d, ecx
xor r10d, edx
and r10d, eax
ror eax, 2
xor r10d, ecx
lea ecx, [rcx + r14 + 0x5a827999]
add r10d, r8d
mov r8d, r9d
rol r8d, 5
add r8d, r10d
mov r10d, edx
xor r10d, eax
and r10d, r9d
ror r9d, 2
xor r10d, edx
lea edx, [rdx + r15 + 0x5a827999]
mov r15d, dword [rsp + 0x80]
add r10d, ecx
mov ecx, r8d
rol ecx, 5
add ecx, r10d
mov r10d, eax
xor r10d, r9d
and r10d, r8d
ror r8d, 2
xor r10d, eax
lea eax, [rax + r15 + 0x5a827999]
add r10d, edx
mov edx, ecx
rol edx, 5
add edx, r10d
mov r10d, r9d
xor r10d, r8d
and r10d, ecx
ror ecx, 2
xor r10d, r9d
lea r9d, [r9 + r12 + 0x5a827999]
mov r12d, dword [rsp + 0x88]
add r10d, eax
mov eax, edx
rol eax, 5
add eax, r10d
mov r10d, r8d
xor r10d, ecx
and r10d, edx
ror edx, 2
xor r10d, r8d
lea r8d, [r8 + r12 + 0x5a827999]
mov r12d, dword [rsp + 0x8c]
add r10d, r9d
mov r9d, eax
rol r9d, 5
add r9d, r10d
mov r10d, ecx
xor r10d, edx
and r10d, eax
ror eax, 2
xor r10d, ecx
lea ecx, [rcx + r12 + 0x5a827999]
mov r12d, dword [rsp + 0x90]
add r10d, r8d
mov r8d, r9d
rol r8d, 5
add r8d, r10d
mov r10d, edx
xor r10d, eax
and r10d, r9d
ror r9d, 2
xor r10d, edx
lea edx, [rdx + r12 + 0x5a827999]
mov r12d, dword [rsp + 0x94]
add r10d, ecx
mov ecx, r8d
rol ecx, 5
add ecx, r10d
mov r10d, eax
xor r10d, r9d
and r10d, r8d
ror r8d, 2
xor r10d, eax
lea eax, [rax + r12 + 0x5a827999]
mov r12d, dword [rsp + 0x98]
add r10d, edx
mov edx, ecx
rol edx, 5
add edx, r10d
mov r10d, r9d
xor r10d, r8d
and r10d, ecx
xor r10d, r9d
lea r9d, [r9 + r12 + 0x5a827999]
mov r12d, dword [rsp + 0x9c]
add r10d, eax
mov eax, edx
rol eax, 5
add eax, r10d
ror ecx, 2
mov r10d, r8d
xor esi, r11d
xor r10d, ecx
xor esi, r15d
xor esi, dword [rsp + 0x94]
xor ebx, edi
and r10d, edx
ror edx, 2
xor ebx, dword [rsp + 0x84]
xor ebx, dword [rsp + 0x98]
rol esi, 1
xor r10d, r8d
lea r8d, [r8 + r12 + 0x5a827999]
rol ebx, 1
add r10d, r9d
mov r9d, eax
rol r9d, 5
add r9d, r10d
mov r10d, ecx
xor r10d, edx
and r10d, eax
ror eax, 2
xor r10d, ecx
lea ecx, [rcx + rsi + 0x5a827999]
add r10d, r8d
mov r8d, r9d
rol r8d, 5
add r8d, r10d
mov r10d, edx
xor r10d, eax
and r10d, r9d
ror r9d, 2
xor r10d, edx
lea edx, [rdx + rbx + 0x5a827999]
add r10d, ecx
mov ecx, r8d
rol ecx, 5
add ecx, r10d
mov r10d, eax
xor r10d, r9d
and r10d, r8d
ror r8d, 2
xor r11d, ebp
xor edi, r13d
xor r10d, eax
xor r11d, dword [rsp + 0x88]
add r10d, edx
mov edx, ecx
xor r11d, r12d
rol edx, 5
rol r11d, 1
add edx, r10d
mov r10d, r9d
lea eax, [rax + r11 + 0x5a827999]
xor r10d, r8d
and r10d, ecx
ror ecx, 2
xor r10d, r9d
add r10d, eax
mov eax, edx
rol eax, 5
add eax, r10d
mov r10d, dword [rsp + 0x8c]
mov r12d, eax
xor r10d, edi
mov edi, r8d
rol r12d, 5
xor r10d, esi
xor edi, ecx
rol r10d, 1
and edi, edx
ror edx, 2
xor edi, r8d
lea r9d, [r9 + r10 + 0x5a827999]
add r9d, edi
mov edi, ecx
add r12d, r9d
mov r9d, ebp
mov ebp, edx
xor r9d, r14d
xor r9d, dword [rsp + 0x90]
xor r9d, ebx
rol r9d, 1
xor edi, edx
xor edi, eax
lea r8d, [r8 + r9 + 0x6ed9eba1]
ror eax, 2
add r8d, edi
mov edi, r12d
xor ebp, eax
rol edi, 5
xor ebp, r12d
ror r12d, 2
add edi, r8d
mov r8d, dword [rsp + 0x7c]
xor r8d, r13d
xor r8d, dword [rsp + 0x94]
mov r13d, eax
xor r8d, r11d
xor r13d, r12d
rol r8d, 1
xor r13d, edi
lea ecx, [rcx + r8 + 0x6ed9eba1]
add ecx, ebp
mov ebp, edi
ror edi, 2
rol ebp, 5
add ebp, ecx
mov ecx, r14d
xor ecx, r15d
xor ecx, dword [rsp + 0x98]
mov r14d, ebp
xor ecx, r10d
rol r14d, 5
rol ecx, 1
lea edx, [rdx + rcx + 0x6ed9eba1]
add edx, r13d
mov r13d, r12d
add r14d, edx
mov edx, dword [rsp + 0x7c]
xor edx, dword [rsp + 0x84]
xor r13d, edi
xor edx, dword [rsp + 0x9c]
xor r13d, ebp
xor edx, r9d
rol edx, 1
lea eax, [rax + rdx + 0x6ed9eba1]
add eax, r13d
mov r13d, r14d
ror ebp, 2
rol r13d, 5
add r13d, eax
mov eax, dword [rsp + 0x88]
xor eax, r15d
mov r15d, edi
xor eax, esi
xor r15d, ebp
xor eax, r8d
xor r15d, r14d
ror r14d, 2
rol eax, 1
lea r12d, [r12 + rax + 0x6ed9eba1]
mov dword [rsp + 0x10], eax
add r15d, r12d
mov r12d, r13d
rol r12d, 5
add r12d, r15d
mov r15d, dword [rsp + 0x84]
xor r15d, dword [rsp + 0x8c]
xor r15d, ebx
xor r15d, ecx
rol r15d, 1
mov dword [rsp + 0x14], r15d
mov r15d, ebp
mov eax, dword [rsp + 0x14]
xor r15d, r14d
xor r15d, r13d
lea edi, [rdi + rax + 0x6ed9eba1]
ror r13d, 2
add edi, r15d
mov r15d, r12d
rol r15d, 5
add r15d, edi
mov edi, dword [rsp + 0x88]
xor edi, dword [rsp + 0x90]
xor edi, r11d
xor edi, edx
rol edi, 1
mov dword [rsp + 0x18], edi
mov edi, r14d
mov eax, dword [rsp + 0x18]
xor edi, r13d
xor edi, r12d
lea ebp, [rbp + rax + 0x6ed9eba1]
mov eax, dword [rsp + 0x10]
add ebp, edi
mov edi, r15d
rol edi, 5
add edi, ebp
mov ebp, dword [rsp + 0x8c]
xor ebp, dword [rsp + 0x94]
ror r12d, 2
xor ebp, r10d
xor ebp, eax
rol ebp, 1
mov dword [rsp + 0x1c], ebp
mov ebp, r13d
mov eax, dword [rsp + 0x1c]
xor ebp, r12d
xor ebp, r15d
lea r14d, [r14 + rax + 0x6ed9eba1]
mov eax, dword [rsp + 0x14]
ror r15d, 2
add ebp, r14d
mov r14d, edi
rol r14d, 5
add r14d, ebp
mov ebp, dword [rsp + 0x90]
xor ebp, dword [rsp + 0x98]
xor ebp, r9d
xor ebp, eax
rol ebp, 1
mov dword [rsp + 0x20], ebp
mov ebp, r12d
mov eax, dword [rsp + 0x20]
xor ebp, r15d
xor ebp, edi
lea r13d, [r13 + rax + 0x6ed9eba1]
mov eax, dword [rsp + 0x18]
ror edi, 2
add ebp, r13d
mov r13d, r14d
rol r13d, 5
add r13d, ebp
mov ebp, dword [rsp + 0x94]
xor ebp, dword [rsp + 0x9c]
xor ebp, r8d
xor ebp, eax
rol ebp, 1
mov dword [rsp + 0x24], ebp
mov eax, dword [rsp + 0x24]
mov ebp, r15d
xor ebp, edi
xor ebp, r14d
lea r12d, [r12 + rax + 0x6ed9eba1]
ror r14d, 2
mov eax, dword [rsp + 0x1c]
add ebp, r12d
mov r12d, r13d
rol r12d, 5
add r12d, ebp
mov ebp, dword [rsp + 0x98]
xor ebp, esi
xor esi, r11d
xor ebp, ecx
xor ebp, eax
rol ebp, 1
mov dword [rsp + 0x28], ebp
mov ebp, edi
mov eax, dword [rsp + 0x28]
xor ebp, r14d
xor ebp, r13d
lea r15d, [r15 + rax + 0x6ed9eba1]
mov eax, dword [rsp + 0x20]
ror r13d, 2
add r15d, ebp
mov ebp, r12d
rol ebp, 5
add ebp, r15d
mov r15d, dword [rsp + 0x9c]
xor r15d, ebx
xor ebx, r10d
xor r15d, edx
xor r15d, eax
rol r15d, 1
mov dword [rsp + 0x2c], r15d
mov eax, dword [rsp + 0x2c]
mov r15d, r14d
xor r15d, r13d
lea edi, [rdi + rax + 0x6ed9eba1]
mov eax, dword [rsp + 0x10]
xor r15d, r12d
ror r12d, 2
add edi, r15d
mov r15d, ebp
xor esi, eax
mov eax, dword [rsp + 0x24]
rol r15d, 5
add edi, r15d
mov r15d, r13d
xor esi, eax
mov eax, dword [rsp + 0x14]
xor r15d, r12d
rol esi, 1
xor r15d, ebp
ror ebp, 2
mov dword [rsp + 0x30], esi
xor ebx, eax
lea esi, [r14 + rsi + 0x6ed9eba1]
mov eax, dword [rsp + 0x28]
mov r14d, edi
add esi, r15d
rol r14d, 5
add esi, r14d
xor ebx, eax
mov eax, dword [rsp + 0x18]
xor r11d, r9d
mov r14d, r12d
rol ebx, 1
xor r10d, r8d
xor r9d, ecx
xor r14d, ebp
xor r11d, eax
mov eax, dword [rsp + 0x2c]
mov r15d, ebx
xor r14d, edi
lea ebx, [r13 + rbx + 0x6ed9eba1]
mov r13d, esi
ror edi, 2
xor r11d, eax
add ebx, r14d
rol r13d, 5
mov eax, dword [rsp + 0x1c]
add ebx, r13d
mov r14d, r11d
mov r13d, ebp
rol r14d, 1
xor r13d, edi
xor r10d, eax
mov eax, dword [rsp + 0x30]
xor r13d, esi
lea r11d, [r12 + r14 + 0x6ed9eba1]
mov r12d, ebx
ror esi, 2
add r11d, r13d
rol r12d, 5
xor r10d, eax
mov eax, dword [rsp + 0x20]
add r11d, r12d
mov r12d, edi
rol r10d, 1
xor r12d, esi
mov r13d, r10d
lea r10d, [rbp + r10 + 0x6ed9eba1]
mov ebp, r11d
xor r12d, ebx
rol ebp, 5
xor r9d, eax
mov eax, dword [rsp + 0x24]
add r10d, r12d
ror ebx, 2
xor r9d, r15d
add r10d, ebp
mov ebp, esi
rol r9d, 1
xor ebp, ebx
xor r8d, edx
mov r12d, r9d
xor r8d, eax
mov eax, dword [rsp + 0x10]
xor ebp, r11d
lea r9d, [rdi + r9 + 0x6ed9eba1]
mov edi, r10d
add r9d, ebp
ror r11d, 2
xor r8d, r14d
rol edi, 5
xor ecx, eax
mov eax, dword [rsp + 0x28]
rol r8d, 1
add r9d, edi
mov edi, ebx
mov dword [rsp + 0x34], r8d
lea r8d, [rsi + r8 + 0x6ed9eba1]
xor ecx, eax
mov eax, dword [rsp + 0x14]
xor edi, r11d
mov esi, r9d
xor edi, r10d
rol esi, 5
xor ecx, r13d
ror r10d, 2
xor edx, eax
mov eax, dword [rsp + 0x2c]
add r8d, edi
add r8d, esi
mov esi, r11d
rol ecx, 1
xor edx, eax
xor esi, r10d
mov dword [rsp + 0x38], ecx
lea ecx, [rbx + rcx + 0x6ed9eba1]
xor edx, r12d
xor esi, r9d
ror r9d, 2
mov ebx, r8d
rol edx, 1
add ecx, esi
mov esi, dword [rsp + 0x10]
rol ebx, 5
mov dword [rsp + 0x3c], edx
mov eax, dword [rsp + 0x3c]
mov edx, r10d
add ecx, ebx
xor edx, r9d
lea r11d, [r11 + rax + 0x6ed9eba1]
mov eax, dword [rsp + 0x18]
xor edx, r8d
add r11d, edx
mov edx, ecx
ror r8d, 2
xor esi, eax
rol edx, 5
mov eax, esi
mov esi, dword [rsp + 0x30]
add edx, r11d
mov r11d, ecx
and r11d, r8d
xor eax, esi
mov esi, dword [rsp + 0x34]
xor eax, esi
rol eax, 1
mov dword [rsp + 0x10], eax
lea r10d, [r10 + rax - 0x70e44324]
mov eax, edx
mov esi, dword [rsp + 0x1c]
rol eax, 5
mov ebx, dword [rsp + 0x24]
add r10d, eax
mov eax, ecx
ror ecx, 2
or eax, r8d
and eax, r9d
or eax, r11d
mov r11d, edx
add eax, r10d
mov r10d, dword [rsp + 0x14]
or r11d, ecx
and r11d, r8d
xor r10d, esi
mov esi, dword [rsp + 0x38]
xor r10d, r15d
xor r10d, esi
rol r10d, 1
mov dword [rsp + 0x14], r10d
mov r10d, edx
mov esi, dword [rsp + 0x14]
ror edx, 2
and r10d, ecx
or r10d, r11d
lea r9d, [r9 + rsi - 0x70e44324]
mov esi, dword [rsp + 0x20]
mov r11d, eax
add r9d, r10d
mov r10d, eax
rol r10d, 5
add r10d, r9d
mov r9d, dword [rsp + 0x18]
xor r9d, esi
mov esi, dword [rsp + 0x3c]
xor r9d, r14d
xor r9d, esi
mov esi, dword [rsp + 0x10]
rol r9d, 1
mov dword [rsp + 0x18], r9d
lea r9d, [r8 + r9 - 0x70e44324]
mov r8d, r10d
rol r8d, 5
and r11d, edx
add r9d, r8d
mov r8d, eax
ror eax, 2
or r8d, edx
and r8d, ecx
or r8d, r11d
mov r11d, r10d
add r8d, r9d
mov r9d, dword [rsp + 0x1c]
or r11d, eax
and r11d, edx
xor r9d, ebx
xor r9d, r13d
xor r9d, esi
mov esi, dword [rsp + 0x28]
rol r9d, 1
mov dword [rsp + 0x1c], r9d
mov r9d, r10d
mov ebx, dword [rsp + 0x1c]
ror r10d, 2
and r9d, eax
or r9d, r11d
lea ecx, [rcx + rbx - 0x70e44324]
mov ebx, dword [rsp + 0x14]
mov r11d, r8d
add ecx, r9d
mov r9d, r8d
and r11d, r10d
rol r9d, 5
add r9d, ecx
mov ecx, dword [rsp + 0x20]
xor ecx, esi
mov esi, dword [rsp + 0x34]
xor ecx, r12d
xor ecx, ebx
mov ebx, dword [rsp + 0x2c]
rol ecx, 1
mov dword [rsp + 0x20], ecx
lea ecx, [rdx + rcx - 0x70e44324]
mov edx, r9d
rol edx, 5
add ecx, edx
mov edx, r8d
ror r8d, 2
or edx, r10d
and edx, eax
or edx, r11d
mov r11d, r9d
add edx, ecx
mov ecx, dword [rsp + 0x24]
xor ecx, ebx
mov ebx, dword [rsp + 0x18]
or r11d, r8d
xor ecx, esi
and r11d, r10d
xor ecx, ebx
mov ebx, dword [rsp + 0x30]
rol ecx, 1
mov dword [rsp + 0x24], ecx
mov ecx, r9d
mov esi, dword [rsp + 0x24]
ror r9d, 2
and ecx, r8d
or ecx, r11d
lea eax, [rax + rsi - 0x70e44324]
mov esi, dword [rsp + 0x38]
mov r11d, edx
add eax, ecx
mov ecx, edx
and r11d, r9d
rol ecx, 5
add ecx, eax
mov eax, dword [rsp + 0x28]
xor eax, ebx
mov ebx, dword [rsp + 0x1c]
xor eax, esi
mov esi, dword [rsp + 0x3c]
xor eax, ebx
mov ebx, dword [rsp + 0x20]
rol eax, 1
mov dword [rsp + 0x28], eax
lea r10d, [r10 + rax - 0x70e44324]
mov eax, ecx
rol eax, 5
add r10d, eax
mov eax, edx
ror edx, 2
or eax, r9d
and eax, r8d
or eax, r11d
mov r11d, edx
mov edx, dword [rsp + 0x2c]
add eax, r10d
mov r10d, ecx
xor edx, r15d
or r10d, r11d
xor edx, esi
and r10d, r9d
xor edx, ebx
mov ebx, edx
mov edx, ecx
rol ebx, 1
and edx, r11d
lea r8d, [r8 + rbx - 0x70e44324]
or edx, r10d
mov r10d, eax
add edx, r8d
rol r10d, 5
xor r15d, r13d
add r10d, edx
mov edx, dword [rsp + 0x30]
mov esi, dword [rsp + 0x10]
ror ecx, 2
mov edi, dword [rsp + 0x14]
xor edx, r14d
xor r14d, r12d
xor edx, esi
mov esi, dword [rsp + 0x24]
xor r15d, edi
mov edi, dword [rsp + 0x28]
xor edx, esi
xor r15d, edi
mov edi, dword [rsp + 0x18]
mov esi, edx
mov edx, r10d
rol r15d, 1
rol esi, 1
rol edx, 5
xor r14d, edi
mov edi, dword [rsp + 0x34]
lea r8d, [r9 + rsi - 0x70e44324]
mov r9d, eax
xor r14d, ebx
add r8d, edx
mov edx, eax
and r9d, ecx
ror eax, 2
or edx, ecx
rol r14d, 1
and edx, r11d
or edx, r9d
mov r9d, r10d
add edx, r8d
or r9d, eax
mov r8d, r10d
ror r10d, 2
and r9d, ecx
and r8d, eax
or r8d, r9d
lea r9d, [r11 + r15 - 0x70e44324]
mov r11d, edx
add r8d, r9d
mov r9d, edx
rol r9d, 5
add r9d, r8d
lea r8d, [rcx + r14 - 0x70e44324]
mov ecx, r9d
rol ecx, 5
xor r13d, edi
mov edi, dword [rsp + 0x1c]
and r11d, r10d
add r8d, ecx
mov ecx, edx
ror edx, 2
or ecx, r10d
xor r13d, edi
and ecx, eax
xor r13d, esi
or ecx, r11d
mov r11d, r9d
mov edi, r13d
add ecx, r8d
or r11d, edx
mov r8d, r9d
rol edi, 1
and r11d, r10d
and r8d, edx
lea eax, [rax + rdi - 0x70e44324]
ror r9d, 2
or r8d, r11d
mov r11d, ecx
add eax, r8d
mov r8d, ecx
and r11d, r9d
rol r8d, 5
add r8d, eax
mov eax, dword [rsp + 0x38]
xor r12d, eax
mov eax, dword [rsp + 0x20]
xor r12d, eax
mov eax, r8d
xor r12d, r15d
rol eax, 5
mov ebp, r12d
rol ebp, 1
lea r10d, [r10 + rbp - 0x70e44324]
add r10d, eax
mov eax, ecx
ror ecx, 2
or eax, r9d
and eax, edx
or eax, r11d
mov r11d, dword [rsp + 0x3c]
add eax, r10d
mov r10d, dword [rsp + 0x34]
xor r10d, r11d
mov r11d, dword [rsp + 0x24]
xor r10d, r11d
mov r11d, r8d
xor r10d, r14d
or r11d, ecx
rol r10d, 1
and r11d, r9d
mov r13d, r10d
mov r10d, r8d
ror r8d, 2
and r10d, ecx
lea edx, [rdx + r13 - 0x70e44324]
or r10d, r11d
mov r11d, dword [rsp + 0x10]
add edx, r10d
mov r10d, eax
rol r10d, 5
add r10d, edx
mov edx, dword [rsp + 0x38]
xor edx, r11d
mov r11d, dword [rsp + 0x28]
xor edx, r11d
mov r11d, eax
xor edx, edi
and r11d, r8d
rol edx, 1
mov dword [rsp + 0x2c], edx
lea r9d, [r9 + rdx - 0x70e44324]
mov edx, r10d
rol edx, 5
add r9d, edx
mov edx, eax
ror eax, 2
or edx, r8d
and edx, ecx
or edx, r11d
mov r11d, dword [rsp + 0x14]
add edx, r9d
mov r9d, dword [rsp + 0x3c]
xor r9d, r11d
mov r11d, r10d
xor r9d, ebx
or r11d, eax
xor r9d, ebp
and r11d, r8d
rol r9d, 1
mov r12d, r9d
mov r9d, r10d
and r9d, eax
lea ecx, [rcx + r12 - 0x70e44324]
or r9d, r11d
mov r11d, dword [rsp + 0x18]
add ecx, r9d
mov r9d, edx
rol r9d, 5
add r9d, ecx
mov ecx, r10d
mov r10d, dword [rsp + 0x10]
ror ecx, 2
xor r10d, r11d
mov r11d, edx
xor r10d, esi
and r11d, ecx
xor r10d, r13d
rol r10d, 1
mov dword [rsp + 0x10], r10d
lea r10d, [r8 + r10 - 0x70e44324]
mov r8d, r9d
rol r8d, 5
add r10d, r8d
mov r8d, edx
ror edx, 2
or r8d, ecx
and r8d, eax
or r8d, r11d
mov r11d, dword [rsp + 0x1c]
add r8d, r10d
mov r10d, dword [rsp + 0x14]
xor r10d, r11d
mov r11d, dword [rsp + 0x2c]
xor r10d, r15d
xor r10d, r11d
mov r11d, r9d
rol r10d, 1
or r11d, edx
mov dword [rsp + 0x14], r10d
mov r10d, r9d
and r11d, ecx
ror r9d, 2
and r10d, edx
or r10d, r11d
mov r11d, dword [rsp + 0x14]
lea eax, [rax + r11 - 0x70e44324]
mov r11d, dword [rsp + 0x20]
add r10d, eax
mov eax, r8d
rol eax, 5
add eax, r10d
mov r10d, dword [rsp + 0x18]
xor r10d, r11d
mov r11d, r8d
xor r10d, r14d
xor r10d, r12d
rol r10d, 1
mov dword [rsp + 0x18], r10d
lea r10d, [rcx + r10 - 0x70e44324]
mov ecx, eax
rol ecx, 5
and r11d, r9d
add r10d, ecx
mov ecx, r8d
ror r8d, 2
or ecx, r9d
and ecx, edx
or ecx, r11d
mov r11d, dword [rsp + 0x24]
add ecx, r10d
mov r10d, dword [rsp + 0x1c]
xor r10d, r11d
mov r11d, dword [rsp + 0x10]
xor r10d, edi
xor r10d, r11d
mov r11d, eax
rol r10d, 1
or r11d, r8d
mov dword [rsp + 0x1c], r10d
mov r10d, eax
and r11d, r9d
ror eax, 2
and r10d, r8d
or r10d, r11d
mov r11d, dword [rsp + 0x1c]
lea edx, [rdx + r11 - 0x70e44324]
mov r11d, ecx
add r10d, edx
rol r11d, 5
mov edx, dword [rsp + 0x20]
add r11d, r10d
mov r10d, dword [rsp + 0x28]
xor edx, r10d
mov r10d, dword [rsp + 0x14]
xor edx, ebp
xor edx, r10d
rol edx, 1
mov dword [rsp + 0x20], edx
mov edx, r8d
mov r10d, dword [rsp + 0x20]
xor edx, eax
xor edx, ecx
lea r9d, [r9 + r10 - 0x359d3e2a]
mov r10d, dword [rsp + 0x18]
ror ecx, 2
add r9d, edx
mov edx, r11d
rol edx, 5
add edx, r9d
mov r9d, dword [rsp + 0x24]
xor r9d, ebx
xor r9d, r13d
xor r9d, r10d
rol r9d, 1
mov dword [rsp + 0x24], r9d
mov r9d, eax
mov r10d, dword [rsp + 0x24]
xor r9d, ecx
xor r9d, r11d
lea r8d, [r8 + r10 - 0x359d3e2a]
mov r10d, edx
ror r11d, 2
add r8d, r9d
rol r10d, 5
mov r9d, dword [rsp + 0x2c]
add r10d, r8d
mov r8d, dword [rsp + 0x28]
xor r8d, esi
xor esi, r14d
xor r8d, r9d
mov r9d, dword [rsp + 0x1c]
xor r8d, r9d
rol r8d, 1
mov dword [rsp + 0x28], r8d
mov r8d, ecx
mov r9d, dword [rsp + 0x28]
xor r8d, r11d
xor r8d, edx
lea eax, [rax + r9 - 0x359d3e2a]
mov r9d, r10d
ror edx, 2
add eax, r8d
rol r9d, 5
mov r8d, r11d
add r9d, eax
mov eax, ebx
mov ebx, dword [rsp + 0x20]
xor r8d, edx
xor eax, r15d
xor r8d, r10d
ror r10d, 2
xor eax, r12d
xor eax, ebx
mov ebx, dword [rsp + 0x10]
rol eax, 1
lea ecx, [rcx + rax - 0x359d3e2a]
add ecx, r8d
mov r8d, r9d
rol r8d, 5
add r8d, ecx
mov ecx, esi
mov esi, dword [rsp + 0x24]
xor ecx, ebx
xor ecx, esi
mov esi, dword [rsp + 0x14]
rol ecx, 1
mov dword [rsp + 0x30], ecx
mov ecx, edx
mov ebx, dword [rsp + 0x30]
xor ecx, r10d
xor r15d, edi
xor r14d, ebp
xor edi, r13d
xor ecx, r9d
lea r11d, [r11 + rbx - 0x359d3e2a]
mov ebx, dword [rsp + 0x28]
ror r9d, 2
add r11d, ecx
mov ecx, r8d
rol ecx, 5
add ecx, r11d
mov r11d, r15d
xor r11d, esi
xor r11d, ebx
mov ebx, r10d
rol r11d, 1
xor ebx, r9d
mov dword [rsp + 0x34], r11d
xor ebx, r8d
lea r11d, [rdx + r11 - 0x359d3e2a]
mov edx, ecx
rol edx, 5
add r11d, ebx
mov ebx, dword [rsp + 0x18]
ror r8d, 2
add edx, r11d
mov r11d, r14d
mov r14d, dword [rsp + 0x24]
xor r11d, ebx
mov ebx, r9d
mov esi, edx
xor r11d, eax
xor ebx, r8d
rol esi, 5
rol r11d, 1
xor ebx, ecx
ror ecx, 2
lea r10d, [r10 + r11 - 0x359d3e2a]
add r10d, ebx
mov ebx, dword [rsp + 0x1c]
add esi, r10d
mov r10d, edi
mov edi, dword [rsp + 0x20]
xor r10d, ebx
mov ebx, dword [rsp + 0x30]
xor r10d, ebx
mov ebx, r8d
rol r10d, 1
xor ebx, ecx
xor ebx, edx
lea r9d, [r9 + r10 - 0x359d3e2a]
add r9d, ebx
mov ebx, esi
ror edx, 2
rol ebx, 5
add ebx, r9d
mov r9d, dword [rsp + 0x2c]
xor r9d, ebp
mov ebp, edx
xor r9d, edi
mov edi, dword [rsp + 0x34]
xor r9d, edi
mov edi, ecx
rol r9d, 1
xor edi, edx
xor edi, esi
lea r8d, [r8 + r9 - 0x359d3e2a]
ror esi, 2
add r8d, edi
mov edi, ebx
xor ebp, esi
rol edi, 5
xor ebp, ebx
ror ebx, 2
add edi, r8d
mov r8d, r13d
xor r8d, r12d
xor r8d, r14d
mov r14d, edi
xor r8d, r11d
rol r14d, 5
rol r8d, 1
lea ecx, [rcx + r8 - 0x359d3e2a]
add ecx, ebp
mov ebp, esi
add r14d, ecx
mov ecx, dword [rsp + 0x2c]
mov r15d, dword [rsp + 0x10]
xor ebp, ebx
xor ebp, edi
mov r13d, r14d
xor ecx, r15d
mov r15d, dword [rsp + 0x28]
rol r13d, 5
xor ecx, r15d
mov r15d, dword [rsp + 0x18]
xor ecx, r10d
rol ecx, 1
lea edx, [rdx + rcx - 0x359d3e2a]
add edx, ebp
mov ebp, ebx
add r13d, edx
mov edx, dword [rsp + 0x14]
ror edi, 2
xor ebp, edi
xor edx, r12d
xor ebp, r14d
mov r12d, r13d
ror r14d, 2
xor edx, eax
rol r12d, 5
xor edx, r9d
rol edx, 1
lea esi, [rsi + rdx - 0x359d3e2a]
add esi, ebp
mov ebp, edi
add r12d, esi
mov esi, dword [rsp + 0x10]
xor ebp, r14d
xor ebp, r13d
ror r13d, 2
xor esi, r15d
mov r15d, dword [rsp + 0x30]
xor esi, r15d
mov r15d, dword [rsp + 0x1c]
xor esi, r8d
rol esi, 1
lea ebx, [rbx + rsi - 0x359d3e2a]
add ebx, ebp
mov ebp, r12d
rol ebp, 5
add ebp, ebx
mov ebx, dword [rsp + 0x14]
xor ebx, r15d
mov r15d, dword [rsp + 0x34]
xor ebx, r15d
mov r15d, r14d
xor ebx, ecx
xor r15d, r13d
rol ebx, 1
xor r15d, r12d
ror r12d, 2
lea edi, [rdi + rbx - 0x359d3e2a]
mov dword [rsp + 0x10], ebx
mov ebx, dword [rsp + 0x20]
add edi, r15d
mov r15d, ebp
rol r15d, 5
add edi, r15d
mov r15d, dword [rsp + 0x18]
xor r15d, ebx
mov ebx, dword [rsp + 0x24]
xor r11d, r15d
mov r15d, r13d
xor r11d, edx
xor r15d, r12d
rol r11d, 1
xor r15d, ebp
ror ebp, 2
lea r14d, [r14 + r11 - 0x359d3e2a]
add r14d, r15d
mov r15d, edi
rol r15d, 5
add r14d, r15d
mov r15d, dword [rsp + 0x1c]
xor r15d, ebx
mov ebx, dword [rsp + 0x28]
xor r15d, r10d
xor r15d, esi
mov esi, r12d
rol r15d, 1
xor esi, ebp
xor esi, edi
lea r10d, [r13 + r15 - 0x359d3e2a]
ror edi, 2
add r10d, esi
mov esi, r14d
rol esi, 5
add r10d, esi
mov esi, dword [rsp + 0x20]
xor esi, ebx
mov ebx, dword [rsp + 0x10]
xor esi, r9d
xor esi, ebx
mov ebx, ebp
rol esi, 1
xor ebx, edi
xor ebx, r14d
lea r9d, [r12 + rsi - 0x359d3e2a]
ror r14d, 2
add r9d, ebx
mov ebx, r10d
rol ebx, 5
add r9d, ebx
mov ebx, dword [rsp + 0x24]
xor ebx, eax
xor ebx, r8d
mov r8d, edi
xor ebx, r11d
xor r8d, r14d
rol ebx, 1
xor r8d, r10d
ror r10d, 2
lea r11d, [rbp + rbx - 0x359d3e2a]
mov ebx, dword [rsp + 0x28]
add r8d, r11d
mov r11d, r9d
rol r11d, 5
add r8d, r11d
mov r11d, dword [rsp + 0x30]
xor r11d, ebx
xor r11d, ecx
mov ecx, r14d
xor r11d, r15d
xor ecx, r10d
rol r11d, 1
xor ecx, r9d
ror r9d, 2
lea r11d, [rdi + r11 - 0x359d3e2a]
mov edi, dword [rsp + 0x34]
add ecx, r11d
mov r11d, r8d
xor eax, edi
rol r11d, 5
xor eax, edx
mov edx, r10d
add ecx, r11d
xor eax, esi
xor edx, r9d
mov rsi, qword [rsp + 0x40]
rol eax, 1
xor edx, r8d
ror r8d, 2
lea eax, [r14 + rax - 0x359d3e2a]
add eax, edx
mov edx, ecx
rol edx, 5
add eax, edx
mov eax, eax
add rax, rsi
mov rsi, qword [rsp]
mov qword [rsi + 0x80], rax
mov rax, qword [rsp + 0x50]
add rcx, rax
mov rax, qword [rsp + 8]
mov qword [rsi + 0x88], rcx
add r8, rax
mov rax, qword [rsp + 0x48]
mov qword [rsi + 0x90], r8
add r9, rax
mov rax, qword [rsp + 0x58]
mov qword [rsi + 0x98], r9
add r10, rax
mov qword [rsi + 0xa0], r10
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret