Function at 0x406880
Capabilities:
Encode data using xor

Disassembly:
pop ebp
lea ebp, [ebp + 0x2e9]
sub esp, 0x10
and esp, 0xffffffc0
shl eax, 6
add eax, edi
mov dword [esp], esi
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
lea edx, [0x5a8d50]
mov ecx, dword [edx]
mov ebx, dword [edx + 4]
test ecx, 0x100000
jne 0x4014f0
mov edx, dword [edx + 8]
test ecx, 0x1000000
je 0x4014d6
and ecx, 0x40000000
and ebx, 0x10000200
test edx, 0x20000000
jne 0x403900
or ecx, ebx
and ecx, 0x50000000
cmp ecx, 0x50000000
je 0x404aa0
test ebx, 0x200
jne 0x403c40
sub eax, edi
cmp eax, 0x100
jae 0x4018a0
jmp 0x4014f0
mov eax, dword [edi]
mov ebx, dword [edi + 4]
mov ecx, dword [edi + 8]
bswap eax
mov edx, dword [edi + 0xc]
bswap ebx
push eax
bswap ecx
push ebx
bswap edx
push ecx
push edx
mov eax, dword [edi + 0x10]
mov ebx, dword [edi + 0x14]
mov ecx, dword [edi + 0x18]
bswap eax
mov edx, dword [edi + 0x1c]
bswap ebx
push eax
bswap ecx
push ebx
bswap edx
push ecx
push edx
mov eax, dword [edi + 0x20]
mov ebx, dword [edi + 0x24]
mov ecx, dword [edi + 0x28]
bswap eax
mov edx, dword [edi + 0x2c]
bswap ebx
push eax
bswap ecx
push ebx
bswap edx
push ecx
push edx
mov eax, dword [edi + 0x30]
mov ebx, dword [edi + 0x34]
mov ecx, dword [edi + 0x38]
bswap eax
mov edx, dword [edi + 0x3c]
bswap ebx
push eax
bswap ecx
push ebx
bswap edx
push ecx
push edx
add edi, 0x40
lea esp, [esp - 0x24]
mov dword [esp + 0x68], edi
mov eax, dword [esi]
mov ebx, dword [esi + 4]
mov ecx, dword [esi + 8]
mov edi, dword [esi + 0xc]
mov dword [esp + 8], ebx
xor ebx, ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edi
mov dword [esp], ebx
mov edx, dword [esi + 0x10]
mov ebx, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edi
nop
nop
mov ecx, edx
mov esi, dword [esp + 0x18]
ror ecx, 0xe
mov edi, dword [esp + 0x1c]
xor ecx, edx
xor esi, edi
mov ebx, dword [esp + 0x60]
ror ecx, 5
and esi, edx
mov dword [esp + 0x14], edx
xor edx, ecx
add ebx, dword [esp + 0x20]
xor esi, edi
ror edx, 6
mov ecx, eax
add ebx, esi
ror ecx, 9
add ebx, edx
mov edi, dword [esp + 8]
xor ecx, eax
mov dword [esp + 4], eax
lea esp, [esp - 4]
ror ecx, 0xb
mov esi, dword [ebp]
xor ecx, eax
mov edx, dword [esp + 0x14]
xor eax, edi
ror ecx, 2
add ebx, esi
mov dword [esp], eax
add edx, ebx
and eax, dword [esp + 4]
add ebx, ecx
xor eax, edi
add ebp, 4
add eax, ebx
cmp esi, 0xc19bf174
jne 0x401590
mov ecx, dword [esp + 0x9c]
jmp 0x401610
mov ebx, ecx
mov esi, dword [esp + 0x68]
ror ecx, 0xb
mov edi, esi
ror esi, 2
xor ecx, ebx
shr ebx, 3
ror ecx, 7
xor esi, edi
xor ebx, ecx
ror esi, 0x11
add ebx, dword [esp + 0xa0]
shr edi, 0xa
add ebx, dword [esp + 0x7c]
mov ecx, edx
xor edi, esi
mov esi, dword [esp + 0x18]
ror ecx, 0xe
add ebx, edi
mov edi, dword [esp + 0x1c]
xor ecx, edx
xor esi, edi
mov dword [esp + 0x60], ebx
ror ecx, 5
and esi, edx
mov dword [esp + 0x14], edx
xor edx, ecx
add ebx, dword [esp + 0x20]
xor esi, edi
ror edx, 6
mov ecx, eax
add ebx, esi
ror ecx, 9
add ebx, edx
mov edi, dword [esp + 8]
xor ecx, eax
mov dword [esp + 4], eax
lea esp, [esp - 4]
ror ecx, 0xb
mov esi, dword [ebp]
xor ecx, eax
mov edx, dword [esp + 0x14]
xor eax, edi
ror ecx, 2
add ebx, esi
mov dword [esp], eax
add edx, ebx
and eax, dword [esp + 4]
add ebx, ecx
xor eax, edi
mov ecx, dword [esp + 0x9c]
add ebp, 4
add eax, ebx
cmp esi, 0xc67178f2
jne 0x401610
mov esi, dword [esp + 0x164]
mov ebx, dword [esp + 8]
mov ecx, dword [esp + 0x10]
add eax, dword [esi]
add ebx, dword [esi + 4]
add edi, dword [esi + 8]
add ecx, dword [esi + 0xc]
mov dword [esi], eax
mov dword [esi + 4], ebx
mov dword [esi + 8], edi
mov dword [esi + 0xc], ecx
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x168]
add edx, dword [esi + 0x10]
add eax, dword [esi + 0x14]
add ebx, dword [esi + 0x18]
add ecx, dword [esi + 0x1c]
mov dword [esi + 0x10], edx
mov dword [esi + 0x14], eax
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ecx
lea esp, [esp + 0x164]
sub ebp, 0x100
cmp edi, dword [esp + 8]
jb 0x4014f0
mov esp, dword [esp + 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret
lea esp, [esp - 0x60]
mov eax, dword [esi]
mov ebp, dword [esi + 4]
mov ecx, dword [esi + 8]
mov ebx, dword [esi + 0xc]
mov dword [esp + 4], ebp
xor ebp, ecx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov edx, dword [esi + 0x10]
mov ebx, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
mov esi, dword [esi + 0x1c]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], esi
jmp 0x4018e0
mov ebx, dword [edi]
mov ecx, dword [edi + 4]
bswap ebx
mov esi, dword [edi + 8]
bswap ecx
mov dword [esp + 0x20], ebx
bswap esi
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], esi
mov ebx, dword [edi + 0xc]
mov ecx, dword [edi + 0x10]
bswap ebx
mov esi, dword [edi + 0x14]
bswap ecx
mov dword [esp + 0x2c], ebx
bswap esi
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], esi
mov ebx, dword [edi + 0x18]
mov ecx, dword [edi + 0x1c]
bswap ebx
mov esi, dword [edi + 0x20]
bswap ecx
mov dword [esp + 0x38], ebx
bswap esi
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], esi
mov ebx, dword [edi + 0x24]
mov ecx, dword [edi + 0x28]
bswap ebx
mov esi, dword [edi + 0x2c]
bswap ecx
mov dword [esp + 0x44], ebx
bswap esi
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], esi
mov ebx, dword [edi + 0x30]
mov ecx, dword [edi + 0x34]
bswap ebx
mov esi, dword [edi + 0x38]
bswap ecx
mov dword [esp + 0x50], ebx
bswap esi
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], esi
mov ebx, dword [edi + 0x3c]
add edi, 0x40
bswap ebx
mov dword [esp + 0x64], edi
mov dword [esp + 0x5c], ebx
mov ecx, edx
mov esi, dword [esp + 0x14]
ror edx, 0xe
mov edi, dword [esp + 0x18]
xor edx, ecx
mov ebx, dword [esp + 0x20]
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp + 0x10], ecx
xor edx, ecx
add ebx, dword [esp + 0x1c]
xor edi, esi
ror edx, 6
mov ecx, eax
add ebx, edi
ror ecx, 9
mov esi, eax
mov edi, dword [esp + 4]
xor ecx, eax
mov dword [esp], eax
xor eax, edi
ror ecx, 0xb
and ebp, eax
lea edx, [ebx + edx + 0x428a2f98]
xor ecx, esi
xor ebp, edi
ror ecx, 2
add ebp, edx
add edx, dword [esp + 0xc]
add ebp, ecx
mov esi, edx
mov ecx, dword [esp + 0x10]
ror edx, 0xe
mov edi, dword [esp + 0x14]
xor edx, esi
mov ebx, dword [esp + 0x24]
xor ecx, edi
ror edx, 5
and ecx, esi
mov dword [esp + 0xc], esi
xor edx, esi
add ebx, dword [esp + 0x18]
xor edi, ecx
ror edx, 6
mov esi, ebp
add ebx, edi
ror esi, 9
mov ecx, ebp
mov edi, dword [esp]
xor esi, ebp
mov dword [esp + 0x1c], ebp
xor ebp, edi
ror esi, 0xb
and eax, ebp
lea edx, [ebx + edx + 0x71374491]
xor esi, ecx
xor eax, edi
ror esi, 2
add eax, edx
add edx, dword [esp + 8]
add eax, esi
mov ecx, edx
mov esi, dword [esp + 0xc]
ror edx, 0xe
mov edi, dword [esp + 0x10]
xor edx, ecx
mov ebx, dword [esp + 0x28]
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp + 8], ecx
xor edx, ecx
add ebx, dword [esp + 0x14]
xor edi, esi
ror edx, 6
mov ecx, eax
add ebx, edi
ror ecx, 9
mov esi, eax
mov edi, dword [esp + 0x1c]
xor ecx, eax
mov dword [esp + 0x18], eax
xor eax, edi
ror ecx, 0xb
and ebp, eax
lea edx, [ebx + edx - 0x4a3f0431]
xor ecx, esi
xor ebp, edi
ror ecx, 2
add ebp, edx
add edx, dword [esp + 4]
add ebp, ecx
mov esi, edx
mov ecx, dword [esp + 8]
ror edx, 0xe
mov edi, dword [esp + 0xc]
xor edx, esi
mov ebx, dword [esp + 0x2c]
xor ecx, edi
ror edx, 5
and ecx, esi
mov dword [esp + 4], esi
xor edx, esi
add ebx, dword [esp + 0x10]
xor edi, ecx
ror edx, 6
mov esi, ebp
add ebx, edi
ror esi, 9
mov ecx, ebp
mov edi, dword [esp + 0x18]
xor esi, ebp
mov dword [esp + 0x14], ebp
xor ebp, edi
ror esi, 0xb
and eax, ebp
lea edx, [ebx + edx - 0x164a245b]
xor esi, ecx
xor eax, edi
ror esi, 2
add eax, edx
add edx, dword [esp]
add eax, esi
mov ecx, edx
mov esi, dword [esp + 4]
ror edx, 0xe
mov edi, dword [esp + 8]
xor edx, ecx
mov ebx, dword [esp + 0x30]
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp], ecx
xor edx, ecx
add ebx, dword [esp + 0xc]
xor edi, esi
ror edx, 6
mov ecx, eax
add ebx, edi
ror ecx, 9
mov esi, eax
mov edi, dword [esp + 0x14]
xor ecx, eax
mov dword [esp + 0x10], eax
xor eax, edi
ror ecx, 0xb
and ebp, eax
lea edx, [ebx + edx + 0x3956c25b]
xor ecx, esi
xor ebp, edi
ror ecx, 2
add ebp, edx
add edx, dword [esp + 0x1c]
add ebp, ecx
mov esi, edx
mov ecx, dword [esp]
ror edx, 0xe
mov edi, dword [esp + 4]
xor edx, esi
mov ebx, dword [esp + 0x34]
xor ecx, edi
ror edx, 5
and ecx, esi
mov dword [esp + 0x1c], esi
xor edx, esi
add ebx, dword [esp + 8]
xor edi, ecx
ror edx, 6
mov esi, ebp
add ebx, edi
ror esi, 9
mov ecx, ebp
mov edi, dword [esp + 0x10]
xor esi, ebp
mov dword [esp + 0xc], ebp
xor ebp, edi
ror esi, 0xb
and eax, ebp
lea edx, [ebx + edx + 0x59f111f1]
xor esi, ecx
xor eax, edi
ror esi, 2
add eax, edx
add edx, dword [esp + 0x18]
add eax, esi
mov ecx, edx
mov esi, dword [esp + 0x1c]
ror edx, 0xe
mov edi, dword [esp]
xor edx, ecx
mov ebx, dword [esp + 0x38]
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp + 0x18], ecx
xor edx, ecx
add ebx, dword [esp + 4]
xor edi, esi
ror edx, 6
mov ecx, eax
add ebx, edi
ror ecx, 9
mov esi, eax
mov edi, dword [esp + 0xc]
xor ecx, eax
mov dword [esp + 8], eax
xor eax, edi
ror ecx, 0xb
and ebp, eax
lea edx, [ebx + edx - 0x6dc07d5c]
xor ecx, esi
xor ebp, edi
ror ecx, 2
add ebp, edx
add edx, dword [esp + 0x14]
add ebp, ecx
mov esi, edx
mov ecx, dword [esp + 0x18]
ror edx, 0xe
mov edi, dword [esp + 0x1c]
xor edx, esi
mov ebx, dword [esp + 0x3c]
xor ecx, edi
ror edx, 5
and ecx, esi
mov dword [esp + 0x14], esi
xor edx, esi
add ebx, dword [esp]
xor edi, ecx
ror edx, 6
mov esi, ebp
add ebx, edi
ror esi, 9
mov ecx, ebp
mov edi, dword [esp + 8]
xor esi, ebp
mov dword [esp + 4], ebp
xor ebp, edi
ror esi, 0xb
and eax, ebp
lea edx, [ebx + edx - 0x54e3a12b]
xor esi, ecx
xor eax, edi
ror esi, 2
add eax, edx
add edx, dword [esp + 0x10]
add eax, esi
mov ecx, edx
mov esi, dword [esp + 0x14]
ror edx, 0xe
mov edi, dword [esp + 0x18]
xor edx, ecx
mov ebx, dword [esp + 0x40]
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp + 0x10], ecx
xor edx, ecx
add ebx, dword [esp + 0x1c]
xor edi, esi
ror edx, 6
mov ecx, eax
add ebx, edi
ror ecx, 9
mov esi, eax
mov edi, dword [esp + 4]
xor ecx, eax
mov dword [esp], eax
xor eax, edi
ror ecx, 0xb
and ebp, eax
lea edx, [ebx + edx - 0x27f85568]
xor ecx, esi
xor ebp, edi
ror ecx, 2
add ebp, edx
add edx, dword [esp + 0xc]
add ebp, ecx
mov esi, edx
mov ecx, dword [esp + 0x10]
ror edx, 0xe
mov edi, dword [esp + 0x14]
xor edx, esi
mov ebx, dword [esp + 0x44]
xor ecx, edi
ror edx, 5
and ecx, esi
mov dword [esp + 0xc], esi
xor edx, esi
add ebx, dword [esp + 0x18]
xor edi, ecx
ror edx, 6
mov esi, ebp
add ebx, edi
ror esi, 9
mov ecx, ebp
mov edi, dword [esp]
xor esi, ebp
mov dword [esp + 0x1c], ebp
xor ebp, edi
ror esi, 0xb
and eax, ebp
lea edx, [ebx + edx + 0x12835b01]
xor esi, ecx
xor eax, edi
ror esi, 2
add eax, edx
add edx, dword [esp + 8]
add eax, esi
mov ecx, edx
mov esi, dword [esp + 0xc]
ror edx, 0xe
mov edi, dword [esp + 0x10]
xor edx, ecx
mov ebx, dword [esp + 0x48]
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp + 8], ecx
xor edx, ecx
add ebx, dword [esp + 0x14]
xor edi, esi
ror edx, 6
mov ecx, eax
add ebx, edi
ror ecx, 9
mov esi, eax
mov edi, dword [esp + 0x1c]
xor ecx, eax
mov dword [esp + 0x18], eax
xor eax, edi
ror ecx, 0xb
and ebp, eax
lea edx, [ebx + edx + 0x243185be]
xor ecx, esi
xor ebp, edi
ror ecx, 2
add ebp, edx
add edx, dword [esp + 4]
add ebp, ecx
mov esi, edx
mov ecx, dword [esp + 8]
ror edx, 0xe
mov edi, dword [esp + 0xc]
xor edx, esi
mov ebx, dword [esp + 0x4c]
xor ecx, edi
ror edx, 5
and ecx, esi
mov dword [esp + 4], esi
xor edx, esi
add ebx, dword [esp + 0x10]
xor edi, ecx
ror edx, 6
mov esi, ebp
add ebx, edi
ror esi, 9
mov ecx, ebp
mov edi, dword [esp + 0x18]
xor esi, ebp
mov dword [esp + 0x14], ebp
xor ebp, edi
ror esi, 0xb
and eax, ebp
lea edx, [ebx + edx + 0x550c7dc3]
xor esi, ecx
xor eax, edi
ror esi, 2
add eax, edx
add edx, dword [esp]
add eax, esi
mov ecx, edx
mov esi, dword [esp + 4]
ror edx, 0xe
mov edi, dword [esp + 8]
xor edx, ecx
mov ebx, dword [esp + 0x50]
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp], ecx
xor edx, ecx
add ebx, dword [esp + 0xc]
xor edi, esi
ror edx, 6
mov ecx, eax
add ebx, edi
ror ecx, 9
mov esi, eax
mov edi, dword [esp + 0x14]
xor ecx, eax
mov dword [esp + 0x10], eax
xor eax, edi
ror ecx, 0xb
and ebp, eax
lea edx, [ebx + edx + 0x72be5d74]
xor ecx, esi
xor ebp, edi
ror ecx, 2
add ebp, edx
add edx, dword [esp + 0x1c]
add ebp, ecx
mov esi, edx
mov ecx, dword [esp]
ror edx, 0xe
mov edi, dword [esp + 4]
xor edx, esi
mov ebx, dword [esp + 0x54]
xor ecx, edi
ror edx, 5
and ecx, esi
mov dword [esp + 0x1c], esi
xor edx, esi
add ebx, dword [esp + 8]
xor edi, ecx
ror edx, 6
mov esi, ebp
add ebx, edi
ror esi, 9
mov ecx, ebp
mov edi, dword [esp + 0x10]
xor esi, ebp
mov dword [esp + 0xc], ebp
xor ebp, edi
ror esi, 0xb
and eax, ebp
lea edx, [ebx + edx - 0x7f214e02]
xor esi, ecx
xor eax, edi
ror esi, 2
add eax, edx
add edx, dword [esp + 0x18]
add eax, esi
mov ecx, edx
mov esi, dword [esp + 0x1c]
ror edx, 0xe
mov edi, dword [esp]
xor edx, ecx
mov ebx, dword [esp + 0x58]
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp + 0x18], ecx
xor edx, ecx
add ebx, dword [esp + 4]
xor edi, esi
ror edx, 6
mov ecx, eax
add ebx, edi
ror ecx, 9
mov esi, eax
mov edi, dword [esp + 0xc]
xor ecx, eax
mov dword [esp + 8], eax
xor eax, edi
ror ecx, 0xb
and ebp, eax
lea edx, [ebx + edx - 0x6423f959]
xor ecx, esi
xor ebp, edi
ror ecx, 2
add ebp, edx
add edx, dword [esp + 0x14]
add ebp, ecx
mov esi, edx
mov ecx, dword [esp + 0x18]
ror edx, 0xe
mov edi, dword [esp + 0x1c]
xor edx, esi
mov ebx, dword [esp + 0x5c]
xor ecx, edi
ror edx, 5
and ecx, esi
mov dword [esp + 0x14], esi
xor edx, esi
add ebx, dword [esp]
xor edi, ecx
ror edx, 6
mov esi, ebp
add ebx, edi
ror esi, 9
mov ecx, ebp
mov edi, dword [esp + 8]
xor esi, ebp
mov dword [esp + 4], ebp
xor ebp, edi
ror esi, 0xb
and eax, ebp
lea edx, [ebx + edx - 0x3e640e8c]
xor esi, ecx
xor eax, edi
mov ecx, dword [esp + 0x24]
ror esi, 2
add eax, edx
add edx, dword [esp + 0x10]
add eax, esi
mov esi, dword [esp + 0x58]
mov ebx, ecx
ror ecx, 0xb
mov edi, esi
ror esi, 2
xor ecx, ebx
shr ebx, 3
ror ecx, 7
xor esi, edi
xor ebx, ecx
ror esi, 0x11
add ebx, dword [esp + 0x20]
shr edi, 0xa
add ebx, dword [esp + 0x44]
mov ecx, edx
xor edi, esi
mov esi, dword [esp + 0x14]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp + 0x18]
xor edx, ecx
mov dword [esp + 0x20], ebx
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp + 0x10], ecx
xor edx, ecx
add ebx, dword [esp + 0x1c]
xor edi, esi
ror edx, 6
mov ecx, eax
add ebx, edi
ror ecx, 9
mov esi, eax
mov edi, dword [esp + 4]
xor ecx, eax
mov dword [esp], eax
xor eax, edi
ror ecx, 0xb
and ebp, eax
lea edx, [ebx + edx - 0x1b64963f]
xor ecx, esi
xor ebp, edi
mov esi, dword [esp + 0x28]
ror ecx, 2
add ebp, edx
add edx, dword [esp + 0xc]
add ebp, ecx
mov ecx, dword [esp + 0x5c]
mov ebx, esi
ror esi, 0xb
mov edi, ecx
ror ecx, 2
xor esi, ebx
shr ebx, 3
ror esi, 7
xor ecx, edi
xor ebx, esi
ror ecx, 0x11
add ebx, dword [esp + 0x24]
shr edi, 0xa
add ebx, dword [esp + 0x48]
mov esi, edx
xor edi, ecx
mov ecx, dword [esp + 0x10]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp + 0x14]
xor edx, esi
mov dword [esp + 0x24], ebx
xor ecx, edi
ror edx, 5
and ecx, esi
mov dword [esp + 0xc], esi
xor edx, esi
add ebx, dword [esp + 0x18]
xor edi, ecx
ror edx, 6
mov esi, ebp
add ebx, edi
ror esi, 9
mov ecx, ebp
mov edi, dword [esp]
xor esi, ebp
mov dword [esp + 0x1c], ebp
xor ebp, edi
ror esi, 0xb
and eax, ebp
lea edx, [ebx + edx - 0x1041b87a]
xor esi, ecx
xor eax, edi
mov ecx, dword [esp + 0x2c]
ror esi, 2
add eax, edx
add edx, dword [esp + 8]
add eax, esi
mov esi, dword [esp + 0x20]
mov ebx, ecx
ror ecx, 0xb
mov edi, esi
ror esi, 2
xor ecx, ebx
shr ebx, 3
ror ecx, 7
xor esi, edi
xor ebx, ecx
ror esi, 0x11
add ebx, dword [esp + 0x28]
shr edi, 0xa
add ebx, dword [esp + 0x4c]
mov ecx, edx
xor edi, esi
mov esi, dword [esp + 0xc]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp + 0x10]
xor edx, ecx
mov dword [esp + 0x28], ebx
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp + 8], ecx
xor edx, ecx
add ebx, dword [esp + 0x14]
xor edi, esi
ror edx, 6
mov ecx, eax
add ebx, edi
ror ecx, 9
mov esi, eax
mov edi, dword [esp + 0x1c]
xor ecx, eax
mov dword [esp + 0x18], eax
xor eax, edi
ror ecx, 0xb
and ebp, eax
lea edx, [ebx + edx + 0xfc19dc6]
xor ecx, esi
xor ebp, edi
mov esi, dword [esp + 0x30]
ror ecx, 2
add ebp, edx
add edx, dword [esp + 4]
add ebp, ecx
mov ecx, dword [esp + 0x24]
mov ebx, esi
ror esi, 0xb
mov edi, ecx
ror ecx, 2
xor esi, ebx
shr ebx, 3
ror esi, 7
xor ecx, edi
xor ebx, esi
ror ecx, 0x11
add ebx, dword [esp + 0x2c]
shr edi, 0xa
add ebx, dword [esp + 0x50]
mov esi, edx
xor edi, ecx
mov ecx, dword [esp + 8]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp + 0xc]
xor edx, esi
mov dword [esp + 0x2c], ebx
xor ecx, edi
ror edx, 5
and ecx, esi
mov dword [esp + 4], esi
xor edx, esi
add ebx, dword [esp + 0x10]
xor edi, ecx
ror edx, 6
mov esi, ebp
add ebx, edi
ror esi, 9
mov ecx, ebp
mov edi, dword [esp + 0x18]
xor esi, ebp
mov dword [esp + 0x14], ebp
xor ebp, edi
ror esi, 0xb
and eax, ebp
lea edx, [ebx + edx + 0x240ca1cc]
xor esi, ecx
xor eax, edi
mov ecx, dword [esp + 0x34]
ror esi, 2
add eax, edx
add edx, dword [esp]
add eax, esi
mov esi, dword [esp + 0x28]
mov ebx, ecx
ror ecx, 0xb
mov edi, esi
ror esi, 2
xor ecx, ebx
shr ebx, 3
ror ecx, 7
xor esi, edi
xor ebx, ecx
ror esi, 0x11
add ebx, dword [esp + 0x30]
shr edi, 0xa
add ebx, dword [esp + 0x54]
mov ecx, edx
xor edi, esi
mov esi, dword [esp + 4]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp + 8]
xor edx, ecx
mov dword [esp + 0x30], ebx
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp], ecx
xor edx, ecx
add ebx, dword [esp + 0xc]
xor edi, esi
ror edx, 6
mov ecx, eax
add ebx, edi
ror ecx, 9
mov esi, eax
mov edi, dword [esp + 0x14]
xor ecx, eax
mov dword [esp + 0x10], eax
xor eax, edi
ror ecx, 0xb
and ebp, eax
lea edx, [ebx + edx + 0x2de92c6f]
xor ecx, esi
xor ebp, edi
mov esi, dword [esp + 0x38]
ror ecx, 2
add ebp, edx
add edx, dword [esp + 0x1c]
add ebp, ecx
mov ecx, dword [esp + 0x2c]
mov ebx, esi
ror esi, 0xb
mov edi, ecx
ror ecx, 2
xor esi, ebx
shr ebx, 3
ror esi, 7
xor ecx, edi
xor ebx, esi
ror ecx, 0x11
add ebx, dword [esp + 0x34]
shr edi, 0xa
add ebx, dword [esp + 0x58]
mov esi, edx
xor edi, ecx
mov ecx, dword [esp]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp + 4]
xor edx, esi
mov dword [esp + 0x34], ebx
xor ecx, edi
ror edx, 5
and ecx, esi
mov dword [esp + 0x1c], esi
xor edx, esi
add ebx, dword [esp + 8]
xor edi, ecx
ror edx, 6
mov esi, ebp
add ebx, edi
ror esi, 9
mov ecx, ebp
mov edi, dword [esp + 0x10]
xor esi, ebp
mov dword [esp + 0xc], ebp
xor ebp, edi
ror esi, 0xb
and eax, ebp
lea edx, [ebx + edx + 0x4a7484aa]
xor esi, ecx
xor eax, edi
mov ecx, dword [esp + 0x3c]
ror esi, 2
add eax, edx
add edx, dword [esp + 0x18]
add eax, esi
mov esi, dword [esp + 0x30]
mov ebx, ecx
ror ecx, 0xb
mov edi, esi
ror esi, 2
xor ecx, ebx
shr ebx, 3
ror ecx, 7
xor esi, edi
xor ebx, ecx
ror esi, 0x11
add ebx, dword [esp + 0x38]
shr edi, 0xa
add ebx, dword [esp + 0x5c]
mov ecx, edx
xor edi, esi
mov esi, dword [esp + 0x1c]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp]
xor edx, ecx
mov dword [esp + 0x38], ebx
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp + 0x18], ecx
xor edx, ecx
add ebx, dword [esp + 4]
xor edi, esi
ror edx, 6
mov ecx, eax
add ebx, edi
ror ecx, 9
mov esi, eax
mov edi, dword [esp + 0xc]
xor ecx, eax
mov dword [esp + 8], eax
xor eax, edi
ror ecx, 0xb
and ebp, eax
lea edx, [ebx + edx + 0x5cb0a9dc]
xor ecx, esi
xor ebp, edi
mov esi, dword [esp + 0x40]
ror ecx, 2
add ebp, edx
add edx, dword [esp + 0x14]
add ebp, ecx
mov ecx, dword [esp + 0x34]
mov ebx, esi
ror esi, 0xb
mov edi, ecx
ror ecx, 2
xor esi, ebx
shr ebx, 3
ror esi, 7
xor ecx, edi
xor ebx, esi
ror ecx, 0x11
add ebx, dword [esp + 0x3c]
shr edi, 0xa
add ebx, dword [esp + 0x20]
mov esi, edx
xor edi, ecx
mov ecx, dword [esp + 0x18]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp + 0x1c]
xor edx, esi
mov dword [esp + 0x3c], ebx
xor ecx, edi
ror edx, 5
and ecx, esi
mov dword [esp + 0x14], esi
xor edx, esi
add ebx, dword [esp]
xor edi, ecx
ror edx, 6
mov esi, ebp
add ebx, edi
ror esi, 9
mov ecx, ebp
mov edi, dword [esp + 8]
xor esi, ebp
mov dword [esp + 4], ebp
xor ebp, edi
ror esi, 0xb
and eax, ebp
lea edx, [ebx + edx + 0x76f988da]
xor esi, ecx
xor eax, edi
mov ecx, dword [esp + 0x44]
ror esi, 2
add eax, edx
add edx, dword [esp + 0x10]
add eax, esi
mov esi, dword [esp + 0x38]
mov ebx, ecx
ror ecx, 0xb
mov edi, esi
ror esi, 2
xor ecx, ebx
shr ebx, 3
ror ecx, 7
xor esi, edi
xor ebx, ecx
ror esi, 0x11
add ebx, dword [esp + 0x40]
shr edi, 0xa
add ebx, dword [esp + 0x24]
mov ecx, edx
xor edi, esi
mov esi, dword [esp + 0x14]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp + 0x18]
xor edx, ecx
mov dword [esp + 0x40], ebx
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp + 0x10], ecx
xor edx, ecx
add ebx, dword [esp + 0x1c]
xor edi, esi
ror edx, 6
mov ecx, eax
add ebx, edi
ror ecx, 9
mov esi, eax
mov edi, dword [esp + 4]
xor ecx, eax
mov dword [esp], eax
xor eax, edi
ror ecx, 0xb
and ebp, eax
lea edx, [ebx + edx - 0x67c1aeae]
xor ecx, esi
xor ebp, edi
mov esi, dword [esp + 0x48]
ror ecx, 2
add ebp, edx
add edx, dword [esp + 0xc]
add ebp, ecx
mov ecx, dword [esp + 0x3c]
mov ebx, esi
ror esi, 0xb
mov edi, ecx
ror ecx, 2
xor esi, ebx
shr ebx, 3
ror esi, 7
xor ecx, edi
xor ebx, esi
ror ecx, 0x11
add ebx, dword [esp + 0x44]
shr edi, 0xa
add ebx, dword [esp + 0x28]
mov esi, edx
xor edi, ecx
mov ecx, dword [esp + 0x10]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp + 0x14]
xor edx, esi
mov dword [esp + 0x44], ebx
xor ecx, edi
ror edx, 5
and ecx, esi
mov dword [esp + 0xc], esi
xor edx, esi
add ebx, dword [esp + 0x18]
xor edi, ecx
ror edx, 6
mov esi, ebp
add ebx, edi
ror esi, 9
mov ecx, ebp
mov edi, dword [esp]
xor esi, ebp
mov dword [esp + 0x1c], ebp
xor ebp, edi
ror esi, 0xb
and eax, ebp
lea edx, [ebx + edx - 0x57ce3993]
xor esi, ecx
xor eax, edi
mov ecx, dword [esp + 0x4c]
ror esi, 2
add eax, edx
add edx, dword [esp + 8]
add eax, esi
mov esi, dword [esp + 0x40]
mov ebx, ecx
ror ecx, 0xb
mov edi, esi
ror esi, 2
xor ecx, ebx
shr ebx, 3
ror ecx, 7
xor esi, edi
xor ebx, ecx
ror esi, 0x11
add ebx, dword [esp + 0x48]
shr edi, 0xa
add ebx, dword [esp + 0x2c]
mov ecx, edx
xor edi, esi
mov esi, dword [esp + 0xc]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp + 0x10]
xor edx, ecx
mov dword [esp + 0x48], ebx
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp + 8], ecx
xor edx, ecx
add ebx, dword [esp + 0x14]
xor edi, esi
ror edx, 6
mov ecx, eax
add ebx, edi
ror ecx, 9
mov esi, eax
mov edi, dword [esp + 0x1c]
xor ecx, eax
mov dword [esp + 0x18], eax
xor eax, edi
ror ecx, 0xb
and ebp, eax
lea edx, [ebx + edx - 0x4ffcd838]
xor ecx, esi
xor ebp, edi
mov esi, dword [esp + 0x50]
ror ecx, 2
add ebp, edx
add edx, dword [esp + 4]
add ebp, ecx
mov ecx, dword [esp + 0x44]
mov ebx, esi
ror esi, 0xb
mov edi, ecx
ror ecx, 2
xor esi, ebx
shr ebx, 3
ror esi, 7
xor ecx, edi
xor ebx, esi
ror ecx, 0x11
add ebx, dword [esp + 0x4c]
shr edi, 0xa
add ebx, dword [esp + 0x30]
mov esi, edx
xor edi, ecx
mov ecx, dword [esp + 8]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp + 0xc]
xor edx, esi
mov dword [esp + 0x4c], ebx
xor ecx, edi
ror edx, 5
and ecx, esi
mov dword [esp + 4], esi
xor edx, esi
add ebx, dword [esp + 0x10]
xor edi, ecx
ror edx, 6
mov esi, ebp
add ebx, edi
ror esi, 9
mov ecx, ebp
mov edi, dword [esp + 0x18]
xor esi, ebp
mov dword [esp + 0x14], ebp
xor ebp, edi
ror esi, 0xb
and eax, ebp
lea edx, [ebx + edx - 0x40a68039]
xor esi, ecx
xor eax, edi
mov ecx, dword [esp + 0x54]
ror esi, 2
add eax, edx
add edx, dword [esp]
add eax, esi
mov esi, dword [esp + 0x48]
mov ebx, ecx
ror ecx, 0xb
mov edi, esi
ror esi, 2
xor ecx, ebx
shr ebx, 3
ror ecx, 7
xor esi, edi
xor ebx, ecx
ror esi, 0x11
add ebx, dword [esp + 0x50]
shr edi, 0xa
add ebx, dword [esp + 0x34]
mov ecx, edx
xor edi, esi
mov esi, dword [esp + 4]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp + 8]
xor edx, ecx
mov dword [esp + 0x50], ebx
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp], ecx
xor edx, ecx
add ebx, dword [esp + 0xc]
xor edi, esi
ror edx, 6
mov ecx, eax
add ebx, edi
ror ecx, 9
mov esi, eax
mov edi, dword [esp + 0x14]
xor ecx, eax
mov dword [esp + 0x10], eax
xor eax, edi
ror ecx, 0xb
and ebp, eax
lea edx, [ebx + edx - 0x391ff40d]
xor ecx, esi
xor ebp, edi
mov esi, dword [esp + 0x58]
ror ecx, 2
add ebp, edx
add edx, dword [esp + 0x1c]
add ebp, ecx
mov ecx, dword [esp + 0x4c]
mov ebx, esi
ror esi, 0xb
mov edi, ecx
ror ecx, 2
xor esi, ebx
shr ebx, 3
ror esi, 7
xor ecx, edi
xor ebx, esi
ror ecx, 0x11
add ebx, dword [esp + 0x54]
shr edi, 0xa
add ebx, dword [esp + 0x38]
mov esi, edx
xor edi, ecx
mov ecx, dword [esp]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp + 4]
xor edx, esi
mov dword [esp + 0x54], ebx
xor ecx, edi
ror edx, 5
and ecx, esi
mov dword [esp + 0x1c], esi
xor edx, esi
add ebx, dword [esp + 8]
xor edi, ecx
ror edx, 6
mov esi, ebp
add ebx, edi
ror esi, 9
mov ecx, ebp
mov edi, dword [esp + 0x10]
xor esi, ebp
mov dword [esp + 0xc], ebp
xor ebp, edi
ror esi, 0xb
and eax, ebp
lea edx, [ebx + edx - 0x2a586eb9]
xor esi, ecx
xor eax, edi
mov ecx, dword [esp + 0x5c]
ror esi, 2
add eax, edx
add edx, dword [esp + 0x18]
add eax, esi
mov esi, dword [esp + 0x50]
mov ebx, ecx
ror ecx, 0xb
mov edi, esi
ror esi, 2
xor ecx, ebx
shr ebx, 3
ror ecx, 7
xor esi, edi
xor ebx, ecx
ror esi, 0x11
add ebx, dword [esp + 0x58]
shr edi, 0xa
add ebx, dword [esp + 0x3c]
mov ecx, edx
xor edi, esi
mov esi, dword [esp + 0x1c]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp]
xor edx, ecx
mov dword [esp + 0x58], ebx
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp + 0x18], ecx
xor edx, ecx
add ebx, dword [esp + 4]
xor edi, esi
ror edx, 6
mov ecx, eax
add ebx, edi
ror ecx, 9
mov esi, eax
mov edi, dword [esp + 0xc]
xor ecx, eax
mov dword [esp + 8], eax
xor eax, edi
ror ecx, 0xb
and ebp, eax
lea edx, [ebx + edx + 0x6ca6351]
xor ecx, esi
xor ebp, edi
mov esi, dword [esp + 0x20]
ror ecx, 2
add ebp, edx
add edx, dword [esp + 0x14]
add ebp, ecx
mov ecx, dword [esp + 0x54]
mov ebx, esi
ror esi, 0xb
mov edi, ecx
ror ecx, 2
xor esi, ebx
shr ebx, 3
ror esi, 7
xor ecx, edi
xor ebx, esi
ror ecx, 0x11
add ebx, dword [esp + 0x5c]
shr edi, 0xa
add ebx, dword [esp + 0x40]
mov esi, edx
xor edi, ecx
mov ecx, dword [esp + 0x18]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp + 0x1c]
xor edx, esi
mov dword [esp + 0x5c], ebx
xor ecx, edi
ror edx, 5
and ecx, esi
mov dword [esp + 0x14], esi
xor edx, esi
add ebx, dword [esp]
xor edi, ecx
ror edx, 6
mov esi, ebp
add ebx, edi
ror esi, 9
mov ecx, ebp
mov edi, dword [esp + 8]
xor esi, ebp
mov dword [esp + 4], ebp
xor ebp, edi
ror esi, 0xb
and eax, ebp
lea edx, [ebx + edx + 0x14292967]
xor esi, ecx
xor eax, edi
mov ecx, dword [esp + 0x24]
ror esi, 2
add eax, edx
add edx, dword [esp + 0x10]
add eax, esi
mov esi, dword [esp + 0x58]
mov ebx, ecx
ror ecx, 0xb
mov edi, esi
ror esi, 2
xor ecx, ebx
shr ebx, 3
ror ecx, 7
xor esi, edi
xor ebx, ecx
ror esi, 0x11
add ebx, dword [esp + 0x20]
shr edi, 0xa
add ebx, dword [esp + 0x44]
mov ecx, edx
xor edi, esi
mov esi, dword [esp + 0x14]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp + 0x18]
xor edx, ecx
mov dword [esp + 0x20], ebx
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp + 0x10], ecx
xor edx, ecx
add ebx, dword [esp + 0x1c]
xor edi, esi
ror edx, 6
mov ecx, eax
add ebx, edi
ror ecx, 9
mov esi, eax
mov edi, dword [esp + 4]
xor ecx, eax
mov dword [esp], eax
xor eax, edi
ror ecx, 0xb
and ebp, eax
lea edx, [ebx + edx + 0x27b70a85]
xor ecx, esi
xor ebp, edi
mov esi, dword [esp + 0x28]
ror ecx, 2
add ebp, edx
add edx, dword [esp + 0xc]
add ebp, ecx
mov ecx, dword [esp + 0x5c]
mov ebx, esi
ror esi, 0xb
mov edi, ecx
ror ecx, 2
xor esi, ebx
shr ebx, 3
ror esi, 7
xor ecx, edi
xor ebx, esi
ror ecx, 0x11
add ebx, dword [esp + 0x24]
shr edi, 0xa
add ebx, dword [esp + 0x48]
mov esi, edx
xor edi, ecx
mov ecx, dword [esp + 0x10]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp + 0x14]
xor edx, esi
mov dword [esp + 0x24], ebx
xor ecx, edi
ror edx, 5
and ecx, esi
mov dword [esp + 0xc], esi
xor edx, esi
add ebx, dword [esp + 0x18]
xor edi, ecx
ror edx, 6
mov esi, ebp
add ebx, edi
ror esi, 9
mov ecx, ebp
mov edi, dword [esp]
xor esi, ebp
mov dword [esp + 0x1c], ebp
xor ebp, edi
ror esi, 0xb
and eax, ebp
lea edx, [ebx + edx + 0x2e1b2138]
xor esi, ecx
xor eax, edi
mov ecx, dword [esp + 0x2c]
ror esi, 2
add eax, edx
add edx, dword [esp + 8]
add eax, esi
mov esi, dword [esp + 0x20]
mov ebx, ecx
ror ecx, 0xb
mov edi, esi
ror esi, 2
xor ecx, ebx
shr ebx, 3
ror ecx, 7
xor esi, edi
xor ebx, ecx
ror esi, 0x11
add ebx, dword [esp + 0x28]
shr edi, 0xa
add ebx, dword [esp + 0x4c]
mov ecx, edx
xor edi, esi
mov esi, dword [esp + 0xc]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp + 0x10]
xor edx, ecx
mov dword [esp + 0x28], ebx
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp + 8], ecx
xor edx, ecx
add ebx, dword [esp + 0x14]
xor edi, esi
ror edx, 6
mov ecx, eax
add ebx, edi
ror ecx, 9
mov esi, eax
mov edi, dword [esp + 0x1c]
xor ecx, eax
mov dword [esp + 0x18], eax
xor eax, edi
ror ecx, 0xb
and ebp, eax
lea edx, [ebx + edx + 0x4d2c6dfc]
xor ecx, esi
xor ebp, edi
mov esi, dword [esp + 0x30]
ror ecx, 2
add ebp, edx
add edx, dword [esp + 4]
add ebp, ecx
mov ecx, dword [esp + 0x24]
mov ebx, esi
ror esi, 0xb
mov edi, ecx
ror ecx, 2
xor esi, ebx
shr ebx, 3
ror esi, 7
xor ecx, edi
xor ebx, esi
ror ecx, 0x11
add ebx, dword [esp + 0x2c]
shr edi, 0xa
add ebx, dword [esp + 0x50]
mov esi, edx
xor edi, ecx
mov ecx, dword [esp + 8]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp + 0xc]
xor edx, esi
mov dword [esp + 0x2c], ebx
xor ecx, edi
ror edx, 5
and ecx, esi
mov dword [esp + 4], esi
xor edx, esi
add ebx, dword [esp + 0x10]
xor edi, ecx
ror edx, 6
mov esi, ebp
add ebx, edi
ror esi, 9
mov ecx, ebp
mov edi, dword [esp + 0x18]
xor esi, ebp
mov dword [esp + 0x14], ebp
xor ebp, edi
ror esi, 0xb
and eax, ebp
lea edx, [ebx + edx + 0x53380d13]
xor esi, ecx
xor eax, edi
mov ecx, dword [esp + 0x34]
ror esi, 2
add eax, edx
add edx, dword [esp]
add eax, esi
mov esi, dword [esp + 0x28]
mov ebx, ecx
ror ecx, 0xb
mov edi, esi
ror esi, 2
xor ecx, ebx
shr ebx, 3
ror ecx, 7
xor esi, edi
xor ebx, ecx
ror esi, 0x11
add ebx, dword [esp + 0x30]
shr edi, 0xa
add ebx, dword [esp + 0x54]
mov ecx, edx
xor edi, esi
mov esi, dword [esp + 4]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp + 8]
xor edx, ecx
mov dword [esp + 0x30], ebx
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp], ecx
xor edx, ecx
add ebx, dword [esp + 0xc]
xor edi, esi
ror edx, 6
mov ecx, eax
add ebx, edi
ror ecx, 9
mov esi, eax
mov edi, dword [esp + 0x14]
xor ecx, eax
mov dword [esp + 0x10], eax
xor eax, edi
ror ecx, 0xb
and ebp, eax
lea edx, [ebx + edx + 0x650a7354]
xor ecx, esi
xor ebp, edi
mov esi, dword [esp + 0x38]
ror ecx, 2
add ebp, edx
add edx, dword [esp + 0x1c]
add ebp, ecx
mov ecx, dword [esp + 0x2c]
mov ebx, esi
ror esi, 0xb
mov edi, ecx
ror ecx, 2
xor esi, ebx
shr ebx, 3
ror esi, 7
xor ecx, edi
xor ebx, esi
ror ecx, 0x11
add ebx, dword [esp + 0x34]
shr edi, 0xa
add ebx, dword [esp + 0x58]
mov esi, edx
xor edi, ecx
mov ecx, dword [esp]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp + 4]
xor edx, esi
mov dword [esp + 0x34], ebx
xor ecx, edi
ror edx, 5
and ecx, esi
mov dword [esp + 0x1c], esi
xor edx, esi
add ebx, dword [esp + 8]
xor edi, ecx
ror edx, 6
mov esi, ebp
add ebx, edi
ror esi, 9
mov ecx, ebp
mov edi, dword [esp + 0x10]
xor esi, ebp
mov dword [esp + 0xc], ebp
xor ebp, edi
ror esi, 0xb
and eax, ebp
lea edx, [ebx + edx + 0x766a0abb]
xor esi, ecx
xor eax, edi
mov ecx, dword [esp + 0x3c]
ror esi, 2
add eax, edx
add edx, dword [esp + 0x18]
add eax, esi
mov esi, dword [esp + 0x30]
mov ebx, ecx
ror ecx, 0xb
mov edi, esi
ror esi, 2
xor ecx, ebx
shr ebx, 3
ror ecx, 7
xor esi, edi
xor ebx, ecx
ror esi, 0x11
add ebx, dword [esp + 0x38]
shr edi, 0xa
add ebx, dword [esp + 0x5c]
mov ecx, edx
xor edi, esi
mov esi, dword [esp + 0x1c]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp]
xor edx, ecx
mov dword [esp + 0x38], ebx
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp + 0x18], ecx
xor edx, ecx
add ebx, dword [esp + 4]
xor edi, esi
ror edx, 6
mov ecx, eax
add ebx, edi
ror ecx, 9
mov esi, eax
mov edi, dword [esp + 0xc]
xor ecx, eax
mov dword [esp + 8], eax
xor eax, edi
ror ecx, 0xb
and ebp, eax
lea edx, [ebx + edx - 0x7e3d36d2]
xor ecx, esi
xor ebp, edi
mov esi, dword [esp + 0x40]
ror ecx, 2
add ebp, edx
add edx, dword [esp + 0x14]
add ebp, ecx
mov ecx, dword [esp + 0x34]
mov ebx, esi
ror esi, 0xb
mov edi, ecx
ror ecx, 2
xor esi, ebx
shr ebx, 3
ror esi, 7
xor ecx, edi
xor ebx, esi
ror ecx, 0x11
add ebx, dword [esp + 0x3c]
shr edi, 0xa
add ebx, dword [esp + 0x20]
mov esi, edx
xor edi, ecx
mov ecx, dword [esp + 0x18]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp + 0x1c]
xor edx, esi
mov dword [esp + 0x3c], ebx
xor ecx, edi
ror edx, 5
and ecx, esi
mov dword [esp + 0x14], esi
xor edx, esi
add ebx, dword [esp]
xor edi, ecx
ror edx, 6
mov esi, ebp
add ebx, edi
ror esi, 9
mov ecx, ebp
mov edi, dword [esp + 8]
xor esi, ebp
mov dword [esp + 4], ebp
xor ebp, edi
ror esi, 0xb
and eax, ebp
lea edx, [ebx + edx - 0x6d8dd37b]
xor esi, ecx
xor eax, edi
mov ecx, dword [esp + 0x44]
ror esi, 2
add eax, edx
add edx, dword [esp + 0x10]
add eax, esi
mov esi, dword [esp + 0x38]
mov ebx, ecx
ror ecx, 0xb
mov edi, esi
ror esi, 2
xor ecx, ebx
shr ebx, 3
ror ecx, 7
xor esi, edi
xor ebx, ecx
ror esi, 0x11
add ebx, dword [esp + 0x40]
shr edi, 0xa
add ebx, dword [esp + 0x24]
mov ecx, edx
xor edi, esi
mov esi, dword [esp + 0x14]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp + 0x18]
xor edx, ecx
mov dword [esp + 0x40], ebx
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp + 0x10], ecx
xor edx, ecx
add ebx, dword [esp + 0x1c]
xor edi, esi
ror edx, 6
mov ecx, eax
add ebx, edi
ror ecx, 9
mov esi, eax
mov edi, dword [esp + 4]
xor ecx, eax
mov dword [esp], eax
xor eax, edi
ror ecx, 0xb
and ebp, eax
lea edx, [ebx + edx - 0x5d40175f]
xor ecx, esi
xor ebp, edi
mov esi, dword [esp + 0x48]
ror ecx, 2
add ebp, edx
add edx, dword [esp + 0xc]
add ebp, ecx
mov ecx, dword [esp + 0x3c]
mov ebx, esi
ror esi, 0xb
mov edi, ecx
ror ecx, 2
xor esi, ebx
shr ebx, 3
ror esi, 7
xor ecx, edi
xor ebx, esi
ror ecx, 0x11
add ebx, dword [esp + 0x44]
shr edi, 0xa
add ebx, dword [esp + 0x28]
mov esi, edx
xor edi, ecx
mov ecx, dword [esp + 0x10]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp + 0x14]
xor edx, esi
mov dword [esp + 0x44], ebx
xor ecx, edi
ror edx, 5
and ecx, esi
mov dword [esp + 0xc], esi
xor edx, esi
add ebx, dword [esp + 0x18]
xor edi, ecx
ror edx, 6
mov esi, ebp
add ebx, edi
ror esi, 9
mov ecx, ebp
mov edi, dword [esp]
xor esi, ebp
mov dword [esp + 0x1c], ebp
xor ebp, edi
ror esi, 0xb
and eax, ebp
lea edx, [ebx + edx - 0x57e599b5]
xor esi, ecx
xor eax, edi
mov ecx, dword [esp + 0x4c]
ror esi, 2
add eax, edx
add edx, dword [esp + 8]
add eax, esi
mov esi, dword [esp + 0x40]
mov ebx, ecx
ror ecx, 0xb
mov edi, esi
ror esi, 2
xor ecx, ebx
shr ebx, 3
ror ecx, 7
xor esi, edi
xor ebx, ecx
ror esi, 0x11
add ebx, dword [esp + 0x48]
shr edi, 0xa
add ebx, dword [esp + 0x2c]
mov ecx, edx
xor edi, esi
mov esi, dword [esp + 0xc]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp + 0x10]
xor edx, ecx
mov dword [esp + 0x48], ebx
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp + 8], ecx
xor edx, ecx
add ebx, dword [esp + 0x14]
xor edi, esi
ror edx, 6
mov ecx, eax
add ebx, edi
ror ecx, 9
mov esi, eax
mov edi, dword [esp + 0x1c]
xor ecx, eax
mov dword [esp + 0x18], eax
xor eax, edi
ror ecx, 0xb
and ebp, eax
lea edx, [ebx + edx - 0x3db47490]
xor ecx, esi
xor ebp, edi
mov esi, dword [esp + 0x50]
ror ecx, 2
add ebp, edx
add edx, dword [esp + 4]
add ebp, ecx
mov ecx, dword [esp + 0x44]
mov ebx, esi
ror esi, 0xb
mov edi, ecx
ror ecx, 2
xor esi, ebx
shr ebx, 3
ror esi, 7
xor ecx, edi
xor ebx, esi
ror ecx, 0x11
add ebx, dword [esp + 0x4c]
shr edi, 0xa
add ebx, dword [esp + 0x30]
mov esi, edx
xor edi, ecx
mov ecx, dword [esp + 8]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp + 0xc]
xor edx, esi
mov dword [esp + 0x4c], ebx
xor ecx, edi
ror edx, 5
and ecx, esi
mov dword [esp + 4], esi
xor edx, esi
add ebx, dword [esp + 0x10]
xor edi, ecx
ror edx, 6
mov esi, ebp
add ebx, edi
ror esi, 9
mov ecx, ebp
mov edi, dword [esp + 0x18]
xor esi, ebp
mov dword [esp + 0x14], ebp
xor ebp, edi
ror esi, 0xb
and eax, ebp
lea edx, [ebx + edx - 0x3893ae5d]
xor esi, ecx
xor eax, edi
mov ecx, dword [esp + 0x54]
ror esi, 2
add eax, edx
add edx, dword [esp]
add eax, esi
mov esi, dword [esp + 0x48]
mov ebx, ecx
ror ecx, 0xb
mov edi, esi
ror esi, 2
xor ecx, ebx
shr ebx, 3
ror ecx, 7
xor esi, edi
xor ebx, ecx
ror esi, 0x11
add ebx, dword [esp + 0x50]
shr edi, 0xa
add ebx, dword [esp + 0x34]
mov ecx, edx
xor edi, esi
mov esi, dword [esp + 4]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp + 8]
xor edx, ecx
mov dword [esp + 0x50], ebx
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp], ecx
xor edx, ecx
add ebx, dword [esp + 0xc]
xor edi, esi
ror edx, 6
mov ecx, eax
add ebx, edi
ror ecx, 9
mov esi, eax
mov edi, dword [esp + 0x14]
xor ecx, eax
mov dword [esp + 0x10], eax
xor eax, edi
ror ecx, 0xb
and ebp, eax
lea edx, [ebx + edx - 0x2e6d17e7]
xor ecx, esi
xor ebp, edi
mov esi, dword [esp + 0x58]
ror ecx, 2
add ebp, edx
add edx, dword [esp + 0x1c]
add ebp, ecx
mov ecx, dword [esp + 0x4c]
mov ebx, esi
ror esi, 0xb
mov edi, ecx
ror ecx, 2
xor esi, ebx
shr ebx, 3
ror esi, 7
xor ecx, edi
xor ebx, esi
ror ecx, 0x11
add ebx, dword [esp + 0x54]
shr edi, 0xa
add ebx, dword [esp + 0x38]
mov esi, edx
xor edi, ecx
mov ecx, dword [esp]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp + 4]
xor edx, esi
mov dword [esp + 0x54], ebx
xor ecx, edi
ror edx, 5
and ecx, esi
mov dword [esp + 0x1c], esi
xor edx, esi
add ebx, dword [esp + 8]
xor edi, ecx
ror edx, 6
mov esi, ebp
add ebx, edi
ror esi, 9
mov ecx, ebp
mov edi, dword [esp + 0x10]
xor esi, ebp
mov dword [esp + 0xc], ebp
xor ebp, edi
ror esi, 0xb
and eax, ebp
lea edx, [ebx + edx - 0x2966f9dc]
xor esi, ecx
xor eax, edi
mov ecx, dword [esp + 0x5c]
ror esi, 2
add eax, edx
add edx, dword [esp + 0x18]
add eax, esi
mov esi, dword [esp + 0x50]
mov ebx, ecx
ror ecx, 0xb
mov edi, esi
ror esi, 2
xor ecx, ebx
shr ebx, 3
ror ecx, 7
xor esi, edi
xor ebx, ecx
ror esi, 0x11
add ebx, dword [esp + 0x58]
shr edi, 0xa
add ebx, dword [esp + 0x3c]
mov ecx, edx
xor edi, esi
mov esi, dword [esp + 0x1c]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp]
xor edx, ecx
mov dword [esp + 0x58], ebx
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp + 0x18], ecx
xor edx, ecx
add ebx, dword [esp + 4]
xor edi, esi
ror edx, 6
mov ecx, eax
add ebx, edi
ror ecx, 9
mov esi, eax
mov edi, dword [esp + 0xc]
xor ecx, eax
mov dword [esp + 8], eax
xor eax, edi
ror ecx, 0xb
and ebp, eax
lea edx, [ebx + edx - 0xbf1ca7b]
xor ecx, esi
xor ebp, edi
mov esi, dword [esp + 0x20]
ror ecx, 2
add ebp, edx
add edx, dword [esp + 0x14]
add ebp, ecx
mov ecx, dword [esp + 0x54]
mov ebx, esi
ror esi, 0xb
mov edi, ecx
ror ecx, 2
xor esi, ebx
shr ebx, 3
ror esi, 7
xor ecx, edi
xor ebx, esi
ror ecx, 0x11
add ebx, dword [esp + 0x5c]
shr edi, 0xa
add ebx, dword [esp + 0x40]
mov esi, edx
xor edi, ecx
mov ecx, dword [esp + 0x18]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp + 0x1c]
xor edx, esi
mov dword [esp + 0x5c], ebx
xor ecx, edi
ror edx, 5
and ecx, esi
mov dword [esp + 0x14], esi
xor edx, esi
add ebx, dword [esp]
xor edi, ecx
ror edx, 6
mov esi, ebp
add ebx, edi
ror esi, 9
mov ecx, ebp
mov edi, dword [esp + 8]
xor esi, ebp
mov dword [esp + 4], ebp
xor ebp, edi
ror esi, 0xb
and eax, ebp
lea edx, [ebx + edx + 0x106aa070]
xor esi, ecx
xor eax, edi
mov ecx, dword [esp + 0x24]
ror esi, 2
add eax, edx
add edx, dword [esp + 0x10]
add eax, esi
mov esi, dword [esp + 0x58]
mov ebx, ecx
ror ecx, 0xb
mov edi, esi
ror esi, 2
xor ecx, ebx
shr ebx, 3
ror ecx, 7
xor esi, edi
xor ebx, ecx
ror esi, 0x11
add ebx, dword [esp + 0x20]
shr edi, 0xa
add ebx, dword [esp + 0x44]
mov ecx, edx
xor edi, esi
mov esi, dword [esp + 0x14]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp + 0x18]
xor edx, ecx
mov dword [esp + 0x20], ebx
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp + 0x10], ecx
xor edx, ecx
add ebx, dword [esp + 0x1c]
xor edi, esi
ror edx, 6
mov ecx, eax
add ebx, edi
ror ecx, 9
mov esi, eax
mov edi, dword [esp + 4]
xor ecx, eax
mov dword [esp], eax
xor eax, edi
ror ecx, 0xb
and ebp, eax
lea edx, [ebx + edx + 0x19a4c116]
xor ecx, esi
xor ebp, edi
mov esi, dword [esp + 0x28]
ror ecx, 2
add ebp, edx
add edx, dword [esp + 0xc]
add ebp, ecx
mov ecx, dword [esp + 0x5c]
mov ebx, esi
ror esi, 0xb
mov edi, ecx
ror ecx, 2
xor esi, ebx
shr ebx, 3
ror esi, 7
xor ecx, edi
xor ebx, esi
ror ecx, 0x11
add ebx, dword [esp + 0x24]
shr edi, 0xa
add ebx, dword [esp + 0x48]
mov esi, edx
xor edi, ecx
mov ecx, dword [esp + 0x10]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp + 0x14]
xor edx, esi
mov dword [esp + 0x24], ebx
xor ecx, edi
ror edx, 5
and ecx, esi
mov dword [esp + 0xc], esi
xor edx, esi
add ebx, dword [esp + 0x18]
xor edi, ecx
ror edx, 6
mov esi, ebp
add ebx, edi
ror esi, 9
mov ecx, ebp
mov edi, dword [esp]
xor esi, ebp
mov dword [esp + 0x1c], ebp
xor ebp, edi
ror esi, 0xb
and eax, ebp
lea edx, [ebx + edx + 0x1e376c08]
xor esi, ecx
xor eax, edi
mov ecx, dword [esp + 0x2c]
ror esi, 2
add eax, edx
add edx, dword [esp + 8]
add eax, esi
mov esi, dword [esp + 0x20]
mov ebx, ecx
ror ecx, 0xb
mov edi, esi
ror esi, 2
xor ecx, ebx
shr ebx, 3
ror ecx, 7
xor esi, edi
xor ebx, ecx
ror esi, 0x11
add ebx, dword [esp + 0x28]
shr edi, 0xa
add ebx, dword [esp + 0x4c]
mov ecx, edx
xor edi, esi
mov esi, dword [esp + 0xc]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp + 0x10]
xor edx, ecx
mov dword [esp + 0x28], ebx
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp + 8], ecx
xor edx, ecx
add ebx, dword [esp + 0x14]
xor edi, esi
ror edx, 6
mov ecx, eax
add ebx, edi
ror ecx, 9
mov esi, eax
mov edi, dword [esp + 0x1c]
xor ecx, eax
mov dword [esp + 0x18], eax
xor eax, edi
ror ecx, 0xb
and ebp, eax
lea edx, [ebx + edx + 0x2748774c]
xor ecx, esi
xor ebp, edi
mov esi, dword [esp + 0x30]
ror ecx, 2
add ebp, edx
add edx, dword [esp + 4]
add ebp, ecx
mov ecx, dword [esp + 0x24]
mov ebx, esi
ror esi, 0xb
mov edi, ecx
ror ecx, 2
xor esi, ebx
shr ebx, 3
ror esi, 7
xor ecx, edi
xor ebx, esi
ror ecx, 0x11
add ebx, dword [esp + 0x2c]
shr edi, 0xa
add ebx, dword [esp + 0x50]
mov esi, edx
xor edi, ecx
mov ecx, dword [esp + 8]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp + 0xc]
xor edx, esi
mov dword [esp + 0x2c], ebx
xor ecx, edi
ror edx, 5
and ecx, esi
mov dword [esp + 4], esi
xor edx, esi
add ebx, dword [esp + 0x10]
xor edi, ecx
ror edx, 6
mov esi, ebp
add ebx, edi
ror esi, 9
mov ecx, ebp
mov edi, dword [esp + 0x18]
xor esi, ebp
mov dword [esp + 0x14], ebp
xor ebp, edi
ror esi, 0xb
and eax, ebp
lea edx, [ebx + edx + 0x34b0bcb5]
xor esi, ecx
xor eax, edi
mov ecx, dword [esp + 0x34]
ror esi, 2
add eax, edx
add edx, dword [esp]
add eax, esi
mov esi, dword [esp + 0x28]
mov ebx, ecx
ror ecx, 0xb
mov edi, esi
ror esi, 2
xor ecx, ebx
shr ebx, 3
ror ecx, 7
xor esi, edi
xor ebx, ecx
ror esi, 0x11
add ebx, dword [esp + 0x30]
shr edi, 0xa
add ebx, dword [esp + 0x54]
mov ecx, edx
xor edi, esi
mov esi, dword [esp + 4]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp + 8]
xor edx, ecx
mov dword [esp + 0x30], ebx
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp], ecx
xor edx, ecx
add ebx, dword [esp + 0xc]
xor edi, esi
ror edx, 6
mov ecx, eax
add ebx, edi
ror ecx, 9
mov esi, eax
mov edi, dword [esp + 0x14]
xor ecx, eax
mov dword [esp + 0x10], eax
xor eax, edi
ror ecx, 0xb
and ebp, eax
lea edx, [ebx + edx + 0x391c0cb3]
xor ecx, esi
xor ebp, edi
mov esi, dword [esp + 0x38]
ror ecx, 2
add ebp, edx
add edx, dword [esp + 0x1c]
add ebp, ecx
mov ecx, dword [esp + 0x2c]
mov ebx, esi
ror esi, 0xb
mov edi, ecx
ror ecx, 2
xor esi, ebx
shr ebx, 3
ror esi, 7
xor ecx, edi
xor ebx, esi
ror ecx, 0x11
add ebx, dword [esp + 0x34]
shr edi, 0xa
add ebx, dword [esp + 0x58]
mov esi, edx
xor edi, ecx
mov ecx, dword [esp]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp + 4]
xor edx, esi
mov dword [esp + 0x34], ebx
xor ecx, edi
ror edx, 5
and ecx, esi
mov dword [esp + 0x1c], esi
xor edx, esi
add ebx, dword [esp + 8]
xor edi, ecx
ror edx, 6
mov esi, ebp
add ebx, edi
ror esi, 9
mov ecx, ebp
mov edi, dword [esp + 0x10]
xor esi, ebp
mov dword [esp + 0xc], ebp
xor ebp, edi
ror esi, 0xb
and eax, ebp
lea edx, [ebx + edx + 0x4ed8aa4a]
xor esi, ecx
xor eax, edi
mov ecx, dword [esp + 0x3c]
ror esi, 2
add eax, edx
add edx, dword [esp + 0x18]
add eax, esi
mov esi, dword [esp + 0x30]
mov ebx, ecx
ror ecx, 0xb
mov edi, esi
ror esi, 2
xor ecx, ebx
shr ebx, 3
ror ecx, 7
xor esi, edi
xor ebx, ecx
ror esi, 0x11
add ebx, dword [esp + 0x38]
shr edi, 0xa
add ebx, dword [esp + 0x5c]
mov ecx, edx
xor edi, esi
mov esi, dword [esp + 0x1c]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp]
xor edx, ecx
mov dword [esp + 0x38], ebx
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp + 0x18], ecx
xor edx, ecx
add ebx, dword [esp + 4]
xor edi, esi
ror edx, 6
mov ecx, eax
add ebx, edi
ror ecx, 9
mov esi, eax
mov edi, dword [esp + 0xc]
xor ecx, eax
mov dword [esp + 8], eax
xor eax, edi
ror ecx, 0xb
and ebp, eax
lea edx, [ebx + edx + 0x5b9cca4f]
xor ecx, esi
xor ebp, edi
mov esi, dword [esp + 0x40]
ror ecx, 2
add ebp, edx
add edx, dword [esp + 0x14]
add ebp, ecx
mov ecx, dword [esp + 0x34]
mov ebx, esi
ror esi, 0xb
mov edi, ecx
ror ecx, 2
xor esi, ebx
shr ebx, 3
ror esi, 7
xor ecx, edi
xor ebx, esi
ror ecx, 0x11
add ebx, dword [esp + 0x3c]
shr edi, 0xa
add ebx, dword [esp + 0x20]
mov esi, edx
xor edi, ecx
mov ecx, dword [esp + 0x18]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp + 0x1c]
xor edx, esi
mov dword [esp + 0x3c], ebx
xor ecx, edi
ror edx, 5
and ecx, esi
mov dword [esp + 0x14], esi
xor edx, esi
add ebx, dword [esp]
xor edi, ecx
ror edx, 6
mov esi, ebp
add ebx, edi
ror esi, 9
mov ecx, ebp
mov edi, dword [esp + 8]
xor esi, ebp
mov dword [esp + 4], ebp
xor ebp, edi
ror esi, 0xb
and eax, ebp
lea edx, [ebx + edx + 0x682e6ff3]
xor esi, ecx
xor eax, edi
mov ecx, dword [esp + 0x44]
ror esi, 2
add eax, edx
add edx, dword [esp + 0x10]
add eax, esi
mov esi, dword [esp + 0x38]
mov ebx, ecx
ror ecx, 0xb
mov edi, esi
ror esi, 2
xor ecx, ebx
shr ebx, 3
ror ecx, 7
xor esi, edi
xor ebx, ecx
ror esi, 0x11
add ebx, dword [esp + 0x40]
shr edi, 0xa
add ebx, dword [esp + 0x24]
mov ecx, edx
xor edi, esi
mov esi, dword [esp + 0x14]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp + 0x18]
xor edx, ecx
mov dword [esp + 0x40], ebx
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp + 0x10], ecx
xor edx, ecx
add ebx, dword [esp + 0x1c]
xor edi, esi
ror edx, 6
mov ecx, eax
add ebx, edi
ror ecx, 9
mov esi, eax
mov edi, dword [esp + 4]
xor ecx, eax
mov dword [esp], eax
xor eax, edi
ror ecx, 0xb
and ebp, eax
lea edx, [ebx + edx + 0x748f82ee]
xor ecx, esi
xor ebp, edi
mov esi, dword [esp + 0x48]
ror ecx, 2
add ebp, edx
add edx, dword [esp + 0xc]
add ebp, ecx
mov ecx, dword [esp + 0x3c]
mov ebx, esi
ror esi, 0xb
mov edi, ecx
ror ecx, 2
xor esi, ebx
shr ebx, 3
ror esi, 7
xor ecx, edi
xor ebx, esi
ror ecx, 0x11
add ebx, dword [esp + 0x44]
shr edi, 0xa
add ebx, dword [esp + 0x28]
mov esi, edx
xor edi, ecx
mov ecx, dword [esp + 0x10]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp + 0x14]
xor edx, esi
mov dword [esp + 0x44], ebx
xor ecx, edi
ror edx, 5
and ecx, esi
mov dword [esp + 0xc], esi
xor edx, esi
add ebx, dword [esp + 0x18]
xor edi, ecx
ror edx, 6
mov esi, ebp
add ebx, edi
ror esi, 9
mov ecx, ebp
mov edi, dword [esp]
xor esi, ebp
mov dword [esp + 0x1c], ebp
xor ebp, edi
ror esi, 0xb
and eax, ebp
lea edx, [ebx + edx + 0x78a5636f]
xor esi, ecx
xor eax, edi
mov ecx, dword [esp + 0x4c]
ror esi, 2
add eax, edx
add edx, dword [esp + 8]
add eax, esi
mov esi, dword [esp + 0x40]
mov ebx, ecx
ror ecx, 0xb
mov edi, esi
ror esi, 2
xor ecx, ebx
shr ebx, 3
ror ecx, 7
xor esi, edi
xor ebx, ecx
ror esi, 0x11
add ebx, dword [esp + 0x48]
shr edi, 0xa
add ebx, dword [esp + 0x2c]
mov ecx, edx
xor edi, esi
mov esi, dword [esp + 0xc]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp + 0x10]
xor edx, ecx
mov dword [esp + 0x48], ebx
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp + 8], ecx
xor edx, ecx
add ebx, dword [esp + 0x14]
xor edi, esi
ror edx, 6
mov ecx, eax
add ebx, edi
ror ecx, 9
mov esi, eax
mov edi, dword [esp + 0x1c]
xor ecx, eax
mov dword [esp + 0x18], eax
xor eax, edi
ror ecx, 0xb
and ebp, eax
lea edx, [ebx + edx - 0x7b3787ec]
xor ecx, esi
xor ebp, edi
mov esi, dword [esp + 0x50]
ror ecx, 2
add ebp, edx
add edx, dword [esp + 4]
add ebp, ecx
mov ecx, dword [esp + 0x44]
mov ebx, esi
ror esi, 0xb
mov edi, ecx
ror ecx, 2
xor esi, ebx
shr ebx, 3
ror esi, 7
xor ecx, edi
xor ebx, esi
ror ecx, 0x11
add ebx, dword [esp + 0x4c]
shr edi, 0xa
add ebx, dword [esp + 0x30]
mov esi, edx
xor edi, ecx
mov ecx, dword [esp + 8]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp + 0xc]
xor edx, esi
mov dword [esp + 0x4c], ebx
xor ecx, edi
ror edx, 5
and ecx, esi
mov dword [esp + 4], esi
xor edx, esi
add ebx, dword [esp + 0x10]
xor edi, ecx
ror edx, 6
mov esi, ebp
add ebx, edi
ror esi, 9
mov ecx, ebp
mov edi, dword [esp + 0x18]
xor esi, ebp
mov dword [esp + 0x14], ebp
xor ebp, edi
ror esi, 0xb
and eax, ebp
lea edx, [ebx + edx - 0x7338fdf8]
xor esi, ecx
xor eax, edi
mov ecx, dword [esp + 0x54]
ror esi, 2
add eax, edx
add edx, dword [esp]
add eax, esi
mov esi, dword [esp + 0x48]
mov ebx, ecx
ror ecx, 0xb
mov edi, esi
ror esi, 2
xor ecx, ebx
shr ebx, 3
ror ecx, 7
xor esi, edi
xor ebx, ecx
ror esi, 0x11
add ebx, dword [esp + 0x50]
shr edi, 0xa
add ebx, dword [esp + 0x34]
mov ecx, edx
xor edi, esi
mov esi, dword [esp + 4]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp + 8]
xor edx, ecx
mov dword [esp + 0x50], ebx
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp], ecx
xor edx, ecx
add ebx, dword [esp + 0xc]
xor edi, esi
ror edx, 6
mov ecx, eax
add ebx, edi
ror ecx, 9
mov esi, eax
mov edi, dword [esp + 0x14]
xor ecx, eax
mov dword [esp + 0x10], eax
xor eax, edi
ror ecx, 0xb
and ebp, eax
lea edx, [ebx + edx - 0x6f410006]
xor ecx, esi
xor ebp, edi
mov esi, dword [esp + 0x58]
ror ecx, 2
add ebp, edx
add edx, dword [esp + 0x1c]
add ebp, ecx
mov ecx, dword [esp + 0x4c]
mov ebx, esi
ror esi, 0xb
mov edi, ecx
ror ecx, 2
xor esi, ebx
shr ebx, 3
ror esi, 7
xor ecx, edi
xor ebx, esi
ror ecx, 0x11
add ebx, dword [esp + 0x54]
shr edi, 0xa
add ebx, dword [esp + 0x38]
mov esi, edx
xor edi, ecx
mov ecx, dword [esp]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp + 4]
xor edx, esi
mov dword [esp + 0x54], ebx
xor ecx, edi
ror edx, 5
and ecx, esi
mov dword [esp + 0x1c], esi
xor edx, esi
add ebx, dword [esp + 8]
xor edi, ecx
ror edx, 6
mov esi, ebp
add ebx, edi
ror esi, 9
mov ecx, ebp
mov edi, dword [esp + 0x10]
xor esi, ebp
mov dword [esp + 0xc], ebp
xor ebp, edi
ror esi, 0xb
and eax, ebp
lea edx, [ebx + edx - 0x5baf9315]
xor esi, ecx
xor eax, edi
mov ecx, dword [esp + 0x5c]
ror esi, 2
add eax, edx
add edx, dword [esp + 0x18]
add eax, esi
mov esi, dword [esp + 0x50]
mov ebx, ecx
ror ecx, 0xb
mov edi, esi
ror esi, 2
xor ecx, ebx
shr ebx, 3
ror ecx, 7
xor esi, edi
xor ebx, ecx
ror esi, 0x11
add ebx, dword [esp + 0x58]
shr edi, 0xa
add ebx, dword [esp + 0x3c]
mov ecx, edx
xor edi, esi
mov esi, dword [esp + 0x1c]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp]
xor edx, ecx
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp + 0x18], ecx
xor edx, ecx
add ebx, dword [esp + 4]
xor edi, esi
ror edx, 6
mov ecx, eax
add ebx, edi
ror ecx, 9
mov esi, eax
mov edi, dword [esp + 0xc]
xor ecx, eax
mov dword [esp + 8], eax
xor eax, edi
ror ecx, 0xb
and ebp, eax
lea edx, [ebx + edx - 0x41065c09]
xor ecx, esi
xor ebp, edi
mov esi, dword [esp + 0x20]
ror ecx, 2
add ebp, edx
add edx, dword [esp + 0x14]
add ebp, ecx
mov ecx, dword [esp + 0x54]
mov ebx, esi
ror esi, 0xb
mov edi, ecx
ror ecx, 2
xor esi, ebx
shr ebx, 3
ror esi, 7
xor ecx, edi
xor ebx, esi
ror ecx, 0x11
add ebx, dword [esp + 0x5c]
shr edi, 0xa
add ebx, dword [esp + 0x40]
mov esi, edx
xor edi, ecx
mov ecx, dword [esp + 0x18]
ror edx, 0xe
add ebx, edi
mov edi, dword [esp + 0x1c]
xor edx, esi
xor ecx, edi
ror edx, 5
and ecx, esi
mov dword [esp + 0x14], esi
xor edx, esi
add ebx, dword [esp]
xor edi, ecx
ror edx, 6
mov esi, ebp
add ebx, edi
ror esi, 9
mov ecx, ebp
mov edi, dword [esp + 8]
xor esi, ebp
mov dword [esp + 4], ebp
xor ebp, edi
ror esi, 0xb
and eax, ebp
lea edx, [ebx + edx - 0x398e870e]
xor esi, ecx
xor eax, edi
ror esi, 2
add eax, edx
add edx, dword [esp + 0x10]
add eax, esi
mov esi, dword [esp + 0x60]
xor ebp, edi
mov ecx, dword [esp + 0xc]
add eax, dword [esi]
add ebp, dword [esi + 4]
add edi, dword [esi + 8]
add ecx, dword [esi + 0xc]
mov dword [esi], eax
mov dword [esi + 4], ebp
mov dword [esi + 8], edi
mov dword [esi + 0xc], ecx
mov dword [esp + 4], ebp
xor ebp, edi
mov dword [esp + 8], edi
mov dword [esp + 0xc], ecx
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
add edx, dword [esi + 0x10]
add edi, dword [esi + 0x14]
add ebx, dword [esi + 0x18]
add ecx, dword [esi + 0x1c]
mov dword [esi + 0x10], edx
mov dword [esi + 0x14], edi
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ecx
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x64]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ecx
cmp edi, dword [esp + 0x68]
jb 0x4018e0
mov esp, dword [esp + 0x6c]
pop edi
pop esi
pop ebx
pop ebp
ret
sub esp, 0x20
movdqu xmm1, xmmword [esi]
lea ebp, [ebp + 0x80]
movdqu xmm2, xmmword [esi + 0x10]
movdqa xmm7, xmmword [ebp + 0x80]
pshufd xmm0, xmm1, 0x1b
pshufd xmm1, xmm1, 0xb1
pshufd xmm2, xmm2, 0x1b
palignr xmm1, xmm2, 8
punpcklqdq xmm2, xmm0
jmp 0x403940
movdqu xmm3, xmmword [edi]
movdqu xmm4, xmmword [edi + 0x10]
movdqu xmm5, xmmword [edi + 0x20]
pshufb xmm3, xmm7
movdqu xmm6, xmmword [edi + 0x30]
movdqa xmmword [esp + 0x10], xmm2
movdqa xmm0, xmmword [ebp - 0x80]
paddd xmm0, xmm3
pshufb xmm4, xmm7
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
nop
movdqa xmmword [esp], xmm1
sha256rnds2 xmm1, xmm2, xmm0
movdqa xmm0, xmmword [ebp - 0x70]
paddd xmm0, xmm4
pshufb xmm5, xmm7
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
lea edi, [edi + 0x40]
sha256msg1 xmm3, xmm4
sha256rnds2 xmm1, xmm2, xmm0
movdqa xmm0, xmmword [ebp - 0x60]
paddd xmm0, xmm5
pshufb xmm6, xmm7
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
movdqa xmm7, xmm6
palignr xmm7, xmm5, 4
nop
paddd xmm3, xmm7
sha256msg1 xmm4, xmm5
sha256rnds2 xmm1, xmm2, xmm0
movdqa xmm0, xmmword [ebp - 0x50]
paddd xmm0, xmm6
sha256msg2 xmm3, xmm6
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
movdqa xmm7, xmm3
palignr xmm7, xmm6, 4
nop
paddd xmm4, xmm7
sha256msg1 xmm5, xmm6
sha256rnds2 xmm1, xmm2, xmm0
movdqa xmm0, xmmword [ebp - 0x40]
paddd xmm0, xmm3
sha256msg2 xmm4, xmm3
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
movdqa xmm7, xmm4
palignr xmm7, xmm3, 4
nop
paddd xmm5, xmm7
sha256msg1 xmm6, xmm3
sha256rnds2 xmm1, xmm2, xmm0
movdqa xmm0, xmmword [ebp - 0x30]
paddd xmm0, xmm4
sha256msg2 xmm5, xmm4
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
movdqa xmm7, xmm5
palignr xmm7, xmm4, 4
nop
paddd xmm6, xmm7
sha256msg1 xmm3, xmm4
sha256rnds2 xmm1, xmm2, xmm0
movdqa xmm0, xmmword [ebp - 0x20]
paddd xmm0, xmm5
sha256msg2 xmm6, xmm5
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
movdqa xmm7, xmm6
palignr xmm7, xmm5, 4
nop
paddd xmm3, xmm7
sha256msg1 xmm4, xmm5
sha256rnds2 xmm1, xmm2, xmm0
movdqa xmm0, xmmword [ebp - 0x10]
paddd xmm0, xmm6
sha256msg2 xmm3, xmm6
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
movdqa xmm7, xmm3
palignr xmm7, xmm6, 4
nop
paddd xmm4, xmm7
sha256msg1 xmm5, xmm6
sha256rnds2 xmm1, xmm2, xmm0
movdqa xmm0, xmmword [ebp]
paddd xmm0, xmm3
sha256msg2 xmm4, xmm3
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
movdqa xmm7, xmm4
palignr xmm7, xmm3, 4
nop
paddd xmm5, xmm7
sha256msg1 xmm6, xmm3
sha256rnds2 xmm1, xmm2, xmm0
movdqa xmm0, xmmword [ebp + 0x10]
paddd xmm0, xmm4
sha256msg2 xmm5, xmm4
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
movdqa xmm7, xmm5
palignr xmm7, xmm4, 4
nop
paddd xmm6, xmm7
sha256msg1 xmm3, xmm4
sha256rnds2 xmm1, xmm2, xmm0
movdqa xmm0, xmmword [ebp + 0x20]
paddd xmm0, xmm5
sha256msg2 xmm6, xmm5
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
movdqa xmm7, xmm6
palignr xmm7, xmm5, 4
nop
paddd xmm3, xmm7
sha256msg1 xmm4, xmm5
sha256rnds2 xmm1, xmm2, xmm0
movdqa xmm0, xmmword [ebp + 0x30]
paddd xmm0, xmm6
sha256msg2 xmm3, xmm6
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
movdqa xmm7, xmm3
palignr xmm7, xmm6, 4
nop
paddd xmm4, xmm7
sha256msg1 xmm5, xmm6
sha256rnds2 xmm1, xmm2, xmm0
movdqa xmm0, xmmword [ebp + 0x40]
paddd xmm0, xmm3
sha256msg2 xmm4, xmm3
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
movdqa xmm7, xmm4
palignr xmm7, xmm3, 4
nop
paddd xmm5, xmm7
sha256msg1 xmm6, xmm3
sha256rnds2 xmm1, xmm2, xmm0
movdqa xmm0, xmmword [ebp + 0x50]
paddd xmm0, xmm4
sha256msg2 xmm5, xmm4
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
movdqa xmm7, xmm5
palignr xmm7, xmm4, 4
sha256rnds2 xmm1, xmm2, xmm0
paddd xmm6, xmm7
movdqa xmm0, xmmword [ebp + 0x60]
paddd xmm0, xmm5
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
sha256msg2 xmm6, xmm5
movdqa xmm7, xmmword [ebp + 0x80]
sha256rnds2 xmm1, xmm2, xmm0
movdqa xmm0, xmmword [ebp + 0x70]
paddd xmm0, xmm6
nop
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
cmp eax, edi
nop
sha256rnds2 xmm1, xmm2, xmm0
paddd xmm2, xmmword [esp + 0x10]
paddd xmm1, xmmword [esp]
jne 0x403940
pshufd xmm2, xmm2, 0xb1
pshufd xmm7, xmm1, 0x1b
pshufd xmm1, xmm1, 0xb1
punpckhqdq xmm1, xmm2
palignr xmm2, xmm7, 8
mov esp, dword [esp + 0x2c]
movdqu xmmword [esi], xmm1
movdqu xmmword [esi + 0x10], xmm2
pop edi
pop esi
pop ebx
pop ebp
ret
lea esp, [esp - 0x60]
mov eax, dword [esi]
mov ebx, dword [esi + 4]
mov ecx, dword [esi + 8]
mov edi, dword [esi + 0xc]
mov dword [esp + 4], ebx
xor ebx, ecx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
mov edx, dword [esi + 0x10]
mov edi, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
mov esi, dword [esi + 0x1c]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x64]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], esi
movdqa xmm7, xmmword [ebp + 0x100]
jmp 0x403c90
movdqu xmm0, xmmword [edi]
movdqu xmm1, xmmword [edi + 0x10]
movdqu xmm2, xmmword [edi + 0x20]
movdqu xmm3, xmmword [edi + 0x30]
add edi, 0x40
pshufb xmm0, xmm7
mov dword [esp + 0x64], edi
pshufb xmm1, xmm7
movdqa xmm4, xmmword [ebp]
pshufb xmm2, xmm7
movdqa xmm5, xmmword [ebp + 0x10]
paddd xmm4, xmm0
pshufb xmm3, xmm7
movdqa xmm6, xmmword [ebp + 0x20]
paddd xmm5, xmm1
movdqa xmm7, xmmword [ebp + 0x30]
movdqa xmmword [esp + 0x20], xmm4
paddd xmm6, xmm2
movdqa xmmword [esp + 0x30], xmm5
paddd xmm7, xmm3
movdqa xmmword [esp + 0x40], xmm6
movdqa xmmword [esp + 0x50], xmm7
jmp 0x403d00
add ebp, 0x40
mov ecx, edx
movdqa xmm4, xmm1
ror edx, 0xe
mov esi, dword [esp + 0x14]
movdqa xmm7, xmm3
xor edx, ecx
mov edi, dword [esp + 0x18]
palignr xmm4, xmm0, 4
xor esi, edi
ror edx, 5
and esi, ecx
palignr xmm7, xmm2, 4
mov dword [esp + 0x10], ecx
xor edx, ecx
xor edi, esi
movdqa xmm5, xmm4
ror edx, 6
mov ecx, eax
movdqa xmm6, xmm4
add edx, edi
mov edi, dword [esp + 4]
psrld xmm4, 3
mov esi, eax
ror ecx, 9
paddd xmm0, xmm7
mov dword [esp], eax
xor ecx, eax
psrld xmm6, 7
xor eax, edi
add edx, dword [esp + 0x1c]
ror ecx, 0xb
and ebx, eax
pshufd xmm7, xmm3, 0xfa
xor ecx, esi
add edx, dword [esp + 0x20]
pslld xmm5, 0xe
xor ebx, edi
ror ecx, 2
pxor xmm4, xmm6
add ebx, edx
add edx, dword [esp + 0xc]
psrld xmm6, 0xb
add ebx, ecx
mov ecx, edx
ror edx, 0xe
pxor xmm4, xmm5
mov esi, dword [esp + 0x10]
xor edx, ecx
pslld xmm5, 0xb
mov edi, dword [esp + 0x14]
xor esi, edi
ror edx, 5
pxor xmm4, xmm6
and esi, ecx
mov dword [esp + 0xc], ecx
movdqa xmm6, xmm7
xor edx, ecx
xor edi, esi
ror edx, 6
pxor xmm4, xmm5
mov ecx, ebx
add edx, edi
psrld xmm7, 0xa
mov edi, dword [esp]
mov esi, ebx
ror ecx, 9
paddd xmm0, xmm4
mov dword [esp + 0x1c], ebx
xor ecx, ebx
psrlq xmm6, 0x11
xor ebx, edi
add edx, dword [esp + 0x18]
ror ecx, 0xb
pxor xmm7, xmm6
and eax, ebx
xor ecx, esi
psrlq xmm6, 2
add edx, dword [esp + 0x24]
xor eax, edi
ror ecx, 2
pxor xmm7, xmm6
add eax, edx
add edx, dword [esp + 8]
pshufd xmm7, xmm7, 0x80
add eax, ecx
mov ecx, edx
ror edx, 0xe
mov esi, dword [esp + 0xc]
xor edx, ecx
mov edi, dword [esp + 0x10]
xor esi, edi
ror edx, 5
and esi, ecx
psrldq xmm7, 8
mov dword [esp + 8], ecx
xor edx, ecx
xor edi, esi
paddd xmm0, xmm7
ror edx, 6
mov ecx, eax
add edx, edi
mov edi, dword [esp + 0x1c]
mov esi, eax
ror ecx, 9
mov dword [esp + 0x18], eax
pshufd xmm7, xmm0, 0x50
xor ecx, eax
xor eax, edi
add edx, dword [esp + 0x14]
movdqa xmm6, xmm7
ror ecx, 0xb
psrld xmm7, 0xa
and ebx, eax
psrlq xmm6, 0x11
xor ecx, esi
add edx, dword [esp + 0x28]
xor ebx, edi
ror ecx, 2
pxor xmm7, xmm6
add ebx, edx
add edx, dword [esp + 4]
psrlq xmm6, 2
add ebx, ecx
mov ecx, edx
ror edx, 0xe
pxor xmm7, xmm6
mov esi, dword [esp + 8]
xor edx, ecx
mov edi, dword [esp + 0xc]
pshufd xmm7, xmm7, 8
xor esi, edi
ror edx, 5
movdqa xmm6, xmmword [ebp]
and esi, ecx
mov dword [esp + 4], ecx
pslldq xmm7, 8
xor edx, ecx
xor edi, esi
ror edx, 6
mov ecx, ebx
add edx, edi
mov edi, dword [esp + 0x18]
mov esi, ebx
ror ecx, 9
paddd xmm0, xmm7
mov dword [esp + 0x14], ebx
xor ecx, ebx
xor ebx, edi
add edx, dword [esp + 0x10]
paddd xmm6, xmm0
ror ecx, 0xb
and eax, ebx
xor ecx, esi
add edx, dword [esp + 0x2c]
xor eax, edi
ror ecx, 2
add eax, edx
add edx, dword [esp]
add eax, ecx
movdqa xmmword [esp + 0x20], xmm6
mov ecx, edx
movdqa xmm4, xmm2
ror edx, 0xe
mov esi, dword [esp + 4]
movdqa xmm7, xmm0
xor edx, ecx
mov edi, dword [esp + 8]
palignr xmm4, xmm1, 4
xor esi, edi
ror edx, 5
and esi, ecx
palignr xmm7, xmm3, 4
mov dword [esp], ecx
xor edx, ecx
xor edi, esi
movdqa xmm5, xmm4
ror edx, 6
mov ecx, eax
movdqa xmm6, xmm4
add edx, edi
mov edi, dword [esp + 0x14]
psrld xmm4, 3
mov esi, eax
ror ecx, 9
paddd xmm1, xmm7
mov dword [esp + 0x10], eax
xor ecx, eax
psrld xmm6, 7
xor eax, edi
add edx, dword [esp + 0xc]
ror ecx, 0xb
and ebx, eax
pshufd xmm7, xmm0, 0xfa
xor ecx, esi
add edx, dword [esp + 0x30]
pslld xmm5, 0xe
xor ebx, edi
ror ecx, 2
pxor xmm4, xmm6
add ebx, edx
add edx, dword [esp + 0x1c]
psrld xmm6, 0xb
add ebx, ecx
mov ecx, edx
ror edx, 0xe
pxor xmm4, xmm5
mov esi, dword [esp]
xor edx, ecx
pslld xmm5, 0xb
mov edi, dword [esp + 4]
xor esi, edi
ror edx, 5
pxor xmm4, xmm6
and esi, ecx
mov dword [esp + 0x1c], ecx
movdqa xmm6, xmm7
xor edx, ecx
xor edi, esi
ror edx, 6
pxor xmm4, xmm5
mov ecx, ebx
add edx, edi
psrld xmm7, 0xa
mov edi, dword [esp + 0x10]
mov esi, ebx
ror ecx, 9
paddd xmm1, xmm4
mov dword [esp + 0xc], ebx
xor ecx, ebx
psrlq xmm6, 0x11
xor ebx, edi
add edx, dword [esp + 8]
ror ecx, 0xb
pxor xmm7, xmm6
and eax, ebx
xor ecx, esi
psrlq xmm6, 2
add edx, dword [esp + 0x34]
xor eax, edi
ror ecx, 2
pxor xmm7, xmm6
add eax, edx
add edx, dword [esp + 0x18]
pshufd xmm7, xmm7, 0x80
add eax, ecx
mov ecx, edx
ror edx, 0xe
mov esi, dword [esp + 0x1c]
xor edx, ecx
mov edi, dword [esp]
xor esi, edi
ror edx, 5
and esi, ecx
psrldq xmm7, 8
mov dword [esp + 0x18], ecx
xor edx, ecx
xor edi, esi
paddd xmm1, xmm7
ror edx, 6
mov ecx, eax
add edx, edi
mov edi, dword [esp + 0xc]
mov esi, eax
ror ecx, 9
mov dword [esp + 8], eax
pshufd xmm7, xmm1, 0x50
xor ecx, eax
xor eax, edi
add edx, dword [esp + 4]
movdqa xmm6, xmm7
ror ecx, 0xb
psrld xmm7, 0xa
and ebx, eax
psrlq xmm6, 0x11
xor ecx, esi
add edx, dword [esp + 0x38]
xor ebx, edi
ror ecx, 2
pxor xmm7, xmm6
add ebx, edx
add edx, dword [esp + 0x14]
psrlq xmm6, 2
add ebx, ecx
mov ecx, edx
ror edx, 0xe
pxor xmm7, xmm6
mov esi, dword [esp + 0x18]
xor edx, ecx
mov edi, dword [esp + 0x1c]
pshufd xmm7, xmm7, 8
xor esi, edi
ror edx, 5
movdqa xmm6, xmmword [ebp + 0x10]
and esi, ecx
mov dword [esp + 0x14], ecx
pslldq xmm7, 8
xor edx, ecx
xor edi, esi
ror edx, 6
mov ecx, ebx
add edx, edi
mov edi, dword [esp + 8]
mov esi, ebx
ror ecx, 9
paddd xmm1, xmm7
mov dword [esp + 4], ebx
xor ecx, ebx
xor ebx, edi
add edx, dword [esp]
paddd xmm6, xmm1
ror ecx, 0xb
and eax, ebx
xor ecx, esi
add edx, dword [esp + 0x3c]
xor eax, edi
ror ecx, 2
add eax, edx
add edx, dword [esp + 0x10]
add eax, ecx
movdqa xmmword [esp + 0x30], xmm6
mov ecx, edx
movdqa xmm4, xmm3
ror edx, 0xe
mov esi, dword [esp + 0x14]
movdqa xmm7, xmm1
xor edx, ecx
mov edi, dword [esp + 0x18]
palignr xmm4, xmm2, 4
xor esi, edi
ror edx, 5
and esi, ecx
palignr xmm7, xmm0, 4
mov dword [esp + 0x10], ecx
xor edx, ecx
xor edi, esi
movdqa xmm5, xmm4
ror edx, 6
mov ecx, eax
movdqa xmm6, xmm4
add edx, edi
mov edi, dword [esp + 4]
psrld xmm4, 3
mov esi, eax
ror ecx, 9
paddd xmm2, xmm7
mov dword [esp], eax
xor ecx, eax
psrld xmm6, 7
xor eax, edi
add edx, dword [esp + 0x1c]
ror ecx, 0xb
and ebx, eax
pshufd xmm7, xmm1, 0xfa
xor ecx, esi
add edx, dword [esp + 0x40]
pslld xmm5, 0xe
xor ebx, edi
ror ecx, 2
pxor xmm4, xmm6
add ebx, edx
add edx, dword [esp + 0xc]
psrld xmm6, 0xb
add ebx, ecx
mov ecx, edx
ror edx, 0xe
pxor xmm4, xmm5
mov esi, dword [esp + 0x10]
xor edx, ecx
pslld xmm5, 0xb
mov edi, dword [esp + 0x14]
xor esi, edi
ror edx, 5
pxor xmm4, xmm6
and esi, ecx
mov dword [esp + 0xc], ecx
movdqa xmm6, xmm7
xor edx, ecx
xor edi, esi
ror edx, 6
pxor xmm4, xmm5
mov ecx, ebx
add edx, edi
psrld xmm7, 0xa
mov edi, dword [esp]
mov esi, ebx
ror ecx, 9
paddd xmm2, xmm4
mov dword [esp + 0x1c], ebx
xor ecx, ebx
psrlq xmm6, 0x11
xor ebx, edi
add edx, dword [esp + 0x18]
ror ecx, 0xb
pxor xmm7, xmm6
and eax, ebx
xor ecx, esi
psrlq xmm6, 2
add edx, dword [esp + 0x44]
xor eax, edi
ror ecx, 2
pxor xmm7, xmm6
add eax, edx
add edx, dword [esp + 8]
pshufd xmm7, xmm7, 0x80
add eax, ecx
mov ecx, edx
ror edx, 0xe
mov esi, dword [esp + 0xc]
xor edx, ecx
mov edi, dword [esp + 0x10]
xor esi, edi
ror edx, 5
and esi, ecx
psrldq xmm7, 8
mov dword [esp + 8], ecx
xor edx, ecx
xor edi, esi
paddd xmm2, xmm7
ror edx, 6
mov ecx, eax
add edx, edi
mov edi, dword [esp + 0x1c]
mov esi, eax
ror ecx, 9
mov dword [esp + 0x18], eax
pshufd xmm7, xmm2, 0x50
xor ecx, eax
xor eax, edi
add edx, dword [esp + 0x14]
movdqa xmm6, xmm7
ror ecx, 0xb
psrld xmm7, 0xa
and ebx, eax
psrlq xmm6, 0x11
xor ecx, esi
add edx, dword [esp + 0x48]
xor ebx, edi
ror ecx, 2
pxor xmm7, xmm6
add ebx, edx
add edx, dword [esp + 4]
psrlq xmm6, 2
add ebx, ecx
mov ecx, edx
ror edx, 0xe
pxor xmm7, xmm6
mov esi, dword [esp + 8]
xor edx, ecx
mov edi, dword [esp + 0xc]
pshufd xmm7, xmm7, 8
xor esi, edi
ror edx, 5
movdqa xmm6, xmmword [ebp + 0x20]
and esi, ecx
mov dword [esp + 4], ecx
pslldq xmm7, 8
xor edx, ecx
xor edi, esi
ror edx, 6
mov ecx, ebx
add edx, edi
mov edi, dword [esp + 0x18]
mov esi, ebx
ror ecx, 9
paddd xmm2, xmm7
mov dword [esp + 0x14], ebx
xor ecx, ebx
xor ebx, edi
add edx, dword [esp + 0x10]
paddd xmm6, xmm2
ror ecx, 0xb
and eax, ebx
xor ecx, esi
add edx, dword [esp + 0x4c]
xor eax, edi
ror ecx, 2
add eax, edx
add edx, dword [esp]
add eax, ecx
movdqa xmmword [esp + 0x40], xmm6
mov ecx, edx
movdqa xmm4, xmm0
ror edx, 0xe
mov esi, dword [esp + 4]
movdqa xmm7, xmm2
xor edx, ecx
mov edi, dword [esp + 8]
palignr xmm4, xmm3, 4
xor esi, edi
ror edx, 5
and esi, ecx
palignr xmm7, xmm1, 4
mov dword [esp], ecx
xor edx, ecx
xor edi, esi
movdqa xmm5, xmm4
ror edx, 6
mov ecx, eax
movdqa xmm6, xmm4
add edx, edi
mov edi, dword [esp + 0x14]
psrld xmm4, 3
mov esi, eax
ror ecx, 9
paddd xmm3, xmm7
mov dword [esp + 0x10], eax
xor ecx, eax
psrld xmm6, 7
xor eax, edi
add edx, dword [esp + 0xc]
ror ecx, 0xb
and ebx, eax
pshufd xmm7, xmm2, 0xfa
xor ecx, esi
add edx, dword [esp + 0x50]
pslld xmm5, 0xe
xor ebx, edi
ror ecx, 2
pxor xmm4, xmm6
add ebx, edx
add edx, dword [esp + 0x1c]
psrld xmm6, 0xb
add ebx, ecx
mov ecx, edx
ror edx, 0xe
pxor xmm4, xmm5
mov esi, dword [esp]
xor edx, ecx
pslld xmm5, 0xb
mov edi, dword [esp + 4]
xor esi, edi
ror edx, 5
pxor xmm4, xmm6
and esi, ecx
mov dword [esp + 0x1c], ecx
movdqa xmm6, xmm7
xor edx, ecx
xor edi, esi
ror edx, 6
pxor xmm4, xmm5
mov ecx, ebx
add edx, edi
psrld xmm7, 0xa
mov edi, dword [esp + 0x10]
mov esi, ebx
ror ecx, 9
paddd xmm3, xmm4
mov dword [esp + 0xc], ebx
xor ecx, ebx
psrlq xmm6, 0x11
xor ebx, edi
add edx, dword [esp + 8]
ror ecx, 0xb
pxor xmm7, xmm6
and eax, ebx
xor ecx, esi
psrlq xmm6, 2
add edx, dword [esp + 0x54]
xor eax, edi
ror ecx, 2
pxor xmm7, xmm6
add eax, edx
add edx, dword [esp + 0x18]
pshufd xmm7, xmm7, 0x80
add eax, ecx
mov ecx, edx
ror edx, 0xe
mov esi, dword [esp + 0x1c]
xor edx, ecx
mov edi, dword [esp]
xor esi, edi
ror edx, 5
and esi, ecx
psrldq xmm7, 8
mov dword [esp + 0x18], ecx
xor edx, ecx
xor edi, esi
paddd xmm3, xmm7
ror edx, 6
mov ecx, eax
add edx, edi
mov edi, dword [esp + 0xc]
mov esi, eax
ror ecx, 9
mov dword [esp + 8], eax
pshufd xmm7, xmm3, 0x50
xor ecx, eax
xor eax, edi
add edx, dword [esp + 4]
movdqa xmm6, xmm7
ror ecx, 0xb
psrld xmm7, 0xa
and ebx, eax
psrlq xmm6, 0x11
xor ecx, esi
add edx, dword [esp + 0x58]
xor ebx, edi
ror ecx, 2
pxor xmm7, xmm6
add ebx, edx
add edx, dword [esp + 0x14]
psrlq xmm6, 2
add ebx, ecx
mov ecx, edx
ror edx, 0xe
pxor xmm7, xmm6
mov esi, dword [esp + 0x18]
xor edx, ecx
mov edi, dword [esp + 0x1c]
pshufd xmm7, xmm7, 8
xor esi, edi
ror edx, 5
movdqa xmm6, xmmword [ebp + 0x30]
and esi, ecx
mov dword [esp + 0x14], ecx
pslldq xmm7, 8
xor edx, ecx
xor edi, esi
ror edx, 6
mov ecx, ebx
add edx, edi
mov edi, dword [esp + 8]
mov esi, ebx
ror ecx, 9
paddd xmm3, xmm7
mov dword [esp + 4], ebx
xor ecx, ebx
xor ebx, edi
add edx, dword [esp]
paddd xmm6, xmm3
ror ecx, 0xb
and eax, ebx
xor ecx, esi
add edx, dword [esp + 0x5c]
xor eax, edi
ror ecx, 2
add eax, edx
add edx, dword [esp + 0x10]
add eax, ecx
movdqa xmmword [esp + 0x50], xmm6
cmp dword [ebp + 0x40], 0x10203
jne 0x403d00
mov ecx, edx
ror edx, 0xe
mov esi, dword [esp + 0x14]
xor edx, ecx
mov edi, dword [esp + 0x18]
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp + 0x10], ecx
xor edx, ecx
xor edi, esi
ror edx, 6
mov ecx, eax
add edx, edi
mov edi, dword [esp + 4]
mov esi, eax
ror ecx, 9
mov dword [esp], eax
xor ecx, eax
xor eax, edi
add edx, dword [esp + 0x1c]
ror ecx, 0xb
and ebx, eax
xor ecx, esi
add edx, dword [esp + 0x20]
xor ebx, edi
ror ecx, 2
add ebx, edx
add edx, dword [esp + 0xc]
add ebx, ecx
mov ecx, edx
ror edx, 0xe
mov esi, dword [esp + 0x10]
xor edx, ecx
mov edi, dword [esp + 0x14]
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp + 0xc], ecx
xor edx, ecx
xor edi, esi
ror edx, 6
mov ecx, ebx
add edx, edi
mov edi, dword [esp]
mov esi, ebx
ror ecx, 9
mov dword [esp + 0x1c], ebx
xor ecx, ebx
xor ebx, edi
add edx, dword [esp + 0x18]
ror ecx, 0xb
and eax, ebx
xor ecx, esi
add edx, dword [esp + 0x24]
xor eax, edi
ror ecx, 2
add eax, edx
add edx, dword [esp + 8]
add eax, ecx
mov ecx, edx
ror edx, 0xe
mov esi, dword [esp + 0xc]
xor edx, ecx
mov edi, dword [esp + 0x10]
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp + 8], ecx
xor edx, ecx
xor edi, esi
ror edx, 6
mov ecx, eax
add edx, edi
mov edi, dword [esp + 0x1c]
mov esi, eax
ror ecx, 9
mov dword [esp + 0x18], eax
xor ecx, eax
xor eax, edi
add edx, dword [esp + 0x14]
ror ecx, 0xb
and ebx, eax
xor ecx, esi
add edx, dword [esp + 0x28]
xor ebx, edi
ror ecx, 2
add ebx, edx
add edx, dword [esp + 4]
add ebx, ecx
mov ecx, edx
ror edx, 0xe
mov esi, dword [esp + 8]
xor edx, ecx
mov edi, dword [esp + 0xc]
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp + 4], ecx
xor edx, ecx
xor edi, esi
ror edx, 6
mov ecx, ebx
add edx, edi
mov edi, dword [esp + 0x18]
mov esi, ebx
ror ecx, 9
mov dword [esp + 0x14], ebx
xor ecx, ebx
xor ebx, edi
add edx, dword [esp + 0x10]
ror ecx, 0xb
and eax, ebx
xor ecx, esi
add edx, dword [esp + 0x2c]
xor eax, edi
ror ecx, 2
add eax, edx
add edx, dword [esp]
add eax, ecx
mov ecx, edx
ror edx, 0xe
mov esi, dword [esp + 4]
xor edx, ecx
mov edi, dword [esp + 8]
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp], ecx
xor edx, ecx
xor edi, esi
ror edx, 6
mov ecx, eax
add edx, edi
mov edi, dword [esp + 0x14]
mov esi, eax
ror ecx, 9
mov dword [esp + 0x10], eax
xor ecx, eax
xor eax, edi
add edx, dword [esp + 0xc]
ror ecx, 0xb
and ebx, eax
xor ecx, esi
add edx, dword [esp + 0x30]
xor ebx, edi
ror ecx, 2
add ebx, edx
add edx, dword [esp + 0x1c]
add ebx, ecx
mov ecx, edx
ror edx, 0xe
mov esi, dword [esp]
xor edx, ecx
mov edi, dword [esp + 4]
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp + 0x1c], ecx
xor edx, ecx
xor edi, esi
ror edx, 6
mov ecx, ebx
add edx, edi
mov edi, dword [esp + 0x10]
mov esi, ebx
ror ecx, 9
mov dword [esp + 0xc], ebx
xor ecx, ebx
xor ebx, edi
add edx, dword [esp + 8]
ror ecx, 0xb
and eax, ebx
xor ecx, esi
add edx, dword [esp + 0x34]
xor eax, edi
ror ecx, 2
add eax, edx
add edx, dword [esp + 0x18]
add eax, ecx
mov ecx, edx
ror edx, 0xe
mov esi, dword [esp + 0x1c]
xor edx, ecx
mov edi, dword [esp]
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp + 0x18], ecx
xor edx, ecx
xor edi, esi
ror edx, 6
mov ecx, eax
add edx, edi
mov edi, dword [esp + 0xc]
mov esi, eax
ror ecx, 9
mov dword [esp + 8], eax
xor ecx, eax
xor eax, edi
add edx, dword [esp + 4]
ror ecx, 0xb
and ebx, eax
xor ecx, esi
add edx, dword [esp + 0x38]
xor ebx, edi
ror ecx, 2
add ebx, edx
add edx, dword [esp + 0x14]
add ebx, ecx
mov ecx, edx
ror edx, 0xe
mov esi, dword [esp + 0x18]
xor edx, ecx
mov edi, dword [esp + 0x1c]
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp + 0x14], ecx
xor edx, ecx
xor edi, esi
ror edx, 6
mov ecx, ebx
add edx, edi
mov edi, dword [esp + 8]
mov esi, ebx
ror ecx, 9
mov dword [esp + 4], ebx
xor ecx, ebx
xor ebx, edi
add edx, dword [esp]
ror ecx, 0xb
and eax, ebx
xor ecx, esi
add edx, dword [esp + 0x3c]
xor eax, edi
ror ecx, 2
add eax, edx
add edx, dword [esp + 0x10]
add eax, ecx
mov ecx, edx
ror edx, 0xe
mov esi, dword [esp + 0x14]
xor edx, ecx
mov edi, dword [esp + 0x18]
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp + 0x10], ecx
xor edx, ecx
xor edi, esi
ror edx, 6
mov ecx, eax
add edx, edi
mov edi, dword [esp + 4]
mov esi, eax
ror ecx, 9
mov dword [esp], eax
xor ecx, eax
xor eax, edi
add edx, dword [esp + 0x1c]
ror ecx, 0xb
and ebx, eax
xor ecx, esi
add edx, dword [esp + 0x40]
xor ebx, edi
ror ecx, 2
add ebx, edx
add edx, dword [esp + 0xc]
add ebx, ecx
mov ecx, edx
ror edx, 0xe
mov esi, dword [esp + 0x10]
xor edx, ecx
mov edi, dword [esp + 0x14]
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp + 0xc], ecx
xor edx, ecx
xor edi, esi
ror edx, 6
mov ecx, ebx
add edx, edi
mov edi, dword [esp]
mov esi, ebx
ror ecx, 9
mov dword [esp + 0x1c], ebx
xor ecx, ebx
xor ebx, edi
add edx, dword [esp + 0x18]
ror ecx, 0xb
and eax, ebx
xor ecx, esi
add edx, dword [esp + 0x44]
xor eax, edi
ror ecx, 2
add eax, edx
add edx, dword [esp + 8]
add eax, ecx
mov ecx, edx
ror edx, 0xe
mov esi, dword [esp + 0xc]
xor edx, ecx
mov edi, dword [esp + 0x10]
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp + 8], ecx
xor edx, ecx
xor edi, esi
ror edx, 6
mov ecx, eax
add edx, edi
mov edi, dword [esp + 0x1c]
mov esi, eax
ror ecx, 9
mov dword [esp + 0x18], eax
xor ecx, eax
xor eax, edi
add edx, dword [esp + 0x14]
ror ecx, 0xb
and ebx, eax
xor ecx, esi
add edx, dword [esp + 0x48]
xor ebx, edi
ror ecx, 2
add ebx, edx
add edx, dword [esp + 4]
add ebx, ecx
mov ecx, edx
ror edx, 0xe
mov esi, dword [esp + 8]
xor edx, ecx
mov edi, dword [esp + 0xc]
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp + 4], ecx
xor edx, ecx
xor edi, esi
ror edx, 6
mov ecx, ebx
add edx, edi
mov edi, dword [esp + 0x18]
mov esi, ebx
ror ecx, 9
mov dword [esp + 0x14], ebx
xor ecx, ebx
xor ebx, edi
add edx, dword [esp + 0x10]
ror ecx, 0xb
and eax, ebx
xor ecx, esi
add edx, dword [esp + 0x4c]
xor eax, edi
ror ecx, 2
add eax, edx
add edx, dword [esp]
add eax, ecx
mov ecx, edx
ror edx, 0xe
mov esi, dword [esp + 4]
xor edx, ecx
mov edi, dword [esp + 8]
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp], ecx
xor edx, ecx
xor edi, esi
ror edx, 6
mov ecx, eax
add edx, edi
mov edi, dword [esp + 0x14]
mov esi, eax
ror ecx, 9
mov dword [esp + 0x10], eax
xor ecx, eax
xor eax, edi
add edx, dword [esp + 0xc]
ror ecx, 0xb
and ebx, eax
xor ecx, esi
add edx, dword [esp + 0x50]
xor ebx, edi
ror ecx, 2
add ebx, edx
add edx, dword [esp + 0x1c]
add ebx, ecx
mov ecx, edx
ror edx, 0xe
mov esi, dword [esp]
xor edx, ecx
mov edi, dword [esp + 4]
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp + 0x1c], ecx
xor edx, ecx
xor edi, esi
ror edx, 6
mov ecx, ebx
add edx, edi
mov edi, dword [esp + 0x10]
mov esi, ebx
ror ecx, 9
mov dword [esp + 0xc], ebx
xor ecx, ebx
xor ebx, edi
add edx, dword [esp + 8]
ror ecx, 0xb
and eax, ebx
xor ecx, esi
add edx, dword [esp + 0x54]
xor eax, edi
ror ecx, 2
add eax, edx
add edx, dword [esp + 0x18]
add eax, ecx
mov ecx, edx
ror edx, 0xe
mov esi, dword [esp + 0x1c]
xor edx, ecx
mov edi, dword [esp]
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp + 0x18], ecx
xor edx, ecx
xor edi, esi
ror edx, 6
mov ecx, eax
add edx, edi
mov edi, dword [esp + 0xc]
mov esi, eax
ror ecx, 9
mov dword [esp + 8], eax
xor ecx, eax
xor eax, edi
add edx, dword [esp + 4]
ror ecx, 0xb
and ebx, eax
xor ecx, esi
add edx, dword [esp + 0x58]
xor ebx, edi
ror ecx, 2
add ebx, edx
add edx, dword [esp + 0x14]
add ebx, ecx
mov ecx, edx
ror edx, 0xe
mov esi, dword [esp + 0x18]
xor edx, ecx
mov edi, dword [esp + 0x1c]
xor esi, edi
ror edx, 5
and esi, ecx
mov dword [esp + 0x14], ecx
xor edx, ecx
xor edi, esi
ror edx, 6
mov ecx, ebx
add edx, edi
mov edi, dword [esp + 8]
mov esi, ebx
ror ecx, 9
mov dword [esp + 4], ebx
xor ecx, ebx
xor ebx, edi
add edx, dword [esp]
ror ecx, 0xb
and eax, ebx
xor ecx, esi
add edx, dword [esp + 0x5c]
xor eax, edi
ror ecx, 2
add eax, edx
add edx, dword [esp + 0x10]
add eax, ecx
mov esi, dword [esp + 0x60]
xor ebx, edi
mov ecx, dword [esp + 0xc]
add eax, dword [esi]
add ebx, dword [esi + 4]
add edi, dword [esi + 8]
add ecx, dword [esi + 0xc]
mov dword [esi], eax
mov dword [esi + 4], ebx
mov dword [esi + 8], edi
mov dword [esi + 0xc], ecx
mov dword [esp + 4], ebx
xor ebx, edi
mov dword [esp + 8], edi
mov dword [esp + 0xc], ecx
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
add edx, dword [esi + 0x10]
add edi, dword [esi + 0x14]
add ecx, dword [esi + 0x18]
mov dword [esi + 0x10], edx
mov dword [esi + 0x14], edi
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x1c]
mov dword [esi + 0x18], ecx
add edi, dword [esi + 0x1c]
mov dword [esp + 0x18], ecx
mov dword [esi + 0x1c], edi
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x64]
movdqa xmm7, xmmword [ebp + 0x40]
sub ebp, 0xc0
cmp edi, dword [esp + 0x68]
jb 0x403c90
mov esp, dword [esp + 0x6c]
pop edi
pop esi
pop ebx
pop ebp
ret
and edx, 0x108
cmp edx, 0x108
je 0x405960
lea esp, [esp - 0x60]
vzeroall
mov eax, dword [esi]
mov ebx, dword [esi + 4]
mov ecx, dword [esi + 8]
mov edi, dword [esi + 0xc]
mov dword [esp + 4], ebx
xor ebx, ecx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
mov edx, dword [esi + 0x10]
mov edi, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
mov esi, dword [esi + 0x1c]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x64]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], esi
vmovdqa xmm7, xmmword [ebp + 0x100]
jmp 0x404b00
vmovdqu xmm0, xmmword [edi]
vmovdqu xmm1, xmmword [edi + 0x10]
vmovdqu xmm2, xmmword [edi + 0x20]
vmovdqu xmm3, xmmword [edi + 0x30]
add edi, 0x40
vpshufb xmm0, xmm0, xmm7
mov dword [esp + 0x64], edi
vpshufb xmm1, xmm1, xmm7
vpshufb xmm2, xmm2, xmm7
vpaddd xmm4, xmm0, xmmword [ebp]
vpshufb xmm3, xmm3, xmm7
vpaddd xmm5, xmm1, xmmword [ebp + 0x10]
vpaddd xmm6, xmm2, xmmword [ebp + 0x20]
vpaddd xmm7, xmm3, xmmword [ebp + 0x30]
vmovdqa xmmword [esp + 0x20], xmm4
vmovdqa xmmword [esp + 0x30], xmm5
vmovdqa xmmword [esp + 0x40], xmm6
vmovdqa xmmword [esp + 0x50], xmm7
jmp 0x404b60
add ebp, 0x40
vpalignr xmm4, xmm1, xmm0, 4
mov ecx, edx
shrd edx, edx, 0xe
mov esi, dword [esp + 0x14]
vpalignr xmm7, xmm3, xmm2, 4
xor edx, ecx
mov edi, dword [esp + 0x18]
xor esi, edi
vpsrld xmm6, xmm4, 7
shrd edx, edx, 5
and esi, ecx
mov dword [esp + 0x10], ecx
vpaddd xmm0, xmm0, xmm7
xor edx, ecx
xor edi, esi
shrd edx, edx, 6
vpsrld xmm7, xmm4, 3
mov ecx, eax
add edx, edi
mov edi, dword [esp + 4]
vpslld xmm5, xmm4, 0xe
mov esi, eax
shrd ecx, ecx, 9
mov dword [esp], eax
vpxor xmm4, xmm7, xmm6
xor ecx, eax
xor eax, edi
add edx, dword [esp + 0x1c]
vpshufd xmm7, xmm3, 0xfa
shrd ecx, ecx, 0xb
and ebx, eax
xor ecx, esi
vpsrld xmm6, xmm6, 0xb
add edx, dword [esp + 0x20]
xor ebx, edi
shrd ecx, ecx, 2
vpxor xmm4, xmm4, xmm5
add ebx, edx
add edx, dword [esp + 0xc]
add ebx, ecx
vpslld xmm5, xmm5, 0xb
mov ecx, edx
shrd edx, edx, 0xe
mov esi, dword [esp + 0x10]
vpxor xmm4, xmm4, xmm6
xor edx, ecx
mov edi, dword [esp + 0x14]
xor esi, edi
vpsrld xmm6, xmm7, 0xa
shrd edx, edx, 5
and esi, ecx
mov dword [esp + 0xc], ecx
vpxor xmm4, xmm4, xmm5
xor edx, ecx
xor edi, esi
shrd edx, edx, 6
vpsrlq xmm5, xmm7, 0x11
mov ecx, ebx
add edx, edi
mov edi, dword [esp]
vpaddd xmm0, xmm0, xmm4
mov esi, ebx
shrd ecx, ecx, 9
mov dword [esp + 0x1c], ebx
vpxor xmm6, xmm6, xmm5
xor ecx, ebx
xor ebx, edi
add edx, dword [esp + 0x18]
vpsrlq xmm7, xmm7, 0x13
shrd ecx, ecx, 0xb
and eax, ebx
xor ecx, esi
vpxor xmm6, xmm6, xmm7
add edx, dword [esp + 0x24]
xor eax, edi
shrd ecx, ecx, 2
vpshufd xmm7, xmm6, 0x84
add eax, edx
add edx, dword [esp + 8]
add eax, ecx
vpsrldq xmm7, xmm7, 8
mov ecx, edx
shrd edx, edx, 0xe
mov esi, dword [esp + 0xc]
vpaddd xmm0, xmm0, xmm7
xor edx, ecx
mov edi, dword [esp + 0x10]
xor esi, edi
vpshufd xmm7, xmm0, 0x50
shrd edx, edx, 5
and esi, ecx
mov dword [esp + 8], ecx
vpsrld xmm6, xmm7, 0xa
xor edx, ecx
xor edi, esi
shrd edx, edx, 6
vpsrlq xmm5, xmm7, 0x11
mov ecx, eax
add edx, edi
mov edi, dword [esp + 0x1c]
vpxor xmm6, xmm6, xmm5
mov esi, eax
shrd ecx, ecx, 9
mov dword [esp + 0x18], eax
vpsrlq xmm7, xmm7, 0x13
xor ecx, eax
xor eax, edi
add edx, dword [esp + 0x14]
vpxor xmm6, xmm6, xmm7
shrd ecx, ecx, 0xb
and ebx, eax
xor ecx, esi
vpshufd xmm7, xmm6, 0xe8
add edx, dword [esp + 0x28]
xor ebx, edi
shrd ecx, ecx, 2
vpslldq xmm7, xmm7, 8
add ebx, edx
add edx, dword [esp + 4]
add ebx, ecx
vpaddd xmm0, xmm0, xmm7
mov ecx, edx
shrd edx, edx, 0xe
mov esi, dword [esp + 8]
vpaddd xmm6, xmm0, xmmword [ebp]
xor edx, ecx
mov edi, dword [esp + 0xc]
xor esi, edi
shrd edx, edx, 5
and esi, ecx
mov dword [esp + 4], ecx
xor edx, ecx
xor edi, esi
shrd edx, edx, 6
mov ecx, ebx
add edx, edi
mov edi, dword [esp + 0x18]
mov esi, ebx
shrd ecx, ecx, 9
mov dword [esp + 0x14], ebx
xor ecx, ebx
xor ebx, edi
add edx, dword [esp + 0x10]
shrd ecx, ecx, 0xb
and eax, ebx
xor ecx, esi
add edx, dword [esp + 0x2c]
xor eax, edi
shrd ecx, ecx, 2
add eax, edx
add edx, dword [esp]
add eax, ecx
vmovdqa xmmword [esp + 0x20], xmm6
vpalignr xmm4, xmm2, xmm1, 4
mov ecx, edx
shrd edx, edx, 0xe
mov esi, dword [esp + 4]
vpalignr xmm7, xmm0, xmm3, 4
xor edx, ecx
mov edi, dword [esp + 8]
xor esi, edi
vpsrld xmm6, xmm4, 7
shrd edx, edx, 5
and esi, ecx
mov dword [esp], ecx
vpaddd xmm1, xmm1, xmm7
xor edx, ecx
xor edi, esi
shrd edx, edx, 6
vpsrld xmm7, xmm4, 3
mov ecx, eax
add edx, edi
mov edi, dword [esp + 0x14]
vpslld xmm5, xmm4, 0xe
mov esi, eax
shrd ecx, ecx, 9
mov dword [esp + 0x10], eax
vpxor xmm4, xmm7, xmm6
xor ecx, eax
xor eax, edi
add edx, dword [esp + 0xc]
vpshufd xmm7, xmm0, 0xfa
shrd ecx, ecx, 0xb
and ebx, eax
xor ecx, esi
vpsrld xmm6, xmm6, 0xb
add edx, dword [esp + 0x30]
xor ebx, edi
shrd ecx, ecx, 2
vpxor xmm4, xmm4, xmm5
add ebx, edx
add edx, dword [esp + 0x1c]
add ebx, ecx
vpslld xmm5, xmm5, 0xb
mov ecx, edx
shrd edx, edx, 0xe
mov esi, dword [esp]
vpxor xmm4, xmm4, xmm6
xor edx, ecx
mov edi, dword [esp + 4]
xor esi, edi
vpsrld xmm6, xmm7, 0xa
shrd edx, edx, 5
and esi, ecx
mov dword [esp + 0x1c], ecx
vpxor xmm4, xmm4, xmm5
xor edx, ecx
xor edi, esi
shrd edx, edx, 6
vpsrlq xmm5, xmm7, 0x11
mov ecx, ebx
add edx, edi
mov edi, dword [esp + 0x10]
vpaddd xmm1, xmm1, xmm4
mov esi, ebx
shrd ecx, ecx, 9
mov dword [esp + 0xc], ebx
vpxor xmm6, xmm6, xmm5
xor ecx, ebx
xor ebx, edi
add edx, dword [esp + 8]
vpsrlq xmm7, xmm7, 0x13
shrd ecx, ecx, 0xb
and eax, ebx
xor ecx, esi
vpxor xmm6, xmm6, xmm7
add edx, dword [esp + 0x34]
xor eax, edi
shrd ecx, ecx, 2
vpshufd xmm7, xmm6, 0x84
add eax, edx
add edx, dword [esp + 0x18]
add eax, ecx
vpsrldq xmm7, xmm7, 8
mov ecx, edx
shrd edx, edx, 0xe
mov esi, dword [esp + 0x1c]
vpaddd xmm1, xmm1, xmm7
xor edx, ecx
mov edi, dword [esp]
xor esi, edi
vpshufd xmm7, xmm1, 0x50
shrd edx, edx, 5
and esi, ecx
mov dword [esp + 0x18], ecx
vpsrld xmm6, xmm7, 0xa
xor edx, ecx
xor edi, esi
shrd edx, edx, 6
vpsrlq xmm5, xmm7, 0x11
mov ecx, eax
add edx, edi
mov edi, dword [esp + 0xc]
vpxor xmm6, xmm6, xmm5
mov esi, eax
shrd ecx, ecx, 9
mov dword [esp + 8], eax
vpsrlq xmm7, xmm7, 0x13
xor ecx, eax
xor eax, edi
add edx, dword [esp + 4]
vpxor xmm6, xmm6, xmm7
shrd ecx, ecx, 0xb
and ebx, eax
xor ecx, esi
vpshufd xmm7, xmm6, 0xe8
add edx, dword [esp + 0x38]
xor ebx, edi
shrd ecx, ecx, 2
vpslldq xmm7, xmm7, 8
add ebx, edx
add edx, dword [esp + 0x14]
add ebx, ecx
vpaddd xmm1, xmm1, xmm7
mov ecx, edx
shrd edx, edx, 0xe
mov esi, dword [esp + 0x18]
vpaddd xmm6, xmm1, xmmword [ebp + 0x10]
xor edx, ecx
mov edi, dword [esp + 0x1c]
xor esi, edi
shrd edx, edx, 5
and esi, ecx
mov dword [esp + 0x14], ecx
xor edx, ecx
xor edi, esi
shrd edx, edx, 6
mov ecx, ebx
add edx, edi
mov edi, dword [esp + 8]
mov esi, ebx
shrd ecx, ecx, 9
mov dword [esp + 4], ebx
xor ecx, ebx
xor ebx, edi
add edx, dword [esp]
shrd ecx, ecx, 0xb
and eax, ebx
xor ecx, esi
add edx, dword [esp + 0x3c]
xor eax, edi
shrd ecx, ecx, 2
add eax, edx
add edx, dword [esp + 0x10]
add eax, ecx
vmovdqa xmmword [esp + 0x30], xmm6
vpalignr xmm4, xmm3, xmm2, 4
mov ecx, edx
shrd edx, edx, 0xe
mov esi, dword [esp + 0x14]
vpalignr xmm7, xmm1, xmm0, 4
xor edx, ecx
mov edi, dword [esp + 0x18]
xor esi, edi
vpsrld xmm6, xmm4, 7
shrd edx, edx, 5
and esi, ecx
mov dword [esp + 0x10], ecx
vpaddd xmm2, xmm2, xmm7
xor edx, ecx
xor edi, esi
shrd edx, edx, 6
vpsrld xmm7, xmm4, 3
mov ecx, eax
add edx, edi
mov edi, dword [esp + 4]
vpslld xmm5, xmm4, 0xe
mov esi, eax
shrd ecx, ecx, 9
mov dword [esp], eax
vpxor xmm4, xmm7, xmm6
xor ecx, eax
xor eax, edi
add edx, dword [esp + 0x1c]
vpshufd xmm7, xmm1, 0xfa
shrd ecx, ecx, 0xb
and ebx, eax
xor ecx, esi
vpsrld xmm6, xmm6, 0xb
add edx, dword [esp + 0x40]
xor ebx, edi
shrd ecx, ecx, 2
vpxor xmm4, xmm4, xmm5
add ebx, edx
add edx, dword [esp + 0xc]
add ebx, ecx
vpslld xmm5, xmm5, 0xb
mov ecx, edx
shrd edx, edx, 0xe
mov esi, dword [esp + 0x10]
vpxor xmm4, xmm4, xmm6
xor edx, ecx
mov edi, dword [esp + 0x14]
xor esi, edi
vpsrld xmm6, xmm7, 0xa
shrd edx, edx, 5
and esi, ecx
mov dword [esp + 0xc], ecx
vpxor xmm4, xmm4, xmm5
xor edx, ecx
xor edi, esi
shrd edx, edx, 6
vpsrlq xmm5, xmm7, 0x11
mov ecx, ebx
add edx, edi
mov edi, dword [esp]
vpaddd xmm2, xmm2, xmm4
mov esi, ebx
shrd ecx, ecx, 9
mov dword [esp + 0x1c], ebx
vpxor xmm6, xmm6, xmm5
xor ecx, ebx
xor ebx, edi
add edx, dword [esp + 0x18]
vpsrlq xmm7, xmm7, 0x13
shrd ecx, ecx, 0xb
and eax, ebx
xor ecx, esi
vpxor xmm6, xmm6, xmm7
add edx, dword [esp + 0x44]
xor eax, edi
shrd ecx, ecx, 2
vpshufd xmm7, xmm6, 0x84
add eax, edx
add edx, dword [esp + 8]
add eax, ecx
vpsrldq xmm7, xmm7, 8
mov ecx, edx
shrd edx, edx, 0xe
mov esi, dword [esp + 0xc]
vpaddd xmm2, xmm2, xmm7
xor edx, ecx
mov edi, dword [esp + 0x10]
xor esi, edi
vpshufd xmm7, xmm2, 0x50
shrd edx, edx, 5
and esi, ecx
mov dword [esp + 8], ecx
vpsrld xmm6, xmm7, 0xa
xor edx, ecx
xor edi, esi
shrd edx, edx, 6
vpsrlq xmm5, xmm7, 0x11
mov ecx, eax
add edx, edi
mov edi, dword [esp + 0x1c]
vpxor xmm6, xmm6, xmm5
mov esi, eax
shrd ecx, ecx, 9
mov dword [esp + 0x18], eax
vpsrlq xmm7, xmm7, 0x13
xor ecx, eax
xor eax, edi
add edx, dword [esp + 0x14]
vpxor xmm6, xmm6, xmm7
shrd ecx, ecx, 0xb
and ebx, eax
xor ecx, esi
vpshufd xmm7, xmm6, 0xe8
add edx, dword [esp + 0x48]
xor ebx, edi
shrd ecx, ecx, 2
vpslldq xmm7, xmm7, 8
add ebx, edx
add edx, dword [esp + 4]
add ebx, ecx
vpaddd xmm2, xmm2, xmm7
mov ecx, edx
shrd edx, edx, 0xe
mov esi, dword [esp + 8]
vpaddd xmm6, xmm2, xmmword [ebp + 0x20]
xor edx, ecx
mov edi, dword [esp + 0xc]
xor esi, edi
shrd edx, edx, 5
and esi, ecx
mov dword [esp + 4], ecx
xor edx, ecx
xor edi, esi
shrd edx, edx, 6
mov ecx, ebx
add edx, edi
mov edi, dword [esp + 0x18]
mov esi, ebx
shrd ecx, ecx, 9
mov dword [esp + 0x14], ebx
xor ecx, ebx
xor ebx, edi
add edx, dword [esp + 0x10]
shrd ecx, ecx, 0xb
and eax, ebx
xor ecx, esi
add edx, dword [esp + 0x4c]
xor eax, edi
shrd ecx, ecx, 2
add eax, edx
add edx, dword [esp]
add eax, ecx
vmovdqa xmmword [esp + 0x40], xmm6
vpalignr xmm4, xmm0, xmm3, 4
mov ecx, edx
shrd edx, edx, 0xe
mov esi, dword [esp + 4]
vpalignr xmm7, xmm2, xmm1, 4
xor edx, ecx
mov edi, dword [esp + 8]
xor esi, edi
vpsrld xmm6, xmm4, 7
shrd edx, edx, 5
and esi, ecx
mov dword [esp], ecx
vpaddd xmm3, xmm3, xmm7
xor edx, ecx
xor edi, esi
shrd edx, edx, 6
vpsrld xmm7, xmm4, 3
mov ecx, eax
add edx, edi
mov edi, dword [esp + 0x14]
vpslld xmm5, xmm4, 0xe
mov esi, eax
shrd ecx, ecx, 9
mov dword [esp + 0x10], eax
vpxor xmm4, xmm7, xmm6
xor ecx, eax
xor eax, edi
add edx, dword [esp + 0xc]
vpshufd xmm7, xmm2, 0xfa
shrd ecx, ecx, 0xb
and ebx, eax
xor ecx, esi
vpsrld xmm6, xmm6, 0xb
add edx, dword [esp + 0x50]
xor ebx, edi
shrd ecx, ecx, 2
vpxor xmm4, xmm4, xmm5
add ebx, edx
add edx, dword [esp + 0x1c]
add ebx, ecx
vpslld xmm5, xmm5, 0xb
mov ecx, edx
shrd edx, edx, 0xe
mov esi, dword [esp]
vpxor xmm4, xmm4, xmm6
xor edx, ecx
mov edi, dword [esp + 4]
xor esi, edi
vpsrld xmm6, xmm7, 0xa
shrd edx, edx, 5
and esi, ecx
mov dword [esp + 0x1c], ecx
vpxor xmm4, xmm4, xmm5
xor edx, ecx
xor edi, esi
shrd edx, edx, 6
vpsrlq xmm5, xmm7, 0x11
mov ecx, ebx
add edx, edi
mov edi, dword [esp + 0x10]
vpaddd xmm3, xmm3, xmm4
mov esi, ebx
shrd ecx, ecx, 9
mov dword [esp + 0xc], ebx
vpxor xmm6, xmm6, xmm5
xor ecx, ebx
xor ebx, edi
add edx, dword [esp + 8]
vpsrlq xmm7, xmm7, 0x13
shrd ecx, ecx, 0xb
and eax, ebx
xor ecx, esi
vpxor xmm6, xmm6, xmm7
add edx, dword [esp + 0x54]
xor eax, edi
shrd ecx, ecx, 2
vpshufd xmm7, xmm6, 0x84
add eax, edx
add edx, dword [esp + 0x18]
add eax, ecx
vpsrldq xmm7, xmm7, 8
mov ecx, edx
shrd edx, edx, 0xe
mov esi, dword [esp + 0x1c]
vpaddd xmm3, xmm3, xmm7
xor edx, ecx
mov edi, dword [esp]
xor esi, edi
vpshufd xmm7, xmm3, 0x50
shrd edx, edx, 5
and esi, ecx
mov dword [esp + 0x18], ecx
vpsrld xmm6, xmm7, 0xa
xor edx, ecx
xor edi, esi
shrd edx, edx, 6
vpsrlq xmm5, xmm7, 0x11
mov ecx, eax
add edx, edi
mov edi, dword [esp + 0xc]
vpxor xmm6, xmm6, xmm5
mov esi, eax
shrd ecx, ecx, 9
mov dword [esp + 8], eax
vpsrlq xmm7, xmm7, 0x13
xor ecx, eax
xor eax, edi
add edx, dword [esp + 4]
vpxor xmm6, xmm6, xmm7
shrd ecx, ecx, 0xb
and ebx, eax
xor ecx, esi
vpshufd xmm7, xmm6, 0xe8
add edx, dword [esp + 0x58]
xor ebx, edi
shrd ecx, ecx, 2
vpslldq xmm7, xmm7, 8
add ebx, edx
add edx, dword [esp + 0x14]
add ebx, ecx
vpaddd xmm3, xmm3, xmm7
mov ecx, edx
shrd edx, edx, 0xe
mov esi, dword [esp + 0x18]
vpaddd xmm6, xmm3, xmmword [ebp + 0x30]
xor edx, ecx
mov edi, dword [esp + 0x1c]
xor esi, edi
shrd edx, edx, 5
and esi, ecx
mov dword [esp + 0x14], ecx
xor edx, ecx
xor edi, esi
shrd edx, edx, 6
mov ecx, ebx
add edx, edi
mov edi, dword [esp + 8]
mov esi, ebx
shrd ecx, ecx, 9
mov dword [esp + 4], ebx
xor ecx, ebx
xor ebx, edi
add edx, dword [esp]
shrd ecx, ecx, 0xb
and eax, ebx
xor ecx, esi
add edx, dword [esp + 0x5c]
xor eax, edi
shrd ecx, ecx, 2
add eax, edx
add edx, dword [esp + 0x10]
add eax, ecx
vmovdqa xmmword [esp + 0x50], xmm6
cmp dword [ebp + 0x40], 0x10203
jne 0x404b60
mov ecx, edx
shrd edx, edx, 0xe
mov esi, dword [esp + 0x14]
xor edx, ecx
mov edi, dword [esp + 0x18]
xor esi, edi
shrd edx, edx, 5
and esi, ecx
mov dword [esp + 0x10], ecx
xor edx, ecx
xor edi, esi
shrd edx, edx, 6
mov ecx, eax
add edx, edi
mov edi, dword [esp + 4]
mov esi, eax
shrd ecx, ecx, 9
mov dword [esp], eax
xor ecx, eax
xor eax, edi
add edx, dword [esp + 0x1c]
shrd ecx, ecx, 0xb
and ebx, eax
xor ecx, esi
add edx, dword [esp + 0x20]
xor ebx, edi
shrd ecx, ecx, 2
add ebx, edx
add edx, dword [esp + 0xc]
add ebx, ecx
mov ecx, edx
shrd edx, edx, 0xe
mov esi, dword [esp + 0x10]
xor edx, ecx
mov edi, dword [esp + 0x14]
xor esi, edi
shrd edx, edx, 5
and esi, ecx
mov dword [esp + 0xc], ecx
xor edx, ecx
xor edi, esi
shrd edx, edx, 6
mov ecx, ebx
add edx, edi
mov edi, dword [esp]
mov esi, ebx
shrd ecx, ecx, 9
mov dword [esp + 0x1c], ebx
xor ecx, ebx
xor ebx, edi
add edx, dword [esp + 0x18]
shrd ecx, ecx, 0xb
and eax, ebx
xor ecx, esi
add edx, dword [esp + 0x24]
xor eax, edi
shrd ecx, ecx, 2
add eax, edx
add edx, dword [esp + 8]
add eax, ecx
mov ecx, edx
shrd edx, edx, 0xe
mov esi, dword [esp + 0xc]
xor edx, ecx
mov edi, dword [esp + 0x10]
xor esi, edi
shrd edx, edx, 5
and esi, ecx
mov dword [esp + 8], ecx
xor edx, ecx
xor edi, esi
shrd edx, edx, 6
mov ecx, eax
add edx, edi
mov edi, dword [esp + 0x1c]
mov esi, eax
shrd ecx, ecx, 9
mov dword [esp + 0x18], eax
xor ecx, eax
xor eax, edi
add edx, dword [esp + 0x14]
shrd ecx, ecx, 0xb
and ebx, eax
xor ecx, esi
add edx, dword [esp + 0x28]
xor ebx, edi
shrd ecx, ecx, 2
add ebx, edx
add edx, dword [esp + 4]
add ebx, ecx
mov ecx, edx
shrd edx, edx, 0xe
mov esi, dword [esp + 8]
xor edx, ecx
mov edi, dword [esp + 0xc]
xor esi, edi
shrd edx, edx, 5
and esi, ecx
mov dword [esp + 4], ecx
xor edx, ecx
xor edi, esi
shrd edx, edx, 6
mov ecx, ebx
add edx, edi
mov edi, dword [esp + 0x18]
mov esi, ebx
shrd ecx, ecx, 9
mov dword [esp + 0x14], ebx
xor ecx, ebx
xor ebx, edi
add edx, dword [esp + 0x10]
shrd ecx, ecx, 0xb
and eax, ebx
xor ecx, esi
add edx, dword [esp + 0x2c]
xor eax, edi
shrd ecx, ecx, 2
add eax, edx
add edx, dword [esp]
add eax, ecx
mov ecx, edx
shrd edx, edx, 0xe
mov esi, dword [esp + 4]
xor edx, ecx
mov edi, dword [esp + 8]
xor esi, edi
shrd edx, edx, 5
and esi, ecx
mov dword [esp], ecx
xor edx, ecx
xor edi, esi
shrd edx, edx, 6
mov ecx, eax
add edx, edi
mov edi, dword [esp + 0x14]
mov esi, eax
shrd ecx, ecx, 9
mov dword [esp + 0x10], eax
xor ecx, eax
xor eax, edi
add edx, dword [esp + 0xc]
shrd ecx, ecx, 0xb
and ebx, eax
xor ecx, esi
add edx, dword [esp + 0x30]
xor ebx, edi
shrd ecx, ecx, 2
add ebx, edx
add edx, dword [esp + 0x1c]
add ebx, ecx
mov ecx, edx
shrd edx, edx, 0xe
mov esi, dword [esp]
xor edx, ecx
mov edi, dword [esp + 4]
xor esi, edi
shrd edx, edx, 5
and esi, ecx
mov dword [esp + 0x1c], ecx
xor edx, ecx
xor edi, esi
shrd edx, edx, 6
mov ecx, ebx
add edx, edi
mov edi, dword [esp + 0x10]
mov esi, ebx
shrd ecx, ecx, 9
mov dword [esp + 0xc], ebx
xor ecx, ebx
xor ebx, edi
add edx, dword [esp + 8]
shrd ecx, ecx, 0xb
and eax, ebx
xor ecx, esi
add edx, dword [esp + 0x34]
xor eax, edi
shrd ecx, ecx, 2
add eax, edx
add edx, dword [esp + 0x18]
add eax, ecx
mov ecx, edx
shrd edx, edx, 0xe
mov esi, dword [esp + 0x1c]
xor edx, ecx
mov edi, dword [esp]
xor esi, edi
shrd edx, edx, 5
and esi, ecx
mov dword [esp + 0x18], ecx
xor edx, ecx
xor edi, esi
shrd edx, edx, 6
mov ecx, eax
add edx, edi
mov edi, dword [esp + 0xc]
mov esi, eax
shrd ecx, ecx, 9
mov dword [esp + 8], eax
xor ecx, eax
xor eax, edi
add edx, dword [esp + 4]
shrd ecx, ecx, 0xb
and ebx, eax
xor ecx, esi
add edx, dword [esp + 0x38]
xor ebx, edi
shrd ecx, ecx, 2
add ebx, edx
add edx, dword [esp + 0x14]
add ebx, ecx
mov ecx, edx
shrd edx, edx, 0xe
mov esi, dword [esp + 0x18]
xor edx, ecx
mov edi, dword [esp + 0x1c]
xor esi, edi
shrd edx, edx, 5
and esi, ecx
mov dword [esp + 0x14], ecx
xor edx, ecx
xor edi, esi
shrd edx, edx, 6
mov ecx, ebx
add edx, edi
mov edi, dword [esp + 8]
mov esi, ebx
shrd ecx, ecx, 9
mov dword [esp + 4], ebx
xor ecx, ebx
xor ebx, edi
add edx, dword [esp]
shrd ecx, ecx, 0xb
and eax, ebx
xor ecx, esi
add edx, dword [esp + 0x3c]
xor eax, edi
shrd ecx, ecx, 2
add eax, edx
add edx, dword [esp + 0x10]
add eax, ecx
mov ecx, edx
shrd edx, edx, 0xe
mov esi, dword [esp + 0x14]
xor edx, ecx
mov edi, dword [esp + 0x18]
xor esi, edi
shrd edx, edx, 5
and esi, ecx
mov dword [esp + 0x10], ecx
xor edx, ecx
xor edi, esi
shrd edx, edx, 6
mov ecx, eax
add edx, edi
mov edi, dword [esp + 4]
mov esi, eax
shrd ecx, ecx, 9
mov dword [esp], eax
xor ecx, eax
xor eax, edi
add edx, dword [esp + 0x1c]
shrd ecx, ecx, 0xb
and ebx, eax
xor ecx, esi
add edx, dword [esp + 0x40]
xor ebx, edi
shrd ecx, ecx, 2
add ebx, edx
add edx, dword [esp + 0xc]
add ebx, ecx
mov ecx, edx
shrd edx, edx, 0xe
mov esi, dword [esp + 0x10]
xor edx, ecx
mov edi, dword [esp + 0x14]
xor esi, edi
shrd edx, edx, 5
and esi, ecx
mov dword [esp + 0xc], ecx
xor edx, ecx
xor edi, esi
shrd edx, edx, 6
mov ecx, ebx
add edx, edi
mov edi, dword [esp]
mov esi, ebx
shrd ecx, ecx, 9
mov dword [esp + 0x1c], ebx
xor ecx, ebx
xor ebx, edi
add edx, dword [esp + 0x18]
shrd ecx, ecx, 0xb
and eax, ebx
xor ecx, esi
add edx, dword [esp + 0x44]
xor eax, edi
shrd ecx, ecx, 2
add eax, edx
add edx, dword [esp + 8]
add eax, ecx
mov ecx, edx
shrd edx, edx, 0xe
mov esi, dword [esp + 0xc]
xor edx, ecx
mov edi, dword [esp + 0x10]
xor esi, edi
shrd edx, edx, 5
and esi, ecx
mov dword [esp + 8], ecx
xor edx, ecx
xor edi, esi
shrd edx, edx, 6
mov ecx, eax
add edx, edi
mov edi, dword [esp + 0x1c]
mov esi, eax
shrd ecx, ecx, 9
mov dword [esp + 0x18], eax
xor ecx, eax
xor eax, edi
add edx, dword [esp + 0x14]
shrd ecx, ecx, 0xb
and ebx, eax
xor ecx, esi
add edx, dword [esp + 0x48]
xor ebx, edi
shrd ecx, ecx, 2
add ebx, edx
add edx, dword [esp + 4]
add ebx, ecx
mov ecx, edx
shrd edx, edx, 0xe
mov esi, dword [esp + 8]
xor edx, ecx
mov edi, dword [esp + 0xc]
xor esi, edi
shrd edx, edx, 5
and esi, ecx
mov dword [esp + 4], ecx
xor edx, ecx
xor edi, esi
shrd edx, edx, 6
mov ecx, ebx
add edx, edi
mov edi, dword [esp + 0x18]
mov esi, ebx
shrd ecx, ecx, 9
mov dword [esp + 0x14], ebx
xor ecx, ebx
xor ebx, edi
add edx, dword [esp + 0x10]
shrd ecx, ecx, 0xb
and eax, ebx
xor ecx, esi
add edx, dword [esp + 0x4c]
xor eax, edi
shrd ecx, ecx, 2
add eax, edx
add edx, dword [esp]
add eax, ecx
mov ecx, edx
shrd edx, edx, 0xe
mov esi, dword [esp + 4]
xor edx, ecx
mov edi, dword [esp + 8]
xor esi, edi
shrd edx, edx, 5
and esi, ecx
mov dword [esp], ecx
xor edx, ecx
xor edi, esi
shrd edx, edx, 6
mov ecx, eax
add edx, edi
mov edi, dword [esp + 0x14]
mov esi, eax
shrd ecx, ecx, 9
mov dword [esp + 0x10], eax
xor ecx, eax
xor eax, edi
add edx, dword [esp + 0xc]
shrd ecx, ecx, 0xb
and ebx, eax
xor ecx, esi
add edx, dword [esp + 0x50]
xor ebx, edi
shrd ecx, ecx, 2
add ebx, edx
add edx, dword [esp + 0x1c]
add ebx, ecx
mov ecx, edx
shrd edx, edx, 0xe
mov esi, dword [esp]
xor edx, ecx
mov edi, dword [esp + 4]
xor esi, edi
shrd edx, edx, 5
and esi, ecx
mov dword [esp + 0x1c], ecx
xor edx, ecx
xor edi, esi
shrd edx, edx, 6
mov ecx, ebx
add edx, edi
mov edi, dword [esp + 0x10]
mov esi, ebx
shrd ecx, ecx, 9
mov dword [esp + 0xc], ebx
xor ecx, ebx
xor ebx, edi
add edx, dword [esp + 8]
shrd ecx, ecx, 0xb
and eax, ebx
xor ecx, esi
add edx, dword [esp + 0x54]
xor eax, edi
shrd ecx, ecx, 2
add eax, edx
add edx, dword [esp + 0x18]
add eax, ecx
mov ecx, edx
shrd edx, edx, 0xe
mov esi, dword [esp + 0x1c]
xor edx, ecx
mov edi, dword [esp]
xor esi, edi
shrd edx, edx, 5
and esi, ecx
mov dword [esp + 0x18], ecx
xor edx, ecx
xor edi, esi
shrd edx, edx, 6
mov ecx, eax
add edx, edi
mov edi, dword [esp + 0xc]
mov esi, eax
shrd ecx, ecx, 9
mov dword [esp + 8], eax
xor ecx, eax
xor eax, edi
add edx, dword [esp + 4]
shrd ecx, ecx, 0xb
and ebx, eax
xor ecx, esi
add edx, dword [esp + 0x58]
xor ebx, edi
shrd ecx, ecx, 2
add ebx, edx
add edx, dword [esp + 0x14]
add ebx, ecx
mov ecx, edx
shrd edx, edx, 0xe
mov esi, dword [esp + 0x18]
xor edx, ecx
mov edi, dword [esp + 0x1c]
xor esi, edi
shrd edx, edx, 5
and esi, ecx
mov dword [esp + 0x14], ecx
xor edx, ecx
xor edi, esi
shrd edx, edx, 6
mov ecx, ebx
add edx, edi
mov edi, dword [esp + 8]
mov esi, ebx
shrd ecx, ecx, 9
mov dword [esp + 4], ebx
xor ecx, ebx
xor ebx, edi
add edx, dword [esp]
shrd ecx, ecx, 0xb
and eax, ebx
xor ecx, esi
add edx, dword [esp + 0x5c]
xor eax, edi
shrd ecx, ecx, 2
add eax, edx
add edx, dword [esp + 0x10]
add eax, ecx
mov esi, dword [esp + 0x60]
xor ebx, edi
mov ecx, dword [esp + 0xc]
add eax, dword [esi]
add ebx, dword [esi + 4]
add edi, dword [esi + 8]
add ecx, dword [esi + 0xc]
mov dword [esi], eax
mov dword [esi + 4], ebx
mov dword [esi + 8], edi
mov dword [esi + 0xc], ecx
mov dword [esp + 4], ebx
xor ebx, edi
mov dword [esp + 8], edi
mov dword [esp + 0xc], ecx
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
add edx, dword [esi + 0x10]
add edi, dword [esi + 0x14]
add ecx, dword [esi + 0x18]
mov dword [esi + 0x10], edx
mov dword [esi + 0x14], edi
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x1c]
mov dword [esi + 0x18], ecx
add edi, dword [esi + 0x1c]
mov dword [esp + 0x18], ecx
mov dword [esi + 0x1c], edi
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x64]
vmovdqa xmm7, xmmword [ebp + 0x40]
sub ebp, 0xc0
cmp edi, dword [esp + 0x68]
jb 0x404b00
mov esp, dword [esp + 0x6c]
vzeroall
pop edi
pop esi
pop ebx
pop ebp
ret
lea esp, [esp - 0x60]
vzeroall
mov eax, dword [esi]
mov ebx, dword [esi + 4]
mov ecx, dword [esi + 8]
mov edi, dword [esi + 0xc]
mov dword [esp + 4], ebx
xor ebx, ecx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
mov edx, dword [esi + 0x10]
mov edi, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
mov esi, dword [esi + 0x1c]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x64]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], esi
vmovdqa xmm7, xmmword [ebp + 0x100]
jmp 0x4059c0
vmovdqu xmm0, xmmword [edi]
vmovdqu xmm1, xmmword [edi + 0x10]
vmovdqu xmm2, xmmword [edi + 0x20]
vmovdqu xmm3, xmmword [edi + 0x30]
add edi, 0x40
vpshufb xmm0, xmm0, xmm7
mov dword [esp + 0x64], edi
vpshufb xmm1, xmm1, xmm7
vpshufb xmm2, xmm2, xmm7
vpaddd xmm4, xmm0, xmmword [ebp]
vpshufb xmm3, xmm3, xmm7
vpaddd xmm5, xmm1, xmmword [ebp + 0x10]
vpaddd xmm6, xmm2, xmmword [ebp + 0x20]
vpaddd xmm7, xmm3, xmmword [ebp + 0x30]
vmovdqa xmmword [esp + 0x20], xmm4
vmovdqa xmmword [esp + 0x30], xmm5
vmovdqa xmmword [esp + 0x40], xmm6
vmovdqa xmmword [esp + 0x50], xmm7
jmp 0x405a20
add ebp, 0x40
vpalignr xmm4, xmm1, xmm0, 4
rorx ecx, edx, 6
rorx esi, edx, 0xb
mov dword [esp + 0x10], edx
vpalignr xmm7, xmm3, xmm2, 4
rorx edi, edx, 0x19
xor ecx, esi
andn esi, edx, dword [esp + 0x18]
vpsrld xmm6, xmm4, 7
xor ecx, edi
and edx, dword [esp + 0x14]
mov dword [esp], eax
vpaddd xmm0, xmm0, xmm7
or edx, esi
rorx edi, eax, 2
rorx esi, eax, 0xd
vpsrld xmm7, xmm4, 3
lea edx, [edx + ecx]
rorx ecx, eax, 0x16
xor esi, edi
vpslld xmm5, xmm4, 0xe
mov edi, dword [esp + 4]
xor ecx, esi
xor eax, edi
vpxor xmm4, xmm7, xmm6
add edx, dword [esp + 0x1c]
and ebx, eax
add edx, dword [esp + 0x20]
vpshufd xmm7, xmm3, 0xfa
xor ebx, edi
add ecx, edx
add edx, dword [esp + 0xc]
vpsrld xmm6, xmm6, 0xb
lea ebx, [ebx + ecx]
rorx ecx, edx, 6
rorx esi, edx, 0xb
vpxor xmm4, xmm4, xmm5
mov dword [esp + 0xc], edx
rorx edi, edx, 0x19
xor ecx, esi
vpslld xmm5, xmm5, 0xb
andn esi, edx, dword [esp + 0x14]
xor ecx, edi
and edx, dword [esp + 0x10]
vpxor xmm4, xmm4, xmm6
mov dword [esp + 0x1c], ebx
or edx, esi
rorx edi, ebx, 2
rorx esi, ebx, 0xd
vpsrld xmm6, xmm7, 0xa
lea edx, [edx + ecx]
rorx ecx, ebx, 0x16
xor esi, edi
vpxor xmm4, xmm4, xmm5
mov edi, dword [esp]
xor ecx, esi
xor ebx, edi
vpsrlq xmm5, xmm7, 0x11
add edx, dword [esp + 0x18]
and eax, ebx
add edx, dword [esp + 0x24]
vpaddd xmm0, xmm0, xmm4
xor eax, edi
add ecx, edx
add edx, dword [esp + 8]
vpxor xmm6, xmm6, xmm5
lea eax, [eax + ecx]
rorx ecx, edx, 6
rorx esi, edx, 0xb
vpsrlq xmm7, xmm7, 0x13
mov dword [esp + 8], edx
rorx edi, edx, 0x19
xor ecx, esi
vpxor xmm6, xmm6, xmm7
andn esi, edx, dword [esp + 0x10]
xor ecx, edi
and edx, dword [esp + 0xc]
vpshufd xmm7, xmm6, 0x84
mov dword [esp + 0x18], eax
or edx, esi
rorx edi, eax, 2
rorx esi, eax, 0xd
vpsrldq xmm7, xmm7, 8
lea edx, [edx + ecx]
rorx ecx, eax, 0x16
xor esi, edi
vpaddd xmm0, xmm0, xmm7
mov edi, dword [esp + 0x1c]
xor ecx, esi
xor eax, edi
vpshufd xmm7, xmm0, 0x50
add edx, dword [esp + 0x14]
and ebx, eax
add edx, dword [esp + 0x28]
vpsrld xmm6, xmm7, 0xa
xor ebx, edi
add ecx, edx
add edx, dword [esp + 4]
vpsrlq xmm5, xmm7, 0x11
lea ebx, [ebx + ecx]
rorx ecx, edx, 6
rorx esi, edx, 0xb
vpxor xmm6, xmm6, xmm5
mov dword [esp + 4], edx
rorx edi, edx, 0x19
xor ecx, esi
vpsrlq xmm7, xmm7, 0x13
andn esi, edx, dword [esp + 0xc]
xor ecx, edi
and edx, dword [esp + 8]
vpxor xmm6, xmm6, xmm7
mov dword [esp + 0x14], ebx
or edx, esi
rorx edi, ebx, 2
rorx esi, ebx, 0xd
vpshufd xmm7, xmm6, 0xe8
lea edx, [edx + ecx]
rorx ecx, ebx, 0x16
xor esi, edi
vpslldq xmm7, xmm7, 8
mov edi, dword [esp + 0x18]
xor ecx, esi
xor ebx, edi
vpaddd xmm0, xmm0, xmm7
add edx, dword [esp + 0x10]
and eax, ebx
add edx, dword [esp + 0x2c]
vpaddd xmm6, xmm0, xmmword [ebp]
xor eax, edi
add ecx, edx
add edx, dword [esp]
lea eax, [eax + ecx]
vmovdqa xmmword [esp + 0x20], xmm6
vpalignr xmm4, xmm2, xmm1, 4
rorx ecx, edx, 6
rorx esi, edx, 0xb
mov dword [esp], edx
vpalignr xmm7, xmm0, xmm3, 4
rorx edi, edx, 0x19
xor ecx, esi
andn esi, edx, dword [esp + 8]
vpsrld xmm6, xmm4, 7
xor ecx, edi
and edx, dword [esp + 4]
mov dword [esp + 0x10], eax
vpaddd xmm1, xmm1, xmm7
or edx, esi
rorx edi, eax, 2
rorx esi, eax, 0xd
vpsrld xmm7, xmm4, 3
lea edx, [edx + ecx]
rorx ecx, eax, 0x16
xor esi, edi
vpslld xmm5, xmm4, 0xe
mov edi, dword [esp + 0x14]
xor ecx, esi
xor eax, edi
vpxor xmm4, xmm7, xmm6
add edx, dword [esp + 0xc]
and ebx, eax
add edx, dword [esp + 0x30]
vpshufd xmm7, xmm0, 0xfa
xor ebx, edi
add ecx, edx
add edx, dword [esp + 0x1c]
vpsrld xmm6, xmm6, 0xb
lea ebx, [ebx + ecx]
rorx ecx, edx, 6
rorx esi, edx, 0xb
vpxor xmm4, xmm4, xmm5
mov dword [esp + 0x1c], edx
rorx edi, edx, 0x19
xor ecx, esi
vpslld xmm5, xmm5, 0xb
andn esi, edx, dword [esp + 4]
xor ecx, edi
and edx, dword [esp]
vpxor xmm4, xmm4, xmm6
mov dword [esp + 0xc], ebx
or edx, esi
rorx edi, ebx, 2
rorx esi, ebx, 0xd
vpsrld xmm6, xmm7, 0xa
lea edx, [edx + ecx]
rorx ecx, ebx, 0x16
xor esi, edi
vpxor xmm4, xmm4, xmm5
mov edi, dword [esp + 0x10]
xor ecx, esi
xor ebx, edi
vpsrlq xmm5, xmm7, 0x11
add edx, dword [esp + 8]
and eax, ebx
add edx, dword [esp + 0x34]
vpaddd xmm1, xmm1, xmm4
xor eax, edi
add ecx, edx
add edx, dword [esp + 0x18]
vpxor xmm6, xmm6, xmm5
lea eax, [eax + ecx]
rorx ecx, edx, 6
rorx esi, edx, 0xb
vpsrlq xmm7, xmm7, 0x13
mov dword [esp + 0x18], edx
rorx edi, edx, 0x19
xor ecx, esi
vpxor xmm6, xmm6, xmm7
andn esi, edx, dword [esp]
xor ecx, edi
and edx, dword [esp + 0x1c]
vpshufd xmm7, xmm6, 0x84
mov dword [esp + 8], eax
or edx, esi
rorx edi, eax, 2
rorx esi, eax, 0xd
vpsrldq xmm7, xmm7, 8
lea edx, [edx + ecx]
rorx ecx, eax, 0x16
xor esi, edi
vpaddd xmm1, xmm1, xmm7
mov edi, dword [esp + 0xc]
xor ecx, esi
xor eax, edi
vpshufd xmm7, xmm1, 0x50
add edx, dword [esp + 4]
and ebx, eax
add edx, dword [esp + 0x38]
vpsrld xmm6, xmm7, 0xa
xor ebx, edi
add ecx, edx
add edx, dword [esp + 0x14]
vpsrlq xmm5, xmm7, 0x11
lea ebx, [ebx + ecx]
rorx ecx, edx, 6
rorx esi, edx, 0xb
vpxor xmm6, xmm6, xmm5
mov dword [esp + 0x14], edx
rorx edi, edx, 0x19
xor ecx, esi
vpsrlq xmm7, xmm7, 0x13
andn esi, edx, dword [esp + 0x1c]
xor ecx, edi
and edx, dword [esp + 0x18]
vpxor xmm6, xmm6, xmm7
mov dword [esp + 4], ebx
or edx, esi
rorx edi, ebx, 2
rorx esi, ebx, 0xd
vpshufd xmm7, xmm6, 0xe8
lea edx, [edx + ecx]
rorx ecx, ebx, 0x16
xor esi, edi
vpslldq xmm7, xmm7, 8
mov edi, dword [esp + 8]
xor ecx, esi
xor ebx, edi
vpaddd xmm1, xmm1, xmm7
add edx, dword [esp]
and eax, ebx
add edx, dword [esp + 0x3c]
vpaddd xmm6, xmm1, xmmword [ebp + 0x10]
xor eax, edi
add ecx, edx
add edx, dword [esp + 0x10]
lea eax, [eax + ecx]
vmovdqa xmmword [esp + 0x30], xmm6
vpalignr xmm4, xmm3, xmm2, 4
rorx ecx, edx, 6
rorx esi, edx, 0xb
mov dword [esp + 0x10], edx
vpalignr xmm7, xmm1, xmm0, 4
rorx edi, edx, 0x19
xor ecx, esi
andn esi, edx, dword [esp + 0x18]
vpsrld xmm6, xmm4, 7
xor ecx, edi
and edx, dword [esp + 0x14]
mov dword [esp], eax
vpaddd xmm2, xmm2, xmm7
or edx, esi
rorx edi, eax, 2
rorx esi, eax, 0xd
vpsrld xmm7, xmm4, 3
lea edx, [edx + ecx]
rorx ecx, eax, 0x16
xor esi, edi
vpslld xmm5, xmm4, 0xe
mov edi, dword [esp + 4]
xor ecx, esi
xor eax, edi
vpxor xmm4, xmm7, xmm6
add edx, dword [esp + 0x1c]
and ebx, eax
add edx, dword [esp + 0x40]
vpshufd xmm7, xmm1, 0xfa
xor ebx, edi
add ecx, edx
add edx, dword [esp + 0xc]
vpsrld xmm6, xmm6, 0xb
lea ebx, [ebx + ecx]
rorx ecx, edx, 6
rorx esi, edx, 0xb
vpxor xmm4, xmm4, xmm5
mov dword [esp + 0xc], edx
rorx edi, edx, 0x19
xor ecx, esi
vpslld xmm5, xmm5, 0xb
andn esi, edx, dword [esp + 0x14]
xor ecx, edi
and edx, dword [esp + 0x10]
vpxor xmm4, xmm4, xmm6
mov dword [esp + 0x1c], ebx
or edx, esi
rorx edi, ebx, 2
rorx esi, ebx, 0xd
vpsrld xmm6, xmm7, 0xa
lea edx, [edx + ecx]
rorx ecx, ebx, 0x16
xor esi, edi
vpxor xmm4, xmm4, xmm5
mov edi, dword [esp]
xor ecx, esi
xor ebx, edi
vpsrlq xmm5, xmm7, 0x11
add edx, dword [esp + 0x18]
and eax, ebx
add edx, dword [esp + 0x44]
vpaddd xmm2, xmm2, xmm4
xor eax, edi
add ecx, edx
add edx, dword [esp + 8]
vpxor xmm6, xmm6, xmm5
lea eax, [eax + ecx]
rorx ecx, edx, 6
rorx esi, edx, 0xb
vpsrlq xmm7, xmm7, 0x13
mov dword [esp + 8], edx
rorx edi, edx, 0x19
xor ecx, esi
vpxor xmm6, xmm6, xmm7
andn esi, edx, dword [esp + 0x10]
xor ecx, edi
and edx, dword [esp + 0xc]
vpshufd xmm7, xmm6, 0x84
mov dword [esp + 0x18], eax
or edx, esi
rorx edi, eax, 2
rorx esi, eax, 0xd
vpsrldq xmm7, xmm7, 8
lea edx, [edx + ecx]
rorx ecx, eax, 0x16
xor esi, edi
vpaddd xmm2, xmm2, xmm7
mov edi, dword [esp + 0x1c]
xor ecx, esi
xor eax, edi
vpshufd xmm7, xmm2, 0x50
add edx, dword [esp + 0x14]
and ebx, eax
add edx, dword [esp + 0x48]
vpsrld xmm6, xmm7, 0xa
xor ebx, edi
add ecx, edx
add edx, dword [esp + 4]
vpsrlq xmm5, xmm7, 0x11
lea ebx, [ebx + ecx]
rorx ecx, edx, 6
rorx esi, edx, 0xb
vpxor xmm6, xmm6, xmm5
mov dword [esp + 4], edx
rorx edi, edx, 0x19
xor ecx, esi
vpsrlq xmm7, xmm7, 0x13
andn esi, edx, dword [esp + 0xc]
xor ecx, edi
and edx, dword [esp + 8]
vpxor xmm6, xmm6, xmm7
mov dword [esp + 0x14], ebx
or edx, esi
rorx edi, ebx, 2
rorx esi, ebx, 0xd
vpshufd xmm7, xmm6, 0xe8
lea edx, [edx + ecx]
rorx ecx, ebx, 0x16
xor esi, edi
vpslldq xmm7, xmm7, 8
mov edi, dword [esp + 0x18]
xor ecx, esi
xor ebx, edi
vpaddd xmm2, xmm2, xmm7
add edx, dword [esp + 0x10]
and eax, ebx
add edx, dword [esp + 0x4c]
vpaddd xmm6, xmm2, xmmword [ebp + 0x20]
xor eax, edi
add ecx, edx
add edx, dword [esp]
lea eax, [eax + ecx]
vmovdqa xmmword [esp + 0x40], xmm6
vpalignr xmm4, xmm0, xmm3, 4
rorx ecx, edx, 6
rorx esi, edx, 0xb
mov dword [esp], edx
vpalignr xmm7, xmm2, xmm1, 4
rorx edi, edx, 0x19
xor ecx, esi
andn esi, edx, dword [esp + 8]
vpsrld xmm6, xmm4, 7
xor ecx, edi
and edx, dword [esp + 4]
mov dword [esp + 0x10], eax
vpaddd xmm3, xmm3, xmm7
or edx, esi
rorx edi, eax, 2
rorx esi, eax, 0xd
vpsrld xmm7, xmm4, 3
lea edx, [edx + ecx]
rorx ecx, eax, 0x16
xor esi, edi
vpslld xmm5, xmm4, 0xe
mov edi, dword [esp + 0x14]
xor ecx, esi
xor eax, edi
vpxor xmm4, xmm7, xmm6
add edx, dword [esp + 0xc]
and ebx, eax
add edx, dword [esp + 0x50]
vpshufd xmm7, xmm2, 0xfa
xor ebx, edi
add ecx, edx
add edx, dword [esp + 0x1c]
vpsrld xmm6, xmm6, 0xb
lea ebx, [ebx + ecx]
rorx ecx, edx, 6
rorx esi, edx, 0xb
vpxor xmm4, xmm4, xmm5
mov dword [esp + 0x1c], edx
rorx edi, edx, 0x19
xor ecx, esi
vpslld xmm5, xmm5, 0xb
andn esi, edx, dword [esp + 4]
xor ecx, edi
and edx, dword [esp]
vpxor xmm4, xmm4, xmm6
mov dword [esp + 0xc], ebx
or edx, esi
rorx edi, ebx, 2
rorx esi, ebx, 0xd
vpsrld xmm6, xmm7, 0xa
lea edx, [edx + ecx]
rorx ecx, ebx, 0x16
xor esi, edi
vpxor xmm4, xmm4, xmm5
mov edi, dword [esp + 0x10]
xor ecx, esi
xor ebx, edi
vpsrlq xmm5, xmm7, 0x11
add edx, dword [esp + 8]
and eax, ebx
add edx, dword [esp + 0x54]
vpaddd xmm3, xmm3, xmm4
xor eax, edi
add ecx, edx
add edx, dword [esp + 0x18]
vpxor xmm6, xmm6, xmm5
lea eax, [eax + ecx]
rorx ecx, edx, 6
rorx esi, edx, 0xb
vpsrlq xmm7, xmm7, 0x13
mov dword [esp + 0x18], edx
rorx edi, edx, 0x19
xor ecx, esi
vpxor xmm6, xmm6, xmm7
andn esi, edx, dword [esp]
xor ecx, edi
and edx, dword [esp + 0x1c]
vpshufd xmm7, xmm6, 0x84
mov dword [esp + 8], eax
or edx, esi
rorx edi, eax, 2
rorx esi, eax, 0xd
vpsrldq xmm7, xmm7, 8
lea edx, [edx + ecx]
rorx ecx, eax, 0x16
xor esi, edi
vpaddd xmm3, xmm3, xmm7
mov edi, dword [esp + 0xc]
xor ecx, esi
xor eax, edi
vpshufd xmm7, xmm3, 0x50
add edx, dword [esp + 4]
and ebx, eax
add edx, dword [esp + 0x58]
vpsrld xmm6, xmm7, 0xa
xor ebx, edi
add ecx, edx
add edx, dword [esp + 0x14]
vpsrlq xmm5, xmm7, 0x11
lea ebx, [ebx + ecx]
rorx ecx, edx, 6
rorx esi, edx, 0xb
vpxor xmm6, xmm6, xmm5
mov dword [esp + 0x14], edx
rorx edi, edx, 0x19
xor ecx, esi
vpsrlq xmm7, xmm7, 0x13
andn esi, edx, dword [esp + 0x1c]
xor ecx, edi
and edx, dword [esp + 0x18]
vpxor xmm6, xmm6, xmm7
mov dword [esp + 4], ebx
or edx, esi
rorx edi, ebx, 2
rorx esi, ebx, 0xd
vpshufd xmm7, xmm6, 0xe8
lea edx, [edx + ecx]
rorx ecx, ebx, 0x16
xor esi, edi
vpslldq xmm7, xmm7, 8
mov edi, dword [esp + 8]
xor ecx, esi
xor ebx, edi
vpaddd xmm3, xmm3, xmm7
add edx, dword [esp]
and eax, ebx
add edx, dword [esp + 0x5c]
vpaddd xmm6, xmm3, xmmword [ebp + 0x30]
xor eax, edi
add ecx, edx
add edx, dword [esp + 0x10]
lea eax, [eax + ecx]
vmovdqa xmmword [esp + 0x50], xmm6
cmp dword [ebp + 0x40], 0x10203
jne 0x405a20
rorx ecx, edx, 6
rorx esi, edx, 0xb
mov dword [esp + 0x10], edx
rorx edi, edx, 0x19
xor ecx, esi
andn esi, edx, dword [esp + 0x18]
xor ecx, edi
and edx, dword [esp + 0x14]
mov dword [esp], eax
or edx, esi
rorx edi, eax, 2
rorx esi, eax, 0xd
lea edx, [edx + ecx]
rorx ecx, eax, 0x16
xor esi, edi
mov edi, dword [esp + 4]
xor ecx, esi
xor eax, edi
add edx, dword [esp + 0x1c]
and ebx, eax
add edx, dword [esp + 0x20]
xor ebx, edi
add ecx, edx
add edx, dword [esp + 0xc]
lea ebx, [ebx + ecx]
rorx ecx, edx, 6
rorx esi, edx, 0xb
mov dword [esp + 0xc], edx
rorx edi, edx, 0x19
xor ecx, esi
andn esi, edx, dword [esp + 0x14]
xor ecx, edi
and edx, dword [esp + 0x10]
mov dword [esp + 0x1c], ebx
or edx, esi
rorx edi, ebx, 2
rorx esi, ebx, 0xd
lea edx, [edx + ecx]
rorx ecx, ebx, 0x16
xor esi, edi
mov edi, dword [esp]
xor ecx, esi
xor ebx, edi
add edx, dword [esp + 0x18]
and eax, ebx
add edx, dword [esp + 0x24]
xor eax, edi
add ecx, edx
add edx, dword [esp + 8]
lea eax, [eax + ecx]
rorx ecx, edx, 6
rorx esi, edx, 0xb
mov dword [esp + 8], edx
rorx edi, edx, 0x19
xor ecx, esi
andn esi, edx, dword [esp + 0x10]
xor ecx, edi
and edx, dword [esp + 0xc]
mov dword [esp + 0x18], eax
or edx, esi
rorx edi, eax, 2
rorx esi, eax, 0xd
lea edx, [edx + ecx]
rorx ecx, eax, 0x16
xor esi, edi
mov edi, dword [esp + 0x1c]
xor ecx, esi
xor eax, edi
add edx, dword [esp + 0x14]
and ebx, eax
add edx, dword [esp + 0x28]
xor ebx, edi
add ecx, edx
add edx, dword [esp + 4]
lea ebx, [ebx + ecx]
rorx ecx, edx, 6
rorx esi, edx, 0xb
mov dword [esp + 4], edx
rorx edi, edx, 0x19
xor ecx, esi
andn esi, edx, dword [esp + 0xc]
xor ecx, edi
and edx, dword [esp + 8]
mov dword [esp + 0x14], ebx
or edx, esi
rorx edi, ebx, 2
rorx esi, ebx, 0xd
lea edx, [edx + ecx]
rorx ecx, ebx, 0x16
xor esi, edi
mov edi, dword [esp + 0x18]
xor ecx, esi
xor ebx, edi
add edx, dword [esp + 0x10]
and eax, ebx
add edx, dword [esp + 0x2c]
xor eax, edi
add ecx, edx
add edx, dword [esp]
lea eax, [eax + ecx]
rorx ecx, edx, 6
rorx esi, edx, 0xb
mov dword [esp], edx
rorx edi, edx, 0x19
xor ecx, esi
andn esi, edx, dword [esp + 8]
xor ecx, edi
and edx, dword [esp + 4]
mov dword [esp + 0x10], eax
or edx, esi
rorx edi, eax, 2
rorx esi, eax, 0xd
lea edx, [edx + ecx]
rorx ecx, eax, 0x16
xor esi, edi
mov edi, dword [esp + 0x14]
xor ecx, esi
xor eax, edi
add edx, dword [esp + 0xc]
and ebx, eax
add edx, dword [esp + 0x30]
xor ebx, edi
add ecx, edx
add edx, dword [esp + 0x1c]
lea ebx, [ebx + ecx]
rorx ecx, edx, 6
rorx esi, edx, 0xb
mov dword [esp + 0x1c], edx
rorx edi, edx, 0x19
xor ecx, esi
andn esi, edx, dword [esp + 4]
xor ecx, edi
and edx, dword [esp]
mov dword [esp + 0xc], ebx
or edx, esi
rorx edi, ebx, 2
rorx esi, ebx, 0xd
lea edx, [edx + ecx]
rorx ecx, ebx, 0x16
xor esi, edi
mov edi, dword [esp + 0x10]
xor ecx, esi
xor ebx, edi
add edx, dword [esp + 8]
and eax, ebx
add edx, dword [esp + 0x34]
xor eax, edi
add ecx, edx
add edx, dword [esp + 0x18]
lea eax, [eax + ecx]
rorx ecx, edx, 6
rorx esi, edx, 0xb
mov dword [esp + 0x18], edx
rorx edi, edx, 0x19
xor ecx, esi
andn esi, edx, dword [esp]
xor ecx, edi
and edx, dword [esp + 0x1c]
mov dword [esp + 8], eax
or edx, esi
rorx edi, eax, 2
rorx esi, eax, 0xd
lea edx, [edx + ecx]
rorx ecx, eax, 0x16
xor esi, edi
mov edi, dword [esp + 0xc]
xor ecx, esi
xor eax, edi
add edx, dword [esp + 4]
and ebx, eax
add edx, dword [esp + 0x38]
xor ebx, edi
add ecx, edx
add edx, dword [esp + 0x14]
lea ebx, [ebx + ecx]
rorx ecx, edx, 6
rorx esi, edx, 0xb
mov dword [esp + 0x14], edx
rorx edi, edx, 0x19
xor ecx, esi
andn esi, edx, dword [esp + 0x1c]
xor ecx, edi
and edx, dword [esp + 0x18]
mov dword [esp + 4], ebx
or edx, esi
rorx edi, ebx, 2
rorx esi, ebx, 0xd
lea edx, [edx + ecx]
rorx ecx, ebx, 0x16
xor esi, edi
mov edi, dword [esp + 8]
xor ecx, esi
xor ebx, edi
add edx, dword [esp]
and eax, ebx
add edx, dword [esp + 0x3c]
xor eax, edi
add ecx, edx
add edx, dword [esp + 0x10]
lea eax, [eax + ecx]
rorx ecx, edx, 6
rorx esi, edx, 0xb
mov dword [esp + 0x10], edx
rorx edi, edx, 0x19
xor ecx, esi
andn esi, edx, dword [esp + 0x18]
xor ecx, edi
and edx, dword [esp + 0x14]
mov dword [esp], eax
or edx, esi
rorx edi, eax, 2
rorx esi, eax, 0xd
lea edx, [edx + ecx]
rorx ecx, eax, 0x16
xor esi, edi
mov edi, dword [esp + 4]
xor ecx, esi
xor eax, edi
add edx, dword [esp + 0x1c]
and ebx, eax
add edx, dword [esp + 0x40]
xor ebx, edi
add ecx, edx
add edx, dword [esp + 0xc]
lea ebx, [ebx + ecx]
rorx ecx, edx, 6
rorx esi, edx, 0xb
mov dword [esp + 0xc], edx
rorx edi, edx, 0x19
xor ecx, esi
andn esi, edx, dword [esp + 0x14]
xor ecx, edi
and edx, dword [esp + 0x10]
mov dword [esp + 0x1c], ebx
or edx, esi
rorx edi, ebx, 2
rorx esi, ebx, 0xd
lea edx, [edx + ecx]
rorx ecx, ebx, 0x16
xor esi, edi
mov edi, dword [esp]
xor ecx, esi
xor ebx, edi
add edx, dword [esp + 0x18]
and eax, ebx
add edx, dword [esp + 0x44]
xor eax, edi
add ecx, edx
add edx, dword [esp + 8]
lea eax, [eax + ecx]
rorx ecx, edx, 6
rorx esi, edx, 0xb
mov dword [esp + 8], edx
rorx edi, edx, 0x19
xor ecx, esi
andn esi, edx, dword [esp + 0x10]
xor ecx, edi
and edx, dword [esp + 0xc]
mov dword [esp + 0x18], eax
or edx, esi
rorx edi, eax, 2
rorx esi, eax, 0xd
lea edx, [edx + ecx]
rorx ecx, eax, 0x16
xor esi, edi
mov edi, dword [esp + 0x1c]
xor ecx, esi
xor eax, edi
add edx, dword [esp + 0x14]
and ebx, eax
add edx, dword [esp + 0x48]
xor ebx, edi
add ecx, edx
add edx, dword [esp + 4]
lea ebx, [ebx + ecx]
rorx ecx, edx, 6
rorx esi, edx, 0xb
mov dword [esp + 4], edx
rorx edi, edx, 0x19
xor ecx, esi
andn esi, edx, dword [esp + 0xc]
xor ecx, edi
and edx, dword [esp + 8]
mov dword [esp + 0x14], ebx
or edx, esi
rorx edi, ebx, 2
rorx esi, ebx, 0xd
lea edx, [edx + ecx]
rorx ecx, ebx, 0x16
xor esi, edi
mov edi, dword [esp + 0x18]
xor ecx, esi
xor ebx, edi
add edx, dword [esp + 0x10]
and eax, ebx
add edx, dword [esp + 0x4c]
xor eax, edi
add ecx, edx
add edx, dword [esp]
lea eax, [eax + ecx]
rorx ecx, edx, 6
rorx esi, edx, 0xb
mov dword [esp], edx
rorx edi, edx, 0x19
xor ecx, esi
andn esi, edx, dword [esp + 8]
xor ecx, edi
and edx, dword [esp + 4]
mov dword [esp + 0x10], eax
or edx, esi
rorx edi, eax, 2
rorx esi, eax, 0xd
lea edx, [edx + ecx]
rorx ecx, eax, 0x16
xor esi, edi
mov edi, dword [esp + 0x14]
xor ecx, esi
xor eax, edi
add edx, dword [esp + 0xc]
and ebx, eax
add edx, dword [esp + 0x50]
xor ebx, edi
add ecx, edx
add edx, dword [esp + 0x1c]
lea ebx, [ebx + ecx]
rorx ecx, edx, 6
rorx esi, edx, 0xb
mov dword [esp + 0x1c], edx
rorx edi, edx, 0x19
xor ecx, esi
andn esi, edx, dword [esp + 4]
xor ecx, edi
and edx, dword [esp]
mov dword [esp + 0xc], ebx
or edx, esi
rorx edi, ebx, 2
rorx esi, ebx, 0xd
lea edx, [edx + ecx]
rorx ecx, ebx, 0x16
xor esi, edi
mov edi, dword [esp + 0x10]
xor ecx, esi
xor ebx, edi
add edx, dword [esp + 8]
and eax, ebx
add edx, dword [esp + 0x54]
xor eax, edi
add ecx, edx
add edx, dword [esp + 0x18]
lea eax, [eax + ecx]
rorx ecx, edx, 6
rorx esi, edx, 0xb
mov dword [esp + 0x18], edx
rorx edi, edx, 0x19
xor ecx, esi
andn esi, edx, dword [esp]
xor ecx, edi
and edx, dword [esp + 0x1c]
mov dword [esp + 8], eax
or edx, esi
rorx edi, eax, 2
rorx esi, eax, 0xd
lea edx, [edx + ecx]
rorx ecx, eax, 0x16
xor esi, edi
mov edi, dword [esp + 0xc]
xor ecx, esi
xor eax, edi
add edx, dword [esp + 4]
and ebx, eax
add edx, dword [esp + 0x58]
xor ebx, edi
add ecx, edx
add edx, dword [esp + 0x14]
lea ebx, [ebx + ecx]
rorx ecx, edx, 6
rorx esi, edx, 0xb
mov dword [esp + 0x14], edx
rorx edi, edx, 0x19
xor ecx, esi
andn esi, edx, dword [esp + 0x1c]
xor ecx, edi
and edx, dword [esp + 0x18]
mov dword [esp + 4], ebx
or edx, esi
rorx edi, ebx, 2
rorx esi, ebx, 0xd
lea edx, [edx + ecx]
rorx ecx, ebx, 0x16
xor esi, edi
mov edi, dword [esp + 8]
xor ecx, esi
xor ebx, edi
add edx, dword [esp]
and eax, ebx
add edx, dword [esp + 0x5c]
xor eax, edi
add ecx, edx
add edx, dword [esp + 0x10]
lea eax, [eax + ecx]
mov esi, dword [esp + 0x60]
xor ebx, edi
mov ecx, dword [esp + 0xc]
add eax, dword [esi]
add ebx, dword [esi + 4]
add edi, dword [esi + 8]
add ecx, dword [esi + 0xc]
mov dword [esi], eax
mov dword [esi + 4], ebx
mov dword [esi + 8], edi
or byte [ecx + 0x5c890c4e], cl
and al, 4
xor ebx, edi
mov dword [esp + 8], edi
mov dword [esp + 0xc], ecx
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
add edx, dword [esi + 0x10]
add edi, dword [esi + 0x14]
add ecx, dword [esi + 0x18]
mov dword [esi + 0x10], edx
mov dword [esi + 0x14], edi
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x1c]
mov dword [esi + 0x18], ecx
add edi, dword [esi + 0x1c]
mov dword [esp + 0x18], ecx
mov dword [esi + 0x1c], edi
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x64]
vmovdqa xmm7, xmmword [ebp + 0x40]
sub ebp, 0xc0
cmp edi, dword [esp + 0x68]
jb 0x4059c0
mov esp, dword [esp + 0x6c]
vzeroall
pop edi
pop esi
pop ebx
pop ebp
ret