Function at 0x140058ef0
Capabilities:
Encode data using base64
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x78
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x10], rax
mov rax, qword [rsp + 0x80]
mov eax, dword [rax + 8]
mov dword [rsp], eax
mov rax, qword [rsp + 0x80]
mov eax, dword [rax + 0xc]
mov dword [rsp + 4], eax
mov rax, qword [rsp + 0x80]
mov eax, dword [rax + 0x10]
mov dword [rsp + 8], eax
mov rax, qword [rsp + 0x80]
mov eax, dword [rax + 0x14]
mov dword [rsp + 0xc], eax
mov eax, dword [rsp]
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 4]
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 8]
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0xc]
mov dword [rsp + 0x64], eax
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x10]
movzx eax, byte [rcx + rax]
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 8
or eax, ecx
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 0x10
or eax, ecx
mov ecx, 1
imul rcx, rcx, 3
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 0x18
or eax, ecx
mov dword [rsp + 0x18], eax
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
mov edx, dword [rsp + 0x18]
mov dword [rcx + rax + 0x58], edx
mov eax, dword [rsp + 0xc]
mov ecx, dword [rsp + 8]
xor ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 4]
and ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xc]
xor ecx, eax
mov eax, ecx
add eax, dword [rsp + 0x18]
mov ecx, 0xd76aa478
mov edx, dword [rsp]
add rcx, rdx
add eax, ecx
mov dword [rsp], eax
mov eax, dword [rsp]
shl eax, 7
mov ecx, dword [rsp]
shr ecx, 0x19
or eax, ecx
mov dword [rsp], eax
mov eax, dword [rsp + 4]
mov ecx, dword [rsp]
add ecx, eax
mov eax, ecx
mov dword [rsp], eax
mov eax, 1
imul rax, rax, 4
mov rcx, qword [rsp + 0x10]
movzx eax, byte [rcx + rax]
mov ecx, 1
imul rcx, rcx, 5
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 8
or eax, ecx
mov ecx, 1
imul rcx, rcx, 6
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 0x10
or eax, ecx
mov ecx, 1
imul rcx, rcx, 7
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 0x18
or eax, ecx
mov dword [rsp + 0x1c], eax
mov eax, 4
imul rax, rax, 1
mov rcx, qword [rsp + 0x80]
mov edx, dword [rsp + 0x1c]
mov dword [rcx + rax + 0x58], edx
mov eax, dword [rsp + 8]
mov ecx, dword [rsp + 4]
xor ecx, eax
mov eax, ecx
mov ecx, dword [rsp]
and ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 8]
xor ecx, eax
mov eax, ecx
add eax, dword [rsp + 0x1c]
mov ecx, 0xe8c7b756
mov edx, dword [rsp + 0xc]
add rcx, rdx
add eax, ecx
mov dword [rsp + 0xc], eax
mov eax, dword [rsp + 0xc]
shl eax, 0xc
mov ecx, dword [rsp + 0xc]
shr ecx, 0x14
or eax, ecx
mov dword [rsp + 0xc], eax
mov eax, dword [rsp]
mov ecx, dword [rsp + 0xc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xc], eax
mov eax, 1
imul rax, rax, 8
mov rcx, qword [rsp + 0x10]
movzx eax, byte [rcx + rax]
mov ecx, 1
imul rcx, rcx, 9
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 8
or eax, ecx
mov ecx, 1
imul rcx, rcx, 0xa
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 0x10
or eax, ecx
mov ecx, 1
imul rcx, rcx, 0xb
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 0x18
or eax, ecx
mov dword [rsp + 0x20], eax
mov eax, 4
imul rax, rax, 2
mov rcx, qword [rsp + 0x80]
mov edx, dword [rsp + 0x20]
mov dword [rcx + rax + 0x58], edx
mov eax, dword [rsp + 4]
mov ecx, dword [rsp]
xor ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xc]
and ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 4]
xor ecx, eax
mov eax, ecx
add eax, dword [rsp + 0x20]
mov ecx, dword [rsp + 8]
lea eax, [rcx + rax + 0x242070db]
mov dword [rsp + 8], eax
mov eax, dword [rsp + 8]
shl eax, 0x11
mov ecx, dword [rsp + 8]
shr ecx, 0xf
or eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0xc]
mov ecx, dword [rsp + 8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 8], eax
mov eax, 1
imul rax, rax, 0xc
mov rcx, qword [rsp + 0x10]
movzx eax, byte [rcx + rax]
mov ecx, 1
imul rcx, rcx, 0xd
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 8
or eax, ecx
mov ecx, 1
imul rcx, rcx, 0xe
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 0x10
or eax, ecx
mov ecx, 1
imul rcx, rcx, 0xf
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 0x18
or eax, ecx
mov dword [rsp + 0x24], eax
mov eax, 4
imul rax, rax, 3
mov rcx, qword [rsp + 0x80]
mov edx, dword [rsp + 0x24]
mov dword [rcx + rax + 0x58], edx
mov eax, dword [rsp]
mov ecx, dword [rsp + 0xc]
xor ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 8]
and ecx, eax
mov eax, ecx
mov ecx, dword [rsp]
xor ecx, eax
mov eax, ecx
add eax, dword [rsp + 0x24]
mov ecx, 0xc1bdceee
mov edx, dword [rsp + 4]
add rcx, rdx
add eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 4]
shl eax, 0x16
mov ecx, dword [rsp + 4]
shr ecx, 0xa
or eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 8]
mov ecx, dword [rsp + 4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 4], eax
mov eax, 1
imul rax, rax, 0x10
mov rcx, qword [rsp + 0x10]
movzx eax, byte [rcx + rax]
mov ecx, 1
imul rcx, rcx, 0x11
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 8
or eax, ecx
mov ecx, 1
imul rcx, rcx, 0x12
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 0x10
or eax, ecx
mov ecx, 1
imul rcx, rcx, 0x13
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 0x18
or eax, ecx
mov dword [rsp + 0x28], eax
mov eax, 4
imul rax, rax, 4
mov rcx, qword [rsp + 0x80]
mov edx, dword [rsp + 0x28]
mov dword [rcx + rax + 0x58], edx
mov eax, dword [rsp + 0xc]
mov ecx, dword [rsp + 8]
xor ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 4]
and ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xc]
xor ecx, eax
mov eax, ecx
add eax, dword [rsp + 0x28]
mov ecx, 0xf57c0faf
mov edx, dword [rsp]
add rcx, rdx
add eax, ecx
mov dword [rsp], eax
mov eax, dword [rsp]
shl eax, 7
mov ecx, dword [rsp]
shr ecx, 0x19
or eax, ecx
mov dword [rsp], eax
mov eax, dword [rsp + 4]
mov ecx, dword [rsp]
add ecx, eax
mov eax, ecx
mov dword [rsp], eax
mov eax, 1
imul rax, rax, 0x14
mov rcx, qword [rsp + 0x10]
movzx eax, byte [rcx + rax]
mov ecx, 1
imul rcx, rcx, 0x15
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 8
or eax, ecx
mov ecx, 1
imul rcx, rcx, 0x16
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 0x10
or eax, ecx
mov ecx, 1
imul rcx, rcx, 0x17
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 0x18
or eax, ecx
mov dword [rsp + 0x2c], eax
mov eax, 4
imul rax, rax, 5
mov rcx, qword [rsp + 0x80]
mov edx, dword [rsp + 0x2c]
mov dword [rcx + rax + 0x58], edx
mov eax, dword [rsp + 8]
mov ecx, dword [rsp + 4]
xor ecx, eax
mov eax, ecx
mov ecx, dword [rsp]
and ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 8]
xor ecx, eax
mov eax, ecx
add eax, dword [rsp + 0x2c]
mov ecx, dword [rsp + 0xc]
lea eax, [rcx + rax + 0x4787c62a]
mov dword [rsp + 0xc], eax
mov eax, dword [rsp + 0xc]
shl eax, 0xc
mov ecx, dword [rsp + 0xc]
shr ecx, 0x14
or eax, ecx
mov dword [rsp + 0xc], eax
mov eax, dword [rsp]
mov ecx, dword [rsp + 0xc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xc], eax
mov eax, 1
imul rax, rax, 0x18
mov rcx, qword [rsp + 0x10]
movzx eax, byte [rcx + rax]
mov ecx, 1
imul rcx, rcx, 0x19
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 8
or eax, ecx
mov ecx, 1
imul rcx, rcx, 0x1a
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 0x10
or eax, ecx
mov ecx, 1
imul rcx, rcx, 0x1b
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 0x18
or eax, ecx
mov dword [rsp + 0x30], eax
mov eax, 4
imul rax, rax, 6
mov rcx, qword [rsp + 0x80]
mov edx, dword [rsp + 0x30]
mov dword [rcx + rax + 0x58], edx
mov eax, dword [rsp + 4]
mov ecx, dword [rsp]
xor ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xc]
and ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 4]
xor ecx, eax
mov eax, ecx
add eax, dword [rsp + 0x30]
mov ecx, 0xa8304613
mov edx, dword [rsp + 8]
add rcx, rdx
add eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 8]
shl eax, 0x11
mov ecx, dword [rsp + 8]
shr ecx, 0xf
or eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0xc]
mov ecx, dword [rsp + 8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 8], eax
mov eax, 1
imul rax, rax, 0x1c
mov rcx, qword [rsp + 0x10]
movzx eax, byte [rcx + rax]
mov ecx, 1
imul rcx, rcx, 0x1d
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 8
or eax, ecx
mov ecx, 1
imul rcx, rcx, 0x1e
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 0x10
or eax, ecx
mov ecx, 1
imul rcx, rcx, 0x1f
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 0x18
or eax, ecx
mov dword [rsp + 0x34], eax
mov eax, 4
imul rax, rax, 7
mov rcx, qword [rsp + 0x80]
mov edx, dword [rsp + 0x34]
mov dword [rcx + rax + 0x58], edx
mov eax, dword [rsp]
mov ecx, dword [rsp + 0xc]
xor ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 8]
and ecx, eax
mov eax, ecx
mov ecx, dword [rsp]
xor ecx, eax
mov eax, ecx
add eax, dword [rsp + 0x34]
mov ecx, 0xfd469501
mov edx, dword [rsp + 4]
add rcx, rdx
add eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 4]
shl eax, 0x16
mov ecx, dword [rsp + 4]
shr ecx, 0xa
or eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 8]
mov ecx, dword [rsp + 4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 4], eax
mov eax, 1
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x10]
movzx eax, byte [rcx + rax]
mov ecx, 1
imul rcx, rcx, 0x21
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 8
or eax, ecx
mov ecx, 1
imul rcx, rcx, 0x22
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 0x10
or eax, ecx
mov ecx, 1
imul rcx, rcx, 0x23
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 0x18
or eax, ecx
mov dword [rsp + 0x38], eax
mov eax, 4
imul rax, rax, 8
mov rcx, qword [rsp + 0x80]
mov edx, dword [rsp + 0x38]
mov dword [rcx + rax + 0x58], edx
mov eax, dword [rsp + 0xc]
mov ecx, dword [rsp + 8]
xor ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 4]
and ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xc]
xor ecx, eax
mov eax, ecx
add eax, dword [rsp + 0x38]
mov ecx, dword [rsp]
lea eax, [rcx + rax + 0x698098d8]
mov dword [rsp], eax
mov eax, dword [rsp]
shl eax, 7
mov ecx, dword [rsp]
shr ecx, 0x19
or eax, ecx
mov dword [rsp], eax
mov eax, dword [rsp + 4]
mov ecx, dword [rsp]
add ecx, eax
mov eax, ecx
mov dword [rsp], eax
mov eax, 1
imul rax, rax, 0x24
mov rcx, qword [rsp + 0x10]
movzx eax, byte [rcx + rax]
mov ecx, 1
imul rcx, rcx, 0x25
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 8
or eax, ecx
mov ecx, 1
imul rcx, rcx, 0x26
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 0x10
or eax, ecx
mov ecx, 1
imul rcx, rcx, 0x27
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 0x18
or eax, ecx
mov dword [rsp + 0x3c], eax
mov eax, 4
imul rax, rax, 9
mov rcx, qword [rsp + 0x80]
mov edx, dword [rsp + 0x3c]
mov dword [rcx + rax + 0x58], edx
mov eax, dword [rsp + 8]
mov ecx, dword [rsp + 4]
xor ecx, eax
mov eax, ecx
mov ecx, dword [rsp]
and ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 8]
xor ecx, eax
mov eax, ecx
add eax, dword [rsp + 0x3c]
mov ecx, 0x8b44f7af
mov edx, dword [rsp + 0xc]
add rcx, rdx
add eax, ecx
mov dword [rsp + 0xc], eax
mov eax, dword [rsp + 0xc]
shl eax, 0xc
mov ecx, dword [rsp + 0xc]
shr ecx, 0x14
or eax, ecx
mov dword [rsp + 0xc], eax
mov eax, dword [rsp]
mov ecx, dword [rsp + 0xc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xc], eax
mov eax, 1
imul rax, rax, 0x28
mov rcx, qword [rsp + 0x10]
movzx eax, byte [rcx + rax]
mov ecx, 1
imul rcx, rcx, 0x29
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 8
or eax, ecx
mov ecx, 1
imul rcx, rcx, 0x2a
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 0x10
or eax, ecx
mov ecx, 1
imul rcx, rcx, 0x2b
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 0x18
or eax, ecx
mov dword [rsp + 0x40], eax
mov eax, 4
imul rax, rax, 0xa
mov rcx, qword [rsp + 0x80]
mov edx, dword [rsp + 0x40]
mov dword [rcx + rax + 0x58], edx
mov eax, dword [rsp + 4]
mov ecx, dword [rsp]
xor ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xc]
and ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 4]
xor ecx, eax
mov eax, ecx
add eax, dword [rsp + 0x40]
mov ecx, 0xffff5bb1
mov edx, dword [rsp + 8]
add rcx, rdx
add eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 8]
shl eax, 0x11
mov ecx, dword [rsp + 8]
shr ecx, 0xf
or eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0xc]
mov ecx, dword [rsp + 8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 8], eax
mov eax, 1
imul rax, rax, 0x2c
mov rcx, qword [rsp + 0x10]
movzx eax, byte [rcx + rax]
mov ecx, 1
imul rcx, rcx, 0x2d
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 8
or eax, ecx
mov ecx, 1
imul rcx, rcx, 0x2e
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 0x10
or eax, ecx
mov ecx, 1
imul rcx, rcx, 0x2f
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 0x18
or eax, ecx
mov dword [rsp + 0x44], eax
mov eax, 4
imul rax, rax, 0xb
mov rcx, qword [rsp + 0x80]
mov edx, dword [rsp + 0x44]
mov dword [rcx + rax + 0x58], edx
mov eax, dword [rsp]
mov ecx, dword [rsp + 0xc]
xor ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 8]
and ecx, eax
mov eax, ecx
mov ecx, dword [rsp]
xor ecx, eax
mov eax, ecx
add eax, dword [rsp + 0x44]
mov ecx, 0x895cd7be
mov edx, dword [rsp + 4]
add rcx, rdx
add eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 4]
shl eax, 0x16
mov ecx, dword [rsp + 4]
shr ecx, 0xa
or eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 8]
mov ecx, dword [rsp + 4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 4], eax
mov eax, 1
imul rax, rax, 0x30
mov rcx, qword [rsp + 0x10]
movzx eax, byte [rcx + rax]
mov ecx, 1
imul rcx, rcx, 0x31
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 8
or eax, ecx
mov ecx, 1
imul rcx, rcx, 0x32
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 0x10
or eax, ecx
mov ecx, 1
imul rcx, rcx, 0x33
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 0x18
or eax, ecx
mov dword [rsp + 0x48], eax
mov eax, 4
imul rax, rax, 0xc
mov rcx, qword [rsp + 0x80]
mov edx, dword [rsp + 0x48]
mov dword [rcx + rax + 0x58], edx
mov eax, dword [rsp + 0xc]
mov ecx, dword [rsp + 8]
xor ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 4]
and ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xc]
xor ecx, eax
mov eax, ecx
add eax, dword [rsp + 0x48]
mov ecx, dword [rsp]
lea eax, [rcx + rax + 0x6b901122]
mov dword [rsp], eax
mov eax, dword [rsp]
shl eax, 7
mov ecx, dword [rsp]
shr ecx, 0x19
or eax, ecx
mov dword [rsp], eax
mov eax, dword [rsp + 4]
mov ecx, dword [rsp]
add ecx, eax
mov eax, ecx
mov dword [rsp], eax
mov eax, 1
imul rax, rax, 0x34
mov rcx, qword [rsp + 0x10]
movzx eax, byte [rcx + rax]
mov ecx, 1
imul rcx, rcx, 0x35
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 8
or eax, ecx
mov ecx, 1
imul rcx, rcx, 0x36
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 0x10
or eax, ecx
mov ecx, 1
imul rcx, rcx, 0x37
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 0x18
or eax, ecx
mov dword [rsp + 0x4c], eax
mov eax, 4
imul rax, rax, 0xd
mov rcx, qword [rsp + 0x80]
mov edx, dword [rsp + 0x4c]
mov dword [rcx + rax + 0x58], edx
mov eax, dword [rsp + 8]
mov ecx, dword [rsp + 4]
xor ecx, eax
mov eax, ecx
mov ecx, dword [rsp]
and ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 8]
xor ecx, eax
mov eax, ecx
add eax, dword [rsp + 0x4c]
mov ecx, 0xfd987193
mov edx, dword [rsp + 0xc]
add rcx, rdx
add eax, ecx
mov dword [rsp + 0xc], eax
mov eax, dword [rsp + 0xc]
shl eax, 0xc
mov ecx, dword [rsp + 0xc]
shr ecx, 0x14
or eax, ecx
mov dword [rsp + 0xc], eax
mov eax, dword [rsp]
mov ecx, dword [rsp + 0xc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xc], eax
mov eax, 1
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x10]
movzx eax, byte [rcx + rax]
mov ecx, 1
imul rcx, rcx, 0x39
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 8
or eax, ecx
mov ecx, 1
imul rcx, rcx, 0x3a
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 0x10
or eax, ecx
mov ecx, 1
imul rcx, rcx, 0x3b
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 0x18
or eax, ecx
mov dword [rsp + 0x50], eax
mov eax, 4
imul rax, rax, 0xe
mov rcx, qword [rsp + 0x80]
mov edx, dword [rsp + 0x50]
mov dword [rcx + rax + 0x58], edx
mov eax, dword [rsp + 4]
mov ecx, dword [rsp]
xor ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xc]
and ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 4]
xor ecx, eax
mov eax, ecx
add eax, dword [rsp + 0x50]
mov ecx, 0xa679438e
mov edx, dword [rsp + 8]
add rcx, rdx
add eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 8]
shl eax, 0x11
mov ecx, dword [rsp + 8]
shr ecx, 0xf
or eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0xc]
mov ecx, dword [rsp + 8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 8], eax
mov eax, 1
imul rax, rax, 0x3c
mov rcx, qword [rsp + 0x10]
movzx eax, byte [rcx + rax]
mov ecx, 1
imul rcx, rcx, 0x3d
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 8
or eax, ecx
mov ecx, 1
imul rcx, rcx, 0x3e
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 0x10
or eax, ecx
mov ecx, 1
imul rcx, rcx, 0x3f
mov rdx, qword [rsp + 0x10]
movzx ecx, byte [rdx + rcx]
shl ecx, 0x18
or eax, ecx
mov dword [rsp + 0x54], eax
mov eax, 4
imul rax, rax, 0xf
mov rcx, qword [rsp + 0x80]
mov edx, dword [rsp + 0x54]
mov dword [rcx + rax + 0x58], edx
mov eax, dword [rsp]
mov ecx, dword [rsp + 0xc]
xor ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 8]
and ecx, eax
mov eax, ecx
mov ecx, dword [rsp]
xor ecx, eax
mov eax, ecx
add eax, dword [rsp + 0x54]
mov ecx, dword [rsp + 4]
lea eax, [rcx + rax + 0x49b40821]
mov dword [rsp + 4], eax
mov eax, dword [rsp + 4]
shl eax, 0x16
mov ecx, dword [rsp + 4]
shr ecx, 0xa
or eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 8]
mov ecx, dword [rsp + 4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 8]
mov ecx, dword [rsp + 4]
xor ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xc]
and ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 8]
xor ecx, eax
mov eax, ecx
mov ecx, 4
imul rcx, rcx, 1
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, 0xf61e2562
mov edx, dword [rsp]
add rcx, rdx
add eax, ecx
mov dword [rsp], eax
mov eax, dword [rsp]
shl eax, 5
mov ecx, dword [rsp]
shr ecx, 0x1b
or eax, ecx
mov dword [rsp], eax
mov eax, dword [rsp + 4]
mov ecx, dword [rsp]
add ecx, eax
mov eax, ecx
mov dword [rsp], eax
mov eax, dword [rsp + 4]
mov ecx, dword [rsp]
xor ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 8]
and ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 4]
xor ecx, eax
mov eax, ecx
mov ecx, 4
imul rcx, rcx, 6
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, 0xc040b340
mov edx, dword [rsp + 0xc]
add rcx, rdx
add eax, ecx
mov dword [rsp + 0xc], eax
mov eax, dword [rsp + 0xc]
shl eax, 9
mov ecx, dword [rsp + 0xc]
shr ecx, 0x17
or eax, ecx
mov dword [rsp + 0xc], eax
mov eax, dword [rsp]
mov ecx, dword [rsp + 0xc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xc], eax
mov eax, dword [rsp]
mov ecx, dword [rsp + 0xc]
xor ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 4]
and ecx, eax
mov eax, ecx
mov ecx, dword [rsp]
xor ecx, eax
mov eax, ecx
mov ecx, 4
imul rcx, rcx, 0xb
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, dword [rsp + 8]
lea eax, [rcx + rax + 0x265e5a51]
mov dword [rsp + 8], eax
mov eax, dword [rsp + 8]
shl eax, 0xe
mov ecx, dword [rsp + 8]
shr ecx, 0x12
or eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0xc]
mov ecx, dword [rsp + 8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0xc]
mov ecx, dword [rsp + 8]
xor ecx, eax
mov eax, ecx
mov ecx, dword [rsp]
and ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xc]
xor ecx, eax
mov eax, ecx
mov ecx, 4
imul rcx, rcx, 0
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, 0xe9b6c7aa
mov edx, dword [rsp + 4]
add rcx, rdx
add eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 4]
shl eax, 0x14
mov ecx, dword [rsp + 4]
shr ecx, 0xc
or eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 8]
mov ecx, dword [rsp + 4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 8]
mov ecx, dword [rsp + 4]
xor ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xc]
and ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 8]
xor ecx, eax
mov eax, ecx
mov ecx, 4
imul rcx, rcx, 5
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, 0xd62f105d
mov edx, dword [rsp]
add rcx, rdx
add eax, ecx
mov dword [rsp], eax
mov eax, dword [rsp]
shl eax, 5
mov ecx, dword [rsp]
shr ecx, 0x1b
or eax, ecx
mov dword [rsp], eax
mov eax, dword [rsp + 4]
mov ecx, dword [rsp]
add ecx, eax
mov eax, ecx
mov dword [rsp], eax
mov eax, dword [rsp + 4]
mov ecx, dword [rsp]
xor ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 8]
and ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 4]
xor ecx, eax
mov eax, ecx
mov ecx, 4
imul rcx, rcx, 0xa
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, dword [rsp + 0xc]
lea eax, [rcx + rax + 0x2441453]
mov dword [rsp + 0xc], eax
mov eax, dword [rsp + 0xc]
shl eax, 9
mov ecx, dword [rsp + 0xc]
shr ecx, 0x17
or eax, ecx
mov dword [rsp + 0xc], eax
mov eax, dword [rsp]
mov ecx, dword [rsp + 0xc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xc], eax
mov eax, dword [rsp]
mov ecx, dword [rsp + 0xc]
xor ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 4]
and ecx, eax
mov eax, ecx
mov ecx, dword [rsp]
xor ecx, eax
mov eax, ecx
mov ecx, 4
imul rcx, rcx, 0xf
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, 0xd8a1e681
mov edx, dword [rsp + 8]
add rcx, rdx
add eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 8]
shl eax, 0xe
mov ecx, dword [rsp + 8]
shr ecx, 0x12
or eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0xc]
mov ecx, dword [rsp + 8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0xc]
mov ecx, dword [rsp + 8]
xor ecx, eax
mov eax, ecx
mov ecx, dword [rsp]
and ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xc]
xor ecx, eax
mov eax, ecx
mov ecx, 4
imul rcx, rcx, 4
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, 0xe7d3fbc8
mov edx, dword [rsp + 4]
add rcx, rdx
add eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 4]
shl eax, 0x14
mov ecx, dword [rsp + 4]
shr ecx, 0xc
or eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 8]
mov ecx, dword [rsp + 4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 8]
mov ecx, dword [rsp + 4]
xor ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xc]
and ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 8]
xor ecx, eax
mov eax, ecx
mov ecx, 4
imul rcx, rcx, 9
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, dword [rsp]
lea eax, [rcx + rax + 0x21e1cde6]
mov dword [rsp], eax
mov eax, dword [rsp]
shl eax, 5
mov ecx, dword [rsp]
shr ecx, 0x1b
or eax, ecx
mov dword [rsp], eax
mov eax, dword [rsp + 4]
mov ecx, dword [rsp]
add ecx, eax
mov eax, ecx
mov dword [rsp], eax
mov eax, dword [rsp + 4]
mov ecx, dword [rsp]
xor ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 8]
and ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 4]
xor ecx, eax
mov eax, ecx
mov ecx, 4
imul rcx, rcx, 0xe
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, 0xc33707d6
mov edx, dword [rsp + 0xc]
add rcx, rdx
add eax, ecx
mov dword [rsp + 0xc], eax
mov eax, dword [rsp + 0xc]
shl eax, 9
mov ecx, dword [rsp + 0xc]
shr ecx, 0x17
or eax, ecx
mov dword [rsp + 0xc], eax
mov eax, dword [rsp]
mov ecx, dword [rsp + 0xc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xc], eax
mov eax, dword [rsp]
mov ecx, dword [rsp + 0xc]
xor ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 4]
and ecx, eax
mov eax, ecx
mov ecx, dword [rsp]
xor ecx, eax
mov eax, ecx
mov ecx, 4
imul rcx, rcx, 3
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, 0xf4d50d87
mov edx, dword [rsp + 8]
add rcx, rdx
add eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 8]
shl eax, 0xe
mov ecx, dword [rsp + 8]
shr ecx, 0x12
or eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0xc]
mov ecx, dword [rsp + 8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0xc]
mov ecx, dword [rsp + 8]
xor ecx, eax
mov eax, ecx
mov ecx, dword [rsp]
and ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xc]
xor ecx, eax
mov eax, ecx
mov ecx, 4
imul rcx, rcx, 8
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, dword [rsp + 4]
lea eax, [rcx + rax + 0x455a14ed]
mov dword [rsp + 4], eax
mov eax, dword [rsp + 4]
shl eax, 0x14
mov ecx, dword [rsp + 4]
shr ecx, 0xc
or eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 8]
mov ecx, dword [rsp + 4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 8]
mov ecx, dword [rsp + 4]
xor ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xc]
and ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 8]
xor ecx, eax
mov eax, ecx
mov ecx, 4
imul rcx, rcx, 0xd
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, 0xa9e3e905
mov edx, dword [rsp]
add rcx, rdx
add eax, ecx
mov dword [rsp], eax
mov eax, dword [rsp]
shl eax, 5
mov ecx, dword [rsp]
shr ecx, 0x1b
or eax, ecx
mov dword [rsp], eax
mov eax, dword [rsp + 4]
mov ecx, dword [rsp]
add ecx, eax
mov eax, ecx
mov dword [rsp], eax
mov eax, dword [rsp + 4]
mov ecx, dword [rsp]
xor ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 8]
and ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 4]
xor ecx, eax
mov eax, ecx
mov ecx, 4
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, 0xfcefa3f8
mov edx, dword [rsp + 0xc]
add rcx, rdx
add eax, ecx
mov dword [rsp + 0xc], eax
mov eax, dword [rsp + 0xc]
shl eax, 9
mov ecx, dword [rsp + 0xc]
shr ecx, 0x17
or eax, ecx
mov dword [rsp + 0xc], eax
mov eax, dword [rsp]
mov ecx, dword [rsp + 0xc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xc], eax
mov eax, dword [rsp]
mov ecx, dword [rsp + 0xc]
xor ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 4]
and ecx, eax
mov eax, ecx
mov ecx, dword [rsp]
xor ecx, eax
mov eax, ecx
mov ecx, 4
imul rcx, rcx, 7
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, dword [rsp + 8]
lea eax, [rcx + rax + 0x676f02d9]
mov dword [rsp + 8], eax
mov eax, dword [rsp + 8]
shl eax, 0xe
mov ecx, dword [rsp + 8]
shr ecx, 0x12
or eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0xc]
mov ecx, dword [rsp + 8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0xc]
mov ecx, dword [rsp + 8]
xor ecx, eax
mov eax, ecx
mov ecx, dword [rsp]
and ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xc]
xor ecx, eax
mov eax, ecx
mov ecx, 4
imul rcx, rcx, 0xc
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, 0x8d2a4c8a
mov edx, dword [rsp + 4]
add rcx, rdx
add eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 4]
shl eax, 0x14
mov ecx, dword [rsp + 4]
shr ecx, 0xc
or eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 8]
mov ecx, dword [rsp + 4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 8]
mov ecx, dword [rsp + 4]
xor ecx, eax
mov eax, ecx
xor eax, dword [rsp + 0xc]
mov ecx, 4
imul rcx, rcx, 5
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, 0xfffa3942
mov edx, dword [rsp]
add rcx, rdx
add eax, ecx
mov dword [rsp], eax
mov eax, dword [rsp]
shl eax, 4
mov ecx, dword [rsp]
shr ecx, 0x1c
or eax, ecx
mov dword [rsp], eax
mov eax, dword [rsp + 4]
mov ecx, dword [rsp]
add ecx, eax
mov eax, ecx
mov dword [rsp], eax
mov eax, dword [rsp + 4]
mov ecx, dword [rsp]
xor ecx, eax
mov eax, ecx
xor eax, dword [rsp + 8]
mov ecx, 4
imul rcx, rcx, 8
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, 0x8771f681
mov edx, dword [rsp + 0xc]
add rcx, rdx
add eax, ecx
mov dword [rsp + 0xc], eax
mov eax, dword [rsp + 0xc]
shl eax, 0xb
mov ecx, dword [rsp + 0xc]
shr ecx, 0x15
or eax, ecx
mov dword [rsp + 0xc], eax
mov eax, dword [rsp]
mov ecx, dword [rsp + 0xc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xc], eax
mov eax, dword [rsp]
mov ecx, dword [rsp + 0xc]
xor ecx, eax
mov eax, ecx
xor eax, dword [rsp + 4]
mov ecx, 4
imul rcx, rcx, 0xb
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, dword [rsp + 8]
lea eax, [rcx + rax + 0x6d9d6122]
mov dword [rsp + 8], eax
mov eax, dword [rsp + 8]
shl eax, 0x10
mov ecx, dword [rsp + 8]
shr ecx, 0x10
or eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0xc]
mov ecx, dword [rsp + 8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0xc]
mov ecx, dword [rsp + 8]
xor ecx, eax
mov eax, ecx
xor eax, dword [rsp]
mov ecx, 4
imul rcx, rcx, 0xe
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, 0xfde5380c
mov edx, dword [rsp + 4]
add rcx, rdx
add eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 4]
shl eax, 0x17
mov ecx, dword [rsp + 4]
shr ecx, 9
or eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 8]
mov ecx, dword [rsp + 4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 8]
mov ecx, dword [rsp + 4]
xor ecx, eax
mov eax, ecx
xor eax, dword [rsp + 0xc]
mov ecx, 4
imul rcx, rcx, 1
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, 0xa4beea44
mov edx, dword [rsp]
add rcx, rdx
add eax, ecx
mov dword [rsp], eax
mov eax, dword [rsp]
shl eax, 4
mov ecx, dword [rsp]
shr ecx, 0x1c
or eax, ecx
mov dword [rsp], eax
mov eax, dword [rsp + 4]
mov ecx, dword [rsp]
add ecx, eax
mov eax, ecx
mov dword [rsp], eax
mov eax, dword [rsp + 4]
mov ecx, dword [rsp]
xor ecx, eax
mov eax, ecx
xor eax, dword [rsp + 8]
mov ecx, 4
imul rcx, rcx, 4
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, dword [rsp + 0xc]
lea eax, [rcx + rax + 0x4bdecfa9]
mov dword [rsp + 0xc], eax
mov eax, dword [rsp + 0xc]
shl eax, 0xb
mov ecx, dword [rsp + 0xc]
shr ecx, 0x15
or eax, ecx
mov dword [rsp + 0xc], eax
mov eax, dword [rsp]
mov ecx, dword [rsp + 0xc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xc], eax
mov eax, dword [rsp]
mov ecx, dword [rsp + 0xc]
xor ecx, eax
mov eax, ecx
xor eax, dword [rsp + 4]
mov ecx, 4
imul rcx, rcx, 7
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, 0xf6bb4b60
mov edx, dword [rsp + 8]
add rcx, rdx
add eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 8]
shl eax, 0x10
mov ecx, dword [rsp + 8]
shr ecx, 0x10
or eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0xc]
mov ecx, dword [rsp + 8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0xc]
mov ecx, dword [rsp + 8]
xor ecx, eax
mov eax, ecx
xor eax, dword [rsp]
mov ecx, 4
imul rcx, rcx, 0xa
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, 0xbebfbc70
mov edx, dword [rsp + 4]
add rcx, rdx
add eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 4]
shl eax, 0x17
mov ecx, dword [rsp + 4]
shr ecx, 9
or eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 8]
mov ecx, dword [rsp + 4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 8]
mov ecx, dword [rsp + 4]
xor ecx, eax
mov eax, ecx
xor eax, dword [rsp + 0xc]
mov ecx, 4
imul rcx, rcx, 0xd
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, dword [rsp]
lea eax, [rcx + rax + 0x289b7ec6]
mov dword [rsp], eax
mov eax, dword [rsp]
shl eax, 4
mov ecx, dword [rsp]
shr ecx, 0x1c
or eax, ecx
mov dword [rsp], eax
mov eax, dword [rsp + 4]
mov ecx, dword [rsp]
add ecx, eax
mov eax, ecx
mov dword [rsp], eax
mov eax, dword [rsp + 4]
mov ecx, dword [rsp]
xor ecx, eax
mov eax, ecx
xor eax, dword [rsp + 8]
mov ecx, 4
imul rcx, rcx, 0
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, 0xeaa127fa
mov edx, dword [rsp + 0xc]
add rcx, rdx
add eax, ecx
mov dword [rsp + 0xc], eax
mov eax, dword [rsp + 0xc]
shl eax, 0xb
mov ecx, dword [rsp + 0xc]
shr ecx, 0x15
or eax, ecx
mov dword [rsp + 0xc], eax
mov eax, dword [rsp]
mov ecx, dword [rsp + 0xc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xc], eax
mov eax, dword [rsp]
mov ecx, dword [rsp + 0xc]
xor ecx, eax
mov eax, ecx
xor eax, dword [rsp + 4]
mov ecx, 4
imul rcx, rcx, 3
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, 0xd4ef3085
mov edx, dword [rsp + 8]
add rcx, rdx
add eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 8]
shl eax, 0x10
mov ecx, dword [rsp + 8]
shr ecx, 0x10
or eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0xc]
mov ecx, dword [rsp + 8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0xc]
mov ecx, dword [rsp + 8]
xor ecx, eax
mov eax, ecx
xor eax, dword [rsp]
mov ecx, 4
imul rcx, rcx, 6
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, dword [rsp + 4]
lea eax, [rcx + rax + 0x4881d05]
mov dword [rsp + 4], eax
mov eax, dword [rsp + 4]
shl eax, 0x17
mov ecx, dword [rsp + 4]
shr ecx, 9
or eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 8]
mov ecx, dword [rsp + 4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 8]
mov ecx, dword [rsp + 4]
xor ecx, eax
mov eax, ecx
xor eax, dword [rsp + 0xc]
mov ecx, 4
imul rcx, rcx, 9
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, 0xd9d4d039
mov edx, dword [rsp]
add rcx, rdx
add eax, ecx
mov dword [rsp], eax
mov eax, dword [rsp]
shl eax, 4
mov ecx, dword [rsp]
shr ecx, 0x1c
or eax, ecx
mov dword [rsp], eax
mov eax, dword [rsp + 4]
mov ecx, dword [rsp]
add ecx, eax
mov eax, ecx
mov dword [rsp], eax
mov eax, dword [rsp + 4]
mov ecx, dword [rsp]
xor ecx, eax
mov eax, ecx
xor eax, dword [rsp + 8]
mov ecx, 4
imul rcx, rcx, 0xc
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, 0xe6db99e5
mov edx, dword [rsp + 0xc]
add rcx, rdx
add eax, ecx
mov dword [rsp + 0xc], eax
mov eax, dword [rsp + 0xc]
shl eax, 0xb
mov ecx, dword [rsp + 0xc]
shr ecx, 0x15
or eax, ecx
mov dword [rsp + 0xc], eax
mov eax, dword [rsp]
mov ecx, dword [rsp + 0xc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xc], eax
mov eax, dword [rsp]
mov ecx, dword [rsp + 0xc]
xor ecx, eax
mov eax, ecx
xor eax, dword [rsp + 4]
mov ecx, 4
imul rcx, rcx, 0xf
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, dword [rsp + 8]
lea eax, [rcx + rax + 0x1fa27cf8]
mov dword [rsp + 8], eax
mov eax, dword [rsp + 8]
shl eax, 0x10
mov ecx, dword [rsp + 8]
shr ecx, 0x10
or eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0xc]
mov ecx, dword [rsp + 8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0xc]
mov ecx, dword [rsp + 8]
xor ecx, eax
mov eax, ecx
xor eax, dword [rsp]
mov ecx, 4
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, 0xc4ac5665
mov edx, dword [rsp + 4]
add rcx, rdx
add eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 4]
shl eax, 0x17
mov ecx, dword [rsp + 4]
shr ecx, 9
or eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 8]
mov ecx, dword [rsp + 4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 0xc]
not eax
mov ecx, dword [rsp + 4]
or ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 8]
xor ecx, eax
mov eax, ecx
mov ecx, 4
imul rcx, rcx, 0
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, 0xf4292244
mov edx, dword [rsp]
add rcx, rdx
add eax, ecx
mov dword [rsp], eax
mov eax, dword [rsp]
shl eax, 6
mov ecx, dword [rsp]
shr ecx, 0x1a
or eax, ecx
mov dword [rsp], eax
mov eax, dword [rsp + 4]
mov ecx, dword [rsp]
add ecx, eax
mov eax, ecx
mov dword [rsp], eax
mov eax, dword [rsp + 8]
not eax
mov ecx, dword [rsp]
or ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 4]
xor ecx, eax
mov eax, ecx
mov ecx, 4
imul rcx, rcx, 7
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, dword [rsp + 0xc]
lea eax, [rcx + rax + 0x432aff97]
mov dword [rsp + 0xc], eax
mov eax, dword [rsp + 0xc]
shl eax, 0xa
mov ecx, dword [rsp + 0xc]
shr ecx, 0x16
or eax, ecx
mov dword [rsp + 0xc], eax
mov eax, dword [rsp]
mov ecx, dword [rsp + 0xc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xc], eax
mov eax, dword [rsp + 4]
not eax
mov ecx, dword [rsp + 0xc]
or ecx, eax
mov eax, ecx
mov ecx, dword [rsp]
xor ecx, eax
mov eax, ecx
mov ecx, 4
imul rcx, rcx, 0xe
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, 0xab9423a7
mov edx, dword [rsp + 8]
add rcx, rdx
add eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 8]
shl eax, 0xf
mov ecx, dword [rsp + 8]
shr ecx, 0x11
or eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0xc]
mov ecx, dword [rsp + 8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp]
not eax
mov ecx, dword [rsp + 8]
or ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xc]
xor ecx, eax
mov eax, ecx
mov ecx, 4
imul rcx, rcx, 5
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, 0xfc93a039
mov edx, dword [rsp + 4]
add rcx, rdx
add eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 4]
shl eax, 0x15
mov ecx, dword [rsp + 4]
shr ecx, 0xb
or eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 8]
mov ecx, dword [rsp + 4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 0xc]
not eax
mov ecx, dword [rsp + 4]
or ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 8]
xor ecx, eax
mov eax, ecx
mov ecx, 4
imul rcx, rcx, 0xc
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, dword [rsp]
lea eax, [rcx + rax + 0x655b59c3]
mov dword [rsp], eax
mov eax, dword [rsp]
shl eax, 6
mov ecx, dword [rsp]
shr ecx, 0x1a
or eax, ecx
mov dword [rsp], eax
mov eax, dword [rsp + 4]
mov ecx, dword [rsp]
add ecx, eax
mov eax, ecx
mov dword [rsp], eax
mov eax, dword [rsp + 8]
not eax
mov ecx, dword [rsp]
or ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 4]
xor ecx, eax
mov eax, ecx
mov ecx, 4
imul rcx, rcx, 3
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, 0x8f0ccc92
mov edx, dword [rsp + 0xc]
add rcx, rdx
add eax, ecx
mov dword [rsp + 0xc], eax
mov eax, dword [rsp + 0xc]
shl eax, 0xa
mov ecx, dword [rsp + 0xc]
shr ecx, 0x16
or eax, ecx
mov dword [rsp + 0xc], eax
mov eax, dword [rsp]
mov ecx, dword [rsp + 0xc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xc], eax
mov eax, dword [rsp + 4]
not eax
mov ecx, dword [rsp + 0xc]
or ecx, eax
mov eax, ecx
mov ecx, dword [rsp]
xor ecx, eax
mov eax, ecx
mov ecx, 4
imul rcx, rcx, 0xa
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, 0xffeff47d
mov edx, dword [rsp + 8]
add rcx, rdx
add eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 8]
shl eax, 0xf
mov ecx, dword [rsp + 8]
shr ecx, 0x11
or eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0xc]
mov ecx, dword [rsp + 8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp]
not eax
mov ecx, dword [rsp + 8]
or ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xc]
xor ecx, eax
mov eax, ecx
mov ecx, 4
imul rcx, rcx, 1
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, 0x85845dd1
mov edx, dword [rsp + 4]
add rcx, rdx
add eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 4]
shl eax, 0x15
mov ecx, dword [rsp + 4]
shr ecx, 0xb
or eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 8]
mov ecx, dword [rsp + 4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 0xc]
not eax
mov ecx, dword [rsp + 4]
or ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 8]
xor ecx, eax
mov eax, ecx
mov ecx, 4
imul rcx, rcx, 8
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, dword [rsp]
lea eax, [rcx + rax + 0x6fa87e4f]
mov dword [rsp], eax
mov eax, dword [rsp]
shl eax, 6
mov ecx, dword [rsp]
shr ecx, 0x1a
or eax, ecx
mov dword [rsp], eax
mov eax, dword [rsp + 4]
mov ecx, dword [rsp]
add ecx, eax
mov eax, ecx
mov dword [rsp], eax
mov eax, dword [rsp + 8]
not eax
mov ecx, dword [rsp]
or ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 4]
xor ecx, eax
mov eax, ecx
mov ecx, 4
imul rcx, rcx, 0xf
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, 0xfe2ce6e0
mov edx, dword [rsp + 0xc]
add rcx, rdx
add eax, ecx
mov dword [rsp + 0xc], eax
mov eax, dword [rsp + 0xc]
shl eax, 0xa
mov ecx, dword [rsp + 0xc]
shr ecx, 0x16
or eax, ecx
mov dword [rsp + 0xc], eax
mov eax, dword [rsp]
mov ecx, dword [rsp + 0xc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xc], eax
mov eax, dword [rsp + 4]
not eax
mov ecx, dword [rsp + 0xc]
or ecx, eax
mov eax, ecx
mov ecx, dword [rsp]
xor ecx, eax
mov eax, ecx
mov ecx, 4
imul rcx, rcx, 6
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, 0xa3014314
mov edx, dword [rsp + 8]
add rcx, rdx
add eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 8]
shl eax, 0xf
mov ecx, dword [rsp + 8]
shr ecx, 0x11
or eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0xc]
mov ecx, dword [rsp + 8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp]
not eax
mov ecx, dword [rsp + 8]
or ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xc]
xor ecx, eax
mov eax, ecx
mov ecx, 4
imul rcx, rcx, 0xd
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, dword [rsp + 4]
lea eax, [rcx + rax + 0x4e0811a1]
mov dword [rsp + 4], eax
mov eax, dword [rsp + 4]
shl eax, 0x15
mov ecx, dword [rsp + 4]
shr ecx, 0xb
or eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 8]
mov ecx, dword [rsp + 4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 0xc]
not eax
mov ecx, dword [rsp + 4]
or ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 8]
xor ecx, eax
mov eax, ecx
mov ecx, 4
imul rcx, rcx, 4
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, 0xf7537e82
mov edx, dword [rsp]
add rcx, rdx
add eax, ecx
mov dword [rsp], eax
mov eax, dword [rsp]
shl eax, 6
mov ecx, dword [rsp]
shr ecx, 0x1a
or eax, ecx
mov dword [rsp], eax
mov eax, dword [rsp + 4]
mov ecx, dword [rsp]
add ecx, eax
mov eax, ecx
mov dword [rsp], eax
mov eax, dword [rsp + 8]
not eax
mov ecx, dword [rsp]
or ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 4]
xor ecx, eax
mov eax, ecx
mov ecx, 4
imul rcx, rcx, 0xb
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, 0xbd3af235
mov edx, dword [rsp + 0xc]
add rcx, rdx
add eax, ecx
mov dword [rsp + 0xc], eax
mov eax, dword [rsp + 0xc]
shl eax, 0xa
mov ecx, dword [rsp + 0xc]
shr ecx, 0x16
or eax, ecx
mov dword [rsp + 0xc], eax
mov eax, dword [rsp]
mov ecx, dword [rsp + 0xc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xc], eax
mov eax, dword [rsp + 4]
not eax
mov ecx, dword [rsp + 0xc]
or ecx, eax
mov eax, ecx
mov ecx, dword [rsp]
xor ecx, eax
mov eax, ecx
mov ecx, 4
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, dword [rsp + 8]
lea eax, [rcx + rax + 0x2ad7d2bb]
mov dword [rsp + 8], eax
mov eax, dword [rsp + 8]
shl eax, 0xf
mov ecx, dword [rsp + 8]
shr ecx, 0x11
or eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0xc]
mov ecx, dword [rsp + 8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp]
not eax
mov ecx, dword [rsp + 8]
or ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xc]
xor ecx, eax
mov eax, ecx
mov ecx, 4
imul rcx, rcx, 9
mov rdx, qword [rsp + 0x80]
add eax, dword [rdx + rcx + 0x58]
mov ecx, 0xeb86d391
mov edx, dword [rsp + 4]
add rcx, rdx
add eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 4]
shl eax, 0x15
mov ecx, dword [rsp + 4]
shr ecx, 0xb
or eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 8]
mov ecx, dword [rsp + 4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 0x58]
mov ecx, dword [rsp]
add ecx, eax
mov eax, ecx
mov dword [rsp], eax
mov eax, dword [rsp + 0x5c]
mov ecx, dword [rsp + 4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 0x60]
mov ecx, dword [rsp + 8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0x64]
mov ecx, dword [rsp + 0xc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xc], eax
mov rax, qword [rsp + 0x10]
add rax, 0x40
mov qword [rsp + 0x10], rax
mov eax, dword [rsp + 0x90]
sub eax, 0x40
mov dword [rsp + 0x90], eax
cmp dword [rsp + 0x90], 0
jne 0x140058f4b
mov rax, qword [rsp + 0x80]
mov ecx, dword [rsp]
mov dword [rax + 8], ecx
mov rax, qword [rsp + 0x80]
mov ecx, dword [rsp + 4]
mov dword [rax + 0xc], ecx
mov rax, qword [rsp + 0x80]
mov ecx, dword [rsp + 8]
mov dword [rax + 0x10], ecx
mov rax, qword [rsp + 0x80]
mov ecx, dword [rsp + 0xc]
mov dword [rax + 0x14], ecx
mov rax, qword [rsp + 0x10]
add rsp, 0x78
ret