56bd06:	56                   	push   %esi
56bd07:	00 76 b7             	add    %dh,-0x49(%esi)
56bd0a:	56                   	push   %esi
56bd0b:	00 76 b7             	add    %dh,-0x49(%esi)
56bd0e:	56                   	push   %esi
56bd0f:	00 81 b7 56 00 95    	add    %al,-0x6affa949(%ecx)
56bd15:	b7 56                	mov    $0x56,%bh
56bd17:	00 8c b7 56 00 bd b5 	add    %cl,-0x4a42ffaa(%edi,%esi,4)
56bd1e:	56                   	push   %esi
56bd1f:	00 a0 b7 56 00 2e    	add    %ah,0x2e0056b7(%eax)
56bd25:	a5                   	movsl  %ds:(%esi),%es:(%edi)
56bd26:	56                   	push   %esi
56bd27:	00 e4                	add    %ah,%ah
56bd29:	b7 56                	mov    $0x56,%bh
56bd2b:	00 b7 b5 56 00 55    	add    %dh,0x550056b5(%edi)
56bd31:	8b ec                	mov    %esp,%ebp
56bd33:	8b 45 08             	mov    0x8(%ebp),%eax
56bd36:	56                   	push   %esi
56bd37:	8b 08                	mov    (%eax),%ecx
56bd39:	8d 71 0c             	lea    0xc(%ecx),%esi
56bd3c:	89 30                	mov    %esi,(%eax)
56bd3e:	3b b0 b8 04 00 00    	cmp    0x4b8(%eax),%esi
56bd44:	76 0e                	jbe    0x56bd54
56bd46:	50                   	push   %eax
56bd47:	89 08                	mov    %ecx,(%eax)
56bd49:	e8 62 d9 ff ff       	call   0x5696b0
56bd4e:	83 c4 04             	add    $0x4,%esp
56bd51:	5e                   	pop    %esi
56bd52:	5d                   	pop    %ebp
56bd53:	c3                   	ret
56bd54:	8b 4d 0c             	mov    0xc(%ebp),%ecx
56bd57:	57                   	push   %edi
56bd58:	bf 26 02 00 00       	mov    $0x226,%edi
56bd5d:	66 3b cf             	cmp    %di,%cx
56bd60:	8d 81 84 01 00 00    	lea    0x184(%ecx),%eax
56bd66:	0f b7 d0             	movzwl %ax,%edx
56bd69:	0f b7 c1             	movzwl %cx,%eax
56bd6c:	0f 46 d0             	cmovbe %eax,%edx
56bd6f:	66 8b 45 10          	mov    0x10(%ebp),%ax
56bd73:	66 89 16             	mov    %dx,(%esi)
56bd76:	66 89 46 02          	mov    %ax,0x2(%esi)
56bd7a:	8b 45 14             	mov    0x14(%ebp),%eax
56bd7d:	89 46 04             	mov    %eax,0x4(%esi)
56bd80:	8b 45 18             	mov    0x18(%ebp),%eax
56bd83:	5f                   	pop    %edi
56bd84:	89 46 08             	mov    %eax,0x8(%esi)
56bd87:	5e                   	pop    %esi
56bd88:	5d                   	pop    %ebp
56bd89:	c3                   	ret
56bd8a:	cc                   	int3
56bd8b:	cc                   	int3
56bd8c:	cc                   	int3
56bd8d:	cc                   	int3
56bd8e:	cc                   	int3
56bd8f:	cc                   	int3
56bd90:	55                   	push   %ebp
56bd91:	8b ec                	mov    %esp,%ebp
56bd93:	83 ec 0c             	sub    $0xc,%esp
56bd96:	a1 d4 89 72 00       	mov    0x7289d4,%eax
56bd9b:	33 c5                	xor    %ebp,%eax
56bd9d:	89 45 fc             	mov    %eax,-0x4(%ebp)
56bda0:	8b 4d 10             	mov    0x10(%ebp),%ecx
56bda3:	8b 45 14             	mov    0x14(%ebp),%eax
56bda6:	56                   	push   %esi
56bda7:	57                   	push   %edi
56bda8:	8b 7d 08             	mov    0x8(%ebp),%edi
56bdab:	89 4d f4             	mov    %ecx,-0xc(%ebp)
56bdae:	89 45 f8             	mov    %eax,-0x8(%ebp)
56bdb1:	80 39 00             	cmpb   $0x0,(%ecx)
56bdb4:	8b 77 04             	mov    0x4(%edi),%esi
56bdb7:	74 25                	je     0x56bdde
56bdb9:	8d 45 f4             	lea    -0xc(%ebp),%eax
56bdbc:	50                   	push   %eax
56bdbd:	68 fc be 6b 00       	push   $0x6bbefc
56bdc2:	56                   	push   %esi
56bdc3:	e8 98 74 fb ff       	call   0x523260
56bdc8:	83 c4 0c             	add    $0xc,%esp
56bdcb:	89 77 04             	mov    %esi,0x4(%edi)
56bdce:	5f                   	pop    %edi
56bdcf:	5e                   	pop    %esi
56bdd0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
56bdd3:	33 cd                	xor    %ebp,%ecx
56bdd5:	e8 00 57 07 00       	call   0x5e14da
56bdda:	8b e5                	mov    %ebp,%esp
56bddc:	5d                   	pop    %ebp
56bddd:	c3                   	ret
56bdde:	68 28 c0 6b 00       	push   $0x6bc028
56bde3:	56                   	push   %esi
56bde4:	e8 77 74 fb ff       	call   0x523260
56bde9:	8b 4d fc             	mov    -0x4(%ebp),%ecx
56bdec:	83 c4 08             	add    $0x8,%esp
56bdef:	89 77 04             	mov    %esi,0x4(%edi)
56bdf2:	33 cd                	xor    %ebp,%ecx
56bdf4:	5f                   	pop    %edi
56bdf5:	5e                   	pop    %esi
56bdf6:	e8 df 56 07 00       	call   0x5e14da
56bdfb:	8b e5                	mov    %ebp,%esp
56bdfd:	5d                   	pop    %ebp
56bdfe:	c3                   	ret
56bdff:	cc                   	int3
56be00:	55                   	push   %ebp
56be01:	8b ec                	mov    %esp,%ebp
56be03:	83 ec 0c             	sub    $0xc,%esp
56be06:	a1 d4 89 72 00       	mov    0x7289d4,%eax
56be0b:	33 c5                	xor    %ebp,%eax
56be0d:	89 45 fc             	mov    %eax,-0x4(%ebp)
56be10:	56                   	push   %esi
56be11:	8b 75 08             	mov    0x8(%ebp),%esi
56be14:	33 c9                	xor    %ecx,%ecx
56be16:	8b 46 48             	mov    0x48(%esi),%eax
56be19:	0b 46 4c             	or     0x4c(%esi),%eax
56be1c:	0f 84 af 00 00 00    	je     0x56bed1
56be22:	53                   	push   %ebx
56be23:	8b 9e a4 00 00 00    	mov    0xa4(%esi),%ebx
56be29:	57                   	push   %edi
56be2a:	8b be a0 00 00 00    	mov    0xa0(%esi),%edi
56be30:	39 4d 0c             	cmp    %ecx,0xc(%ebp)
56be33:	75 21                	jne    0x56be56
56be35:	8b c7                	mov    %edi,%eax
56be37:	0b c3                	or     %ebx,%eax
56be39:	74 1b                	je     0x56be56
56be3b:	8b 46 40             	mov    0x40(%esi),%eax
56be3e:	6a 00                	push   $0x0
56be40:	6a 00                	push   $0x0
56be42:	6a 1c                	push   $0x1c
56be44:	8b 08                	mov    (%eax),%ecx
56be46:	68 c8 16 6b 00       	push   $0x6b16c8
56be4b:	50                   	push   %eax
56be4c:	8b 41 0c             	mov    0xc(%ecx),%eax
56be4f:	ff d0                	call   *%eax
56be51:	83 c4 14             	add    $0x14,%esp
56be54:	eb 12                	jmp    0x56be68
56be56:	8b 46 40             	mov    0x40(%esi),%eax
56be59:	6a 00                	push   $0x0
56be5b:	6a 00                	push   $0x0
56be5d:	50                   	push   %eax
56be5e:	8b 08                	mov    (%eax),%ecx
56be60:	8b 41 10             	mov    0x10(%ecx),%eax
56be63:	ff d0                	call   *%eax
56be65:	83 c4 0c             	add    $0xc,%esp
56be68:	8b c8                	mov    %eax,%ecx
56be6a:	85 c9                	test   %ecx,%ecx
56be6c:	75 61                	jne    0x56becf
56be6e:	38 46 07             	cmp    %al,0x7(%esi)
56be71:	75 1c                	jne    0x56be8f
56be73:	8b 46 40             	mov    0x40(%esi),%eax
56be76:	0f b6 56 0a          	movzbl 0xa(%esi),%edx
56be7a:	83 ca 10             	or     $0x10,%edx
56be7d:	52                   	push   %edx
56be7e:	8b 08                	mov    (%eax),%ecx
56be80:	50                   	push   %eax
56be81:	8b 41 14             	mov    0x14(%ecx),%eax
56be84:	ff d0                	call   *%eax
56be86:	8b c8                	mov    %eax,%ecx
56be88:	83 c4 08             	add    $0x8,%esp
56be8b:	85 c9                	test   %ecx,%ecx
56be8d:	75 40                	jne    0x56becf
56be8f:	85 db                	test   %ebx,%ebx
56be91:	7c 3c                	jl     0x56becf
56be93:	7f 04                	jg     0x56be99
56be95:	85 ff                	test   %edi,%edi
56be97:	74 36                	je     0x56becf
56be99:	8b 46 40             	mov    0x40(%esi),%eax
56be9c:	8d 55 f4             	lea    -0xc(%ebp),%edx
56be9f:	52                   	push   %edx
56bea0:	50                   	push   %eax
56bea1:	8b 08                	mov    (%eax),%ecx
56bea3:	8b 41 18             	mov    0x18(%ecx),%eax
56bea6:	ff d0                	call   *%eax
56bea8:	8b c8                	mov    %eax,%ecx
56beaa:	83 c4 08             	add    $0x8,%esp
56bead:	85 c9                	test   %ecx,%ecx
56beaf:	75 1e                	jne    0x56becf
56beb1:	39 5d f8             	cmp    %ebx,-0x8(%ebp)
56beb4:	7c 19                	jl     0x56becf
56beb6:	7f 05                	jg     0x56bebd
56beb8:	39 7d f4             	cmp    %edi,-0xc(%ebp)
56bebb:	76 12                	jbe    0x56becf
56bebd:	8b 46 40             	mov    0x40(%esi),%eax
56bec0:	53                   	push   %ebx
56bec1:	57                   	push   %edi
56bec2:	50                   	push   %eax
56bec3:	8b 08                	mov    (%eax),%ecx
56bec5:	8b 41 10             	mov    0x10(%ecx),%eax
56bec8:	ff d0                	call   *%eax
56beca:	83 c4 0c             	add    $0xc,%esp
56becd:	8b c8                	mov    %eax,%ecx
56becf:	5f                   	pop    %edi
56bed0:	5b                   	pop    %ebx
56bed1:	8b c1                	mov    %ecx,%eax
56bed3:	8b 4d fc             	mov    -0x4(%ebp),%ecx
56bed6:	33 cd                	xor    %ebp,%ecx
56bed8:	5e                   	pop    %esi
56bed9:	e8 fc 55 07 00       	call   0x5e14da
56bede:	8b e5                	mov    %ebp,%esp
56bee0:	5d                   	pop    %ebp
56bee1:	c3                   	ret
56bee2:	cc                   	int3
56bee3:	cc                   	int3
56bee4:	cc                   	int3
56bee5:	cc                   	int3
56bee6:	cc                   	int3
56bee7:	cc                   	int3
56bee8:	cc                   	int3
56bee9:	cc                   	int3
56beea:	cc                   	int3
56beeb:	cc                   	int3
56beec:	cc                   	int3
56beed:	cc                   	int3
56beee:	cc                   	int3
56beef:	cc                   	int3
56bef0:	55                   	push   %ebp
56bef1:	8b ec                	mov    %esp,%ebp
56bef3:	83 ec 08             	sub    $0x8,%esp
56bef6:	53                   	push   %ebx
56bef7:	56                   	push   %esi
56bef8:	57                   	push   %edi
56bef9:	8b 7d 08             	mov    0x8(%ebp),%edi
56befc:	8b 47 34             	mov    0x34(%edi),%eax
56beff:	8a 4f 09             	mov    0x9(%edi),%cl
56bf02:	8b 5f 38             	mov    0x38(%edi),%ebx
56bf05:	89 5d f8             	mov    %ebx,-0x8(%ebp)
56bf08:	f6 40 16 0c          	testb  $0xc,0x16(%eax)
56bf0c:	89 45 fc             	mov    %eax,-0x4(%ebp)
56bf0f:	88 4d 0b             	mov    %cl,0xb(%ebp)
56bf12:	74 1a                	je     0x56bf2e
56bf14:	8b 40 24             	mov    0x24(%eax),%eax
56bf17:	0f b6 c9             	movzbl %cl,%ecx
56bf1a:	2b c1                	sub    %ecx,%eax
56bf1c:	50                   	push   %eax
56bf1d:	6a 00                	push   $0x0
56bf1f:	8d 04 19             	lea    (%ecx,%ebx,1),%eax
56bf22:	50                   	push   %eax
56bf23:	e8 d8 7a 07 00       	call   0x5e3a00
56bf28:	8a 4d 0b             	mov    0xb(%ebp),%cl
56bf2b:	83 c4 0c             	add    $0xc,%esp
56bf2e:	0f b6 c1             	movzbl %cl,%eax
56bf31:	8d 14 18             	lea    (%eax,%ebx,1),%edx
56bf34:	8b 5d 0c             	mov    0xc(%ebp),%ebx
56bf37:	8a 45 0b             	mov    0xb(%ebp),%al
56bf3a:	8b cb                	mov    %ebx,%ecx
56bf3c:	d1 e9                	shr    $1,%ecx
56bf3e:	f7 d1                	not    %ecx
56bf40:	0f b6 c0             	movzbl %al,%eax
56bf43:	83 e1 04             	and    $0x4,%ecx
56bf46:	88 1a                	mov    %bl,(%edx)
56bf48:	83 c9 08             	or     $0x8,%ecx
56bf4b:	c7 42 01 00 00 00 00 	movl   $0x0,0x1(%edx)
56bf52:	66 03 c8             	add    %ax,%cx
56bf55:	c6 42 07 00          	movb   $0x0,0x7(%edx)
56bf59:	0f b7 f1             	movzwl %cx,%esi
56bf5c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
56bf5f:	53                   	push   %ebx
56bf60:	57                   	push   %edi
56bf61:	8b 41 24             	mov    0x24(%ecx),%eax
56bf64:	c1 e8 08             	shr    $0x8,%eax
56bf67:	88 42 05             	mov    %al,0x5(%edx)
56bf6a:	0f b6 41 24          	movzbl 0x24(%ecx),%eax
56bf6e:	88 42 06             	mov    %al,0x6(%edx)
56bf71:	0f b7 41 24          	movzwl 0x24(%ecx),%eax
56bf75:	66 2b c6             	sub    %si,%ax
56bf78:	0f b7 c0             	movzwl %ax,%eax
56bf7b:	89 47 14             	mov    %eax,0x14(%edi)
56bf7e:	e8 5d 13 f9 ff       	call   0x4fd2e0
56bf83:	8b 4d fc             	mov    -0x4(%ebp),%ecx
56bf86:	83 c4 08             	add    $0x8,%esp
56bf89:	8b 55 f8             	mov    -0x8(%ebp),%edx
56bf8c:	66 89 77 12          	mov    %si,0x12(%edi)
56bf90:	03 f2                	add    %edx,%esi
56bf92:	8b 41 24             	mov    0x24(%ecx),%eax
56bf95:	03 c2                	add    %edx,%eax
56bf97:	89 77 40             	mov    %esi,0x40(%edi)
56bf9a:	89 47 3c             	mov    %eax,0x3c(%edi)
56bf9d:	0f b6 47 0a          	movzbl 0xa(%edi),%eax
56bfa1:	03 c2                	add    %edx,%eax
56bfa3:	c6 47 0c 00          	movb   $0x0,0xc(%edi)
56bfa7:	89 47 44             	mov    %eax,0x44(%edi)
56bfaa:	0f b7 41 20          	movzwl 0x20(%ecx),%eax
56bfae:	66 48                	dec    %ax
56bfb0:	c6 07 01             	movb   $0x1,(%edi)
56bfb3:	66 89 47 1a          	mov    %ax,0x1a(%edi)
56bfb7:	33 c0                	xor    %eax,%eax
56bfb9:	66 89 47 18          	mov    %ax,0x18(%edi)
56bfbd:	5f                   	pop    %edi
56bfbe:	5e                   	pop    %esi
56bfbf:	5b                   	pop    %ebx
56bfc0:	8b e5                	mov    %ebp,%esp
56bfc2:	5d                   	pop    %ebp
56bfc3:	c3                   	ret
56bfc4:	55                   	push   %ebp
56bfc5:	8b ec                	mov    %esp,%ebp
56bfc7:	53                   	push   %ebx
56bfc8:	56                   	push   %esi
56bfc9:	8b f1                	mov    %ecx,%esi
56bfcb:	33 db                	xor    %ebx,%ebx
56bfcd:	57                   	push   %edi
56bfce:	8b 7d 08             	mov    0x8(%ebp),%edi
56bfd1:	57                   	push   %edi
56bfd2:	89 1e                	mov    %ebx,(%esi)
56bfd4:	89 5e 04             	mov    %ebx,0x4(%esi)
56bfd7:	89 5e 08             	mov    %ebx,0x8(%esi)
56bfda:	e8 c2 01 00 00       	call   0x56c1a1
56bfdf:	84 c0                	test   %al,%al
56bfe1:	74 0f                	je     0x56bff2
56bfe3:	57                   	push   %edi
56bfe4:	53                   	push   %ebx
56bfe5:	ff 36                	push   (%esi)
56bfe7:	e8 14 7a 07 00       	call   0x5e3a00
56bfec:	83 c4 0c             	add    $0xc,%esp
56bfef:	01 7e 04             	add    %edi,0x4(%esi)
56bff2:	5f                   	pop    %edi
56bff3:	8b c6                	mov    %esi,%eax
56bff5:	5e                   	pop    %esi
56bff6:	5b                   	pop    %ebx
56bff7:	5d                   	pop    %ebp
56bff8:	c2 04 00             	ret    $0x4
56bffb:	55                   	push   %ebp
56bffc:	8b ec                	mov    %esp,%ebp
56bffe:	53                   	push   %ebx
56bfff:	56                   	push   %esi
56c000:	8b 75 08             	mov    0x8(%ebp),%esi
56c003:	33 db                	xor    %ebx,%ebx
56c005:	57                   	push   %edi
56c006:	8b f9                	mov    %ecx,%edi
56c008:	56                   	push   %esi
56c009:	89 1f                	mov    %ebx,(%edi)
56c00b:	89 5f 04             	mov    %ebx,0x4(%edi)
56c00e:	89 5f 08             	mov    %ebx,0x8(%edi)
56c011:	e8 c7 01 00 00       	call   0x56c1dd
56c016:	84 c0                	test   %al,%al
56c018:	74 11                	je     0x56c02b
56c01a:	03 f6                	add    %esi,%esi
56c01c:	56                   	push   %esi
56c01d:	53                   	push   %ebx
56c01e:	ff 37                	push   (%edi)
56c020:	e8 db 79 07 00       	call   0x5e3a00
56c025:	83 c4 0c             	add    $0xc,%esp
56c028:	01 77 04             	add    %esi,0x4(%edi)
56c02b:	8b c7                	mov    %edi,%eax
56c02d:	5f                   	pop    %edi
56c02e:	5e                   	pop    %esi
56c02f:	5b                   	pop    %ebx
56c030:	5d                   	pop    %ebp
56c031:	c2 04 00             	ret    $0x4
56c034:	e9 f5 01 00 00       	jmp    0x56c22e
56c039:	e9 16 02 00 00       	jmp    0x56c254
56c03e:	6a 10                	push   $0x10
56c040:	b8 41 c4 65 00       	mov    $0x65c441,%eax
56c045:	e8 71 5f 07 00       	call   0x5e1fbb
56c04a:	33 d2                	xor    %edx,%edx