Function at 0x140016985
Capabilities:
Hash data using sha1

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x50
mov r14d, dword [rcx]
mov ebx, dword [rcx + 4]
mov r10d, dword [rcx + 8]
mov edi, dword [rcx + 0xc]
mov qword [rsp + 0x48], rcx
mov eax, edi
xor eax, r10d
and eax, ebx
xor eax, edi
mov r9d, r14d
rol r9d, 5
add r9d, dword [rcx + 0x10]
mov ebp, dword [rdx]
mov dword [rsp + 0x38], ebp
mov ecx, dword [rdx + 4]
mov dword [rsp + 0xc], ecx
mov rsi, rdx
add r9d, ebp
add r9d, eax
mov eax, 0x5a827999
add r9d, eax
rol ebx, 0x1e
mov r8d, r10d
xor r8d, ebx
and r8d, r14d
xor r8d, r10d
mov edx, r9d
rol edx, 5
add r8d, edi
add r8d, ecx
add r8d, edx
rol r14d, 0x1e
add r8d, eax
mov ecx, ebx
xor ecx, r14d
and ecx, r9d
xor ecx, ebx
mov edx, r8d
rol edx, 5
mov ebp, dword [rsi + 8]
mov dword [rsp + 0x3c], ebp
add r10d, ebp
add r10d, ecx
add r10d, edx
add r10d, eax
rol r9d, 0x1e
mov ecx, r9d
xor ecx, r14d
and ecx, r8d
xor ecx, r14d
mov ebp, dword [rsi + 0xc]
mov dword [rsp + 0x14], ebp
mov edx, r10d
rol edx, 5
add ebx, ebp
add ebx, ecx
add ebx, edx
rol r8d, 0x1e
add ebx, eax
mov ecx, r8d
xor ecx, r9d
and ecx, r10d
xor ecx, r9d
mov edx, ebx
rol edx, 5
mov ebp, dword [rsi + 0x10]
mov dword [rsp + 0x18], ebp
add r14d, ebp
add r14d, ecx
add r14d, edx
add r14d, eax
rol r10d, 0x1e
mov ecx, r10d
xor ecx, r8d
and ecx, ebx
xor ecx, r8d
mov edx, r14d
rol edx, 5
mov ebp, dword [rsi + 0x14]
mov dword [rsp + 8], ebp
add r9d, ebp
add r9d, ecx
add r9d, edx
rol ebx, 0x1e
mov ecx, ebx
xor ecx, r10d
and ecx, r14d
xor ecx, r10d
mov edx, dword [rsi + 0x18]
mov dword [rsp], edx
add r8d, edx
add r8d, ecx
add r9d, eax
mov ecx, r9d
rol ecx, 5
add r8d, ecx
add r8d, eax
rol r14d, 0x1e
mov ecx, r14d
xor ecx, ebx
and ecx, r9d
xor ecx, ebx
mov edx, r8d
rol edx, 5
mov ebp, dword [rsi + 0x1c]
mov dword [rsp + 4], ebp
add r10d, ebp
add r10d, ecx
add r10d, edx
rol r9d, 0x1e
mov ecx, r9d
xor ecx, r14d
and ecx, r8d
xor ecx, r14d
mov r12d, dword [rsi + 0x20]
add ebx, r12d
mov dword [rsp + 0x1c], r12d
add ebx, ecx
add r10d, eax
mov ecx, r10d
rol ecx, 5
add ebx, ecx
add ebx, eax
rol r8d, 0x1e
mov ecx, r8d
xor ecx, r9d
and ecx, r10d
xor ecx, r9d
mov edi, ebx
rol edi, 5
mov r13d, dword [rsi + 0x24]
add r14d, r13d
mov dword [rsp + 0x30], r13d
add r14d, ecx
add r14d, edi
rol r10d, 0x1e
mov ecx, r10d
xor ecx, r8d
and ecx, ebx
xor ecx, r8d
mov edx, dword [rsi + 0x28]
mov dword [rsp + 0x20], edx
add r9d, edx
add r9d, ecx
add r14d, eax
mov ecx, r14d
rol ecx, 5
add r9d, ecx
add r9d, eax
rol ebx, 0x1e
mov ecx, ebx
xor ecx, r10d
and ecx, r14d
xor ecx, r10d
mov edi, r9d
rol edi, 5
mov eax, dword [rsi + 0x2c]
mov dword [rsp + 0x34], eax
add r8d, eax
add r8d, ecx
add r8d, edi
rol r14d, 0x1e
mov ecx, r14d
xor ecx, ebx
and ecx, r9d
xor ecx, ebx
mov eax, dword [rsi + 0x30]
mov dword [rsp + 0x24], eax
add r10d, eax
add r10d, ecx
mov eax, 0x5a827999
add r8d, eax
mov ecx, r8d
rol ecx, 5
add r10d, ecx
add r10d, eax
rol r9d, 0x1e
mov ecx, r9d
xor ecx, r14d
and ecx, r8d
xor ecx, r14d
mov r11d, r10d
rol r11d, 5
mov eax, dword [rsi + 0x34]
add ebx, eax
mov ebp, eax
mov dword [rsp + 0x10], eax
add ebx, ecx
add ebx, r11d
rol r8d, 0x1e
mov ecx, r8d
xor ecx, r9d
and ecx, r10d
xor ecx, r9d
mov qword [rsp + 0x40], rsi
mov r15d, dword [rsi + 0x38]
add r14d, r15d
mov dword [rsp + 0x2c], r15d
add r14d, ecx
mov eax, 0x5a827999
add ebx, eax
mov ecx, ebx
rol ecx, 5
add r14d, ecx
add r14d, eax
mov edi, 0x5a827999
rol r10d, 0x1e
mov ecx, r10d
xor ecx, r8d
and ecx, ebx
xor ecx, r8d
mov eax, dword [rsi + 0x3c]
mov r11d, r14d
add r9d, eax
mov dword [rsp + 0x28], eax
add r9d, ecx
rol r11d, 5
add r9d, r11d
mov edx, dword [rsp + 0x3c]
mov ecx, dword [rsp + 0x38]
xor ecx, edx
xor r12d, ebp
xor r12d, ecx
add r9d, edi
rol ebx, 0x1e
rol r12d, 1
mov ebp, ebx
xor ebp, r10d
and ebp, r14d
xor ebp, r10d
mov r11d, r9d
rol r11d, 5
add r8d, r12d
add r8d, ebp
add r8d, r11d
mov ecx, dword [rsp + 0xc]
mov esi, dword [rsp + 0x14]
xor ecx, esi
mov edi, r13d
xor edi, r15d
xor edi, ecx
rol r14d, 0x1e
rol edi, 1
mov ebp, r14d
xor ebp, ebx
and ebp, r9d
xor ebp, ebx
add r10d, edi
add r10d, ebp
mov r11d, dword [rsp + 0x18]
xor edx, r11d
mov r13d, dword [rsp + 0x20]
xor r13d, eax
xor r13d, edx
mov eax, 0x5a827999
add r8d, eax
mov eax, r8d
rol eax, 5
rol r9d, 0x1e
rol r13d, 1
add r10d, eax
mov eax, r9d
xor eax, r14d
and eax, r8d
xor eax, r14d
add ebx, r13d
add ebx, eax
mov ecx, 0x5a827999
add r10d, ecx
mov eax, r10d
rol eax, 5
add ebx, eax
add ebx, ecx
mov r15d, 0x5a827999
rol r8d, 0x1e
mov eax, esi
mov edx, dword [rsp + 8]
xor eax, edx
xor eax, dword [rsp + 0x34]
xor eax, r12d
rol eax, 1
mov ecx, eax
mov eax, r8d
xor eax, r9d
and eax, r10d
xor eax, r9d
mov esi, ebx
rol esi, 5
add r14d, ecx
mov ebp, ecx
mov dword [rsp + 0x14], ecx
add r14d, eax
add r14d, esi
rol r10d, 0x1e
add r14d, r15d
mov esi, dword [rsp]
xor r11d, esi
xor r11d, dword [rsp + 0x24]
xor r11d, edi
rol r11d, 1
mov eax, r10d
xor eax, r8d
xor eax, ebx
add r9d, r11d
mov r15d, r11d
mov dword [rsp + 0x18], r11d
add r9d, eax
mov eax, r14d
rol eax, 5
rol ebx, 0x1e
add r9d, eax
mov eax, edx
mov edx, dword [rsp + 4]
xor eax, edx
xor eax, dword [rsp + 0x10]
mov dword [rsp + 0xc], r13d
xor eax, r13d
rol eax, 1
mov ecx, eax
mov dword [rsp + 8], eax
mov eax, ebx
xor eax, r10d
xor eax, r14d
add r8d, ecx
add r8d, eax
mov eax, 0x6ed9eba1
add r9d, eax
mov r11d, 0x6ed9eba1
mov eax, r9d
rol eax, 5
add r8d, eax
rol r14d, 0x1e
mov eax, esi
mov r13d, dword [rsp + 0x1c]
xor eax, r13d
xor eax, dword [rsp + 0x2c]
xor eax, ebp
rol eax, 1
mov ecx, eax
add r8d, r11d
mov eax, r14d
xor eax, ebx
xor eax, r9d
mov esi, r8d
rol esi, 5
add r10d, ecx
mov ebp, ecx
mov dword [rsp], ecx
add r10d, eax
rol r9d, 0x1e
mov eax, edx
mov edx, dword [rsp + 0x30]
xor eax, edx
xor eax, dword [rsp + 0x28]
xor eax, r15d
rol eax, 1
mov ecx, eax
add r10d, esi
mov eax, r9d
xor eax, r14d
xor eax, r8d
add ebx, ecx
mov esi, ecx
mov dword [rsp + 4], ecx
add ebx, eax
add r10d, r11d
mov eax, r10d
rol eax, 5
rol r8d, 0x1e
add ebx, eax
mov ecx, dword [rsp + 0x20]
xor r13d, ecx
xor r13d, r12d
mov r15d, dword [rsp + 8]
xor r13d, r15d
rol r13d, 1
mov dword [rsp + 0x1c], r13d
mov eax, r8d
xor eax, r9d
xor eax, r10d
add r14d, r13d
add r14d, eax
add ebx, r11d
mov eax, ebx
rol eax, 5
add r14d, eax
rol r10d, 0x1e
mov r13d, edx
mov edx, dword [rsp + 0x34]
xor r13d, edx
xor r13d, edi
xor r13d, ebp
rol r13d, 1
mov eax, r10d
xor eax, r8d
xor eax, ebx
add r9d, r13d
mov dword [rsp + 0x30], r13d
add r9d, eax
mov r11d, 0x6ed9eba1
add r14d, r11d
mov eax, r14d
rol eax, 5
add r9d, eax
rol ebx, 0x1e
mov ebp, dword [rsp + 0x24]
xor ecx, ebp
xor ecx, dword [rsp + 0xc]
xor ecx, esi
rol ecx, 1
mov dword [rsp + 0x20], ecx
add r9d, r11d
mov r11d, 0x6ed9eba1
mov eax, ebx
xor eax, r10d
xor eax, r14d
mov esi, r9d
rol esi, 5
add r8d, ecx
add r8d, eax
rol r14d, 0x1e
mov eax, edx
mov edx, dword [rsp + 0x10]
xor eax, edx
xor eax, dword [rsp + 0x14]
xor eax, dword [rsp + 0x1c]
rol eax, 1
mov ecx, eax
add r8d, esi
mov eax, r14d
xor eax, ebx
xor eax, r9d
add r10d, ecx
mov esi, ecx
mov dword [rsp + 0x34], ecx
add r10d, eax
add r8d, r11d
mov eax, r8d
rol eax, 5
rol r9d, 0x1e
add r10d, eax
mov eax, ebp
mov r11d, dword [rsp + 0x2c]
xor eax, r11d
xor eax, dword [rsp + 0x18]
xor eax, r13d
rol eax, 1
mov ecx, eax
mov eax, r9d
xor eax, r14d
xor eax, r8d
add ebx, ecx
mov r13d, ecx
add ebx, eax
mov eax, 0x6ed9eba1
add r10d, eax
mov ebp, 0x6ed9eba1
mov eax, r10d
rol eax, 5
add ebx, eax
rol r8d, 0x1e
mov eax, edx
mov edx, dword [rsp + 0x28]
xor eax, edx
xor eax, r15d
xor eax, dword [rsp + 0x20]
rol eax, 1
mov r15d, eax
mov eax, r8d
xor eax, r9d
xor eax, r10d
add r14d, r15d
mov dword [rsp + 0x10], r15d
add r14d, eax
add ebx, ebp
mov eax, ebx
rol eax, 5
add r14d, eax
rol r10d, 0x1e
xor r11d, r12d
xor r11d, dword [rsp]
xor r11d, esi
rol r11d, 1
add r14d, ebp
mov eax, r10d
xor eax, r8d
xor eax, ebx
mov esi, r14d
rol esi, 5
add r9d, r11d
mov dword [rsp + 0x2c], r11d
add r9d, eax
rol ebx, 0x1e
xor edx, edi
xor edx, dword [rsp + 4]
xor edx, ecx
mov dword [rsp + 0x24], ecx
rol edx, 1
add r9d, esi
mov eax, ebx
xor eax, r10d
xor eax, r14d
add r8d, edx
mov esi, edx
mov dword [rsp + 0x28], edx
add r8d, eax
mov ecx, 0x6ed9eba1
add r9d, ecx
mov eax, r9d
rol eax, 5
rol r14d, 0x1e
add r8d, eax
mov ebp, dword [rsp + 0xc]
xor r12d, ebp
xor r12d, dword [rsp + 0x1c]
xor r12d, r15d
rol r12d, 1
mov eax, r14d
xor eax, ebx
xor eax, r9d
add r10d, r12d
add r10d, eax
add r8d, ecx
mov r15d, 0x6ed9eba1
mov eax, r8d
rol eax, 5
add r10d, eax
rol r9d, 0x1e
mov edx, dword [rsp + 0x14]
xor edi, edx
xor edi, dword [rsp + 0x30]
xor edi, r11d
rol edi, 1
mov eax, r9d
xor eax, r14d
xor eax, r8d
add ebx, edi
add ebx, eax
add r10d, r15d
mov eax, r10d
rol eax, 5
add ebx, eax
rol r8d, 0x1e
mov ecx, dword [rsp + 0x18]
xor ebp, ecx
xor ebp, dword [rsp + 0x20]
xor ebp, esi
rol ebp, 1
add ebx, r15d
mov eax, r8d
xor eax, r9d
xor eax, r10d
mov esi, ebx
rol esi, 5
add r14d, ebp
mov r15d, ebp
mov dword [rsp + 0xc], ebp
add r14d, eax
rol r10d, 0x1e
mov r11d, dword [rsp + 8]
xor edx, r11d
xor edx, dword [rsp + 0x34]
xor edx, r12d
rol edx, 1
add r14d, esi
mov eax, r10d
xor eax, r8d
xor eax, ebx
add r9d, edx
mov esi, edx
mov dword [rsp + 0x14], edx
add r9d, eax
mov edx, 0x6ed9eba1
add r14d, edx
mov eax, r14d
rol eax, 5
rol ebx, 0x1e
add r9d, eax
mov ebp, dword [rsp]
xor ecx, ebp
xor ecx, r13d
xor ecx, edi
rol ecx, 1
mov r13d, ecx
mov eax, ebx
xor eax, r10d
xor eax, r14d
add r8d, ecx
mov dword [rsp + 0x18], ecx
add r8d, eax
add r9d, edx
mov eax, r9d
rol eax, 5
add r8d, eax
rol r14d, 0x1e
mov edx, dword [rsp + 4]
xor r11d, edx
xor r11d, dword [rsp + 0x10]
xor r11d, r15d
rol r11d, 1
mov eax, r14d
xor eax, ebx
xor eax, r9d
add r10d, r11d
mov dword [rsp + 8], r11d
add r10d, eax
mov eax, 0x6ed9eba1
add r8d, eax
mov r15d, 0x6ed9eba1
mov eax, r8d
rol eax, 5
add r10d, eax
rol r9d, 0x1e
mov eax, ebp
mov ebp, dword [rsp + 0x1c]
xor eax, ebp
xor eax, dword [rsp + 0x2c]
xor eax, esi
rol eax, 1
mov ecx, eax
mov dword [rsp], eax
add r10d, r15d
mov eax, r9d
xor eax, r14d
xor eax, r8d
mov esi, r10d
rol esi, 5
add ebx, ecx
add ebx, eax
rol r8d, 0x1e
mov r15d, dword [rsp + 0x30]
xor edx, r15d
xor edx, dword [rsp + 0x28]
xor edx, r13d
rol edx, 1
mov dword [rsp + 4], edx
add ebx, esi
mov eax, r8d
xor eax, r9d
xor eax, r10d
add r14d, edx
add r14d, eax
mov ecx, 0x6ed9eba1
add ebx, ecx
mov eax, ebx
rol eax, 5
add r14d, eax
add r14d, ecx
rol r10d, 0x1e
mov ecx, dword [rsp + 0x20]
mov eax, ebp
xor eax, ecx
xor eax, r12d
xor eax, r11d
rol eax, 1
mov edx, eax
mov dword [rsp + 0x1c], eax
mov eax, ebx
or eax, r10d
and eax, r8d
mov esi, ebx
and esi, r10d
or esi, eax
add r9d, edx
add r9d, esi
mov eax, r14d
rol eax, 5
rol ebx, 0x1e
add r9d, eax
mov eax, r14d
or eax, ebx
and eax, r10d
mov esi, r14d
and esi, ebx
or esi, eax
mov r11d, dword [rsp + 0x34]
xor r15d, r11d
xor r15d, edi
xor r15d, dword [rsp]
rol r15d, 1
add r8d, r15d
mov r13d, r15d
mov dword [rsp + 0x30], r15d
add r8d, esi
mov eax, 0x8f1bbcdc
add r9d, eax
mov r15d, 0x8f1bbcdc
mov eax, r9d
rol eax, 5
add r8d, eax
rol r14d, 0x1e
mov ebp, ecx
mov edx, dword [rsp + 0x24]
xor ebp, edx
xor ebp, dword [rsp + 0xc]
xor ebp, dword [rsp + 4]
rol ebp, 1
mov eax, r9d
or eax, r14d
and eax, ebx
mov esi, r9d
and esi, r14d
or esi, eax
add r10d, ebp
mov dword [rsp + 0x20], ebp
add r10d, esi
add r8d, r15d
mov eax, r8d
rol eax, 5
add r10d, eax
rol r9d, 0x1e
mov r15d, r11d
mov r11d, dword [rsp + 0x10]
xor r15d, r11d
xor r15d, dword [rsp + 0x14]
xor r15d, dword [rsp + 0x1c]
rol r15d, 1
mov eax, r8d
or eax, r9d
and eax, r14d
mov esi, r8d
and esi, r9d
or esi, eax
add ebx, r15d
mov dword [rsp + 0x34], r15d
add ebx, esi
mov eax, 0x8f1bbcdc
add r10d, eax
mov eax, r10d
rol eax, 5
add ebx, eax
rol r8d, 0x1e
mov eax, edx
mov edx, dword [rsp + 0x2c]
xor eax, edx
xor eax, dword [rsp + 0x18]
xor eax, r13d
rol eax, 1
mov ecx, eax
mov dword [rsp + 0x24], eax
mov eax, r10d
or eax, r8d
and eax, r9d
mov esi, r10d
and esi, r8d
or esi, eax
add r14d, ecx
add r14d, esi
mov ecx, 0x8f1bbcdc
add ebx, ecx
mov eax, ebx
rol eax, 5
add r14d, eax
rol r10d, 0x1e
mov r13d, dword [rsp + 0x28]
xor r11d, r13d
xor r11d, dword [rsp + 8]
xor r11d, ebp
rol r11d, 1
mov eax, ebx
or eax, r10d
and eax, r8d
mov esi, ebx
and esi, r10d
or esi, eax
add r9d, r11d
mov dword [rsp + 0x10], r11d
add r9d, esi
add r14d, ecx
mov ebp, 0x8f1bbcdc
mov eax, r14d
rol eax, 5
add r9d, eax
rol ebx, 0x1e
xor edx, r12d
xor edx, dword [rsp]
xor edx, r15d
rol edx, 1
mov eax, r14d
or eax, ebx
and eax, r10d
mov esi, r14d
and esi, ebx
or esi, eax
add r8d, edx
mov r15d, edx
mov dword [rsp + 0x2c], edx
add r8d, esi
add r9d, ebp
mov eax, r9d
rol eax, 5
add r8d, eax
rol r14d, 0x1e
mov eax, r13d
xor eax, edi
xor eax, dword [rsp + 4]
xor eax, dword [rsp + 0x24]
rol eax, 1
mov ecx, eax
mov eax, r9d
or eax, r14d
and eax, ebx
mov esi, r9d
and esi, r14d
or esi, eax
add r10d, ecx
mov r13d, ecx
mov dword [rsp + 0x28], ecx
add r10d, esi
mov ecx, 0x8f1bbcdc
add r8d, ecx
mov eax, r8d
rol eax, 5
add r10d, eax
rol r9d, 0x1e
mov ebp, dword [rsp + 0xc]
xor r12d, ebp
xor r12d, dword [rsp + 0x1c]
xor r12d, r11d
rol r12d, 1
mov eax, r8d
or eax, r9d
and eax, r14d
mov esi, r8d
and esi, r9d
or esi, eax
add ebx, r12d
add ebx, esi
add r10d, ecx
mov ecx, 0x8f1bbcdc
mov eax, r10d
rol eax, 5
add ebx, eax
rol r8d, 0x1e
mov edx, dword [rsp + 0x14]
xor edi, edx
xor edi, dword [rsp + 0x30]
xor edi, r15d
rol edi, 1
mov eax, r10d
or eax, r8d
and eax, r9d
mov esi, r10d
and esi, r8d
or esi, eax
add r14d, edi
mov dword [rsp + 0x38], edi
add r14d, esi
add ebx, ecx
mov r11d, 0x8f1bbcdc
mov eax, ebx
rol eax, 5
add r14d, eax
rol r10d, 0x1e
mov ecx, dword [rsp + 0x18]
xor ebp, ecx
xor ebp, dword [rsp + 0x20]
xor ebp, r13d
rol ebp, 1
mov eax, ebx
or eax, r10d
and eax, r8d
mov esi, ebx
and esi, r10d
or esi, eax
add r9d, ebp
mov r15d, ebp
mov dword [rsp + 0xc], ebp
add r9d, esi
add r14d, r11d
mov r11d, 0x8f1bbcdc
mov eax, r14d
rol eax, 5
add r9d, eax
rol ebx, 0x1e
mov r13d, dword [rsp + 8]
xor edx, r13d
xor edx, dword [rsp + 0x34]
xor edx, r12d
rol edx, 1
mov eax, r14d
or eax, ebx
and eax, r10d
mov esi, r14d
and esi, ebx
or esi, eax
add r8d, edx
mov dword [rsp + 0x14], edx
add r8d, esi
add r9d, r11d
mov eax, r9d
rol eax, 5
add r8d, eax
rol r14d, 0x1e
mov r11d, ecx
mov ebp, dword [rsp]
xor r11d, ebp
xor r11d, dword [rsp + 0x24]
xor r11d, edi
rol r11d, 1
mov eax, r9d
or eax, r14d
and eax, ebx
mov esi, r9d
and esi, r14d
or esi, eax
add r10d, r11d
mov dword [rsp + 0x18], r11d
add r10d, esi
mov eax, 0x8f1bbcdc
add r8d, eax
mov edi, 0x8f1bbcdc
mov eax, r8d
rol eax, 5
add r10d, eax
rol r9d, 0x1e
mov eax, r13d
mov r13d, dword [rsp + 4]
xor eax, r13d
xor eax, dword [rsp + 0x10]
xor eax, r15d
rol eax, 1
mov ecx, eax
mov dword [rsp + 8], eax
mov eax, r8d
or eax, r9d
and eax, r14d
mov esi, r8d
and esi, r9d
or esi, eax
add ebx, ecx
add ebx, esi
add r10d, edi
mov eax, r10d
rol eax, 5
add ebx, eax
rol r8d, 0x1e
mov eax, ebp
mov r15d, dword [rsp + 0x1c]
xor eax, r15d
xor eax, dword [rsp + 0x2c]
xor eax, edx
rol eax, 1
mov ecx, eax
mov dword [rsp], eax
mov eax, r10d
or eax, r8d
and eax, r9d
mov esi, r10d
and esi, r8d
or esi, eax
add r14d, ecx
add r14d, esi
add ebx, edi
mov eax, ebx
rol eax, 5
add r14d, eax
rol r10d, 0x1e
mov edx, r13d
mov r13d, dword [rsp + 0x30]
xor edx, r13d
xor edx, dword [rsp + 0x28]
xor edx, r11d
rol edx, 1
mov eax, ebx
or eax, r10d
and eax, r8d
mov esi, ebx
and esi, r10d
or esi, eax
add r9d, edx
mov dword [rsp + 4], edx
add r9d, esi
add r14d, edi
mov eax, r14d
rol eax, 5
add r9d, eax
rol ebx, 0x1e
mov r11d, r15d
mov ecx, dword [rsp + 0x20]
xor r11d, ecx
xor r11d, r12d
xor r11d, dword [rsp + 8]
rol r11d, 1
mov eax, r14d
or eax, ebx
and eax, r10d
mov esi, r14d
and esi, ebx
or esi, eax
add r8d, r11d
mov dword [rsp + 0x1c], r11d
add r8d, esi
mov r15d, 0x8f1bbcdc
add r9d, r15d
mov eax, r9d
rol eax, 5
add r8d, eax
rol r14d, 0x1e
mov ebp, dword [rsp + 0x34]
xor r13d, ebp
mov edi, dword [rsp + 0x38]
xor r13d, edi
xor r13d, dword [rsp]
rol r13d, 1
mov dword [rsp + 0x30], r13d
mov eax, r9d
or eax, r14d
and eax, ebx
mov esi, r9d
and esi, r14d
or esi, eax
add r10d, r13d
add r10d, esi
add r8d, r15d
mov eax, r8d
rol eax, 5
add r10d, eax
rol r9d, 0x1e
mov r13d, ecx
mov ecx, dword [rsp + 0x24]
xor r13d, ecx
xor r13d, dword [rsp + 0xc]
xor r13d, edx
rol r13d, 1
mov eax, r8d
or eax, r9d
and eax, r14d
mov esi, r8d
and esi, r9d
or esi, eax
add ebx, r13d
mov dword [rsp + 0x20], r13d
add ebx, esi
mov eax, 0x8f1bbcdc
add r10d, eax
mov eax, r10d
rol eax, 5
add ebx, eax
rol r8d, 0x1e
mov edx, dword [rsp + 0x10]
xor ebp, edx
xor ebp, dword [rsp + 0x14]
xor ebp, r11d
rol ebp, 1
mov eax, r10d
or eax, r8d
and eax, r9d
mov esi, r10d
and esi, r8d
or esi, eax
add r14d, ebp
mov r15d, ebp
add r14d, esi
mov esi, 0x8f1bbcdc
add ebx, esi
mov eax, ebx
rol eax, 5
add r14d, eax
add r14d, esi
rol r10d, 0x1e
mov ebp, ecx
mov esi, dword [rsp + 0x2c]
xor ebp, esi
xor ebp, dword [rsp + 0x18]
xor ebp, dword [rsp + 0x30]
rol ebp, 1
mov eax, r10d
xor eax, r8d
xor eax, ebx
add r9d, ebp
mov dword [rsp + 0x24], ebp
add r9d, eax
mov eax, r14d
rol eax, 5
add r9d, eax
rol ebx, 0x1e
mov r11d, edx
mov edx, dword [rsp + 0x28]
xor r11d, edx
xor r11d, dword [rsp + 8]
xor r11d, r13d
rol r11d, 1
mov eax, ebx
xor eax, r10d
xor eax, r14d
add r8d, r11d
mov dword [rsp + 0x10], r11d
add r8d, eax
mov eax, 0xca62c1d6
add r9d, eax
mov eax, r9d
rol eax, 5
rol r14d, 0x1e
add r8d, eax
mov eax, esi
xor eax, r12d
xor eax, dword [rsp]
mov r13d, r15d
mov dword [rsp + 0x34], r15d
xor eax, r15d
rol eax, 1
mov r15d, eax
mov eax, r14d
xor eax, ebx
xor eax, r9d
add r10d, r15d
mov dword [rsp + 0x2c], r15d
add r10d, eax
mov eax, 0xca62c1d6
add r8d, eax
mov eax, r8d
rol eax, 5
add r10d, eax
rol r9d, 0x1e
xor edx, edi
xor edx, dword [rsp + 4]
xor edx, ebp
rol edx, 1
mov ebp, edx
mov eax, r9d
xor eax, r14d
xor eax, r8d
add ebx, edx
mov dword [rsp + 0x28], edx
add ebx, eax
mov ecx, 0xca62c1d6
add r10d, ecx
mov eax, r10d
rol eax, 5
add ebx, eax
rol r8d, 0x1e
mov edx, dword [rsp + 0xc]
xor r12d, edx
xor r12d, dword [rsp + 0x1c]
xor r12d, r11d
rol r12d, 1
add ebx, ecx
mov eax, r8d
xor eax, r9d
xor eax, r10d
mov esi, ebx
rol esi, 5
add r14d, r12d
add r14d, eax
rol r10d, 0x1e
mov ecx, dword [rsp + 0x14]
xor edi, ecx
xor edi, dword [rsp + 0x30]
xor edi, r15d
rol edi, 1
add r14d, esi
mov eax, r10d
xor eax, r8d
xor eax, ebx
add r9d, edi
add r9d, eax
mov r15d, 0xca62c1d6
add r14d, r15d
mov eax, r14d
rol eax, 5
rol ebx, 0x1e
add r9d, eax
mov r11d, edx
mov esi, dword [rsp + 0x18]
xor r11d, esi
xor r11d, dword [rsp + 0x20]
xor r11d, ebp
rol r11d, 1
mov eax, ebx
xor eax, r10d
xor eax, r14d
add r8d, r11d
mov dword [rsp + 0xc], r11d
add r8d, eax
add r9d, r15d
mov ebp, 0xca62c1d6
mov eax, r9d
rol eax, 5
add r8d, eax
rol r14d, 0x1e
mov eax, ecx
mov ecx, dword [rsp + 8]
xor eax, ecx
xor eax, r13d
xor eax, r12d
rol eax, 1
mov edx, eax
mov eax, r14d
xor eax, ebx
xor eax, r9d
add r10d, edx
mov r15d, edx
mov dword [rsp + 0x14], edx
add r10d, eax
add r8d, ebp
mov r13d, 0xca62c1d6
mov eax, r8d
rol eax, 5
add r10d, eax
rol r9d, 0x1e
mov eax, esi
mov edx, dword [rsp]
xor eax, edx
xor eax, dword [rsp + 0x24]
xor eax, edi
rol eax, 1
mov ebp, eax
add r10d, r13d
mov eax, r9d
xor eax, r14d
xor eax, r8d
mov esi, r10d
rol esi, 5
add ebx, ebp
mov r13d, ebp
mov dword [rsp + 0x18], ebp
add ebx, eax
rol r8d, 0x1e
mov eax, ecx
mov ebp, dword [rsp + 4]
xor eax, ebp
xor eax, dword [rsp + 0x10]
xor eax, r11d
rol eax, 1
mov ecx, eax
mov dword [rsp + 8], eax
add ebx, esi
mov eax, r8d
xor eax, r9d
xor eax, r10d
add r14d, ecx
add r14d, eax
mov ecx, 0xca62c1d6
add ebx, ecx
mov eax, ebx
rol eax, 5
rol r10d, 0x1e
add r14d, eax
mov r11d, edx
mov edx, dword [rsp + 0x1c]
xor r11d, edx
xor r11d, dword [rsp + 0x2c]
xor r11d, r15d
rol r11d, 1
mov eax, r10d
xor eax, r8d
xor eax, ebx
add r9d, r11d
mov dword [rsp], r11d
add r9d, eax
add r14d, ecx
mov esi, 0xca62c1d6
mov eax, r14d
rol eax, 5
add r9d, eax
rol ebx, 0x1e
mov eax, ebp
mov ebp, dword [rsp + 0x30]
xor eax, ebp
xor eax, dword [rsp + 0x28]
xor eax, r13d
rol eax, 1
mov ecx, eax
mov dword [rsp + 4], eax
mov eax, ebx
xor eax, r10d
xor eax, r14d
add r8d, ecx
add r8d, eax
add r9d, esi
mov eax, r9d
rol eax, 5
add r8d, eax
rol r14d, 0x1e
mov r15d, dword [rsp + 0x20]
xor edx, r15d
xor edx, r12d
xor edx, dword [rsp + 8]
rol edx, 1
add r8d, esi
mov eax, r14d
xor eax, ebx
xor eax, r9d
mov esi, r8d
rol esi, 5
add r10d, edx
add r10d, eax
rol r9d, 0x1e
mov ecx, ebp
mov r13d, dword [rsp + 0x34]
xor ecx, r13d
mov ebp, edi
mov dword [rsp + 0x38], edi
xor ecx, edi
xor ecx, r11d
rol ecx, 1
mov edi, ecx
add r10d, esi
mov eax, r9d
xor eax, r14d
xor eax, r8d
add ebx, ecx
add ebx, eax
mov rsi, qword [rsp + 0x40]
mov dword [rsi], r12d
mov dword [rsi + 4], ebp
mov eax, 0xca62c1d6
add r10d, eax
mov eax, r10d
rol eax, 5
mov ecx, dword [rsp + 0xc]
mov dword [rsi + 8], ecx
rol r8d, 0x1e
xor r15d, dword [rsp + 0x24]
xor r15d, ecx
mov ecx, dword [rsp + 4]
xor r15d, ecx
rol r15d, 1
mov ebp, r15d
add ebx, eax
mov eax, r8d
xor eax, r9d
xor eax, r10d
add r14d, r15d
add r14d, eax
mov eax, 0xca62c1d6
add ebx, eax
mov eax, ebx
rol eax, 5
add r14d, eax
mov r15d, dword [rsp + 0x14]
mov dword [rsi + 0xc], r15d
xor r13d, dword [rsp + 0x10]
xor r13d, r15d
mov r11d, dword [rsp + 0x18]
mov dword [rsi + 0x10], r11d
mov r15d, dword [rsp + 8]
mov dword [rsi + 0x14], r15d
mov eax, dword [rsp]
mov dword [rsi + 0x18], eax
mov dword [rsi + 0x1c], ecx
mov dword [rsi + 0x20], edx
xor r13d, edx
rol r10d, 0x1e
rol r13d, 1
mov eax, 0xca62c1d6
add r14d, eax
mov eax, r10d
xor eax, r8d
xor eax, ebx
mov edx, r14d
rol edx, 5
add r9d, r13d
add r9d, eax
add r9d, edx
mov edx, dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x24]
xor ecx, edx
xor ecx, r11d
mov dword [rsi + 0x24], edi
xor ecx, edi
rol ebx, 0x1e
rol ecx, 1
mov eax, ebx
xor eax, r10d
xor eax, r14d
add r8d, ecx
add r8d, eax
mov eax, 0xca62c1d6
add r9d, eax
mov eax, r9d
rol eax, 5
add r8d, eax
mov r11d, dword [rsp + 0x28]
mov eax, dword [rsp + 0x10]
xor eax, r11d
xor eax, r15d
mov dword [rsi + 0x28], ebp
xor eax, ebp
mov dword [rsi + 0x2c], r13d
mov dword [rsi + 0x30], ecx
rol eax, 1
mov dword [rsi + 0x34], eax
mov ebp, eax
add ebp, r10d
rol r14d, 0x1e
mov eax, r14d
xor eax, ebx
xor eax, r9d
add ebp, eax
mov edi, 0xca62c1d6
add r8d, edi
mov eax, r8d
rol eax, 5
add ebp, eax
xor r12d, edx
xor r12d, dword [rsp]
xor r12d, r13d
rol r9d, 0x1e
rol r12d, 1
mov dword [rsi + 0x38], r12d
add r12d, ebx
mov eax, r9d
xor eax, r14d
xor eax, r8d
add r12d, eax
mov ebx, dword [rsp + 0x38]
xor ebx, r11d
xor ebx, dword [rsp + 4]
xor ebx, ecx
add ebp, edi
rol ebx, 1
mov dword [rsi + 0x3c], ebx
mov eax, ebp
rol eax, 5
rol r8d, 0x1e
mov rdx, qword [rsp + 0x48]
add ebx, dword [rdx]
add r12d, eax
add ebx, r14d
mov eax, r8d
xor eax, r9d
xor eax, ebp
add ebx, eax
mov eax, 0xca62c1d6
add r12d, eax
movd xmm0, r12d
rol r12d, 5
add ebx, r12d
add ebx, eax
mov dword [rdx], ebx
rol ebp, 0x1e
movd xmm1, ebp
movd xmm2, r9d
movd xmm3, r8d
punpckldq xmm0, xmm1
movdqu xmm1, xmmword [rdx + 4]
punpckldq xmm3, xmm2
punpcklqdq xmm0, xmm3
paddd xmm0, xmm1
movdqu xmmword [rdx + 4], xmm0
add rsp, 0x50
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret