54dade:	33 d7                	xor    %edi,%edx
54dae0:	c1 ce 07             	ror    $0x7,%esi
54dae3:	8b 7c 24 5c          	mov    0x5c(%esp),%edi
54dae7:	33 d3                	xor    %ebx,%edx
54dae9:	33 5c 24 24          	xor    0x24(%esp),%ebx
54daed:	33 74 24 44          	xor    0x44(%esp),%esi
54daf1:	33 70 10             	xor    0x10(%eax),%esi
54daf4:	89 54 24 40          	mov    %edx,0x40(%esp)
54daf8:	89 50 08             	mov    %edx,0x8(%eax)
54dafb:	8b 54 24 70          	mov    0x70(%esp),%edx
54daff:	33 d7                	xor    %edi,%edx
54db01:	c1 cb 07             	ror    $0x7,%ebx
54db04:	33 7c 24 10          	xor    0x10(%esp),%edi
54db08:	33 dd                	xor    %ebp,%ebx
54db0a:	33 50 0c             	xor    0xc(%eax),%edx
54db0d:	8b 6c 24 2c          	mov    0x2c(%esp),%ebp
54db11:	33 ac 24 c8 00 00 00 	xor    0xc8(%esp),%ebp
54db18:	33 58 14             	xor    0x14(%eax),%ebx
54db1b:	c1 cf 07             	ror    $0x7,%edi
54db1e:	33 78 18             	xor    0x18(%eax),%edi
54db21:	c1 cd 07             	ror    $0x7,%ebp
54db24:	33 f9                	xor    %ecx,%edi
54db26:	33 6c 24 30          	xor    0x30(%esp),%ebp
54db2a:	8b 8c 24 a4 00 00 00 	mov    0xa4(%esp),%ecx
54db31:	33 68 1c             	xor    0x1c(%eax),%ebp
54db34:	89 54 24 70          	mov    %edx,0x70(%esp)
54db38:	89 50 0c             	mov    %edx,0xc(%eax)
54db3b:	8b 94 24 f4 00 00 00 	mov    0xf4(%esp),%edx
54db42:	03 d1                	add    %ecx,%edx
54db44:	89 74 24 58          	mov    %esi,0x58(%esp)
54db48:	29 8c 24 f8 00 00 00 	sub    %ecx,0xf8(%esp)
54db4f:	89 70 10             	mov    %esi,0x10(%eax)
54db52:	89 5c 24 78          	mov    %ebx,0x78(%esp)
54db56:	89 58 14             	mov    %ebx,0x14(%eax)
54db59:	89 7c 24 5c          	mov    %edi,0x5c(%esp)
54db5d:	89 78 18             	mov    %edi,0x18(%eax)
54db60:	89 68 1c             	mov    %ebp,0x1c(%eax)
54db63:	89 94 24 f4 00 00 00 	mov    %edx,0xf4(%esp)
54db6a:	0f 85 b0 e7 ff ff    	jne    0x54c320
54db70:	8b 8c 24 e8 00 00 00 	mov    0xe8(%esp),%ecx
54db77:	5f                   	pop    %edi
54db78:	5e                   	pop    %esi
54db79:	5d                   	pop    %ebp
54db7a:	5b                   	pop    %ebx
54db7b:	33 cc                	xor    %esp,%ecx
54db7d:	e8 a4 3e 08 00       	call   0x5d1a26
54db82:	81 c4 dc 00 00 00    	add    $0xdc,%esp
54db88:	c3                   	ret
54db89:	cc                   	int3
54db8a:	cc                   	int3
54db8b:	cc                   	int3
54db8c:	cc                   	int3
54db8d:	cc                   	int3
54db8e:	cc                   	int3
54db8f:	cc                   	int3
54db90:	b8 c8 00 00 00       	mov    $0xc8,%eax
54db95:	e8 16 3c 08 00       	call   0x5d17b0
54db9a:	56                   	push   %esi
54db9b:	8b b4 24 d0 00 00 00 	mov    0xd0(%esp),%esi
54dba2:	57                   	push   %edi
54dba3:	33 ff                	xor    %edi,%edi
54dba5:	8b 4e 08             	mov    0x8(%esi),%ecx
54dba8:	8b 46 0c             	mov    0xc(%esi),%eax
54dbab:	f7 d1                	not    %ecx
54dbad:	89 4e 08             	mov    %ecx,0x8(%esi)
54dbb0:	f7 d0                	not    %eax
54dbb2:	89 46 0c             	mov    %eax,0xc(%esi)
54dbb5:	8b 4e 10             	mov    0x10(%esi),%ecx
54dbb8:	8b 46 14             	mov    0x14(%esi),%eax
54dbbb:	f7 d1                	not    %ecx
54dbbd:	89 4e 10             	mov    %ecx,0x10(%esi)
54dbc0:	f7 d0                	not    %eax
54dbc2:	89 46 14             	mov    %eax,0x14(%esi)
54dbc5:	f7 56 40             	notl   0x40(%esi)
54dbc8:	f7 56 44             	notl   0x44(%esi)
54dbcb:	8b 4e 60             	mov    0x60(%esi),%ecx
54dbce:	8b 46 64             	mov    0x64(%esi),%eax
54dbd1:	f7 d1                	not    %ecx
54dbd3:	89 4e 60             	mov    %ecx,0x60(%esi)
54dbd6:	f7 d0                	not    %eax
54dbd8:	89 46 64             	mov    %eax,0x64(%esi)
54dbdb:	8b 8e 88 00 00 00    	mov    0x88(%esi),%ecx
54dbe1:	8b 86 8c 00 00 00    	mov    0x8c(%esi),%eax
54dbe7:	f7 d1                	not    %ecx
54dbe9:	89 8e 88 00 00 00    	mov    %ecx,0x88(%esi)
54dbef:	f7 d0                	not    %eax
54dbf1:	89 86 8c 00 00 00    	mov    %eax,0x8c(%esi)
54dbf7:	f7 96 a0 00 00 00    	notl   0xa0(%esi)
54dbfd:	f7 96 a4 00 00 00    	notl   0xa4(%esi)
54dc03:	57                   	push   %edi
54dc04:	8d 44 24 0c          	lea    0xc(%esp),%eax
54dc08:	56                   	push   %esi
54dc09:	50                   	push   %eax
54dc0a:	e8 81 00 00 00       	call   0x54dc90
54dc0f:	8d 47 01             	lea    0x1(%edi),%eax
54dc12:	50                   	push   %eax
54dc13:	8d 44 24 18          	lea    0x18(%esp),%eax
54dc17:	50                   	push   %eax
54dc18:	56                   	push   %esi
54dc19:	e8 72 00 00 00       	call   0x54dc90
54dc1e:	83 c7 02             	add    $0x2,%edi
54dc21:	83 c4 18             	add    $0x18,%esp
54dc24:	83 ff 18             	cmp    $0x18,%edi
54dc27:	72 da                	jb     0x54dc03
54dc29:	8b 4e 08             	mov    0x8(%esi),%ecx
54dc2c:	8b 46 0c             	mov    0xc(%esi),%eax
54dc2f:	f7 d1                	not    %ecx
54dc31:	89 4e 08             	mov    %ecx,0x8(%esi)
54dc34:	f7 d0                	not    %eax
54dc36:	89 46 0c             	mov    %eax,0xc(%esi)
54dc39:	8b 4e 10             	mov    0x10(%esi),%ecx
54dc3c:	8b 46 14             	mov    0x14(%esi),%eax
54dc3f:	f7 d1                	not    %ecx
54dc41:	89 4e 10             	mov    %ecx,0x10(%esi)
54dc44:	f7 d0                	not    %eax
54dc46:	89 46 14             	mov    %eax,0x14(%esi)
54dc49:	f7 56 40             	notl   0x40(%esi)
54dc4c:	f7 56 44             	notl   0x44(%esi)
54dc4f:	8b 4e 60             	mov    0x60(%esi),%ecx
54dc52:	8b 46 64             	mov    0x64(%esi),%eax
54dc55:	f7 d1                	not    %ecx
54dc57:	89 4e 60             	mov    %ecx,0x60(%esi)
54dc5a:	f7 d0                	not    %eax
54dc5c:	89 46 64             	mov    %eax,0x64(%esi)
54dc5f:	8b 8e 88 00 00 00    	mov    0x88(%esi),%ecx
54dc65:	8b 86 8c 00 00 00    	mov    0x8c(%esi),%eax
54dc6b:	f7 d1                	not    %ecx
54dc6d:	89 8e 88 00 00 00    	mov    %ecx,0x88(%esi)
54dc73:	f7 d0                	not    %eax
54dc75:	89 86 8c 00 00 00    	mov    %eax,0x8c(%esi)
54dc7b:	f7 96 a0 00 00 00    	notl   0xa0(%esi)
54dc81:	f7 96 a4 00 00 00    	notl   0xa4(%esi)
54dc87:	5f                   	pop    %edi
54dc88:	5e                   	pop    %esi
54dc89:	81 c4 c8 00 00 00    	add    $0xc8,%esp
54dc8f:	c3                   	ret
54dc90:	b8 44 00 00 00       	mov    $0x44,%eax
54dc95:	e8 16 3b 08 00       	call   0x5d17b0
54dc9a:	53                   	push   %ebx
54dc9b:	55                   	push   %ebp
54dc9c:	56                   	push   %esi
54dc9d:	57                   	push   %edi
54dc9e:	8b 54 24 5c          	mov    0x5c(%esp),%edx
54dca2:	8b 4a 50             	mov    0x50(%edx),%ecx
54dca5:	33 4a 28             	xor    0x28(%edx),%ecx
54dca8:	33 0a                	xor    (%edx),%ecx
54dcaa:	33 4a 78             	xor    0x78(%edx),%ecx
54dcad:	33 8a a0 00 00 00    	xor    0xa0(%edx),%ecx
54dcb3:	8b 42 54             	mov    0x54(%edx),%eax
54dcb6:	33 42 2c             	xor    0x2c(%edx),%eax
54dcb9:	33 42 04             	xor    0x4(%edx),%eax
54dcbc:	33 42 7c             	xor    0x7c(%edx),%eax
54dcbf:	33 82 a4 00 00 00    	xor    0xa4(%edx),%eax
54dcc5:	8b 9a 84 00 00 00    	mov    0x84(%edx),%ebx
54dccb:	33 9a ac 00 00 00    	xor    0xac(%edx),%ebx
54dcd1:	8b 6a 6c             	mov    0x6c(%edx),%ebp
54dcd4:	33 6a 44             	xor    0x44(%edx),%ebp
54dcd7:	8b 72 74             	mov    0x74(%edx),%esi
54dcda:	33 72 4c             	xor    0x4c(%edx),%esi
54dcdd:	33 6a 1c             	xor    0x1c(%edx),%ebp
54dce0:	33 72 24             	xor    0x24(%edx),%esi
54dce3:	89 4c 24 20          	mov    %ecx,0x20(%esp)
54dce7:	8b 8a 80 00 00 00    	mov    0x80(%edx),%ecx
54dced:	33 8a a8 00 00 00    	xor    0xa8(%edx),%ecx
54dcf3:	33 4a 30             	xor    0x30(%edx),%ecx
54dcf6:	33 4a 58             	xor    0x58(%edx),%ecx
54dcf9:	33 4a 08             	xor    0x8(%edx),%ecx
54dcfc:	33 aa 94 00 00 00    	xor    0x94(%edx),%ebp
54dd02:	33 aa bc 00 00 00    	xor    0xbc(%edx),%ebp
54dd08:	89 44 24 44          	mov    %eax,0x44(%esp)
54dd0c:	8b 42 34             	mov    0x34(%edx),%eax
54dd0f:	33 d8                	xor    %eax,%ebx
54dd11:	33 5a 5c             	xor    0x5c(%edx),%ebx
54dd14:	33 5a 0c             	xor    0xc(%edx),%ebx
54dd17:	89 44 24 30          	mov    %eax,0x30(%esp)
54dd1b:	8b 42 60             	mov    0x60(%edx),%eax
54dd1e:	89 44 24 28          	mov    %eax,0x28(%esp)
54dd22:	89 4c 24 18          	mov    %ecx,0x18(%esp)
54dd26:	8b 8a 88 00 00 00    	mov    0x88(%edx),%ecx
54dd2c:	33 c8                	xor    %eax,%ecx
54dd2e:	89 5c 24 10          	mov    %ebx,0x10(%esp)
54dd32:	8b 82 8c 00 00 00    	mov    0x8c(%edx),%eax
54dd38:	33 42 64             	xor    0x64(%edx),%eax
54dd3b:	33 82 b4 00 00 00    	xor    0xb4(%edx),%eax
54dd41:	33 42 3c             	xor    0x3c(%edx),%eax
54dd44:	33 42 14             	xor    0x14(%edx),%eax
54dd47:	8b 5a 68             	mov    0x68(%edx),%ebx
54dd4a:	33 5a 40             	xor    0x40(%edx),%ebx
54dd4d:	33 5a 18             	xor    0x18(%edx),%ebx
54dd50:	33 8a b0 00 00 00    	xor    0xb0(%edx),%ecx
54dd56:	33 4a 38             	xor    0x38(%edx),%ecx
54dd59:	33 4a 10             	xor    0x10(%edx),%ecx
54dd5c:	8b 7a 70             	mov    0x70(%edx),%edi
54dd5f:	33 7a 48             	xor    0x48(%edx),%edi
54dd62:	33 7a 20             	xor    0x20(%edx),%edi
54dd65:	33 ba c0 00 00 00    	xor    0xc0(%edx),%edi
54dd6b:	33 ba 98 00 00 00    	xor    0x98(%edx),%edi
54dd71:	89 44 24 1c          	mov    %eax,0x1c(%esp)
54dd75:	8b 82 90 00 00 00    	mov    0x90(%edx),%eax
54dd7b:	33 d8                	xor    %eax,%ebx
54dd7d:	33 9a b8 00 00 00    	xor    0xb8(%edx),%ebx
54dd83:	89 44 24 2c          	mov    %eax,0x2c(%esp)
54dd87:	8b 82 c4 00 00 00    	mov    0xc4(%edx),%eax
54dd8d:	33 f0                	xor    %eax,%esi
54dd8f:	33 b2 9c 00 00 00    	xor    0x9c(%edx),%esi
54dd95:	89 44 24 34          	mov    %eax,0x34(%esp)
54dd99:	8b 44 24 10          	mov    0x10(%esp),%eax
54dd9d:	8b d0                	mov    %eax,%edx
54dd9f:	d1 c2                	rol    $1,%edx
54dda1:	33 c0                	xor    %eax,%eax
54dda3:	0b c2                	or     %edx,%eax
54dda5:	89 4c 24 24          	mov    %ecx,0x24(%esp)
54dda9:	8b d7                	mov    %edi,%edx
54ddab:	33 d0                	xor    %eax,%edx
54ddad:	8b c6                	mov    %esi,%eax
54ddaf:	33 44 24 18          	xor    0x18(%esp),%eax
54ddb3:	89 54 24 14          	mov    %edx,0x14(%esp)
54ddb7:	89 44 24 38          	mov    %eax,0x38(%esp)
54ddbb:	8b 44 24 1c          	mov    0x1c(%esp),%eax
54ddbf:	8b d0                	mov    %eax,%edx
54ddc1:	33 c0                	xor    %eax,%eax
54ddc3:	31 7c 24 1c          	xor    %edi,0x1c(%esp)
54ddc7:	8b 7c 24 5c          	mov    0x5c(%esp),%edi
54ddcb:	d1 c2                	rol    $1,%edx
54ddcd:	0b c2                	or     %edx,%eax
54ddcf:	d1 c6                	rol    $1,%esi
54ddd1:	8b 54 24 20          	mov    0x20(%esp),%edx
54ddd5:	33 d0                	xor    %eax,%edx
54ddd7:	31 6c 24 20          	xor    %ebp,0x20(%esp)
54dddb:	8b 44 24 44          	mov    0x44(%esp),%eax
54dddf:	33 c1                	xor    %ecx,%eax
54dde1:	89 54 24 3c          	mov    %edx,0x3c(%esp)
54dde5:	89 44 24 40          	mov    %eax,0x40(%esp)
54dde9:	33 c9                	xor    %ecx,%ecx
54ddeb:	8b c5                	mov    %ebp,%eax
54dded:	8b d3                	mov    %ebx,%edx
54ddef:	31 54 24 10          	xor    %edx,0x10(%esp)
54ddf3:	33 ed                	xor    %ebp,%ebp
54ddf5:	d1 c0                	rol    $1,%eax
54ddf7:	33 d2                	xor    %edx,%edx
54ddf9:	0b c8                	or     %eax,%ecx
54ddfb:	33 c0                	xor    %eax,%eax
54ddfd:	31 4c 24 18          	xor    %ecx,0x18(%esp)
54de01:	0b c6                	or     %esi,%eax
54de03:	8b 74 24 24          	mov    0x24(%esp),%esi
54de07:	33 f0                	xor    %eax,%esi
54de09:	8b 4c 24 30          	mov    0x30(%esp),%ecx
54de0d:	8b 44 24 44          	mov    0x44(%esp),%eax
54de11:	33 4c 24 40          	xor    0x40(%esp),%ecx
54de15:	d1 c0                	rol    $1,%eax
54de17:	0b d0                	or     %eax,%edx
54de19:	c1 c9 0a             	ror    $0xa,%ecx
54de1c:	8b 44 24 14          	mov    0x14(%esp),%eax
54de20:	33 d3                	xor    %ebx,%edx
54de22:	33 07                	xor    (%edi),%eax
54de24:	33 db                	xor    %ebx,%ebx
54de26:	89 44 24 48          	mov    %eax,0x48(%esp)
54de2a:	8b 44 24 38          	mov    0x38(%esp),%eax
54de2e:	33 47 04             	xor    0x4(%edi),%eax
54de31:	89 44 24 4c          	mov    %eax,0x4c(%esp)
54de35:	8b 47 30             	mov    0x30(%edi),%eax
54de38:	33 44 24 3c          	xor    0x3c(%esp),%eax
54de3c:	89 4c 24 30          	mov    %ecx,0x30(%esp)
54de40:	8b 4c 24 28          	mov    0x28(%esp),%ecx
54de44:	33 4c 24 18          	xor    0x18(%esp),%ecx
54de48:	c1 c8 0a             	ror    $0xa,%eax
54de4b:	0b e8                	or     %eax,%ebp
54de4d:	c1 c9 0b             	ror    $0xb,%ecx
54de50:	8b 47 64             	mov    0x64(%edi),%eax
54de53:	33 44 24 10          	xor    0x10(%esp),%eax
54de57:	89 4c 24 28          	mov    %ecx,0x28(%esp)
54de5b:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
54de5f:	33 ce                	xor    %esi,%ecx
54de61:	c1 c8 0a             	ror    $0xa,%eax
54de64:	0b d8                	or     %eax,%ebx
54de66:	c1 c1 0a             	rol    $0xa,%ecx
54de69:	8b 87 94 00 00 00    	mov    0x94(%edi),%eax
54de6f:	33 ff                	xor    %edi,%edi
54de71:	33 44 24 1c          	xor    0x1c(%esp),%eax
54de75:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
54de79:	8b 4c 24 5c          	mov    0x5c(%esp),%ecx
54de7d:	c1 c0 0b             	rol    $0xb,%eax
54de80:	0b f8                	or     %eax,%edi
54de82:	89 74 24 24          	mov    %esi,0x24(%esp)
54de86:	89 54 24 44          	mov    %edx,0x44(%esp)
54de8a:	33 f6                	xor    %esi,%esi
54de8c:	8b 81 c0 00 00 00    	mov    0xc0(%ecx),%eax
54de92:	8b 4c 24 34          	mov    0x34(%esp),%ecx
54de96:	33 c2                	xor    %edx,%eax
54de98:	33 4c 24 20          	xor    0x20(%esp),%ecx
54de9c:	8b d3                	mov    %ebx,%edx
54de9e:	c1 c1 07             	rol    $0x7,%ecx
54dea1:	0b d5                	or     %ebp,%edx
54dea3:	c1 c0 07             	rol    $0x7,%eax
54dea6:	89 4c 24 34          	mov    %ecx,0x34(%esp)
54deaa:	0b f0                	or     %eax,%esi
54deac:	8b 4c 24 28          	mov    0x28(%esp),%ecx
54deb0:	0b 4c 24 30          	or     0x30(%esp),%ecx
54deb4:	8b 44 24 60          	mov    0x60(%esp),%eax
54deb8:	33 0c c5 cc e4 64 00 	xor    0x64e4cc(,%eax,8),%ecx
54debf:	33 14 c5 c8 e4 64 00 	xor    0x64e4c8(,%eax,8),%edx
54dec6:	33 4c 24 4c          	xor    0x4c(%esp),%ecx
54deca:	33 54 24 48          	xor    0x48(%esp),%edx
54dece:	8b 44 24 58          	mov    0x58(%esp),%eax
54ded2:	89 48 04             	mov    %ecx,0x4(%eax)
54ded5:	8b cb                	mov    %ebx,%ecx
54ded7:	89 10                	mov    %edx,(%eax)
54ded9:	f7 d1                	not    %ecx
54dedb:	8b 54 24 58          	mov    0x58(%esp),%edx
54dedf:	0b cf                	or     %edi,%ecx
54dee1:	8b 44 24 28          	mov    0x28(%esp),%eax
54dee5:	33 cd                	xor    %ebp,%ecx
54dee7:	f7 d0                	not    %eax
54dee9:	23 6c 24 48          	and    0x48(%esp),%ebp
54deed:	0b 44 24 2c          	or     0x2c(%esp),%eax
54def1:	33 ee                	xor    %esi,%ebp
54def3:	33 44 24 30          	xor    0x30(%esp),%eax
54def7:	89 4a 08             	mov    %ecx,0x8(%edx)
54defa:	8b ca                	mov    %edx,%ecx
54defc:	89 41 0c             	mov    %eax,0xc(%ecx)
54deff:	8b ce                	mov    %esi,%ecx
54df01:	8b 44 24 34          	mov    0x34(%esp),%eax
54df05:	23 cf                	and    %edi,%ecx
54df07:	23 44 24 2c          	and    0x2c(%esp),%eax
54df0b:	33 cb                	xor    %ebx,%ecx
54df0d:	33 44 24 28          	xor    0x28(%esp),%eax
54df11:	33 db                	xor    %ebx,%ebx
54df13:	89 42 14             	mov    %eax,0x14(%edx)
54df16:	8b 44 24 34          	mov    0x34(%esp),%eax
54df1a:	0b 44 24 4c          	or     0x4c(%esp),%eax
54df1e:	33 44 24 2c          	xor    0x2c(%esp),%eax
54df22:	89 4a 10             	mov    %ecx,0x10(%edx)
54df25:	8b ce                	mov    %esi,%ecx
54df27:	0b 4c 24 48          	or     0x48(%esp),%ecx
54df2b:	8b 74 24 5c          	mov    0x5c(%esp),%esi
54df2f:	33 cf                	xor    %edi,%ecx
54df31:	8b fa                	mov    %edx,%edi
54df33:	89 47 1c             	mov    %eax,0x1c(%edi)
54df36:	8b 44 24 30          	mov    0x30(%esp),%eax
54df3a:	23 44 24 4c          	and    0x4c(%esp),%eax
54df3e:	33 44 24 34          	xor    0x34(%esp),%eax
54df42:	89 47 24             	mov    %eax,0x24(%edi)
54df45:	89 4f 18             	mov    %ecx,0x18(%edi)
54df48:	33 c9                	xor    %ecx,%ecx
54df4a:	89 6f 20             	mov    %ebp,0x20(%edi)
54df4d:	8b 46 18             	mov    0x18(%esi),%eax
54df50:	33 44 24 24          	xor    0x24(%esp),%eax
54df54:	8b 56 1c             	mov    0x1c(%esi),%edx
54df57:	33 54 24 1c          	xor    0x1c(%esp),%edx
54df5b:	8b ae 80 00 00 00    	mov    0x80(%esi),%ebp