55392a:	8b 8d 7c ff ff ff    	mov    -0x84(%ebp),%ecx
553930:	83 c4 0c             	add    $0xc,%esp
553933:	8b 41 0c             	mov    0xc(%ecx),%eax
553936:	85 c0                	test   %eax,%eax
553938:	74 18                	je     0x553952
55393a:	50                   	push   %eax
55393b:	8d 45 80             	lea    -0x80(%ebp),%eax
55393e:	68 f8 b9 6b 00       	push   $0x6bb9f8
553943:	50                   	push   %eax
553944:	e8 47 a5 f9 ff       	call   0x4ede90
553949:	8b 8d 7c ff ff ff    	mov    -0x84(%ebp),%ecx
55394f:	83 c4 0c             	add    $0xc,%esp
553952:	f7 c3 00 05 00 00    	test   $0x500,%ebx
553958:	0f 85 c4 00 00 00    	jne    0x553a22
55395e:	8b 41 10             	mov    0x10(%ecx),%eax
553961:	8b 57 20             	mov    0x20(%edi),%edx
553964:	89 95 7c ff ff ff    	mov    %edx,-0x84(%ebp)
55396a:	f6 40 24 80          	testb  $0x80,0x24(%eax)
55396e:	74 23                	je     0x553993
553970:	8b 42 38             	mov    0x38(%edx),%eax
553973:	24 03                	and    $0x3,%al
553975:	3c 02                	cmp    $0x2,%al
553977:	75 1a                	jne    0x553993
553979:	33 c0                	xor    %eax,%eax
55397b:	be 00 ba 6b 00       	mov    $0x6bba00,%esi
553980:	39 85 78 ff ff ff    	cmp    %eax,-0x88(%ebp)
553986:	0f 44 f0             	cmove  %eax,%esi
553989:	85 f6                	test   %esi,%esi
55398b:	0f 84 fd 00 00 00    	je     0x553a8e
553991:	eb 2e                	jmp    0x5539c1
553993:	f7 c3 00 00 02 00    	test   $0x20000,%ebx
553999:	74 07                	je     0x5539a2
55399b:	be 0c ba 6b 00       	mov    $0x6bba0c,%esi
5539a0:	eb 1f                	jmp    0x5539c1
5539a2:	f7 c3 00 40 00 00    	test   $0x4000,%ebx
5539a8:	74 07                	je     0x5539b1
5539aa:	be 30 ba 6b 00       	mov    $0x6bba30,%esi
5539af:	eb 10                	jmp    0x5539c1
5539b1:	f6 c3 40             	test   $0x40,%bl
5539b4:	be 4c ba 6b 00       	mov    $0x6bba4c,%esi
5539b9:	b8 60 ba 6b 00       	mov    $0x6bba60,%eax
5539be:	0f 44 f0             	cmove  %eax,%esi
5539c1:	8b 4d 90             	mov    -0x70(%ebp),%ecx
5539c4:	83 c1 07             	add    $0x7,%ecx
5539c7:	3b 4d 88             	cmp    -0x78(%ebp),%ecx
5539ca:	72 1b                	jb     0x5539e7
5539cc:	6a 07                	push   $0x7
5539ce:	8d 45 80             	lea    -0x80(%ebp),%eax
5539d1:	68 6c ba 6b 00       	push   $0x6bba6c
5539d6:	50                   	push   %eax
5539d7:	e8 44 af fa ff       	call   0x4fe920
5539dc:	8b 95 7c ff ff ff    	mov    -0x84(%ebp),%edx
5539e2:	83 c4 0c             	add    $0xc,%esp
5539e5:	eb 20                	jmp    0x553a07
5539e7:	a1 6c ba 6b 00       	mov    0x6bba6c,%eax
5539ec:	89 4d 90             	mov    %ecx,-0x70(%ebp)
5539ef:	03 4d 84             	add    -0x7c(%ebp),%ecx
5539f2:	89 41 f9             	mov    %eax,-0x7(%ecx)
5539f5:	66 a1 70 ba 6b 00    	mov    0x6bba70,%ax
5539fb:	66 89 41 fd          	mov    %ax,-0x3(%ecx)
5539ff:	a0 72 ba 6b 00       	mov    0x6bba72,%al
553a04:	88 41 ff             	mov    %al,-0x1(%ecx)
553a07:	ff 32                	push   (%edx)
553a09:	8d 45 80             	lea    -0x80(%ebp),%eax
553a0c:	56                   	push   %esi
553a0d:	50                   	push   %eax
553a0e:	e8 7d a4 f9 ff       	call   0x4ede90
553a13:	8d 45 80             	lea    -0x80(%ebp),%eax
553a16:	57                   	push   %edi
553a17:	50                   	push   %eax
553a18:	e8 e3 b4 fa ff       	call   0x4fef00
553a1d:	83 c4 14             	add    $0x14,%esp
553a20:	eb 6c                	jmp    0x553a8e
553a22:	f6 c3 0f             	test   $0xf,%bl
553a25:	0f 95 c1             	setne  %cl
553a28:	0f ba e3 08          	bt     $0x8,%ebx
553a2c:	0f 92 c0             	setb   %al
553a2f:	84 c8                	test   %cl,%al
553a31:	74 3c                	je     0x553a6f
553a33:	f6 c3 05             	test   $0x5,%bl
553a36:	74 07                	je     0x553a3f
553a38:	b8 74 ba 6b 00       	mov    $0x6bba74,%eax
553a3d:	eb 1c                	jmp    0x553a5b
553a3f:	83 fe 30             	cmp    $0x30,%esi
553a42:	75 07                	jne    0x553a4b
553a44:	b8 78 ba 6b 00       	mov    $0x6bba78,%eax
553a49:	eb 10                	jmp    0x553a5b
553a4b:	f6 c3 20             	test   $0x20,%bl
553a4e:	b8 c4 b9 6b 00       	mov    $0x6bb9c4,%eax
553a53:	b9 c8 b9 6b 00       	mov    $0x6bb9c8,%ecx
553a58:	0f 44 c1             	cmove  %ecx,%eax
553a5b:	50                   	push   %eax
553a5c:	8d 45 80             	lea    -0x80(%ebp),%eax
553a5f:	68 88 ba 6b 00       	push   $0x6bba88
553a64:	50                   	push   %eax
553a65:	e8 26 a4 f9 ff       	call   0x4ede90
553a6a:	83 c4 0c             	add    $0xc,%esp
553a6d:	eb 1f                	jmp    0x553a8e
553a6f:	f7 c3 00 04 00 00    	test   $0x400,%ebx
553a75:	74 17                	je     0x553a8e
553a77:	ff 77 20             	push   0x20(%edi)
553a7a:	8d 45 80             	lea    -0x80(%ebp),%eax
553a7d:	ff 77 18             	push   0x18(%edi)
553a80:	68 b0 ba 6b 00       	push   $0x6bbab0
553a85:	50                   	push   %eax
553a86:	e8 05 a4 f9 ff       	call   0x4ede90
553a8b:	83 c4 10             	add    $0x10,%esp
553a8e:	8b 4d 84             	mov    -0x7c(%ebp),%ecx
553a91:	85 c9                	test   %ecx,%ecx
553a93:	74 26                	je     0x553abb
553a95:	8b 45 90             	mov    -0x70(%ebp),%eax
553a98:	c6 04 08 00          	movb   $0x0,(%eax,%ecx,1)
553a9c:	83 7d 8c 00          	cmpl   $0x0,-0x74(%ebp)
553aa0:	76 16                	jbe    0x553ab8
553aa2:	f6 45 95 04          	testb  $0x4,-0x6b(%ebp)
553aa6:	75 10                	jne    0x553ab8
553aa8:	8d 45 80             	lea    -0x80(%ebp),%eax
553aab:	50                   	push   %eax
553aac:	e8 af 3e 00 00       	call   0x557960
553ab1:	83 c4 04             	add    $0x4,%esp
553ab4:	8b c8                	mov    %eax,%ecx
553ab6:	eb 03                	jmp    0x553abb
553ab8:	8b 4d 84             	mov    -0x7c(%ebp),%ecx
553abb:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
553ac1:	6a f9                	push   $0xfffffff9
553ac3:	51                   	push   %ecx
553ac4:	6a 00                	push   $0x0
553ac6:	ff b0 d4 00 00 00    	push   0xd4(%eax)
553acc:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
553ad2:	ff 70 6c             	push   0x6c(%eax)
553ad5:	68 ae 00 00 00       	push   $0xae
553ada:	50                   	push   %eax
553adb:	e8 b0 e0 fe ff       	call   0x541b90
553ae0:	83 c4 1c             	add    $0x1c,%esp
553ae3:	8b d0                	mov    %eax,%edx
553ae5:	5f                   	pop    %edi
553ae6:	5e                   	pop    %esi
553ae7:	8b c2                	mov    %edx,%eax
553ae9:	5b                   	pop    %ebx
553aea:	8b 4d fc             	mov    -0x4(%ebp),%ecx
553aed:	33 cd                	xor    %ebp,%ecx
553aef:	e8 e6 d9 08 00       	call   0x5e14da
553af4:	8b e5                	mov    %ebp,%esp
553af6:	5d                   	pop    %ebp
553af7:	c3                   	ret
553af8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
553afb:	33 c0                	xor    %eax,%eax
553afd:	5f                   	pop    %edi
553afe:	5e                   	pop    %esi
553aff:	33 cd                	xor    %ebp,%ecx
553b01:	5b                   	pop    %ebx
553b02:	e8 d3 d9 08 00       	call   0x5e14da
553b07:	8b e5                	mov    %ebp,%esp
553b09:	5d                   	pop    %ebp
553b0a:	c3                   	ret
553b0b:	cc                   	int3
553b0c:	cc                   	int3
553b0d:	cc                   	int3
553b0e:	cc                   	int3
553b0f:	cc                   	int3
553b10:	55                   	push   %ebp
553b11:	8b ec                	mov    %esp,%ebp
553b13:	83 ec 0c             	sub    $0xc,%esp
553b16:	0f 57 c0             	xorps  %xmm0,%xmm0
553b19:	53                   	push   %ebx
553b1a:	8b 5d 0c             	mov    0xc(%ebp),%ebx
553b1d:	66 0f 13 45 f4       	movlpd %xmm0,-0xc(%ebp)
553b22:	8b 45 f4             	mov    -0xc(%ebp),%eax
553b25:	85 db                	test   %ebx,%ebx
553b27:	74 61                	je     0x553b8a
553b29:	57                   	push   %edi
553b2a:	33 ff                	xor    %edi,%edi
553b2c:	39 3b                	cmp    %edi,(%ebx)
553b2e:	7e 51                	jle    0x553b81
553b30:	8b 4d f8             	mov    -0x8(%ebp),%ecx
553b33:	56                   	push   %esi
553b34:	8d 73 04             	lea    0x4(%ebx),%esi
553b37:	89 4d fc             	mov    %ecx,-0x4(%ebp)
553b3a:	89 45 0c             	mov    %eax,0xc(%ebp)
553b3d:	0f 1f 00             	nopl   (%eax)
553b40:	8b 06                	mov    (%esi),%eax
553b42:	85 c0                	test   %eax,%eax
553b44:	74 11                	je     0x553b57
553b46:	50                   	push   %eax
553b47:	ff 75 08             	push   0x8(%ebp)
553b4a:	e8 51 00 00 00       	call   0x553ba0
553b4f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
553b52:	83 c4 08             	add    $0x8,%esp
553b55:	eb 0e                	jmp    0x553b65
553b57:	0f 57 c0             	xorps  %xmm0,%xmm0
553b5a:	66 0f 13 45 f4       	movlpd %xmm0,-0xc(%ebp)
553b5f:	8b 55 f8             	mov    -0x8(%ebp),%edx
553b62:	8b 45 f4             	mov    -0xc(%ebp),%eax
553b65:	09 45 0c             	or     %eax,0xc(%ebp)
553b68:	0b ca                	or     %edx,%ecx
553b6a:	47                   	inc    %edi
553b6b:	89 4d fc             	mov    %ecx,-0x4(%ebp)
553b6e:	83 c6 14             	add    $0x14,%esi
553b71:	3b 3b                	cmp    (%ebx),%edi
553b73:	7c cb                	jl     0x553b40
553b75:	8b 45 0c             	mov    0xc(%ebp),%eax
553b78:	8b d1                	mov    %ecx,%edx
553b7a:	5e                   	pop    %esi
553b7b:	5f                   	pop    %edi
553b7c:	5b                   	pop    %ebx
553b7d:	8b e5                	mov    %ebp,%esp
553b7f:	5d                   	pop    %ebp
553b80:	c3                   	ret
553b81:	8b 55 f8             	mov    -0x8(%ebp),%edx
553b84:	5f                   	pop    %edi
553b85:	5b                   	pop    %ebx
553b86:	8b e5                	mov    %ebp,%esp
553b88:	5d                   	pop    %ebp
553b89:	c3                   	ret
553b8a:	8b 55 f8             	mov    -0x8(%ebp),%edx
553b8d:	5b                   	pop    %ebx
553b8e:	8b e5                	mov    %ebp,%esp
553b90:	5d                   	pop    %ebp
553b91:	c3                   	ret
553b92:	cc                   	int3
553b93:	cc                   	int3
553b94:	cc                   	int3
553b95:	cc                   	int3
553b96:	cc                   	int3
553b97:	cc                   	int3
553b98:	cc                   	int3
553b99:	cc                   	int3
553b9a:	cc                   	int3
553b9b:	cc                   	int3
553b9c:	cc                   	int3
553b9d:	cc                   	int3
553b9e:	cc                   	int3
553b9f:	cc                   	int3
553ba0:	55                   	push   %ebp
553ba1:	8b ec                	mov    %esp,%ebp
553ba3:	83 ec 08             	sub    $0x8,%esp
553ba6:	56                   	push   %esi
553ba7:	8b 75 0c             	mov    0xc(%ebp),%esi
553baa:	8a 06                	mov    (%esi),%al
553bac:	3c a4                	cmp    $0xa4,%al
553bae:	75 19                	jne    0x553bc9
553bb0:	f6 46 04 08          	testb  $0x8,0x4(%esi)
553bb4:	75 13                	jne    0x553bc9
553bb6:	ff 76 1c             	push   0x1c(%esi)
553bb9:	ff 75 08             	push   0x8(%ebp)
553bbc:	e8 af 01 00 00       	call   0x553d70
553bc1:	83 c4 08             	add    $0x8,%esp
553bc4:	5e                   	pop    %esi
553bc5:	8b e5                	mov    %ebp,%esp
553bc7:	5d                   	pop    %ebp
553bc8:	c3                   	ret
553bc9:	f7 46 04 00 40 80 00 	testl  $0x804000,0x4(%esi)
553bd0:	74 09                	je     0x553bdb
553bd2:	33 c0                	xor    %eax,%eax
553bd4:	33 d2                	xor    %edx,%edx
553bd6:	5e                   	pop    %esi
553bd7:	8b e5                	mov    %ebp,%esp
553bd9:	5d                   	pop    %ebp
553bda:	c3                   	ret
553bdb:	53                   	push   %ebx
553bdc:	57                   	push   %edi
553bdd:	3c b0                	cmp    $0xb0,%al
553bdf:	75 14                	jne    0x553bf5
553be1:	ff 76 1c             	push   0x1c(%esi)
553be4:	ff 75 08             	push   0x8(%ebp)
553be7:	e8 84 01 00 00       	call   0x553d70
553bec:	83 c4 08             	add    $0x8,%esp
553bef:	8b f8                	mov    %eax,%edi
553bf1:	8b da                	mov    %edx,%ebx
553bf3:	eb 0e                	jmp    0x553c03
553bf5:	0f 57 c0             	xorps  %xmm0,%xmm0
553bf8:	66 0f 13 45 f8       	movlpd %xmm0,-0x8(%ebp)
553bfd:	8b 5d fc             	mov    -0x4(%ebp),%ebx
553c00:	8b 7d f8             	mov    -0x8(%ebp),%edi
553c03:	8b 46 0c             	mov    0xc(%esi),%eax
553c06:	85 c0                	test   %eax,%eax
553c08:	74 10                	je     0x553c1a
553c0a:	50                   	push   %eax
553c0b:	ff 75 08             	push   0x8(%ebp)
553c0e:	e8 8d ff ff ff       	call   0x553ba0
553c13:	83 c4 08             	add    $0x8,%esp
553c16:	0b f8                	or     %eax,%edi
553c18:	0b da                	or     %edx,%ebx
553c1a:	8b 46 10             	mov    0x10(%esi),%eax
553c1d:	85 c0                	test   %eax,%eax
553c1f:	74 0b                	je     0x553c2c
553c21:	50                   	push   %eax
553c22:	ff 75 08             	push   0x8(%ebp)
553c25:	e8 76 ff ff ff       	call   0x553ba0
553c2a:	eb 32                	jmp    0x553c5e
553c2c:	8b 46 04             	mov    0x4(%esi),%eax
553c2f:	a9 00 08 00 00       	test   $0x800,%eax
553c34:	74 18                	je     0x553c4e
553c36:	a8 20                	test   $0x20,%al
553c38:	8b 45 08             	mov    0x8(%ebp),%eax
553c3b:	74 06                	je     0x553c43
553c3d:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
553c43:	ff 76 14             	push   0x14(%esi)
553c46:	50                   	push   %eax
553c47:	e8 24 d9 fa ff       	call   0x501570
553c4c:	eb 10                	jmp    0x553c5e
553c4e:	8b 46 14             	mov    0x14(%esi),%eax
553c51:	85 c0                	test   %eax,%eax
553c53:	74 10                	je     0x553c65
553c55:	50                   	push   %eax
553c56:	ff 75 08             	push   0x8(%ebp)
553c59:	e8 b2 fe ff ff       	call   0x553b10
553c5e:	83 c4 08             	add    $0x8,%esp
553c61:	0b f8                	or     %eax,%edi
553c63:	0b da                	or     %edx,%ebx
553c65:	8a 06                	mov    (%esi),%al
553c67:	3c a9                	cmp    $0xa9,%al
553c69:	74 04                	je     0x553c6f
553c6b:	3c a5                	cmp    $0xa5,%al
553c6d:	75 62                	jne    0x553cd1
553c6f:	8b 46 2c             	mov    0x2c(%esi),%eax
553c72:	85 c0                	test   %eax,%eax
553c74:	74 5b                	je     0x553cd1
553c76:	ff 70 08             	push   0x8(%eax)
553c79:	ff 75 08             	push   0x8(%ebp)
553c7c:	e8 8f fe ff ff       	call   0x553b10
553c81:	0b f8                	or     %eax,%edi
553c83:	0b da                	or     %edx,%ebx
553c85:	8b 46 2c             	mov    0x2c(%esi),%eax
553c88:	ff 70 0c             	push   0xc(%eax)
553c8b:	ff 75 08             	push   0x8(%ebp)
553c8e:	e8 7d fe ff ff       	call   0x553b10
553c93:	0b f8                	or     %eax,%edi
553c95:	83 c4 10             	add    $0x10,%esp
553c98:	8b 46 2c             	mov    0x2c(%esi),%eax
553c9b:	0b da                	or     %edx,%ebx
553c9d:	8b 40 28             	mov    0x28(%eax),%eax
553ca0:	85 c0                	test   %eax,%eax
553ca2:	74 1b                	je     0x553cbf
553ca4:	50                   	push   %eax
553ca5:	ff 75 08             	push   0x8(%ebp)
553ca8:	e8 f3 fe ff ff       	call   0x553ba0
553cad:	83 c4 08             	add    $0x8,%esp
553cb0:	0b f8                	or     %eax,%edi
553cb2:	0b da                	or     %edx,%ebx
553cb4:	8b c7                	mov    %edi,%eax
553cb6:	8b d3                	mov    %ebx,%edx
553cb8:	5f                   	pop    %edi
553cb9:	5b                   	pop    %ebx
553cba:	5e                   	pop    %esi
553cbb:	8b e5                	mov    %ebp,%esp
553cbd:	5d                   	pop    %ebp
553cbe:	c3                   	ret
553cbf:	0f 57 c0             	xorps  %xmm0,%xmm0
553cc2:	66 0f 13 45 f8       	movlpd %xmm0,-0x8(%ebp)