Function at 0x459390
Capabilities:
Encode data using xor
Encrypt data using hc-128

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa0
mov eax, dword [0x47ea94]
xor eax, ebp
mov dword [ebp - 4], eax
push 0
push 0
push 0
push 0
push 0
push str.sha256_block_data_order
lea ecx, [ebp - 0xa0]
call fcn.00407b80
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x9c], eax
mov ecx, dword [ebp + 0x10]
sub ecx, 1
mov dword [ebp + 0x10], ecx
cmp dword [ebp - 0x9c], 0
je 0x45b395
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + eax]
mov dword [ebp - 0x50], edx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + eax]
mov dword [ebp - 0x54], edx
mov eax, 4
shl eax, 1
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + eax]
mov dword [ebp - 0x58], edx
mov eax, 4
imul ecx, eax, 3
mov edx, dword [ebp + 8]
mov eax, dword [edx + ecx]
mov dword [ebp - 0x5c], eax
mov ecx, 4
shl ecx, 2
mov edx, dword [ebp + 8]
mov eax, dword [edx + ecx]
mov dword [ebp - 0x60], eax
mov ecx, 4
imul edx, ecx, 5
mov eax, dword [ebp + 8]
mov ecx, dword [eax + edx]
mov dword [ebp - 0x64], ecx
mov edx, 4
imul eax, edx, 6
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + eax]
mov dword [ebp - 0x68], edx
mov eax, 4
imul ecx, eax, 7
mov edx, dword [ebp + 8]
mov eax, dword [edx + ecx]
mov dword [ebp - 0x6c], eax
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
shl edx, 0x18
mov dword [ebp - 0x48], edx
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
shl edx, 0x10
or edx, dword [ebp - 0x48]
mov dword [ebp - 0x48], edx
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
shl edx, 8
or edx, dword [ebp - 0x48]
mov dword [ebp - 0x48], edx
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
or edx, dword [ebp - 0x48]
mov dword [ebp - 0x48], edx
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 0x48]
mov dword [ebp + edx - 0x44], eax
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0x60]
shl edx, 0x1a
mov eax, dword [ebp - 0x60]
shr eax, 6
or edx, eax
mov ecx, dword [ebp - 0x60]
shl ecx, 0x15
mov eax, dword [ebp - 0x60]
shr eax, 0xb
or ecx, eax
xor edx, ecx
mov ecx, dword [ebp - 0x60]
shl ecx, 7
mov eax, dword [ebp - 0x60]
shr eax, 0x19
or ecx, eax
xor edx, ecx
add edx, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x60]
and ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x60]
not eax
and eax, dword [ebp - 0x68]
xor ecx, eax
add edx, ecx
mov ecx, 4
imul eax, ecx, 0
add edx, dword [eax + 0x46ec20]
add edx, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], edx
mov ecx, dword [ebp - 0x50]
shl ecx, 0x1e
mov edx, dword [ebp - 0x50]
shr edx, 2
or ecx, edx
mov eax, dword [ebp - 0x50]
shl eax, 0x13
mov edx, dword [ebp - 0x50]
shr edx, 0xd
or eax, edx
xor ecx, eax
mov eax, dword [ebp - 0x50]
shl eax, 0xa
mov edx, dword [ebp - 0x50]
shr edx, 0x16
or eax, edx
xor ecx, eax
mov eax, dword [ebp - 0x50]
and eax, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
and edx, dword [ebp - 0x58]
xor eax, edx
mov edx, dword [ebp - 0x54]
and edx, dword [ebp - 0x58]
xor eax, edx
add ecx, eax
mov dword [ebp - 0x6c], ecx
mov eax, dword [ebp - 0x5c]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x6c]
add ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x6c], ecx
xor edx, edx
jne 0x4594d2
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
shl ecx, 0x18
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
shl ecx, 0x10
or ecx, dword [ebp - 0x48]
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
shl ecx, 8
or ecx, dword [ebp - 0x48]
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
or ecx, dword [ebp - 0x48]
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 0x48]
mov dword [ebp + eax - 0x44], ecx
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x5c]
shl eax, 0x1a
mov ecx, dword [ebp - 0x5c]
shr ecx, 6
or eax, ecx
mov edx, dword [ebp - 0x5c]
shl edx, 0x15
mov ecx, dword [ebp - 0x5c]
shr ecx, 0xb
or edx, ecx
xor eax, edx
mov edx, dword [ebp - 0x5c]
shl edx, 7
mov ecx, dword [ebp - 0x5c]
shr ecx, 0x19
or edx, ecx
xor eax, edx
add eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x5c]
and edx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
not ecx
and ecx, dword [ebp - 0x64]
xor edx, ecx
add eax, edx
mov edx, 4
shl edx, 0
add eax, dword [edx + 0x46ec20]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x6c]
shl eax, 0x1e
mov ecx, dword [ebp - 0x6c]
shr ecx, 2
or eax, ecx
mov edx, dword [ebp - 0x6c]
shl edx, 0x13
mov ecx, dword [ebp - 0x6c]
shr ecx, 0xd
or edx, ecx
xor eax, edx
mov edx, dword [ebp - 0x6c]
shl edx, 0xa
mov ecx, dword [ebp - 0x6c]
shr ecx, 0x16
or edx, ecx
xor eax, edx
mov edx, dword [ebp - 0x6c]
and edx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x6c]
and ecx, dword [ebp - 0x54]
xor edx, ecx
mov ecx, dword [ebp - 0x50]
and ecx, dword [ebp - 0x54]
xor edx, ecx
add eax, edx
mov dword [ebp - 0x68], eax
mov edx, dword [ebp - 0x58]
add edx, dword [ebp - 0x4c]
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x68]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x68], eax
xor ecx, ecx
jne 0x4595fb
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
shl eax, 0x18
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
shl eax, 0x10
or eax, dword [ebp - 0x48]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
shl eax, 8
or eax, dword [ebp - 0x48]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
or eax, dword [ebp - 0x48]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
mov edx, 4
shl edx, 1
mov eax, dword [ebp - 0x48]
mov dword [ebp + edx - 0x44], eax
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0x58]
shl edx, 0x1a
mov eax, dword [ebp - 0x58]
shr eax, 6
or edx, eax
mov ecx, dword [ebp - 0x58]
shl ecx, 0x15
mov eax, dword [ebp - 0x58]
shr eax, 0xb
or ecx, eax
xor edx, ecx
mov ecx, dword [ebp - 0x58]
shl ecx, 7
mov eax, dword [ebp - 0x58]
shr eax, 0x19
or ecx, eax
xor edx, ecx
add edx, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x58]
and ecx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x58]
not eax
and eax, dword [ebp - 0x60]
xor ecx, eax
add edx, ecx
mov ecx, 4
shl ecx, 1
add edx, dword [ecx + 0x46ec20]
add edx, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], edx
mov edx, dword [ebp - 0x68]
shl edx, 0x1e
mov eax, dword [ebp - 0x68]
shr eax, 2
or edx, eax
mov ecx, dword [ebp - 0x68]
shl ecx, 0x13
mov eax, dword [ebp - 0x68]
shr eax, 0xd
or ecx, eax
xor edx, ecx
mov ecx, dword [ebp - 0x68]
shl ecx, 0xa
mov eax, dword [ebp - 0x68]
shr eax, 0x16
or ecx, eax
xor edx, ecx
mov ecx, dword [ebp - 0x68]
and ecx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x68]
and eax, dword [ebp - 0x50]
xor ecx, eax
mov eax, dword [ebp - 0x6c]
and eax, dword [ebp - 0x50]
xor ecx, eax
add edx, ecx
mov dword [ebp - 0x64], edx
mov ecx, dword [ebp - 0x54]
add ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x54], ecx
mov edx, dword [ebp - 0x64]
add edx, dword [ebp - 0x4c]
mov dword [ebp - 0x64], edx
xor eax, eax
jne 0x459723
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
shl edx, 0x18
mov dword [ebp - 0x48], edx
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
shl edx, 0x10
or edx, dword [ebp - 0x48]
mov dword [ebp - 0x48], edx
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
shl edx, 8
or edx, dword [ebp - 0x48]
mov dword [ebp - 0x48], edx
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
or edx, dword [ebp - 0x48]
mov dword [ebp - 0x48], edx
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
mov ecx, 4
imul edx, ecx, 3
mov eax, dword [ebp - 0x48]
mov dword [ebp + edx - 0x44], eax
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0x54]
shl edx, 0x1a
mov eax, dword [ebp - 0x54]
shr eax, 6
or edx, eax
mov ecx, dword [ebp - 0x54]
shl ecx, 0x15
mov eax, dword [ebp - 0x54]
shr eax, 0xb
or ecx, eax
xor edx, ecx
mov ecx, dword [ebp - 0x54]
shl ecx, 7
mov eax, dword [ebp - 0x54]
shr eax, 0x19
or ecx, eax
xor edx, ecx
add edx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x54]
and ecx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
not eax
and eax, dword [ebp - 0x5c]
xor ecx, eax
add edx, ecx
mov ecx, 4
imul eax, ecx, 3
add edx, dword [eax + 0x46ec20]
add edx, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], edx
mov ecx, dword [ebp - 0x64]
shl ecx, 0x1e
mov edx, dword [ebp - 0x64]
shr edx, 2
or ecx, edx
mov eax, dword [ebp - 0x64]
shl eax, 0x13
mov edx, dword [ebp - 0x64]
shr edx, 0xd
or eax, edx
xor ecx, eax
mov eax, dword [ebp - 0x64]
shl eax, 0xa
mov edx, dword [ebp - 0x64]
shr edx, 0x16
or eax, edx
xor ecx, eax
mov eax, dword [ebp - 0x64]
and eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
and edx, dword [ebp - 0x6c]
xor eax, edx
mov edx, dword [ebp - 0x68]
and edx, dword [ebp - 0x6c]
xor eax, edx
add ecx, eax
mov dword [ebp - 0x60], ecx
mov eax, dword [ebp - 0x50]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x60]
add ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x60], ecx
xor edx, edx
jne 0x45984b
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
shl ecx, 0x18
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
shl ecx, 0x10
or ecx, dword [ebp - 0x48]
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
shl ecx, 8
or ecx, dword [ebp - 0x48]
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
or ecx, dword [ebp - 0x48]
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
mov eax, 4
shl eax, 2
mov ecx, dword [ebp - 0x48]
mov dword [ebp + eax - 0x44], ecx
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x50]
shl eax, 0x1a
mov ecx, dword [ebp - 0x50]
shr ecx, 6
or eax, ecx
mov edx, dword [ebp - 0x50]
shl edx, 0x15
mov ecx, dword [ebp - 0x50]
shr ecx, 0xb
or edx, ecx
xor eax, edx
mov edx, dword [ebp - 0x50]
shl edx, 7
mov ecx, dword [ebp - 0x50]
shr ecx, 0x19
or edx, ecx
xor eax, edx
add eax, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x50]
and edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
not ecx
and ecx, dword [ebp - 0x58]
xor edx, ecx
add eax, edx
mov edx, 4
shl edx, 2
add eax, dword [edx + 0x46ec20]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x60]
shl eax, 0x1e
mov ecx, dword [ebp - 0x60]
shr ecx, 2
or eax, ecx
mov edx, dword [ebp - 0x60]
shl edx, 0x13
mov ecx, dword [ebp - 0x60]
shr ecx, 0xd
or edx, ecx
xor eax, edx
mov edx, dword [ebp - 0x60]
shl edx, 0xa
mov ecx, dword [ebp - 0x60]
shr ecx, 0x16
or edx, ecx
xor eax, edx
mov edx, dword [ebp - 0x60]
and edx, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x60]
and ecx, dword [ebp - 0x68]
xor edx, ecx
mov ecx, dword [ebp - 0x64]
and ecx, dword [ebp - 0x68]
xor edx, ecx
add eax, edx
mov dword [ebp - 0x5c], eax
mov edx, dword [ebp - 0x6c]
add edx, dword [ebp - 0x4c]
mov dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x5c]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x5c], eax
xor ecx, ecx
jne 0x459974
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
shl eax, 0x18
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
shl eax, 0x10
or eax, dword [ebp - 0x48]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
shl eax, 8
or eax, dword [ebp - 0x48]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
or eax, dword [ebp - 0x48]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
mov edx, 4
imul eax, edx, 5
mov ecx, dword [ebp - 0x48]
mov dword [ebp + eax - 0x44], ecx
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x6c]
shl eax, 0x1a
mov ecx, dword [ebp - 0x6c]
shr ecx, 6
or eax, ecx
mov edx, dword [ebp - 0x6c]
shl edx, 0x15
mov ecx, dword [ebp - 0x6c]
shr ecx, 0xb
or edx, ecx
xor eax, edx
mov edx, dword [ebp - 0x6c]
shl edx, 7
mov ecx, dword [ebp - 0x6c]
shr ecx, 0x19
or edx, ecx
xor eax, edx
add eax, dword [ebp - 0x58]
mov edx, dword [ebp - 0x6c]
and edx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x6c]
not ecx
and ecx, dword [ebp - 0x54]
xor edx, ecx
add eax, edx
mov edx, 4
imul ecx, edx, 5
add eax, dword [ecx + 0x46ec20]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], eax
mov edx, dword [ebp - 0x5c]
shl edx, 0x1e
mov eax, dword [ebp - 0x5c]
shr eax, 2
or edx, eax
mov ecx, dword [ebp - 0x5c]
shl ecx, 0x13
mov eax, dword [ebp - 0x5c]
shr eax, 0xd
or ecx, eax
xor edx, ecx
mov ecx, dword [ebp - 0x5c]
shl ecx, 0xa
mov eax, dword [ebp - 0x5c]
shr eax, 0x16
or ecx, eax
xor edx, ecx
mov ecx, dword [ebp - 0x5c]
and ecx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
and eax, dword [ebp - 0x64]
xor ecx, eax
mov eax, dword [ebp - 0x60]
and eax, dword [ebp - 0x64]
xor ecx, eax
add edx, ecx
mov dword [ebp - 0x58], edx
mov ecx, dword [ebp - 0x68]
add ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x68], ecx
mov edx, dword [ebp - 0x58]
add edx, dword [ebp - 0x4c]
mov dword [ebp - 0x58], edx
xor eax, eax
jne 0x459a9d
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
shl edx, 0x18
mov dword [ebp - 0x48], edx
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
shl edx, 0x10
or edx, dword [ebp - 0x48]
mov dword [ebp - 0x48], edx
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
shl edx, 8
or edx, dword [ebp - 0x48]
mov dword [ebp - 0x48], edx
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
or edx, dword [ebp - 0x48]
mov dword [ebp - 0x48], edx
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
mov ecx, 4
imul edx, ecx, 6
mov eax, dword [ebp - 0x48]
mov dword [ebp + edx - 0x44], eax
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0x68]
shl edx, 0x1a
mov eax, dword [ebp - 0x68]
shr eax, 6
or edx, eax
mov ecx, dword [ebp - 0x68]
shl ecx, 0x15
mov eax, dword [ebp - 0x68]
shr eax, 0xb
or ecx, eax
xor edx, ecx
mov ecx, dword [ebp - 0x68]
shl ecx, 7
mov eax, dword [ebp - 0x68]
shr eax, 0x19
or ecx, eax
xor edx, ecx
add edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x68]
and ecx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x68]
not eax
and eax, dword [ebp - 0x50]
xor ecx, eax
add edx, ecx
mov ecx, 4
imul eax, ecx, 6
add edx, dword [eax + 0x46ec20]
add edx, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], edx
mov ecx, dword [ebp - 0x58]
shl ecx, 0x1e
mov edx, dword [ebp - 0x58]
shr edx, 2
or ecx, edx
mov eax, dword [ebp - 0x58]
shl eax, 0x13
mov edx, dword [ebp - 0x58]
shr edx, 0xd
or eax, edx
xor ecx, eax
mov eax, dword [ebp - 0x58]
shl eax, 0xa
mov edx, dword [ebp - 0x58]
shr edx, 0x16
or eax, edx
xor ecx, eax
mov eax, dword [ebp - 0x58]
and eax, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x58]
and edx, dword [ebp - 0x60]
xor eax, edx
mov edx, dword [ebp - 0x5c]
and edx, dword [ebp - 0x60]
xor eax, edx
add ecx, eax
mov dword [ebp - 0x54], ecx
mov eax, dword [ebp - 0x64]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x54]
add ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x54], ecx
xor edx, edx
jne 0x459bc6
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
shl ecx, 0x18
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
shl ecx, 0x10
or ecx, dword [ebp - 0x48]
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
shl ecx, 8
or ecx, dword [ebp - 0x48]
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
or ecx, dword [ebp - 0x48]
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
mov eax, 4
imul ecx, eax, 7
mov edx, dword [ebp - 0x48]
mov dword [ebp + ecx - 0x44], edx
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x64]
shl ecx, 0x1a
mov edx, dword [ebp - 0x64]
shr edx, 6
or ecx, edx
mov eax, dword [ebp - 0x64]
shl eax, 0x15
mov edx, dword [ebp - 0x64]
shr edx, 0xb
or eax, edx
xor ecx, eax
mov eax, dword [ebp - 0x64]
shl eax, 7
mov edx, dword [ebp - 0x64]
shr edx, 0x19
or eax, edx
xor ecx, eax
add ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x64]
and eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
not edx
and edx, dword [ebp - 0x6c]
xor eax, edx
add ecx, eax
mov eax, 4
imul edx, eax, 7
add ecx, dword [edx + 0x46ec20]
add ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], ecx
mov eax, dword [ebp - 0x54]
shl eax, 0x1e
mov ecx, dword [ebp - 0x54]
shr ecx, 2
or eax, ecx
mov edx, dword [ebp - 0x54]
shl edx, 0x13
mov ecx, dword [ebp - 0x54]
shr ecx, 0xd
or edx, ecx
xor eax, edx
mov edx, dword [ebp - 0x54]
shl edx, 0xa
mov ecx, dword [ebp - 0x54]
shr ecx, 0x16
or edx, ecx
xor eax, edx
mov edx, dword [ebp - 0x54]
and edx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
and ecx, dword [ebp - 0x5c]
xor edx, ecx
mov ecx, dword [ebp - 0x58]
and ecx, dword [ebp - 0x5c]
xor edx, ecx
add eax, edx
mov dword [ebp - 0x50], eax
mov edx, dword [ebp - 0x60]
add edx, dword [ebp - 0x4c]
mov dword [ebp - 0x60], edx
mov eax, dword [ebp - 0x50]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x50], eax
xor ecx, ecx
jne 0x459cef
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
shl eax, 0x18
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
shl eax, 0x10
or eax, dword [ebp - 0x48]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
shl eax, 8
or eax, dword [ebp - 0x48]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
or eax, dword [ebp - 0x48]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
mov edx, 4
shl edx, 3
mov eax, dword [ebp - 0x48]
mov dword [ebp + edx - 0x44], eax
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0x60]
shl edx, 0x1a
mov eax, dword [ebp - 0x60]
shr eax, 6
or edx, eax
mov ecx, dword [ebp - 0x60]
shl ecx, 0x15
mov eax, dword [ebp - 0x60]
shr eax, 0xb
or ecx, eax
xor edx, ecx
mov ecx, dword [ebp - 0x60]
shl ecx, 7
mov eax, dword [ebp - 0x60]
shr eax, 0x19
or ecx, eax
xor edx, ecx
add edx, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x60]
and ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x60]
not eax
and eax, dword [ebp - 0x68]
xor ecx, eax
add edx, ecx
mov ecx, 4
shl ecx, 3
add edx, dword [ecx + 0x46ec20]
add edx, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], edx
mov edx, dword [ebp - 0x50]
shl edx, 0x1e
mov eax, dword [ebp - 0x50]
shr eax, 2
or edx, eax
mov ecx, dword [ebp - 0x50]
shl ecx, 0x13
mov eax, dword [ebp - 0x50]
shr eax, 0xd
or ecx, eax
xor edx, ecx
mov ecx, dword [ebp - 0x50]
shl ecx, 0xa
mov eax, dword [ebp - 0x50]
shr eax, 0x16
or ecx, eax
xor edx, ecx
mov ecx, dword [ebp - 0x50]
and ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
and eax, dword [ebp - 0x58]
xor ecx, eax
mov eax, dword [ebp - 0x54]
and eax, dword [ebp - 0x58]
xor ecx, eax
add edx, ecx
mov dword [ebp - 0x6c], edx
mov ecx, dword [ebp - 0x5c]
add ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp - 0x6c]
add edx, dword [ebp - 0x4c]
mov dword [ebp - 0x6c], edx
xor eax, eax
jne 0x459e18
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
shl edx, 0x18
mov dword [ebp - 0x48], edx
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
shl edx, 0x10
or edx, dword [ebp - 0x48]
mov dword [ebp - 0x48], edx
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
shl edx, 8
or edx, dword [ebp - 0x48]
mov dword [ebp - 0x48], edx
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
or edx, dword [ebp - 0x48]
mov dword [ebp - 0x48], edx
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
mov ecx, 4
imul edx, ecx, 9
mov eax, dword [ebp - 0x48]
mov dword [ebp + edx - 0x44], eax
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0x5c]
shl edx, 0x1a
mov eax, dword [ebp - 0x5c]
shr eax, 6
or edx, eax
mov ecx, dword [ebp - 0x5c]
shl ecx, 0x15
mov eax, dword [ebp - 0x5c]
shr eax, 0xb
or ecx, eax
xor edx, ecx
mov ecx, dword [ebp - 0x5c]
shl ecx, 7
mov eax, dword [ebp - 0x5c]
shr eax, 0x19
or ecx, eax
xor edx, ecx
add edx, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x5c]
and ecx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
not eax
and eax, dword [ebp - 0x64]
xor ecx, eax
add edx, ecx
mov ecx, 4
imul eax, ecx, 9
add edx, dword [eax + 0x46ec20]
add edx, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], edx
mov ecx, dword [ebp - 0x6c]
shl ecx, 0x1e
mov edx, dword [ebp - 0x6c]
shr edx, 2
or ecx, edx
mov eax, dword [ebp - 0x6c]
shl eax, 0x13
mov edx, dword [ebp - 0x6c]
shr edx, 0xd
or eax, edx
xor ecx, eax
mov eax, dword [ebp - 0x6c]
shl eax, 0xa
mov edx, dword [ebp - 0x6c]
shr edx, 0x16
or eax, edx
xor ecx, eax
mov eax, dword [ebp - 0x6c]
and eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x6c]
and edx, dword [ebp - 0x54]
xor eax, edx
mov edx, dword [ebp - 0x50]
and edx, dword [ebp - 0x54]
xor eax, edx
add ecx, eax
mov dword [ebp - 0x68], ecx
mov eax, dword [ebp - 0x58]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 0x68]
add ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x68], ecx
xor edx, edx
jne 0x459f41
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
shl ecx, 0x18
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
shl ecx, 0x10
or ecx, dword [ebp - 0x48]
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
shl ecx, 8
or ecx, dword [ebp - 0x48]
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
or ecx, dword [ebp - 0x48]
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
mov eax, 4
imul ecx, eax, 0xa
mov edx, dword [ebp - 0x48]
mov dword [ebp + ecx - 0x44], edx
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x58]
shl ecx, 0x1a
mov edx, dword [ebp - 0x58]
shr edx, 6
or ecx, edx
mov eax, dword [ebp - 0x58]
shl eax, 0x15
mov edx, dword [ebp - 0x58]
shr edx, 0xb
or eax, edx
xor ecx, eax
mov eax, dword [ebp - 0x58]
shl eax, 7
mov edx, dword [ebp - 0x58]
shr edx, 0x19
or eax, edx
xor ecx, eax
add ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x58]
and eax, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x58]
not edx
and edx, dword [ebp - 0x60]
xor eax, edx
add ecx, eax
mov eax, 4
imul edx, eax, 0xa
add ecx, dword [edx + 0x46ec20]
add ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], ecx
mov eax, dword [ebp - 0x68]
shl eax, 0x1e
mov ecx, dword [ebp - 0x68]
shr ecx, 2
or eax, ecx
mov edx, dword [ebp - 0x68]
shl edx, 0x13
mov ecx, dword [ebp - 0x68]
shr ecx, 0xd
or edx, ecx
xor eax, edx
mov edx, dword [ebp - 0x68]
shl edx, 0xa
mov ecx, dword [ebp - 0x68]
shr ecx, 0x16
or edx, ecx
xor eax, edx
mov edx, dword [ebp - 0x68]
and edx, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x68]
and ecx, dword [ebp - 0x50]
xor edx, ecx
mov ecx, dword [ebp - 0x6c]
and ecx, dword [ebp - 0x50]
xor edx, ecx
add eax, edx
mov dword [ebp - 0x64], eax
mov edx, dword [ebp - 0x54]
add edx, dword [ebp - 0x4c]
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x64]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x64], eax
xor ecx, ecx
jne 0x45a06a
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
shl eax, 0x18
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
shl eax, 0x10
or eax, dword [ebp - 0x48]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
shl eax, 8
or eax, dword [ebp - 0x48]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
or eax, dword [ebp - 0x48]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
mov edx, 4
imul eax, edx, 0xb
mov ecx, dword [ebp - 0x48]
mov dword [ebp + eax - 0x44], ecx
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x54]
shl eax, 0x1a
mov ecx, dword [ebp - 0x54]
shr ecx, 6
or eax, ecx
mov edx, dword [ebp - 0x54]
shl edx, 0x15
mov ecx, dword [ebp - 0x54]
shr ecx, 0xb
or edx, ecx
xor eax, edx
mov edx, dword [ebp - 0x54]
shl edx, 7
mov ecx, dword [ebp - 0x54]
shr ecx, 0x19
or edx, ecx
xor eax, edx
add eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x54]
and edx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
not ecx
and ecx, dword [ebp - 0x5c]
xor edx, ecx
add eax, edx
mov edx, 4
imul ecx, edx, 0xb
add eax, dword [ecx + 0x46ec20]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], eax
mov edx, dword [ebp - 0x64]
shl edx, 0x1e
mov eax, dword [ebp - 0x64]
shr eax, 2
or edx, eax
mov ecx, dword [ebp - 0x64]
shl ecx, 0x13
mov eax, dword [ebp - 0x64]
shr eax, 0xd
or ecx, eax
xor edx, ecx
mov ecx, dword [ebp - 0x64]
shl ecx, 0xa
mov eax, dword [ebp - 0x64]
shr eax, 0x16
or ecx, eax
xor edx, ecx
mov ecx, dword [ebp - 0x64]
and ecx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x64]
and eax, dword [ebp - 0x6c]
xor ecx, eax
mov eax, dword [ebp - 0x68]
and eax, dword [ebp - 0x6c]
xor ecx, eax
add edx, ecx
mov dword [ebp - 0x60], edx
mov ecx, dword [ebp - 0x50]
add ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0x60]
add edx, dword [ebp - 0x4c]
mov dword [ebp - 0x60], edx
xor eax, eax
jne 0x45a193
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
shl edx, 0x18
mov dword [ebp - 0x48], edx
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
shl edx, 0x10
or edx, dword [ebp - 0x48]
mov dword [ebp - 0x48], edx
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
shl edx, 8
or edx, dword [ebp - 0x48]
mov dword [ebp - 0x48], edx
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
or edx, dword [ebp - 0x48]
mov dword [ebp - 0x48], edx
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
mov ecx, 4
imul edx, ecx, 0xc
mov eax, dword [ebp - 0x48]
mov dword [ebp + edx - 0x44], eax
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0x50]
shl edx, 0x1a
mov eax, dword [ebp - 0x50]
shr eax, 6
or edx, eax
mov ecx, dword [ebp - 0x50]
shl ecx, 0x15
mov eax, dword [ebp - 0x50]
shr eax, 0xb
or ecx, eax
xor edx, ecx
mov ecx, dword [ebp - 0x50]
shl ecx, 7
mov eax, dword [ebp - 0x50]
shr eax, 0x19
or ecx, eax
xor edx, ecx
add edx, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x50]
and ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
not eax
and eax, dword [ebp - 0x58]
xor ecx, eax
add edx, ecx
mov ecx, 4
imul eax, ecx, 0xc
add edx, dword [eax + 0x46ec20]
add edx, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], edx
mov ecx, dword [ebp - 0x60]
shl ecx, 0x1e
mov edx, dword [ebp - 0x60]
shr edx, 2
or ecx, edx
mov eax, dword [ebp - 0x60]
shl eax, 0x13
mov edx, dword [ebp - 0x60]
shr edx, 0xd
or eax, edx
xor ecx, eax
mov eax, dword [ebp - 0x60]
shl eax, 0xa
mov edx, dword [ebp - 0x60]
shr edx, 0x16
or eax, edx
xor ecx, eax
mov eax, dword [ebp - 0x60]
and eax, dword [ebp - 0x64]
mov edx, dword [ebp - 0x60]
and edx, dword [ebp - 0x68]
xor eax, edx
mov edx, dword [ebp - 0x64]
and edx, dword [ebp - 0x68]
xor eax, edx
add ecx, eax
mov dword [ebp - 0x5c], ecx
mov eax, dword [ebp - 0x6c]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x6c], eax
mov ecx, dword [ebp - 0x5c]
add ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x5c], ecx
xor edx, edx
jne 0x45a2bc
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
shl ecx, 0x18
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
shl ecx, 0x10
or ecx, dword [ebp - 0x48]
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
shl ecx, 8
or ecx, dword [ebp - 0x48]
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
or ecx, dword [ebp - 0x48]
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
mov eax, 4
imul ecx, eax, 0xd
mov edx, dword [ebp - 0x48]
mov dword [ebp + ecx - 0x44], edx
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x6c]
shl ecx, 0x1a
mov edx, dword [ebp - 0x6c]
shr edx, 6
or ecx, edx
mov eax, dword [ebp - 0x6c]
shl eax, 0x15
mov edx, dword [ebp - 0x6c]
shr edx, 0xb
or eax, edx
xor ecx, eax
mov eax, dword [ebp - 0x6c]
shl eax, 7
mov edx, dword [ebp - 0x6c]
shr edx, 0x19
or eax, edx
xor ecx, eax
add ecx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x6c]
and eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x6c]
not edx
and edx, dword [ebp - 0x54]
xor eax, edx
add ecx, eax
mov eax, 4
imul edx, eax, 0xd
add ecx, dword [edx + 0x46ec20]
add ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], ecx
mov eax, dword [ebp - 0x5c]
shl eax, 0x1e
mov ecx, dword [ebp - 0x5c]
shr ecx, 2
or eax, ecx
mov edx, dword [ebp - 0x5c]
shl edx, 0x13
mov ecx, dword [ebp - 0x5c]
shr ecx, 0xd
or edx, ecx
xor eax, edx
mov edx, dword [ebp - 0x5c]
shl edx, 0xa
mov ecx, dword [ebp - 0x5c]
shr ecx, 0x16
or edx, ecx
xor eax, edx
mov edx, dword [ebp - 0x5c]
and edx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
and ecx, dword [ebp - 0x64]
xor edx, ecx
mov ecx, dword [ebp - 0x60]
and ecx, dword [ebp - 0x64]
xor edx, ecx
add eax, edx
mov dword [ebp - 0x58], eax
mov edx, dword [ebp - 0x68]
add edx, dword [ebp - 0x4c]
mov dword [ebp - 0x68], edx
mov eax, dword [ebp - 0x58]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x58], eax
xor ecx, ecx
jne 0x45a3e5
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
shl eax, 0x18
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
shl eax, 0x10
or eax, dword [ebp - 0x48]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
shl eax, 8
or eax, dword [ebp - 0x48]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
or eax, dword [ebp - 0x48]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
mov edx, 4
imul eax, edx, 0xe
mov ecx, dword [ebp - 0x48]
mov dword [ebp + eax - 0x44], ecx
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x68]
shl eax, 0x1a
mov ecx, dword [ebp - 0x68]
shr ecx, 6
or eax, ecx
mov edx, dword [ebp - 0x68]
shl edx, 0x15
mov ecx, dword [ebp - 0x68]
shr ecx, 0xb
or edx, ecx
xor eax, edx
mov edx, dword [ebp - 0x68]
shl edx, 7
mov ecx, dword [ebp - 0x68]
shr ecx, 0x19
or edx, ecx
xor eax, edx
add eax, dword [ebp - 0x54]
mov edx, dword [ebp - 0x68]
and edx, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x68]
not ecx
and ecx, dword [ebp - 0x50]
xor edx, ecx
add eax, edx
mov edx, 4
imul ecx, edx, 0xe
add eax, dword [ecx + 0x46ec20]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], eax
mov edx, dword [ebp - 0x58]
shl edx, 0x1e
mov eax, dword [ebp - 0x58]
shr eax, 2
or edx, eax
mov ecx, dword [ebp - 0x58]
shl ecx, 0x13
mov eax, dword [ebp - 0x58]
shr eax, 0xd
or ecx, eax
xor edx, ecx
mov ecx, dword [ebp - 0x58]
shl ecx, 0xa
mov eax, dword [ebp - 0x58]
shr eax, 0x16
or ecx, eax
xor edx, ecx
mov ecx, dword [ebp - 0x58]
and ecx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x58]
and eax, dword [ebp - 0x60]
xor ecx, eax
mov eax, dword [ebp - 0x5c]
and eax, dword [ebp - 0x60]
xor ecx, eax
add edx, ecx
mov dword [ebp - 0x54], edx
mov ecx, dword [ebp - 0x64]
add ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x64], ecx
mov edx, dword [ebp - 0x54]
add edx, dword [ebp - 0x4c]
mov dword [ebp - 0x54], edx
xor eax, eax
jne 0x45a50e
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
shl edx, 0x18
mov dword [ebp - 0x48], edx
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
shl edx, 0x10
or edx, dword [ebp - 0x48]
mov dword [ebp - 0x48], edx
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
shl edx, 8
or edx, dword [ebp - 0x48]
mov dword [ebp - 0x48], edx
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
or edx, dword [ebp - 0x48]
mov dword [ebp - 0x48], edx
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
mov ecx, 4
imul edx, ecx, 0xf
mov eax, dword [ebp - 0x48]
mov dword [ebp + edx - 0x44], eax
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0x64]
shl edx, 0x1a
mov eax, dword [ebp - 0x64]
shr eax, 6
or edx, eax
mov ecx, dword [ebp - 0x64]
shl ecx, 0x15
mov eax, dword [ebp - 0x64]
shr eax, 0xb
or ecx, eax
xor edx, ecx
mov ecx, dword [ebp - 0x64]
shl ecx, 7
mov eax, dword [ebp - 0x64]
shr eax, 0x19
or ecx, eax
xor edx, ecx
add edx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x64]
and ecx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x64]
not eax
and eax, dword [ebp - 0x6c]
xor ecx, eax
add edx, ecx
mov ecx, 4
imul eax, ecx, 0xf
add edx, dword [eax + 0x46ec20]
add edx, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], edx
mov ecx, dword [ebp - 0x54]
shl ecx, 0x1e
mov edx, dword [ebp - 0x54]
shr edx, 2
or ecx, edx
mov eax, dword [ebp - 0x54]
shl eax, 0x13
mov edx, dword [ebp - 0x54]
shr edx, 0xd
or eax, edx
xor ecx, eax
mov eax, dword [ebp - 0x54]
shl eax, 0xa
mov edx, dword [ebp - 0x54]
shr edx, 0x16
or eax, edx
xor ecx, eax
mov eax, dword [ebp - 0x54]
and eax, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
and edx, dword [ebp - 0x5c]
xor eax, edx
mov edx, dword [ebp - 0x58]
and edx, dword [ebp - 0x5c]
xor eax, edx
add ecx, eax
mov dword [ebp - 0x50], ecx
mov eax, dword [ebp - 0x60]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x60], eax
mov ecx, dword [ebp - 0x50]
add ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x50], ecx
xor edx, edx
jne 0x45a637
mov dword [ebp - 0x78], 0x10
jmp 0x45a703
mov eax, dword [ebp - 0x78]
add eax, 8
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0x40
jge 0x45b29a
mov ecx, dword [ebp - 0x78]
add ecx, 1
and ecx, 0xf
mov edx, dword [ebp + ecx*4 - 0x44]
mov dword [ebp - 0x70], edx
mov eax, dword [ebp - 0x70]
shl eax, 0x19
mov ecx, dword [ebp - 0x70]
shr ecx, 7
or eax, ecx
mov edx, dword [ebp - 0x70]
shl edx, 0xe
mov ecx, dword [ebp - 0x70]
shr ecx, 0x12
or edx, ecx
xor eax, edx
mov edx, dword [ebp - 0x70]
shr edx, 3
xor eax, edx
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x78]
add eax, 0xe
and eax, 0xf
mov ecx, dword [ebp + eax*4 - 0x44]
mov dword [ebp - 0x74], ecx
mov edx, dword [ebp - 0x74]
shl edx, 0xf
mov eax, dword [ebp - 0x74]
shr eax, 0x11
or edx, eax
mov ecx, dword [ebp - 0x74]
shl ecx, 0xd
mov eax, dword [ebp - 0x74]
shr eax, 0x13
or ecx, eax
xor edx, ecx
mov ecx, dword [ebp - 0x74]
shr ecx, 0xa
xor edx, ecx
mov dword [ebp - 0x74], edx
mov edx, dword [ebp - 0x78]
and edx, 0xf
mov eax, dword [ebp - 0x70]
add eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x78]
add ecx, 9
and ecx, 0xf
add eax, dword [ebp + ecx*4 - 0x44]
mov edx, dword [ebp + edx*4 - 0x44]
add edx, eax
mov dword [ebp - 0x7c], edx
mov eax, dword [ebp - 0x78]
and eax, 0xf
mov ecx, dword [ebp - 0x7c]
mov dword [ebp + eax*4 - 0x44], ecx
mov edx, dword [ebp - 0x7c]
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x60]
shl eax, 0x1a
mov ecx, dword [ebp - 0x60]
shr ecx, 6
or eax, ecx
mov edx, dword [ebp - 0x60]
shl edx, 0x15
mov ecx, dword [ebp - 0x60]
shr ecx, 0xb
or edx, ecx
xor eax, edx
mov edx, dword [ebp - 0x60]
shl edx, 7
mov ecx, dword [ebp - 0x60]
shr ecx, 0x19
or edx, ecx
xor eax, edx
add eax, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x60]
and edx, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x60]
not ecx
and ecx, dword [ebp - 0x68]
xor edx, ecx
add eax, edx
mov edx, dword [ebp - 0x78]
add eax, dword [edx*4 + 0x46ec20]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x50]
shl eax, 0x1e
mov ecx, dword [ebp - 0x50]
shr ecx, 2
or eax, ecx
mov edx, dword [ebp - 0x50]
shl edx, 0x13
mov ecx, dword [ebp - 0x50]
shr ecx, 0xd
or edx, ecx
xor eax, edx
mov edx, dword [ebp - 0x50]
shl edx, 0xa
mov ecx, dword [ebp - 0x50]
shr ecx, 0x16
or edx, ecx
xor eax, edx
mov edx, dword [ebp - 0x50]
and edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
and ecx, dword [ebp - 0x58]
xor edx, ecx
mov ecx, dword [ebp - 0x54]
and ecx, dword [ebp - 0x58]
xor edx, ecx
add eax, edx
mov dword [ebp - 0x6c], eax
mov edx, dword [ebp - 0x5c]
add edx, dword [ebp - 0x4c]
mov dword [ebp - 0x5c], edx
mov eax, dword [ebp - 0x6c]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x6c], eax
xor ecx, ecx
jne 0x45a7b4
xor edx, edx
jne 0x45a70d
mov eax, dword [ebp - 0x78]
add eax, 2
and eax, 0xf
mov ecx, dword [ebp + eax*4 - 0x44]
mov dword [ebp - 0x70], ecx
mov edx, dword [ebp - 0x70]
shl edx, 0x19
mov eax, dword [ebp - 0x70]
shr eax, 7
or edx, eax
mov ecx, dword [ebp - 0x70]
shl ecx, 0xe
mov eax, dword [ebp - 0x70]
shr eax, 0x12
or ecx, eax
xor edx, ecx
mov ecx, dword [ebp - 0x70]
shr ecx, 3
xor edx, ecx
mov dword [ebp - 0x70], edx
mov edx, dword [ebp - 0x78]
add edx, 0xf
and edx, 0xf
mov eax, dword [ebp + edx*4 - 0x44]
mov dword [ebp - 0x74], eax
mov ecx, dword [ebp - 0x74]
shl ecx, 0xf
mov edx, dword [ebp - 0x74]
shr edx, 0x11
or ecx, edx
mov eax, dword [ebp - 0x74]
shl eax, 0xd
mov edx, dword [ebp - 0x74]
shr edx, 0x13
or eax, edx
xor ecx, eax
mov eax, dword [ebp - 0x74]
shr eax, 0xa
xor ecx, eax
mov dword [ebp - 0x74], ecx
mov ecx, dword [ebp - 0x78]
add ecx, 1
and ecx, 0xf
mov edx, dword [ebp - 0x70]
add edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x78]
add eax, 0xa
and eax, 0xf
add edx, dword [ebp + eax*4 - 0x44]
mov ecx, dword [ebp + ecx*4 - 0x44]
add ecx, edx
mov dword [ebp - 0x80], ecx
mov edx, dword [ebp - 0x78]
add edx, 1
and edx, 0xf
mov eax, dword [ebp - 0x80]
mov dword [ebp + edx*4 - 0x44], eax
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0x5c]
shl edx, 0x1a
mov eax, dword [ebp - 0x5c]
shr eax, 6
or edx, eax
mov ecx, dword [ebp - 0x5c]
shl ecx, 0x15
mov eax, dword [ebp - 0x5c]
shr eax, 0xb
or ecx, eax
xor edx, ecx
mov ecx, dword [ebp - 0x5c]
shl ecx, 7
mov eax, dword [ebp - 0x5c]
shr eax, 0x19
or ecx, eax
xor edx, ecx
add edx, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x5c]
and ecx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
not eax
and eax, dword [ebp - 0x64]
xor ecx, eax
add edx, ecx
mov ecx, dword [ebp - 0x78]
add edx, dword [ecx*4 + 0x46ec24]
add edx, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], edx
mov edx, dword [ebp - 0x6c]
shl edx, 0x1e
mov eax, dword [ebp - 0x6c]
shr eax, 2
or edx, eax
mov ecx, dword [ebp - 0x6c]
shl ecx, 0x13
mov eax, dword [ebp - 0x6c]
shr eax, 0xd
or ecx, eax
xor edx, ecx
mov ecx, dword [ebp - 0x6c]
shl ecx, 0xa
mov eax, dword [ebp - 0x6c]
shr eax, 0x16
or ecx, eax
xor edx, ecx
mov ecx, dword [ebp - 0x6c]
and ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x6c]
and eax, dword [ebp - 0x54]
xor ecx, eax
mov eax, dword [ebp - 0x50]
and eax, dword [ebp - 0x54]
xor ecx, eax
add edx, ecx
mov dword [ebp - 0x68], edx
mov ecx, dword [ebp - 0x58]
add ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x58], ecx
mov edx, dword [ebp - 0x68]
add edx, dword [ebp - 0x4c]
mov dword [ebp - 0x68], edx
xor eax, eax
jne 0x45a91f
xor ecx, ecx
jne 0x45a872
mov edx, dword [ebp - 0x78]
add edx, 3
and edx, 0xf
mov eax, dword [ebp + edx*4 - 0x44]
mov dword [ebp - 0x70], eax
mov ecx, dword [ebp - 0x70]
shl ecx, 0x19
mov edx, dword [ebp - 0x70]
shr edx, 7
or ecx, edx
mov eax, dword [ebp - 0x70]
shl eax, 0xe
mov edx, dword [ebp - 0x70]
shr edx, 0x12
or eax, edx
xor ecx, eax
mov eax, dword [ebp - 0x70]
shr eax, 3
xor ecx, eax
mov dword [ebp - 0x70], ecx
mov ecx, dword [ebp - 0x78]
add ecx, 0x10
and ecx, 0xf
mov edx, dword [ebp + ecx*4 - 0x44]
mov dword [ebp - 0x74], edx
mov eax, dword [ebp - 0x74]
shl eax, 0xf
mov ecx, dword [ebp - 0x74]
shr ecx, 0x11
or eax, ecx
mov edx, dword [ebp - 0x74]
shl edx, 0xd
mov ecx, dword [ebp - 0x74]
shr ecx, 0x13
or edx, ecx
xor eax, edx
mov edx, dword [ebp - 0x74]
shr edx, 0xa
xor eax, edx
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x78]
add eax, 2
and eax, 0xf
mov ecx, dword [ebp - 0x70]
add ecx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x78]
add edx, 0xb
and edx, 0xf
add ecx, dword [ebp + edx*4 - 0x44]
mov eax, dword [ebp + eax*4 - 0x44]
add eax, ecx
mov dword [ebp - 0x84], eax
mov ecx, dword [ebp - 0x78]
add ecx, 2
and ecx, 0xf
mov edx, dword [ebp - 0x84]
mov dword [ebp + ecx*4 - 0x44], edx
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x58]
shl ecx, 0x1a
mov edx, dword [ebp - 0x58]
shr edx, 6
or ecx, edx
mov eax, dword [ebp - 0x58]
shl eax, 0x15
mov edx, dword [ebp - 0x58]
shr edx, 0xb
or eax, edx
xor ecx, eax
mov eax, dword [ebp - 0x58]
shl eax, 7
mov edx, dword [ebp - 0x58]
shr edx, 0x19
or eax, edx
xor ecx, eax
add ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x58]
and eax, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x58]
not edx
and edx, dword [ebp - 0x60]
xor eax, edx
add ecx, eax
mov eax, dword [ebp - 0x78]
add ecx, dword [eax*4 + 0x46ec28]
add ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], ecx
mov ecx, dword [ebp - 0x68]
shl ecx, 0x1e
mov edx, dword [ebp - 0x68]
shr edx, 2
or ecx, edx
mov eax, dword [ebp - 0x68]
shl eax, 0x13
mov edx, dword [ebp - 0x68]
shr edx, 0xd
or eax, edx
xor ecx, eax
mov eax, dword [ebp - 0x68]
shl eax, 0xa
mov edx, dword [ebp - 0x68]
shr edx, 0x16
or eax, edx
xor ecx, eax
mov eax, dword [ebp - 0x68]
and eax, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x68]
and edx, dword [ebp - 0x50]
xor eax, edx
mov edx, dword [ebp - 0x6c]
and edx, dword [ebp - 0x50]
xor eax, edx
add ecx, eax
mov dword [ebp - 0x64], ecx
mov eax, dword [ebp - 0x54]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x64]
add ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x64], ecx
xor edx, edx
jne 0x45aa93
xor eax, eax
jne 0x45a9dd
mov ecx, dword [ebp - 0x78]
add ecx, 4
and ecx, 0xf
mov edx, dword [ebp + ecx*4 - 0x44]
mov dword [ebp - 0x70], edx
mov eax, dword [ebp - 0x70]
shl eax, 0x19
mov ecx, dword [ebp - 0x70]
shr ecx, 7
or eax, ecx
mov edx, dword [ebp - 0x70]
shl edx, 0xe
mov ecx, dword [ebp - 0x70]
shr ecx, 0x12
or edx, ecx
xor eax, edx
mov edx, dword [ebp - 0x70]
shr edx, 3
xor eax, edx
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x78]
add eax, 0x11
and eax, 0xf
mov ecx, dword [ebp + eax*4 - 0x44]
mov dword [ebp - 0x74], ecx
mov edx, dword [ebp - 0x74]
shl edx, 0xf
mov eax, dword [ebp - 0x74]
shr eax, 0x11
or edx, eax
mov ecx, dword [ebp - 0x74]
shl ecx, 0xd
mov eax, dword [ebp - 0x74]
shr eax, 0x13
or ecx, eax
xor edx, ecx
mov ecx, dword [ebp - 0x74]
shr ecx, 0xa
xor edx, ecx
mov dword [ebp - 0x74], edx
mov edx, dword [ebp - 0x78]
add edx, 3
and edx, 0xf
mov eax, dword [ebp - 0x70]
add eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x78]
add ecx, 0xc
and ecx, 0xf
add eax, dword [ebp + ecx*4 - 0x44]
mov edx, dword [ebp + edx*4 - 0x44]
add edx, eax
mov dword [ebp - 0x88], edx
mov eax, dword [ebp - 0x78]
add eax, 3
and eax, 0xf
mov ecx, dword [ebp - 0x88]
mov dword [ebp + eax*4 - 0x44], ecx
mov edx, dword [ebp - 0x88]
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x54]
shl eax, 0x1a
mov ecx, dword [ebp - 0x54]
shr ecx, 6
or eax, ecx
mov edx, dword [ebp - 0x54]
shl edx, 0x15
mov ecx, dword [ebp - 0x54]
shr ecx, 0xb
or edx, ecx
xor eax, edx
mov edx, dword [ebp - 0x54]
shl edx, 7
mov ecx, dword [ebp - 0x54]
shr ecx, 0x19
or edx, ecx
xor eax, edx
add eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x54]
and edx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
not ecx
and ecx, dword [ebp - 0x5c]
xor edx, ecx
add eax, edx
mov edx, dword [ebp - 0x78]
add eax, dword [edx*4 + 0x46ec2c]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x64]
shl eax, 0x1e
mov ecx, dword [ebp - 0x64]
shr ecx, 2
or eax, ecx
mov edx, dword [ebp - 0x64]
shl edx, 0x13
mov ecx, dword [ebp - 0x64]
shr ecx, 0xd
or edx, ecx
xor eax, edx
mov edx, dword [ebp - 0x64]
shl edx, 0xa
mov ecx, dword [ebp - 0x64]
shr ecx, 0x16
or edx, ecx
xor eax, edx
mov edx, dword [ebp - 0x64]
and edx, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
and ecx, dword [ebp - 0x6c]
xor edx, ecx
mov ecx, dword [ebp - 0x68]
and ecx, dword [ebp - 0x6c]
xor edx, ecx
add eax, edx
mov dword [ebp - 0x60], eax
mov edx, dword [ebp - 0x50]
add edx, dword [ebp - 0x4c]
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 0x60]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x60], eax
xor ecx, ecx
jne 0x45ac07
xor edx, edx
jne 0x45ab51
mov eax, dword [ebp - 0x78]
add eax, 5
and eax, 0xf
mov ecx, dword [ebp + eax*4 - 0x44]
mov dword [ebp - 0x70], ecx
mov edx, dword [ebp - 0x70]
shl edx, 0x19
mov eax, dword [ebp - 0x70]
shr eax, 7
or edx, eax
mov ecx, dword [ebp - 0x70]
shl ecx, 0xe
mov eax, dword [ebp - 0x70]
shr eax, 0x12
or ecx, eax
xor edx, ecx
mov ecx, dword [ebp - 0x70]
shr ecx, 3
xor edx, ecx
mov dword [ebp - 0x70], edx
mov edx, dword [ebp - 0x78]
add edx, 0x12
and edx, 0xf
mov eax, dword [ebp + edx*4 - 0x44]
mov dword [ebp - 0x74], eax
mov ecx, dword [ebp - 0x74]
shl ecx, 0xf
mov edx, dword [ebp - 0x74]
shr edx, 0x11
or ecx, edx
mov eax, dword [ebp - 0x74]
shl eax, 0xd
mov edx, dword [ebp - 0x74]
shr edx, 0x13
or eax, edx
xor ecx, eax
mov eax, dword [ebp - 0x74]
shr eax, 0xa
xor ecx, eax
mov dword [ebp - 0x74], ecx
mov ecx, dword [ebp - 0x78]
add ecx, 4
and ecx, 0xf
mov edx, dword [ebp - 0x70]
add edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x78]
add eax, 0xd
and eax, 0xf
add edx, dword [ebp + eax*4 - 0x44]
mov ecx, dword [ebp + ecx*4 - 0x44]
add ecx, edx
mov dword [ebp - 0x8c], ecx
mov edx, dword [ebp - 0x78]
add edx, 4
and edx, 0xf
mov eax, dword [ebp - 0x8c]
mov dword [ebp + edx*4 - 0x44], eax
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0x50]
shl edx, 0x1a
mov eax, dword [ebp - 0x50]
shr eax, 6
or edx, eax
mov ecx, dword [ebp - 0x50]
shl ecx, 0x15
mov eax, dword [ebp - 0x50]
shr eax, 0xb
or ecx, eax
xor edx, ecx
mov ecx, dword [ebp - 0x50]
shl ecx, 7
mov eax, dword [ebp - 0x50]
shr eax, 0x19
or ecx, eax
xor edx, ecx
add edx, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x50]
and ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
not eax
and eax, dword [ebp - 0x58]
xor ecx, eax
add edx, ecx
mov ecx, dword [ebp - 0x78]
add edx, dword [ecx*4 + 0x46ec30]
add edx, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], edx
mov edx, dword [ebp - 0x60]
shl edx, 0x1e
mov eax, dword [ebp - 0x60]
shr eax, 2
or edx, eax
mov ecx, dword [ebp - 0x60]
shl ecx, 0x13
mov eax, dword [ebp - 0x60]
shr eax, 0xd
or ecx, eax
xor edx, ecx
mov ecx, dword [ebp - 0x60]
shl ecx, 0xa
mov eax, dword [ebp - 0x60]
shr eax, 0x16
or ecx, eax
xor edx, ecx
mov ecx, dword [ebp - 0x60]
and ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x60]
and eax, dword [ebp - 0x68]
xor ecx, eax
mov eax, dword [ebp - 0x64]
and eax, dword [ebp - 0x68]
xor ecx, eax
add edx, ecx
mov dword [ebp - 0x5c], edx
mov ecx, dword [ebp - 0x6c]
add ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x6c], ecx
mov edx, dword [ebp - 0x5c]
add edx, dword [ebp - 0x4c]
mov dword [ebp - 0x5c], edx
xor eax, eax
jne 0x45ad7b
xor ecx, ecx
jne 0x45acc5
mov edx, dword [ebp - 0x78]
add edx, 6
and edx, 0xf
mov eax, dword [ebp + edx*4 - 0x44]
mov dword [ebp - 0x70], eax
mov ecx, dword [ebp - 0x70]
shl ecx, 0x19
mov edx, dword [ebp - 0x70]
shr edx, 7
or ecx, edx
mov eax, dword [ebp - 0x70]
shl eax, 0xe
mov edx, dword [ebp - 0x70]
shr edx, 0x12
or eax, edx
xor ecx, eax
mov eax, dword [ebp - 0x70]
shr eax, 3
xor ecx, eax
mov dword [ebp - 0x70], ecx
mov ecx, dword [ebp - 0x78]
add ecx, 0x13
and ecx, 0xf
mov edx, dword [ebp + ecx*4 - 0x44]
mov dword [ebp - 0x74], edx
mov eax, dword [ebp - 0x74]
shl eax, 0xf
mov ecx, dword [ebp - 0x74]
shr ecx, 0x11
or eax, ecx
mov edx, dword [ebp - 0x74]
shl edx, 0xd
mov ecx, dword [ebp - 0x74]
shr ecx, 0x13
or edx, ecx
xor eax, edx
mov edx, dword [ebp - 0x74]
shr edx, 0xa
xor eax, edx
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x78]
add eax, 5
and eax, 0xf
mov ecx, dword [ebp - 0x70]
add ecx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x78]
add edx, 0xe
and edx, 0xf
add ecx, dword [ebp + edx*4 - 0x44]
mov eax, dword [ebp + eax*4 - 0x44]
add eax, ecx
mov dword [ebp - 0x90], eax
mov ecx, dword [ebp - 0x78]
add ecx, 5
and ecx, 0xf
mov edx, dword [ebp - 0x90]
mov dword [ebp + ecx*4 - 0x44], edx
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x6c]
shl ecx, 0x1a
mov edx, dword [ebp - 0x6c]
shr edx, 6
or ecx, edx
mov eax, dword [ebp - 0x6c]
shl eax, 0x15
mov edx, dword [ebp - 0x6c]
shr edx, 0xb
or eax, edx
xor ecx, eax
mov eax, dword [ebp - 0x6c]
shl eax, 7
mov edx, dword [ebp - 0x6c]
shr edx, 0x19
or eax, edx
xor ecx, eax
add ecx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x6c]
and eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x6c]
not edx
and edx, dword [ebp - 0x54]
xor eax, edx
add ecx, eax
mov eax, dword [ebp - 0x78]
add ecx, dword [eax*4 + 0x46ec34]
add ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], ecx
mov ecx, dword [ebp - 0x5c]
shl ecx, 0x1e
mov edx, dword [ebp - 0x5c]
shr edx, 2
or ecx, edx
mov eax, dword [ebp - 0x5c]
shl eax, 0x13
mov edx, dword [ebp - 0x5c]
shr edx, 0xd
or eax, edx
xor ecx, eax
mov eax, dword [ebp - 0x5c]
shl eax, 0xa
mov edx, dword [ebp - 0x5c]
shr edx, 0x16
or eax, edx
xor ecx, eax
mov eax, dword [ebp - 0x5c]
and eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
and edx, dword [ebp - 0x64]
xor eax, edx
mov edx, dword [ebp - 0x60]
and edx, dword [ebp - 0x64]
xor eax, edx
add ecx, eax
mov dword [ebp - 0x58], ecx
mov eax, dword [ebp - 0x68]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x68], eax
mov ecx, dword [ebp - 0x58]
add ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x58], ecx
xor edx, edx
jne 0x45aeef
xor eax, eax
jne 0x45ae39
mov ecx, dword [ebp - 0x78]
add ecx, 7
and ecx, 0xf
mov edx, dword [ebp + ecx*4 - 0x44]
mov dword [ebp - 0x70], edx
mov eax, dword [ebp - 0x70]
shl eax, 0x19
mov ecx, dword [ebp - 0x70]
shr ecx, 7
or eax, ecx
mov edx, dword [ebp - 0x70]
shl edx, 0xe
mov ecx, dword [ebp - 0x70]
shr ecx, 0x12
or edx, ecx
xor eax, edx
mov edx, dword [ebp - 0x70]
shr edx, 3
xor eax, edx
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x78]
add eax, 0x14
and eax, 0xf
mov ecx, dword [ebp + eax*4 - 0x44]
mov dword [ebp - 0x74], ecx
mov edx, dword [ebp - 0x74]
shl edx, 0xf
mov eax, dword [ebp - 0x74]
shr eax, 0x11
or edx, eax
mov ecx, dword [ebp - 0x74]
shl ecx, 0xd
mov eax, dword [ebp - 0x74]
shr eax, 0x13
or ecx, eax
xor edx, ecx
mov ecx, dword [ebp - 0x74]
shr ecx, 0xa
xor edx, ecx
mov dword [ebp - 0x74], edx
mov edx, dword [ebp - 0x78]
add edx, 6
and edx, 0xf
mov eax, dword [ebp - 0x70]
add eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x78]
add ecx, 0xf
and ecx, 0xf
add eax, dword [ebp + ecx*4 - 0x44]
mov edx, dword [ebp + edx*4 - 0x44]
add edx, eax
mov dword [ebp - 0x94], edx
mov eax, dword [ebp - 0x78]
add eax, 6
and eax, 0xf
mov ecx, dword [ebp - 0x94]
mov dword [ebp + eax*4 - 0x44], ecx
mov edx, dword [ebp - 0x94]
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x68]
shl eax, 0x1a
mov ecx, dword [ebp - 0x68]
shr ecx, 6
or eax, ecx
mov edx, dword [ebp - 0x68]
shl edx, 0x15
mov ecx, dword [ebp - 0x68]
shr ecx, 0xb
or edx, ecx
xor eax, edx
mov edx, dword [ebp - 0x68]
shl edx, 7
mov ecx, dword [ebp - 0x68]
shr ecx, 0x19
or edx, ecx
xor eax, edx
add eax, dword [ebp - 0x54]
mov edx, dword [ebp - 0x68]
and edx, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x68]
not ecx
and ecx, dword [ebp - 0x50]
xor edx, ecx
add eax, edx
mov edx, dword [ebp - 0x78]
add eax, dword [edx*4 + 0x46ec38]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x58]
shl eax, 0x1e
mov ecx, dword [ebp - 0x58]
shr ecx, 2
or eax, ecx
mov edx, dword [ebp - 0x58]
shl edx, 0x13
mov ecx, dword [ebp - 0x58]
shr ecx, 0xd
or edx, ecx
xor eax, edx
mov edx, dword [ebp - 0x58]
shl edx, 0xa
mov ecx, dword [ebp - 0x58]
shr ecx, 0x16
or edx, ecx
xor eax, edx
mov edx, dword [ebp - 0x58]
and edx, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x58]
and ecx, dword [ebp - 0x60]
xor edx, ecx
mov ecx, dword [ebp - 0x5c]
and ecx, dword [ebp - 0x60]
xor edx, ecx
add eax, edx
mov dword [ebp - 0x54], eax
mov edx, dword [ebp - 0x64]
add edx, dword [ebp - 0x4c]
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x54]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x54], eax
xor ecx, ecx
jne 0x45b063
xor edx, edx
jne 0x45afad
mov eax, dword [ebp - 0x78]
add eax, 8
and eax, 0xf
mov ecx, dword [ebp + eax*4 - 0x44]
mov dword [ebp - 0x70], ecx
mov edx, dword [ebp - 0x70]
shl edx, 0x19
mov eax, dword [ebp - 0x70]
shr eax, 7
or edx, eax
mov ecx, dword [ebp - 0x70]
shl ecx, 0xe
mov eax, dword [ebp - 0x70]
shr eax, 0x12
or ecx, eax
xor edx, ecx
mov ecx, dword [ebp - 0x70]
shr ecx, 3
xor edx, ecx
mov dword [ebp - 0x70], edx
mov edx, dword [ebp - 0x78]
add edx, 0x15
and edx, 0xf
mov eax, dword [ebp + edx*4 - 0x44]
mov dword [ebp - 0x74], eax
mov ecx, dword [ebp - 0x74]
shl ecx, 0xf
mov edx, dword [ebp - 0x74]
shr edx, 0x11
or ecx, edx
mov eax, dword [ebp - 0x74]
shl eax, 0xd
mov edx, dword [ebp - 0x74]
shr edx, 0x13
or eax, edx
xor ecx, eax
mov eax, dword [ebp - 0x74]
shr eax, 0xa
xor ecx, eax
mov dword [ebp - 0x74], ecx
mov ecx, dword [ebp - 0x78]
add ecx, 7
and ecx, 0xf
mov edx, dword [ebp - 0x70]
add edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x78]
add eax, 0x10
and eax, 0xf
add edx, dword [ebp + eax*4 - 0x44]
mov ecx, dword [ebp + ecx*4 - 0x44]
add ecx, edx
mov dword [ebp - 0x98], ecx
mov edx, dword [ebp - 0x78]
add edx, 7
and edx, 0xf
mov eax, dword [ebp - 0x98]
mov dword [ebp + edx*4 - 0x44], eax
mov ecx, dword [ebp - 0x98]
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0x64]
shl edx, 0x1a
mov eax, dword [ebp - 0x64]
shr eax, 6
or edx, eax
mov ecx, dword [ebp - 0x64]
shl ecx, 0x15
mov eax, dword [ebp - 0x64]
shr eax, 0xb
or ecx, eax
xor edx, ecx
mov ecx, dword [ebp - 0x64]
shl ecx, 7
mov eax, dword [ebp - 0x64]
shr eax, 0x19
or ecx, eax
xor edx, ecx
add edx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x64]
and ecx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x64]
not eax
and eax, dword [ebp - 0x6c]
xor ecx, eax
add edx, ecx
mov ecx, dword [ebp - 0x78]
add edx, dword [ecx*4 + 0x46ec3c]
add edx, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], edx
mov edx, dword [ebp - 0x54]
shl edx, 0x1e
mov eax, dword [ebp - 0x54]
shr eax, 2
or edx, eax
mov ecx, dword [ebp - 0x54]
shl ecx, 0x13
mov eax, dword [ebp - 0x54]
shr eax, 0xd
or ecx, eax
xor edx, ecx
mov ecx, dword [ebp - 0x54]
shl ecx, 0xa
mov eax, dword [ebp - 0x54]
shr eax, 0x16
or ecx, eax
xor edx, ecx
mov ecx, dword [ebp - 0x54]
and ecx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
and eax, dword [ebp - 0x5c]
xor ecx, eax
mov eax, dword [ebp - 0x58]
and eax, dword [ebp - 0x5c]
xor ecx, eax
add edx, ecx
mov dword [ebp - 0x50], edx
mov ecx, dword [ebp - 0x60]
add ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x60], ecx
mov edx, dword [ebp - 0x50]
add edx, dword [ebp - 0x4c]
mov dword [ebp - 0x50], edx
xor eax, eax
jne 0x45b1d7
xor ecx, ecx
jne 0x45b121
jmp 0x45a6fa
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + eax]
add edx, dword [ebp - 0x50]
mov eax, 4
imul ecx, eax, 0
mov eax, dword [ebp + 8]
mov dword [eax + ecx], edx
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp + 8]
mov eax, dword [edx + ecx]
add eax, dword [ebp - 0x54]
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp + 8]
mov dword [edx + ecx], eax
mov eax, 4
shl eax, 1
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + eax]
add edx, dword [ebp - 0x58]
mov eax, 4
shl eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + eax], edx
mov edx, 4
imul eax, edx, 3
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + eax]
add edx, dword [ebp - 0x5c]
mov eax, 4
imul ecx, eax, 3
mov eax, dword [ebp + 8]
mov dword [eax + ecx], edx
mov ecx, 4
shl ecx, 2
mov edx, dword [ebp + 8]
mov eax, dword [edx + ecx]
add eax, dword [ebp - 0x60]
mov ecx, 4
shl ecx, 2
mov edx, dword [ebp + 8]
mov dword [edx + ecx], eax
mov eax, 4
imul ecx, eax, 5
mov edx, dword [ebp + 8]
mov eax, dword [edx + ecx]
add eax, dword [ebp - 0x64]
mov ecx, 4
imul edx, ecx, 5
mov ecx, dword [ebp + 8]
mov dword [ecx + edx], eax
mov edx, 4
imul eax, edx, 6
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + eax]
add edx, dword [ebp - 0x68]
mov eax, 4
imul ecx, eax, 6
mov eax, dword [ebp + 8]
mov dword [eax + ecx], edx
mov ecx, 4
imul edx, ecx, 7
mov eax, dword [ebp + 8]
mov ecx, dword [eax + edx]
add ecx, dword [ebp - 0x6c]
mov edx, 4
imul eax, edx, 7
mov edx, dword [ebp + 8]
mov dword [edx + eax], ecx
jmp 0x4593bd
lea ecx, [ebp - 0xa0]
call fcn.00407aa0
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0045be1b
mov esp, ebp
pop ebp
ret