Function at 0x180037bf0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
push rbp
sub rsp, 0x88
mov rdi, r8
lea rsi, [0x1800e20f0]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rdx
add rdi, rdx
mov qword [rsp + 0x78], rdi
movdqa xmm0, xmmword [rcx]
movdqa xmm1, xmmword [rcx + 0x10]
mov qword [rsp + 0x60], rsi
sub rsi, 0xc0
movdqa xmmword [rsp + 0x10], xmm1
movdqa xmmword [rsp], xmm0
mov rbx, qword [rdx]
bswap rbx
mov qword [rsp + 0x58], rbx
mov rbx, qword [rdx + 8]
bswap rbx
mov qword [rsp + 0x50], rbx
mov rbx, qword [rdx + 0x10]
bswap rbx
mov qword [rsp + 0x48], rbx
mov rbx, qword [rdx + 0x18]
bswap rbx
mov qword [rsp + 0x40], rbx
mov rbx, qword [rdx + 0x20]
bswap rbx
mov qword [rsp + 0x38], rbx
mov rbx, qword [rdx + 0x28]
bswap rbx
mov qword [rsp + 0x30], rbx
mov rbx, qword [rdx + 0x30]
bswap rbx
mov qword [rsp + 0x28], rbx
mov rbx, qword [rdx + 0x38]
bswap rbx
mov qword [rsp + 0x20], rbx
mov edi, dword [rsp + 0x10]
mov eax, dword [rsp + 4]
xor eax, dword [rsp + 8]
mov ecx, dword [rsp]
mov edx, dword [rsp + 0x14]
xor edx, dword [rsp + 0x18]
and edx, edi
xor edx, dword [rsp + 0x18]
mov ebp, edi
ror edi, 6
ror ebp, 0x19
add edx, dword [rsi]
add edx, dword [rsp + 0x5c]
add edx, dword [rsp + 0x1c]
xor ebp, edi
ror edi, 5
xor ebp, edi
add edx, ebp
mov ebx, ecx
xor ecx, dword [rsp + 4]
and eax, ecx
xor eax, dword [rsp + 4]
mov ebp, ebx
ror ebx, 2
add eax, edx
add edx, dword [rsp + 0xc]
mov dword [rsp + 0xc], edx
ror ebp, 0x16
xor ebp, ebx
ror ebx, 0xb
xor ebp, ebx
add eax, ebp
mov dword [rsp + 0x1c], eax
mov edi, dword [rsp + 0x10]
xor edi, dword [rsp + 0x14]
and edi, edx
xor edi, dword [rsp + 0x14]
mov ebp, edx
ror edx, 6
ror ebp, 0x19
add edi, dword [rsi + 4]
add edi, dword [rsp + 0x58]
add edi, dword [rsp + 0x18]
xor ebp, edx
ror edx, 5
xor ebp, edx
add edi, ebp
mov ebx, eax
xor eax, dword [rsp]
and ecx, eax
xor ecx, dword [rsp]
mov ebp, ebx
ror ebx, 2
add ecx, edi
add edi, dword [rsp + 8]
mov dword [rsp + 8], edi
ror ebp, 0x16
xor ebp, ebx
ror ebx, 0xb
xor ebp, ebx
add ecx, ebp
mov dword [rsp + 0x18], ecx
mov edx, dword [rsp + 0xc]
xor edx, dword [rsp + 0x10]
and edx, edi
xor edx, dword [rsp + 0x10]
mov ebp, edi
ror edi, 6
ror ebp, 0x19
add edx, dword [rsi + 8]
add edx, dword [rsp + 0x54]
add edx, dword [rsp + 0x14]
xor ebp, edi
ror edi, 5
xor ebp, edi
add edx, ebp
mov ebx, ecx
xor ecx, dword [rsp + 0x1c]
and eax, ecx
xor eax, dword [rsp + 0x1c]
mov ebp, ebx
ror ebx, 2
add eax, edx
add edx, dword [rsp + 4]
mov dword [rsp + 4], edx
ror ebp, 0x16
xor ebp, ebx
ror ebx, 0xb
xor ebp, ebx
add eax, ebp
mov dword [rsp + 0x14], eax
mov edi, dword [rsp + 8]
xor edi, dword [rsp + 0xc]
and edi, edx
xor edi, dword [rsp + 0xc]
mov ebp, edx
ror edx, 6
ror ebp, 0x19
add edi, dword [rsi + 0xc]
add edi, dword [rsp + 0x50]
add edi, dword [rsp + 0x10]
xor ebp, edx
ror edx, 5
xor ebp, edx
add edi, ebp
mov ebx, eax
xor eax, dword [rsp + 0x18]
and ecx, eax
xor ecx, dword [rsp + 0x18]
mov ebp, ebx
ror ebx, 2
add ecx, edi
add edi, dword [rsp]
mov dword [rsp], edi
ror ebp, 0x16
xor ebp, ebx
ror ebx, 0xb
xor ebp, ebx
add ecx, ebp
mov dword [rsp + 0x10], ecx
mov edx, dword [rsp + 4]
xor edx, dword [rsp + 8]
and edx, edi
xor edx, dword [rsp + 8]
mov ebp, edi
ror edi, 6
ror ebp, 0x19
add edx, dword [rsi + 0x10]
add edx, dword [rsp + 0x4c]
add edx, dword [rsp + 0xc]
xor ebp, edi
ror edi, 5
xor ebp, edi
add edx, ebp
mov ebx, ecx
xor ecx, dword [rsp + 0x14]
and eax, ecx
xor eax, dword [rsp + 0x14]
mov ebp, ebx
ror ebx, 2
add eax, edx
add edx, dword [rsp + 0x1c]
mov dword [rsp + 0x1c], edx
ror ebp, 0x16
xor ebp, ebx
ror ebx, 0xb
xor ebp, ebx
add eax, ebp
mov dword [rsp + 0xc], eax
mov edi, dword [rsp]
xor edi, dword [rsp + 4]
and edi, edx
xor edi, dword [rsp + 4]
mov ebp, edx
ror edx, 6
ror ebp, 0x19
add edi, dword [rsi + 0x14]
add edi, dword [rsp + 0x48]
add edi, dword [rsp + 8]
xor ebp, edx
ror edx, 5
xor ebp, edx
add edi, ebp
mov ebx, eax
xor eax, dword [rsp + 0x10]
and ecx, eax
xor ecx, dword [rsp + 0x10]
mov ebp, ebx
ror ebx, 2
add ecx, edi
add edi, dword [rsp + 0x18]
mov dword [rsp + 0x18], edi
ror ebp, 0x16
xor ebp, ebx
ror ebx, 0xb
xor ebp, ebx
add ecx, ebp
mov dword [rsp + 8], ecx
mov edx, dword [rsp + 0x1c]
xor edx, dword [rsp]
and edx, edi
xor edx, dword [rsp]
mov ebp, edi
ror edi, 6
ror ebp, 0x19
add edx, dword [rsi + 0x18]
add edx, dword [rsp + 0x44]
add edx, dword [rsp + 4]
xor ebp, edi
ror edi, 5
xor ebp, edi
add edx, ebp
mov ebx, ecx
xor ecx, dword [rsp + 0xc]
and eax, ecx
xor eax, dword [rsp + 0xc]
mov ebp, ebx
ror ebx, 2
add eax, edx
add edx, dword [rsp + 0x14]
mov dword [rsp + 0x14], edx
ror ebp, 0x16
xor ebp, ebx
ror ebx, 0xb
xor ebp, ebx
add eax, ebp
mov dword [rsp + 4], eax
mov edi, dword [rsp + 0x18]
xor edi, dword [rsp + 0x1c]
and edi, edx
xor edi, dword [rsp + 0x1c]
mov ebp, edx
ror edx, 6
ror ebp, 0x19
add edi, dword [rsi + 0x1c]
add edi, dword [rsp + 0x40]
add edi, dword [rsp]
xor ebp, edx
ror edx, 5
xor ebp, edx
add edi, ebp
mov ebx, eax
xor eax, dword [rsp + 8]
and ecx, eax
xor ecx, dword [rsp + 8]
mov ebp, ebx
ror ebx, 2
add ecx, edi
add edi, dword [rsp + 0x10]
mov dword [rsp + 0x10], edi
ror ebp, 0x16
xor ebp, ebx
ror ebx, 0xb
xor ebp, ebx
add ecx, ebp
mov dword [rsp], ecx
mov edx, dword [rsp + 0x14]
xor edx, dword [rsp + 0x18]
and edx, edi
xor edx, dword [rsp + 0x18]
mov ebp, edi
ror edi, 6
ror ebp, 0x19
add edx, dword [rsi + 0x20]
add edx, dword [rsp + 0x3c]
add edx, dword [rsp + 0x1c]
xor ebp, edi
ror edi, 5
xor ebp, edi
add edx, ebp
mov ebx, ecx
xor ecx, dword [rsp + 4]
and eax, ecx
xor eax, dword [rsp + 4]
mov ebp, ebx
ror ebx, 2
add eax, edx
add edx, dword [rsp + 0xc]
mov dword [rsp + 0xc], edx
ror ebp, 0x16
xor ebp, ebx
ror ebx, 0xb
xor ebp, ebx
add eax, ebp
mov dword [rsp + 0x1c], eax
mov edi, dword [rsp + 0x10]
xor edi, dword [rsp + 0x14]
and edi, edx
xor edi, dword [rsp + 0x14]
mov ebp, edx
ror edx, 6
ror ebp, 0x19
add edi, dword [rsi + 0x24]
add edi, dword [rsp + 0x38]
add edi, dword [rsp + 0x18]
xor ebp, edx
ror edx, 5
xor ebp, edx
add edi, ebp
mov ebx, eax
xor eax, dword [rsp]
and ecx, eax
xor ecx, dword [rsp]
mov ebp, ebx
ror ebx, 2
add ecx, edi
add edi, dword [rsp + 8]
mov dword [rsp + 8], edi
ror ebp, 0x16
xor ebp, ebx
ror ebx, 0xb
xor ebp, ebx
add ecx, ebp
mov dword [rsp + 0x18], ecx
mov edx, dword [rsp + 0xc]
xor edx, dword [rsp + 0x10]
and edx, edi
xor edx, dword [rsp + 0x10]
mov ebp, edi
ror edi, 6
ror ebp, 0x19
add edx, dword [rsi + 0x28]
add edx, dword [rsp + 0x34]
add edx, dword [rsp + 0x14]
xor ebp, edi
ror edi, 5
xor ebp, edi
add edx, ebp
mov ebx, ecx
xor ecx, dword [rsp + 0x1c]
and eax, ecx
xor eax, dword [rsp + 0x1c]
mov ebp, ebx
ror ebx, 2
add eax, edx
add edx, dword [rsp + 4]
mov dword [rsp + 4], edx
ror ebp, 0x16
xor ebp, ebx
ror ebx, 0xb
xor ebp, ebx
add eax, ebp
mov dword [rsp + 0x14], eax
mov edi, dword [rsp + 8]
xor edi, dword [rsp + 0xc]
and edi, edx
xor edi, dword [rsp + 0xc]
mov ebp, edx
ror edx, 6
ror ebp, 0x19
add edi, dword [rsi + 0x2c]
add edi, dword [rsp + 0x30]
add edi, dword [rsp + 0x10]
xor ebp, edx
ror edx, 5
xor ebp, edx
add edi, ebp
mov ebx, eax
xor eax, dword [rsp + 0x18]
and ecx, eax
xor ecx, dword [rsp + 0x18]
mov ebp, ebx
ror ebx, 2
add ecx, edi
add edi, dword [rsp]
mov dword [rsp], edi
ror ebp, 0x16
xor ebp, ebx
ror ebx, 0xb
xor ebp, ebx
add ecx, ebp
mov dword [rsp + 0x10], ecx
mov edx, dword [rsp + 4]
xor edx, dword [rsp + 8]
and edx, edi
xor edx, dword [rsp + 8]
mov ebp, edi
ror edi, 6
ror ebp, 0x19
add edx, dword [rsi + 0x30]
add edx, dword [rsp + 0x2c]
add edx, dword [rsp + 0xc]
xor ebp, edi
ror edi, 5
xor ebp, edi
add edx, ebp
mov ebx, ecx
xor ecx, dword [rsp + 0x14]
and eax, ecx
xor eax, dword [rsp + 0x14]
mov ebp, ebx
ror ebx, 2
add eax, edx
add edx, dword [rsp + 0x1c]
mov dword [rsp + 0x1c], edx
ror ebp, 0x16
xor ebp, ebx
ror ebx, 0xb
xor ebp, ebx
add eax, ebp
mov dword [rsp + 0xc], eax
mov edi, dword [rsp]
xor edi, dword [rsp + 4]
and edi, edx
xor edi, dword [rsp + 4]
mov ebp, edx
ror edx, 6
ror ebp, 0x19
add edi, dword [rsi + 0x34]
add edi, dword [rsp + 0x28]
add edi, dword [rsp + 8]
xor ebp, edx
ror edx, 5
xor ebp, edx
add edi, ebp
mov ebx, eax
xor eax, dword [rsp + 0x10]
and ecx, eax
xor ecx, dword [rsp + 0x10]
mov ebp, ebx
ror ebx, 2
add ecx, edi
add edi, dword [rsp + 0x18]
mov dword [rsp + 0x18], edi
ror ebp, 0x16
xor ebp, ebx
ror ebx, 0xb
xor ebp, ebx
add ecx, ebp
mov dword [rsp + 8], ecx
mov edx, dword [rsp + 0x1c]
xor edx, dword [rsp]
and edx, edi
xor edx, dword [rsp]
mov ebp, edi
ror edi, 6
ror ebp, 0x19
add edx, dword [rsi + 0x38]
add edx, dword [rsp + 0x24]
add edx, dword [rsp + 4]
xor ebp, edi
ror edi, 5
xor ebp, edi
add edx, ebp
mov ebx, ecx
xor ecx, dword [rsp + 0xc]
and eax, ecx
xor eax, dword [rsp + 0xc]
mov ebp, ebx
ror ebx, 2
add eax, edx
add edx, dword [rsp + 0x14]
mov dword [rsp + 0x14], edx
ror ebp, 0x16
xor ebp, ebx
ror ebx, 0xb
xor ebp, ebx
add eax, ebp
mov dword [rsp + 4], eax
mov edi, dword [rsp + 0x18]
xor edi, dword [rsp + 0x1c]
and edi, edx
xor edi, dword [rsp + 0x1c]
mov ebp, edx
ror edx, 6
ror ebp, 0x19
add edi, dword [rsi + 0x3c]
add edi, dword [rsp + 0x20]
add edi, dword [rsp]
xor ebp, edx
ror edx, 5
xor ebp, edx
add edi, ebp
mov ebx, eax
xor eax, dword [rsp + 8]
and ecx, eax
xor ecx, dword [rsp + 8]
mov ebp, ebx
ror ebx, 2
add ecx, edi
add edi, dword [rsp + 0x10]
mov dword [rsp + 0x10], edi
ror ebp, 0x16
xor ebp, ebx
ror ebx, 0xb
xor ebp, ebx
add ecx, ebp
mov dword [rsp], ecx
add rsi, 0x40
mov edx, dword [rsp + 0x14]
xor edx, dword [rsp + 0x18]
and edx, edi
xor edx, dword [rsp + 0x18]
mov ebp, edi
ror edi, 6
ror ebp, 0x19
xor ebp, edi
ror edi, 5
xor ebp, edi
add edx, ebp
mov ebp, dword [rsp + 0x24]
mov edi, dword [rsp + 0x58]
mov ebx, ebp
shr ebp, 0xa
ror ebx, 0x11
xor ebp, ebx
ror ebx, 2
xor ebx, ebp
add ebx, dword [rsp + 0x38]
mov ebp, edi
shr ebp, 3
ror edi, 7
add ebx, dword [rsp + 0x5c]
xor ebp, edi
add edx, dword [rsi]
ror edi, 0xb
add edx, dword [rsp + 0x1c]
xor ebp, edi
add ebp, ebx
mov dword [rsp + 0x5c], ebp
add edx, ebp
mov ebx, ecx
xor ecx, dword [rsp + 4]
and eax, ecx
xor eax, dword [rsp + 4]
mov ebp, ebx
ror ebx, 2
add eax, edx
add edx, dword [rsp + 0xc]
mov dword [rsp + 0xc], edx
ror ebp, 0x16
xor ebp, ebx
ror ebx, 0xb
xor ebp, ebx
add eax, ebp
mov dword [rsp + 0x1c], eax
mov edi, dword [rsp + 0x10]
xor edi, dword [rsp + 0x14]
and edi, edx
xor edi, dword [rsp + 0x14]
mov ebp, edx
ror edx, 6
ror ebp, 0x19
xor ebp, edx
ror edx, 5
xor ebp, edx
add edi, ebp
mov ebp, dword [rsp + 0x20]
mov edx, dword [rsp + 0x54]
mov ebx, ebp
shr ebp, 0xa
ror ebx, 0x11
xor ebp, ebx
ror ebx, 2
xor ebx, ebp
add ebx, dword [rsp + 0x34]
mov ebp, edx
shr ebp, 3
ror edx, 7
add ebx, dword [rsp + 0x58]
xor ebp, edx
add edi, dword [rsi + 4]
ror edx, 0xb
add edi, dword [rsp + 0x18]
xor ebp, edx
add ebp, ebx
mov dword [rsp + 0x58], ebp
add edi, ebp
mov ebx, eax
xor eax, dword [rsp]
and ecx, eax
xor ecx, dword [rsp]
mov ebp, ebx
ror ebx, 2
add ecx, edi
add edi, dword [rsp + 8]
mov dword [rsp + 8], edi
ror ebp, 0x16
xor ebp, ebx
ror ebx, 0xb
xor ebp, ebx
add ecx, ebp
mov dword [rsp + 0x18], ecx
mov edx, dword [rsp + 0xc]
xor edx, dword [rsp + 0x10]
and edx, edi
xor edx, dword [rsp + 0x10]
mov ebp, edi
ror edi, 6
ror ebp, 0x19
xor ebp, edi
ror edi, 5
xor ebp, edi
add edx, ebp
mov ebp, dword [rsp + 0x5c]
mov edi, dword [rsp + 0x50]
mov ebx, ebp
shr ebp, 0xa
ror ebx, 0x11
xor ebp, ebx
ror ebx, 2
xor ebx, ebp
add ebx, dword [rsp + 0x30]
mov ebp, edi
shr ebp, 3
ror edi, 7
add ebx, dword [rsp + 0x54]
xor ebp, edi
add edx, dword [rsi + 8]
ror edi, 0xb
add edx, dword [rsp + 0x14]
xor ebp, edi
add ebp, ebx
mov dword [rsp + 0x54], ebp
add edx, ebp
mov ebx, ecx
xor ecx, dword [rsp + 0x1c]
and eax, ecx
xor eax, dword [rsp + 0x1c]
mov ebp, ebx
ror ebx, 2
add eax, edx
add edx, dword [rsp + 4]
mov dword [rsp + 4], edx
ror ebp, 0x16
xor ebp, ebx
ror ebx, 0xb
xor ebp, ebx
add eax, ebp
mov dword [rsp + 0x14], eax
mov edi, dword [rsp + 8]
xor edi, dword [rsp + 0xc]
and edi, edx
xor edi, dword [rsp + 0xc]
mov ebp, edx
ror edx, 6
ror ebp, 0x19
xor ebp, edx
ror edx, 5
xor ebp, edx
add edi, ebp
mov ebp, dword [rsp + 0x58]
mov edx, dword [rsp + 0x4c]
mov ebx, ebp
shr ebp, 0xa
ror ebx, 0x11
xor ebp, ebx
ror ebx, 2
xor ebx, ebp
add ebx, dword [rsp + 0x2c]
mov ebp, edx
shr ebp, 3
ror edx, 7
add ebx, dword [rsp + 0x50]
xor ebp, edx
add edi, dword [rsi + 0xc]
ror edx, 0xb
add edi, dword [rsp + 0x10]
xor ebp, edx
add ebp, ebx
mov dword [rsp + 0x50], ebp
add edi, ebp
mov ebx, eax
xor eax, dword [rsp + 0x18]
and ecx, eax
xor ecx, dword [rsp + 0x18]
mov ebp, ebx
ror ebx, 2
add ecx, edi
add edi, dword [rsp]
mov dword [rsp], edi
ror ebp, 0x16
xor ebp, ebx
ror ebx, 0xb
xor ebp, ebx
add ecx, ebp
mov dword [rsp + 0x10], ecx
mov edx, dword [rsp + 4]
xor edx, dword [rsp + 8]
and edx, edi
xor edx, dword [rsp + 8]
mov ebp, edi
ror edi, 6
ror ebp, 0x19
xor ebp, edi
ror edi, 5
xor ebp, edi
add edx, ebp
mov ebp, dword [rsp + 0x54]
mov edi, dword [rsp + 0x48]
mov ebx, ebp
shr ebp, 0xa
ror ebx, 0x11
xor ebp, ebx
ror ebx, 2
xor ebx, ebp
add ebx, dword [rsp + 0x28]
mov ebp, edi
shr ebp, 3
ror edi, 7
add ebx, dword [rsp + 0x4c]
xor ebp, edi
add edx, dword [rsi + 0x10]
ror edi, 0xb
add edx, dword [rsp + 0xc]
xor ebp, edi
add ebp, ebx
mov dword [rsp + 0x4c], ebp
add edx, ebp
mov ebx, ecx
xor ecx, dword [rsp + 0x14]
and eax, ecx
xor eax, dword [rsp + 0x14]
mov ebp, ebx
ror ebx, 2
add eax, edx
add edx, dword [rsp + 0x1c]
mov dword [rsp + 0x1c], edx
ror ebp, 0x16
xor ebp, ebx
ror ebx, 0xb
xor ebp, ebx
add eax, ebp
mov dword [rsp + 0xc], eax
mov edi, dword [rsp]
xor edi, dword [rsp + 4]
and edi, edx
xor edi, dword [rsp + 4]
mov ebp, edx
ror edx, 6
ror ebp, 0x19
xor ebp, edx
ror edx, 5
xor ebp, edx
add edi, ebp
mov ebp, dword [rsp + 0x50]
mov edx, dword [rsp + 0x44]
mov ebx, ebp
shr ebp, 0xa
ror ebx, 0x11
xor ebp, ebx
ror ebx, 2
xor ebx, ebp
add ebx, dword [rsp + 0x24]
mov ebp, edx
shr ebp, 3
ror edx, 7
add ebx, dword [rsp + 0x48]
xor ebp, edx
add edi, dword [rsi + 0x14]
ror edx, 0xb
add edi, dword [rsp + 8]
xor ebp, edx
add ebp, ebx
mov dword [rsp + 0x48], ebp
add edi, ebp
mov ebx, eax
xor eax, dword [rsp + 0x10]
and ecx, eax
xor ecx, dword [rsp + 0x10]
mov ebp, ebx
ror ebx, 2
add ecx, edi
add edi, dword [rsp + 0x18]
mov dword [rsp + 0x18], edi
ror ebp, 0x16
xor ebp, ebx
ror ebx, 0xb
xor ebp, ebx
add ecx, ebp
mov dword [rsp + 8], ecx
mov edx, dword [rsp + 0x1c]
xor edx, dword [rsp]
and edx, edi
xor edx, dword [rsp]
mov ebp, edi
ror edi, 6
ror ebp, 0x19
xor ebp, edi
ror edi, 5
xor ebp, edi
add edx, ebp
mov ebp, dword [rsp + 0x4c]
mov edi, dword [rsp + 0x40]
mov ebx, ebp
shr ebp, 0xa
ror ebx, 0x11
xor ebp, ebx
ror ebx, 2
xor ebx, ebp
add ebx, dword [rsp + 0x20]
mov ebp, edi
shr ebp, 3
ror edi, 7
add ebx, dword [rsp + 0x44]
xor ebp, edi
add edx, dword [rsi + 0x18]
ror edi, 0xb
add edx, dword [rsp + 4]
xor ebp, edi
add ebp, ebx
mov dword [rsp + 0x44], ebp
add edx, ebp
mov ebx, ecx
xor ecx, dword [rsp + 0xc]
and eax, ecx
xor eax, dword [rsp + 0xc]
mov ebp, ebx
ror ebx, 2
add eax, edx
add edx, dword [rsp + 0x14]
mov dword [rsp + 0x14], edx
ror ebp, 0x16
xor ebp, ebx
ror ebx, 0xb
xor ebp, ebx
add eax, ebp
mov dword [rsp + 4], eax
mov edi, dword [rsp + 0x18]
xor edi, dword [rsp + 0x1c]
and edi, edx
xor edi, dword [rsp + 0x1c]
mov ebp, edx
ror edx, 6
ror ebp, 0x19
xor ebp, edx
ror edx, 5
xor ebp, edx
add edi, ebp
mov ebp, dword [rsp + 0x48]
mov edx, dword [rsp + 0x3c]
mov ebx, ebp
shr ebp, 0xa
ror ebx, 0x11
xor ebp, ebx
ror ebx, 2
xor ebx, ebp
add ebx, dword [rsp + 0x5c]
mov ebp, edx
shr ebp, 3
ror edx, 7
add ebx, dword [rsp + 0x40]
xor ebp, edx
add edi, dword [rsi + 0x1c]
ror edx, 0xb
add edi, dword [rsp]
xor ebp, edx
add ebp, ebx
mov dword [rsp + 0x40], ebp
add edi, ebp
mov ebx, eax
xor eax, dword [rsp + 8]
and ecx, eax
xor ecx, dword [rsp + 8]
mov ebp, ebx
ror ebx, 2
add ecx, edi
add edi, dword [rsp + 0x10]
mov dword [rsp + 0x10], edi
ror ebp, 0x16
xor ebp, ebx
ror ebx, 0xb
xor ebp, ebx
add ecx, ebp
mov dword [rsp], ecx
mov edx, dword [rsp + 0x14]
xor edx, dword [rsp + 0x18]
and edx, edi
xor edx, dword [rsp + 0x18]
mov ebp, edi
ror edi, 6
ror ebp, 0x19
xor ebp, edi
ror edi, 5
xor ebp, edi
add edx, ebp
mov ebp, dword [rsp + 0x44]
mov edi, dword [rsp + 0x38]
mov ebx, ebp
shr ebp, 0xa
ror ebx, 0x11
xor ebp, ebx
ror ebx, 2
xor ebx, ebp
add ebx, dword [rsp + 0x58]
mov ebp, edi
shr ebp, 3
ror edi, 7
add ebx, dword [rsp + 0x3c]
xor ebp, edi
add edx, dword [rsi + 0x20]
ror edi, 0xb
add edx, dword [rsp + 0x1c]
xor ebp, edi
add ebp, ebx
mov dword [rsp + 0x3c], ebp
add edx, ebp
mov ebx, ecx
xor ecx, dword [rsp + 4]
and eax, ecx
xor eax, dword [rsp + 4]
mov ebp, ebx
ror ebx, 2
add eax, edx
add edx, dword [rsp + 0xc]
mov dword [rsp + 0xc], edx
ror ebp, 0x16
xor ebp, ebx
ror ebx, 0xb
xor ebp, ebx
add eax, ebp
mov dword [rsp + 0x1c], eax
mov edi, dword [rsp + 0x10]
xor edi, dword [rsp + 0x14]
and edi, edx
xor edi, dword [rsp + 0x14]
mov ebp, edx
ror edx, 6
ror ebp, 0x19
xor ebp, edx
ror edx, 5
xor ebp, edx
add edi, ebp
mov ebp, dword [rsp + 0x40]
mov edx, dword [rsp + 0x34]
mov ebx, ebp
shr ebp, 0xa
ror ebx, 0x11
xor ebp, ebx
ror ebx, 2
xor ebx, ebp
add ebx, dword [rsp + 0x54]
mov ebp, edx
shr ebp, 3
ror edx, 7
add ebx, dword [rsp + 0x38]
xor ebp, edx
add edi, dword [rsi + 0x24]
ror edx, 0xb
add edi, dword [rsp + 0x18]
xor ebp, edx
add ebp, ebx
mov dword [rsp + 0x38], ebp
add edi, ebp
mov ebx, eax
xor eax, dword [rsp]
and ecx, eax
xor ecx, dword [rsp]
mov ebp, ebx
ror ebx, 2
add ecx, edi
add edi, dword [rsp + 8]
mov dword [rsp + 8], edi
ror ebp, 0x16
xor ebp, ebx
ror ebx, 0xb
xor ebp, ebx
add ecx, ebp
mov dword [rsp + 0x18], ecx
mov edx, dword [rsp + 0xc]
xor edx, dword [rsp + 0x10]
and edx, edi
xor edx, dword [rsp + 0x10]
mov ebp, edi
ror edi, 6
ror ebp, 0x19
xor ebp, edi
ror edi, 5
xor ebp, edi
add edx, ebp
mov ebp, dword [rsp + 0x3c]
mov edi, dword [rsp + 0x30]
mov ebx, ebp
shr ebp, 0xa
ror ebx, 0x11
xor ebp, ebx
ror ebx, 2
xor ebx, ebp
add ebx, dword [rsp + 0x50]
mov ebp, edi
shr ebp, 3
ror edi, 7
add ebx, dword [rsp + 0x34]
xor ebp, edi
add edx, dword [rsi + 0x28]
ror edi, 0xb
add edx, dword [rsp + 0x14]
xor ebp, edi
add ebp, ebx
mov dword [rsp + 0x34], ebp
add edx, ebp
mov ebx, ecx
xor ecx, dword [rsp + 0x1c]
and eax, ecx
xor eax, dword [rsp + 0x1c]
mov ebp, ebx
ror ebx, 2
add eax, edx
add edx, dword [rsp + 4]
mov dword [rsp + 4], edx
ror ebp, 0x16
xor ebp, ebx
ror ebx, 0xb
xor ebp, ebx
add eax, ebp
mov dword [rsp + 0x14], eax
mov edi, dword [rsp + 8]
xor edi, dword [rsp + 0xc]
and edi, edx
xor edi, dword [rsp + 0xc]
mov ebp, edx
ror edx, 6
ror ebp, 0x19
xor ebp, edx
ror edx, 5
xor ebp, edx
add edi, ebp
mov ebp, dword [rsp + 0x38]
mov edx, dword [rsp + 0x2c]
mov ebx, ebp
shr ebp, 0xa
ror ebx, 0x11
xor ebp, ebx
ror ebx, 2
xor ebx, ebp
add ebx, dword [rsp + 0x4c]
mov ebp, edx
shr ebp, 3
ror edx, 7
add ebx, dword [rsp + 0x30]
xor ebp, edx
add edi, dword [rsi + 0x2c]
ror edx, 0xb
add edi, dword [rsp + 0x10]
xor ebp, edx
add ebp, ebx
mov dword [rsp + 0x30], ebp
add edi, ebp
mov ebx, eax
xor eax, dword [rsp + 0x18]
and ecx, eax
xor ecx, dword [rsp + 0x18]
mov ebp, ebx
ror ebx, 2
add ecx, edi
add edi, dword [rsp]
mov dword [rsp], edi
ror ebp, 0x16
xor ebp, ebx
ror ebx, 0xb
xor ebp, ebx
add ecx, ebp
mov dword [rsp + 0x10], ecx
mov edx, dword [rsp + 4]
xor edx, dword [rsp + 8]
and edx, edi
xor edx, dword [rsp + 8]
mov ebp, edi
ror edi, 6
ror ebp, 0x19
xor ebp, edi
ror edi, 5
xor ebp, edi
add edx, ebp
mov ebp, dword [rsp + 0x34]
mov edi, dword [rsp + 0x28]
mov ebx, ebp
shr ebp, 0xa
ror ebx, 0x11
xor ebp, ebx
ror ebx, 2
xor ebx, ebp
add ebx, dword [rsp + 0x48]
mov ebp, edi
shr ebp, 3
ror edi, 7
add ebx, dword [rsp + 0x2c]
xor ebp, edi
add edx, dword [rsi + 0x30]
ror edi, 0xb
add edx, dword [rsp + 0xc]
xor ebp, edi
add ebp, ebx
mov dword [rsp + 0x2c], ebp
add edx, ebp
mov ebx, ecx
xor ecx, dword [rsp + 0x14]
and eax, ecx
xor eax, dword [rsp + 0x14]
mov ebp, ebx
ror ebx, 2
add eax, edx
add edx, dword [rsp + 0x1c]
mov dword [rsp + 0x1c], edx
ror ebp, 0x16
xor ebp, ebx
ror ebx, 0xb
xor ebp, ebx
add eax, ebp
mov dword [rsp + 0xc], eax
mov edi, dword [rsp]
xor edi, dword [rsp + 4]
and edi, edx
xor edi, dword [rsp + 4]
mov ebp, edx
ror edx, 6
ror ebp, 0x19
xor ebp, edx
ror edx, 5
xor ebp, edx
add edi, ebp
mov ebp, dword [rsp + 0x30]
mov edx, dword [rsp + 0x24]
mov ebx, ebp
shr ebp, 0xa
ror ebx, 0x11
xor ebp, ebx
ror ebx, 2
xor ebx, ebp
add ebx, dword [rsp + 0x44]
mov ebp, edx
shr ebp, 3
ror edx, 7
add ebx, dword [rsp + 0x28]
xor ebp, edx
add edi, dword [rsi + 0x34]
ror edx, 0xb
add edi, dword [rsp + 8]
xor ebp, edx
add ebp, ebx
mov dword [rsp + 0x28], ebp
add edi, ebp
mov ebx, eax
xor eax, dword [rsp + 0x10]
and ecx, eax
xor ecx, dword [rsp + 0x10]
mov ebp, ebx
ror ebx, 2
add ecx, edi
add edi, dword [rsp + 0x18]
mov dword [rsp + 0x18], edi
ror ebp, 0x16
xor ebp, ebx
ror ebx, 0xb
xor ebp, ebx
add ecx, ebp
mov dword [rsp + 8], ecx
mov edx, dword [rsp + 0x1c]
xor edx, dword [rsp]
and edx, edi
xor edx, dword [rsp]
mov ebp, edi
ror edi, 6
ror ebp, 0x19
xor ebp, edi
ror edi, 5
xor ebp, edi
add edx, ebp
mov ebp, dword [rsp + 0x2c]
mov edi, dword [rsp + 0x20]
mov ebx, ebp
shr ebp, 0xa
ror ebx, 0x11
xor ebp, ebx
ror ebx, 2
xor ebx, ebp
add ebx, dword [rsp + 0x40]
mov ebp, edi
shr ebp, 3
ror edi, 7
add ebx, dword [rsp + 0x24]
xor ebp, edi
add edx, dword [rsi + 0x38]
ror edi, 0xb
add edx, dword [rsp + 4]
xor ebp, edi
add ebp, ebx
mov dword [rsp + 0x24], ebp
add edx, ebp
mov ebx, ecx
xor ecx, dword [rsp + 0xc]
and eax, ecx
xor eax, dword [rsp + 0xc]
mov ebp, ebx
ror ebx, 2
add eax, edx
add edx, dword [rsp + 0x14]
mov dword [rsp + 0x14], edx
ror ebp, 0x16
xor ebp, ebx
ror ebx, 0xb
xor ebp, ebx
add eax, ebp
mov dword [rsp + 4], eax
mov edi, dword [rsp + 0x18]
xor edi, dword [rsp + 0x1c]
and edi, edx
xor edi, dword [rsp + 0x1c]
mov ebp, edx
ror edx, 6
ror ebp, 0x19
xor ebp, edx
ror edx, 5
xor ebp, edx
add edi, ebp
mov ebp, dword [rsp + 0x28]
mov edx, dword [rsp + 0x5c]
mov ebx, ebp
shr ebp, 0xa
ror ebx, 0x11
xor ebp, ebx
ror ebx, 2
xor ebx, ebp
add ebx, dword [rsp + 0x3c]
mov ebp, edx
shr ebp, 3
ror edx, 7
add ebx, dword [rsp + 0x20]
xor ebp, edx
add edi, dword [rsi + 0x3c]
ror edx, 0xb
add edi, dword [rsp]
xor ebp, edx
add ebp, ebx
mov dword [rsp + 0x20], ebp
add edi, ebp
mov ebx, eax
xor eax, dword [rsp + 8]
and ecx, eax
xor ecx, dword [rsp + 8]
mov ebp, ebx
ror ebx, 2
add ecx, edi
add edi, dword [rsp + 0x10]
mov dword [rsp + 0x10], edi
ror ebp, 0x16
xor ebp, ebx
ror ebx, 0xb
xor ebp, ebx
add ecx, ebp
mov dword [rsp], ecx
cmp rsi, qword [rsp + 0x60]
jne 0x1800381e3
mov rcx, qword [rsp + 0x68]
movdqa xmm1, xmmword [rcx + 0x10]
movdqa xmm0, xmmword [rcx]
paddd xmm1, xmmword [rsp + 0x10]
paddd xmm0, xmmword [rsp]
movdqa xmmword [rcx + 0x10], xmm1
movdqa xmmword [rcx], xmm0
mov rdx, qword [rsp + 0x70]
add rdx, 0x40
mov qword [rsp + 0x70], rdx
cmp rdx, qword [rsp + 0x78]
jne 0x180037c26
add rsp, 0x88
pop rbp
pop rbx
pop rdi
pop rsi
ret