40598e:	31 f2                	xor    %esi,%edx
405990:	89 5c 24 2c          	mov    %ebx,0x2c(%esp)
405994:	31 f9                	xor    %edi,%ecx
405996:	c1 ca 05             	ror    $0x5,%edx
405999:	21 f1                	and    %esi,%ecx
40599b:	89 74 24 04          	mov    %esi,0x4(%esp)
40599f:	31 f2                	xor    %esi,%edx
4059a1:	03 5c 24 10          	add    0x10(%esp),%ebx
4059a5:	31 cf                	xor    %ecx,%edi
4059a7:	c1 ca 06             	ror    $0x6,%edx
4059aa:	89 ee                	mov    %ebp,%esi
4059ac:	01 fb                	add    %edi,%ebx
4059ae:	c1 ce 09             	ror    $0x9,%esi
4059b1:	89 e9                	mov    %ebp,%ecx
4059b3:	8b 7c 24 18          	mov    0x18(%esp),%edi
4059b7:	31 ee                	xor    %ebp,%esi
4059b9:	89 6c 24 14          	mov    %ebp,0x14(%esp)
4059bd:	31 fd                	xor    %edi,%ebp
4059bf:	c1 ce 0b             	ror    $0xb,%esi
4059c2:	21 e8                	and    %ebp,%eax
4059c4:	8d 94 13 cc a1 0c 24 	lea    0x240ca1cc(%ebx,%edx,1),%edx
4059cb:	31 ce                	xor    %ecx,%esi
4059cd:	31 f8                	xor    %edi,%eax
4059cf:	8b 4c 24 34          	mov    0x34(%esp),%ecx
4059d3:	c1 ce 02             	ror    $0x2,%esi
4059d6:	01 d0                	add    %edx,%eax
4059d8:	03 14 24             	add    (%esp),%edx
4059db:	01 f0                	add    %esi,%eax
4059dd:	8b 74 24 28          	mov    0x28(%esp),%esi
4059e1:	89 cb                	mov    %ecx,%ebx
4059e3:	c1 c9 0b             	ror    $0xb,%ecx
4059e6:	89 f7                	mov    %esi,%edi
4059e8:	c1 ce 02             	ror    $0x2,%esi
4059eb:	31 d9                	xor    %ebx,%ecx
4059ed:	c1 eb 03             	shr    $0x3,%ebx
4059f0:	c1 c9 07             	ror    $0x7,%ecx
4059f3:	31 fe                	xor    %edi,%esi
4059f5:	31 cb                	xor    %ecx,%ebx
4059f7:	c1 ce 11             	ror    $0x11,%esi
4059fa:	03 5c 24 30          	add    0x30(%esp),%ebx
4059fe:	c1 ef 0a             	shr    $0xa,%edi
405a01:	03 5c 24 54          	add    0x54(%esp),%ebx
405a05:	89 d1                	mov    %edx,%ecx
405a07:	31 f7                	xor    %esi,%edi
405a09:	8b 74 24 04          	mov    0x4(%esp),%esi
405a0d:	c1 ca 0e             	ror    $0xe,%edx
405a10:	01 fb                	add    %edi,%ebx
405a12:	8b 7c 24 08          	mov    0x8(%esp),%edi
405a16:	31 ca                	xor    %ecx,%edx
405a18:	89 5c 24 30          	mov    %ebx,0x30(%esp)
405a1c:	31 fe                	xor    %edi,%esi
405a1e:	c1 ca 05             	ror    $0x5,%edx
405a21:	21 ce                	and    %ecx,%esi
405a23:	89 0c 24             	mov    %ecx,(%esp)
405a26:	31 ca                	xor    %ecx,%edx
405a28:	03 5c 24 0c          	add    0xc(%esp),%ebx
405a2c:	31 f7                	xor    %esi,%edi
405a2e:	c1 ca 06             	ror    $0x6,%edx
405a31:	89 c1                	mov    %eax,%ecx
405a33:	01 fb                	add    %edi,%ebx
405a35:	c1 c9 09             	ror    $0x9,%ecx
405a38:	89 c6                	mov    %eax,%esi
405a3a:	8b 7c 24 14          	mov    0x14(%esp),%edi
405a3e:	31 c1                	xor    %eax,%ecx
405a40:	89 44 24 10          	mov    %eax,0x10(%esp)
405a44:	31 f8                	xor    %edi,%eax
405a46:	c1 c9 0b             	ror    $0xb,%ecx
405a49:	21 c5                	and    %eax,%ebp
405a4b:	8d 94 13 6f 2c e9 2d 	lea    0x2de92c6f(%ebx,%edx,1),%edx
405a52:	31 f1                	xor    %esi,%ecx
405a54:	31 fd                	xor    %edi,%ebp
405a56:	8b 74 24 38          	mov    0x38(%esp),%esi
405a5a:	c1 c9 02             	ror    $0x2,%ecx
405a5d:	01 d5                	add    %edx,%ebp
405a5f:	03 54 24 1c          	add    0x1c(%esp),%edx
405a63:	01 cd                	add    %ecx,%ebp
405a65:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
405a69:	89 f3                	mov    %esi,%ebx
405a6b:	c1 ce 0b             	ror    $0xb,%esi
405a6e:	89 cf                	mov    %ecx,%edi
405a70:	c1 c9 02             	ror    $0x2,%ecx
405a73:	31 de                	xor    %ebx,%esi
405a75:	c1 eb 03             	shr    $0x3,%ebx
405a78:	c1 ce 07             	ror    $0x7,%esi
405a7b:	31 f9                	xor    %edi,%ecx
405a7d:	31 f3                	xor    %esi,%ebx
405a7f:	c1 c9 11             	ror    $0x11,%ecx
405a82:	03 5c 24 34          	add    0x34(%esp),%ebx
405a86:	c1 ef 0a             	shr    $0xa,%edi
405a89:	03 5c 24 58          	add    0x58(%esp),%ebx
405a8d:	89 d6                	mov    %edx,%esi
405a8f:	31 cf                	xor    %ecx,%edi
405a91:	8b 0c 24             	mov    (%esp),%ecx
405a94:	c1 ca 0e             	ror    $0xe,%edx
405a97:	01 fb                	add    %edi,%ebx
405a99:	8b 7c 24 04          	mov    0x4(%esp),%edi
405a9d:	31 f2                	xor    %esi,%edx
405a9f:	89 5c 24 34          	mov    %ebx,0x34(%esp)
405aa3:	31 f9                	xor    %edi,%ecx
405aa5:	c1 ca 05             	ror    $0x5,%edx
405aa8:	21 f1                	and    %esi,%ecx
405aaa:	89 74 24 1c          	mov    %esi,0x1c(%esp)
405aae:	31 f2                	xor    %esi,%edx
405ab0:	03 5c 24 08          	add    0x8(%esp),%ebx
405ab4:	31 cf                	xor    %ecx,%edi
405ab6:	c1 ca 06             	ror    $0x6,%edx
405ab9:	89 ee                	mov    %ebp,%esi
405abb:	01 fb                	add    %edi,%ebx
405abd:	c1 ce 09             	ror    $0x9,%esi
405ac0:	89 e9                	mov    %ebp,%ecx
405ac2:	8b 7c 24 10          	mov    0x10(%esp),%edi
405ac6:	31 ee                	xor    %ebp,%esi
405ac8:	89 6c 24 0c          	mov    %ebp,0xc(%esp)
405acc:	31 fd                	xor    %edi,%ebp
405ace:	c1 ce 0b             	ror    $0xb,%esi
405ad1:	21 e8                	and    %ebp,%eax
405ad3:	8d 94 13 aa 84 74 4a 	lea    0x4a7484aa(%ebx,%edx,1),%edx
405ada:	31 ce                	xor    %ecx,%esi
405adc:	31 f8                	xor    %edi,%eax
405ade:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
405ae2:	c1 ce 02             	ror    $0x2,%esi
405ae5:	01 d0                	add    %edx,%eax
405ae7:	03 54 24 18          	add    0x18(%esp),%edx
405aeb:	01 f0                	add    %esi,%eax
405aed:	8b 74 24 30          	mov    0x30(%esp),%esi
405af1:	89 cb                	mov    %ecx,%ebx
405af3:	c1 c9 0b             	ror    $0xb,%ecx
405af6:	89 f7                	mov    %esi,%edi
405af8:	c1 ce 02             	ror    $0x2,%esi
405afb:	31 d9                	xor    %ebx,%ecx
405afd:	c1 eb 03             	shr    $0x3,%ebx
405b00:	c1 c9 07             	ror    $0x7,%ecx
405b03:	31 fe                	xor    %edi,%esi
405b05:	31 cb                	xor    %ecx,%ebx
405b07:	c1 ce 11             	ror    $0x11,%esi
405b0a:	03 5c 24 38          	add    0x38(%esp),%ebx
405b0e:	c1 ef 0a             	shr    $0xa,%edi
405b11:	03 5c 24 5c          	add    0x5c(%esp),%ebx
405b15:	89 d1                	mov    %edx,%ecx
405b17:	31 f7                	xor    %esi,%edi
405b19:	8b 74 24 1c          	mov    0x1c(%esp),%esi
405b1d:	c1 ca 0e             	ror    $0xe,%edx
405b20:	01 fb                	add    %edi,%ebx
405b22:	8b 3c 24             	mov    (%esp),%edi
405b25:	31 ca                	xor    %ecx,%edx
405b27:	89 5c 24 38          	mov    %ebx,0x38(%esp)
405b2b:	31 fe                	xor    %edi,%esi
405b2d:	c1 ca 05             	ror    $0x5,%edx
405b30:	21 ce                	and    %ecx,%esi
405b32:	89 4c 24 18          	mov    %ecx,0x18(%esp)
405b36:	31 ca                	xor    %ecx,%edx
405b38:	03 5c 24 04          	add    0x4(%esp),%ebx
405b3c:	31 f7                	xor    %esi,%edi
405b3e:	c1 ca 06             	ror    $0x6,%edx
405b41:	89 c1                	mov    %eax,%ecx
405b43:	01 fb                	add    %edi,%ebx
405b45:	c1 c9 09             	ror    $0x9,%ecx
405b48:	89 c6                	mov    %eax,%esi
405b4a:	8b 7c 24 0c          	mov    0xc(%esp),%edi
405b4e:	31 c1                	xor    %eax,%ecx
405b50:	89 44 24 08          	mov    %eax,0x8(%esp)
405b54:	31 f8                	xor    %edi,%eax
405b56:	c1 c9 0b             	ror    $0xb,%ecx
405b59:	21 c5                	and    %eax,%ebp
405b5b:	8d 94 13 dc a9 b0 5c 	lea    0x5cb0a9dc(%ebx,%edx,1),%edx
405b62:	31 f1                	xor    %esi,%ecx
405b64:	31 fd                	xor    %edi,%ebp
405b66:	8b 74 24 40          	mov    0x40(%esp),%esi
405b6a:	c1 c9 02             	ror    $0x2,%ecx
405b6d:	01 d5                	add    %edx,%ebp
405b6f:	03 54 24 14          	add    0x14(%esp),%edx
405b73:	01 cd                	add    %ecx,%ebp
405b75:	8b 4c 24 34          	mov    0x34(%esp),%ecx
405b79:	89 f3                	mov    %esi,%ebx
405b7b:	c1 ce 0b             	ror    $0xb,%esi
405b7e:	89 cf                	mov    %ecx,%edi
405b80:	c1 c9 02             	ror    $0x2,%ecx
405b83:	31 de                	xor    %ebx,%esi
405b85:	c1 eb 03             	shr    $0x3,%ebx
405b88:	c1 ce 07             	ror    $0x7,%esi
405b8b:	31 f9                	xor    %edi,%ecx
405b8d:	31 f3                	xor    %esi,%ebx
405b8f:	c1 c9 11             	ror    $0x11,%ecx
405b92:	03 5c 24 3c          	add    0x3c(%esp),%ebx
405b96:	c1 ef 0a             	shr    $0xa,%edi
405b99:	03 5c 24 20          	add    0x20(%esp),%ebx
405b9d:	89 d6                	mov    %edx,%esi
405b9f:	31 cf                	xor    %ecx,%edi
405ba1:	8b 4c 24 18          	mov    0x18(%esp),%ecx
405ba5:	c1 ca 0e             	ror    $0xe,%edx
405ba8:	01 fb                	add    %edi,%ebx
405baa:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
405bae:	31 f2                	xor    %esi,%edx
405bb0:	89 5c 24 3c          	mov    %ebx,0x3c(%esp)
405bb4:	31 f9                	xor    %edi,%ecx
405bb6:	c1 ca 05             	ror    $0x5,%edx
405bb9:	21 f1                	and    %esi,%ecx
405bbb:	89 74 24 14          	mov    %esi,0x14(%esp)
405bbf:	31 f2                	xor    %esi,%edx
405bc1:	03 1c 24             	add    (%esp),%ebx
405bc4:	31 cf                	xor    %ecx,%edi
405bc6:	c1 ca 06             	ror    $0x6,%edx
405bc9:	89 ee                	mov    %ebp,%esi
405bcb:	01 fb                	add    %edi,%ebx
405bcd:	c1 ce 09             	ror    $0x9,%esi
405bd0:	89 e9                	mov    %ebp,%ecx
405bd2:	8b 7c 24 08          	mov    0x8(%esp),%edi
405bd6:	31 ee                	xor    %ebp,%esi
405bd8:	89 6c 24 04          	mov    %ebp,0x4(%esp)
405bdc:	31 fd                	xor    %edi,%ebp
405bde:	c1 ce 0b             	ror    $0xb,%esi
405be1:	21 e8                	and    %ebp,%eax
405be3:	8d 94 13 da 88 f9 76 	lea    0x76f988da(%ebx,%edx,1),%edx
405bea:	31 ce                	xor    %ecx,%esi
405bec:	31 f8                	xor    %edi,%eax
405bee:	8b 4c 24 44          	mov    0x44(%esp),%ecx
405bf2:	c1 ce 02             	ror    $0x2,%esi
405bf5:	01 d0                	add    %edx,%eax
405bf7:	03 54 24 10          	add    0x10(%esp),%edx
405bfb:	01 f0                	add    %esi,%eax
405bfd:	8b 74 24 38          	mov    0x38(%esp),%esi
405c01:	89 cb                	mov    %ecx,%ebx
405c03:	c1 c9 0b             	ror    $0xb,%ecx
405c06:	89 f7                	mov    %esi,%edi
405c08:	c1 ce 02             	ror    $0x2,%esi
405c0b:	31 d9                	xor    %ebx,%ecx
405c0d:	c1 eb 03             	shr    $0x3,%ebx
405c10:	c1 c9 07             	ror    $0x7,%ecx
405c13:	31 fe                	xor    %edi,%esi
405c15:	31 cb                	xor    %ecx,%ebx
405c17:	c1 ce 11             	ror    $0x11,%esi
405c1a:	03 5c 24 40          	add    0x40(%esp),%ebx
405c1e:	c1 ef 0a             	shr    $0xa,%edi
405c21:	03 5c 24 24          	add    0x24(%esp),%ebx
405c25:	89 d1                	mov    %edx,%ecx
405c27:	31 f7                	xor    %esi,%edi
405c29:	8b 74 24 14          	mov    0x14(%esp),%esi
405c2d:	c1 ca 0e             	ror    $0xe,%edx
405c30:	01 fb                	add    %edi,%ebx
405c32:	8b 7c 24 18          	mov    0x18(%esp),%edi
405c36:	31 ca                	xor    %ecx,%edx
405c38:	89 5c 24 40          	mov    %ebx,0x40(%esp)
405c3c:	31 fe                	xor    %edi,%esi
405c3e:	c1 ca 05             	ror    $0x5,%edx
405c41:	21 ce                	and    %ecx,%esi
405c43:	89 4c 24 10          	mov    %ecx,0x10(%esp)
405c47:	31 ca                	xor    %ecx,%edx
405c49:	03 5c 24 1c          	add    0x1c(%esp),%ebx
405c4d:	31 f7                	xor    %esi,%edi
405c4f:	c1 ca 06             	ror    $0x6,%edx
405c52:	89 c1                	mov    %eax,%ecx
405c54:	01 fb                	add    %edi,%ebx
405c56:	c1 c9 09             	ror    $0x9,%ecx
405c59:	89 c6                	mov    %eax,%esi
405c5b:	8b 7c 24 04          	mov    0x4(%esp),%edi
405c5f:	31 c1                	xor    %eax,%ecx
405c61:	89 04 24             	mov    %eax,(%esp)
405c64:	31 f8                	xor    %edi,%eax
405c66:	c1 c9 0b             	ror    $0xb,%ecx
405c69:	21 c5                	and    %eax,%ebp
405c6b:	8d 94 13 52 51 3e 98 	lea    -0x67c1aeae(%ebx,%edx,1),%edx
405c72:	31 f1                	xor    %esi,%ecx
405c74:	31 fd                	xor    %edi,%ebp
405c76:	8b 74 24 48          	mov    0x48(%esp),%esi
405c7a:	c1 c9 02             	ror    $0x2,%ecx
405c7d:	01 d5                	add    %edx,%ebp
405c7f:	03 54 24 0c          	add    0xc(%esp),%edx
405c83:	01 cd                	add    %ecx,%ebp
405c85:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
405c89:	89 f3                	mov    %esi,%ebx
405c8b:	c1 ce 0b             	ror    $0xb,%esi
405c8e:	89 cf                	mov    %ecx,%edi
405c90:	c1 c9 02             	ror    $0x2,%ecx
405c93:	31 de                	xor    %ebx,%esi
405c95:	c1 eb 03             	shr    $0x3,%ebx
405c98:	c1 ce 07             	ror    $0x7,%esi
405c9b:	31 f9                	xor    %edi,%ecx
405c9d:	31 f3                	xor    %esi,%ebx
405c9f:	c1 c9 11             	ror    $0x11,%ecx
405ca2:	03 5c 24 44          	add    0x44(%esp),%ebx
405ca6:	c1 ef 0a             	shr    $0xa,%edi
405ca9:	03 5c 24 28          	add    0x28(%esp),%ebx
405cad:	89 d6                	mov    %edx,%esi
405caf:	31 cf                	xor    %ecx,%edi
405cb1:	8b 4c 24 10          	mov    0x10(%esp),%ecx
405cb5:	c1 ca 0e             	ror    $0xe,%edx
405cb8:	01 fb                	add    %edi,%ebx
405cba:	8b 7c 24 14          	mov    0x14(%esp),%edi
405cbe:	31 f2                	xor    %esi,%edx
405cc0:	89 5c 24 44          	mov    %ebx,0x44(%esp)
405cc4:	31 f9                	xor    %edi,%ecx
405cc6:	c1 ca 05             	ror    $0x5,%edx
405cc9:	21 f1                	and    %esi,%ecx
405ccb:	89 74 24 0c          	mov    %esi,0xc(%esp)
405ccf:	31 f2                	xor    %esi,%edx
405cd1:	03 5c 24 18          	add    0x18(%esp),%ebx
405cd5:	31 cf                	xor    %ecx,%edi
405cd7:	c1 ca 06             	ror    $0x6,%edx
405cda:	89 ee                	mov    %ebp,%esi
405cdc:	01 fb                	add    %edi,%ebx
405cde:	c1 ce 09             	ror    $0x9,%esi
405ce1:	89 e9                	mov    %ebp,%ecx
405ce3:	8b 3c 24             	mov    (%esp),%edi
405ce6:	31 ee                	xor    %ebp,%esi
405ce8:	89 6c 24 1c          	mov    %ebp,0x1c(%esp)
405cec:	31 fd                	xor    %edi,%ebp
405cee:	c1 ce 0b             	ror    $0xb,%esi
405cf1:	21 e8                	and    %ebp,%eax
405cf3:	8d 94 13 6d c6 31 a8 	lea    -0x57ce3993(%ebx,%edx,1),%edx
405cfa:	31 ce                	xor    %ecx,%esi
405cfc:	31 f8                	xor    %edi,%eax
405cfe:	8b 4c 24 4c          	mov    0x4c(%esp),%ecx
405d02:	c1 ce 02             	ror    $0x2,%esi
405d05:	01 d0                	add    %edx,%eax
405d07:	03 54 24 08          	add    0x8(%esp),%edx
405d0b:	01 f0                	add    %esi,%eax
405d0d:	8b 74 24 40          	mov    0x40(%esp),%esi
405d11:	89 cb                	mov    %ecx,%ebx
405d13:	c1 c9 0b             	ror    $0xb,%ecx
405d16:	89 f7                	mov    %esi,%edi
405d18:	c1 ce 02             	ror    $0x2,%esi
405d1b:	31 d9                	xor    %ebx,%ecx
405d1d:	c1 eb 03             	shr    $0x3,%ebx
405d20:	c1 c9 07             	ror    $0x7,%ecx
405d23:	31 fe                	xor    %edi,%esi
405d25:	31 cb                	xor    %ecx,%ebx
405d27:	c1 ce 11             	ror    $0x11,%esi
405d2a:	03 5c 24 48          	add    0x48(%esp),%ebx
405d2e:	c1 ef 0a             	shr    $0xa,%edi
405d31:	03 5c 24 2c          	add    0x2c(%esp),%ebx
405d35:	89 d1                	mov    %edx,%ecx
405d37:	31 f7                	xor    %esi,%edi
405d39:	8b 74 24 0c          	mov    0xc(%esp),%esi
405d3d:	c1 ca 0e             	ror    $0xe,%edx
405d40:	01 fb                	add    %edi,%ebx
405d42:	8b 7c 24 10          	mov    0x10(%esp),%edi
405d46:	31 ca                	xor    %ecx,%edx
405d48:	89 5c 24 48          	mov    %ebx,0x48(%esp)
405d4c:	31 fe                	xor    %edi,%esi
405d4e:	c1 ca 05             	ror    $0x5,%edx
405d51:	21 ce                	and    %ecx,%esi
405d53:	89 4c 24 08          	mov    %ecx,0x8(%esp)
405d57:	31 ca                	xor    %ecx,%edx
405d59:	03 5c 24 14          	add    0x14(%esp),%ebx
405d5d:	31 f7                	xor    %esi,%edi
405d5f:	c1 ca 06             	ror    $0x6,%edx
405d62:	89 c1                	mov    %eax,%ecx
405d64:	01 fb                	add    %edi,%ebx
405d66:	c1 c9 09             	ror    $0x9,%ecx
405d69:	89 c6                	mov    %eax,%esi