56f9cc:	c3                   	ret
56f9cd:	53                   	push   %ebx
56f9ce:	8b 5c 24 30          	mov    0x30(%esp),%ebx
56f9d2:	8b 4b 04             	mov    0x4(%ebx),%ecx
56f9d5:	85 c9                	test   %ecx,%ecx
56f9d7:	0f 8e 41 03 00 00    	jle    0x56fd1e
56f9dd:	8b 03                	mov    (%ebx),%eax
56f9df:	8b 00                	mov    (%eax),%eax
56f9e1:	89 44 24 18          	mov    %eax,0x18(%esp)
56f9e5:	a8 01                	test   $0x1,%al
56f9e7:	0f 84 31 03 00 00    	je     0x56fd1e
56f9ed:	56                   	push   %esi
56f9ee:	83 f9 01             	cmp    $0x1,%ecx
56f9f1:	75 12                	jne    0x56fa05
56f9f3:	8b 44 24 2c          	mov    0x2c(%esp),%eax
56f9f7:	33 d2                	xor    %edx,%edx
56f9f9:	f7 74 24 1c          	divl   0x1c(%esp)
56f9fd:	8b f2                	mov    %edx,%esi
56f9ff:	89 54 24 18          	mov    %edx,0x18(%esp)
56fa03:	eb 08                	jmp    0x56fa0d
56fa05:	8b 74 24 2c          	mov    0x2c(%esp),%esi
56fa09:	89 74 24 18          	mov    %esi,0x18(%esp)
56fa0d:	57                   	push   %edi
56fa0e:	e8 5d 39 f4 ff       	call   0x4b3370
56fa13:	83 c4 04             	add    $0x4,%esp
56fa16:	89 44 24 1c          	mov    %eax,0x1c(%esp)
56fa1a:	85 c0                	test   %eax,%eax
56fa1c:	75 47                	jne    0x56fa65
56fa1e:	83 7b 04 01          	cmpl   $0x1,0x4(%ebx)
56fa22:	75 29                	jne    0x56fa4d
56fa24:	8b 03                	mov    (%ebx),%eax
56fa26:	83 38 01             	cmpl   $0x1,(%eax)
56fa29:	75 22                	jne    0x56fa4d
56fa2b:	39 6b 0c             	cmp    %ebp,0xc(%ebx)
56fa2e:	75 1d                	jne    0x56fa4d
56fa30:	6a 00                	push   $0x0
56fa32:	ff 74 24 2c          	push   0x2c(%esp)
56fa36:	be 01 00 00 00       	mov    $0x1,%esi
56fa3b:	e8 b0 3a f4 ff       	call   0x4b34f0
56fa40:	83 c4 08             	add    $0x8,%esp
56fa43:	8b c6                	mov    %esi,%eax
56fa45:	5e                   	pop    %esi
56fa46:	5b                   	pop    %ebx
56fa47:	5f                   	pop    %edi
56fa48:	5d                   	pop    %ebp
56fa49:	83 c4 14             	add    $0x14,%esp
56fa4c:	c3                   	ret
56fa4d:	6a 01                	push   $0x1
56fa4f:	ff 74 24 2c          	push   0x2c(%esp)
56fa53:	e8 98 3a f4 ff       	call   0x4b34f0
56fa58:	83 c4 08             	add    $0x8,%esp
56fa5b:	8b f0                	mov    %eax,%esi
56fa5d:	5e                   	pop    %esi
56fa5e:	5b                   	pop    %ebx
56fa5f:	5f                   	pop    %edi
56fa60:	5d                   	pop    %ebp
56fa61:	83 c4 14             	add    $0x14,%esp
56fa64:	c3                   	ret
56fa65:	85 f6                	test   %esi,%esi
56fa67:	75 18                	jne    0x56fa81
56fa69:	56                   	push   %esi
56fa6a:	ff 74 24 2c          	push   0x2c(%esp)
56fa6e:	e8 7d 3a f4 ff       	call   0x4b34f0
56fa73:	83 c4 08             	add    $0x8,%esp
56fa76:	8d 46 01             	lea    0x1(%esi),%eax
56fa79:	5e                   	pop    %esi
56fa7a:	5b                   	pop    %ebx
56fa7b:	5f                   	pop    %edi
56fa7c:	5d                   	pop    %ebp
56fa7d:	83 c4 14             	add    $0x14,%esp
56fa80:	c3                   	ret
56fa81:	8b 5c 24 38          	mov    0x38(%esp),%ebx
56fa85:	53                   	push   %ebx
56fa86:	e8 15 84 f6 ff       	call   0x4d7ea0
56fa8b:	53                   	push   %ebx
56fa8c:	e8 2f 83 f6 ff       	call   0x4d7dc0
56fa91:	53                   	push   %ebx
56fa92:	8b f0                	mov    %eax,%esi
56fa94:	e8 27 83 f6 ff       	call   0x4d7dc0
56fa99:	53                   	push   %ebx
56fa9a:	8b f8                	mov    %eax,%edi
56fa9c:	e8 1f 83 f6 ff       	call   0x4d7dc0
56faa1:	83 c4 10             	add    $0x10,%esp
56faa4:	89 44 24 14          	mov    %eax,0x14(%esp)
56faa8:	85 f6                	test   %esi,%esi
56faaa:	0f 84 45 02 00 00    	je     0x56fcf5
56fab0:	85 ff                	test   %edi,%edi
56fab2:	0f 84 3d 02 00 00    	je     0x56fcf5
56fab8:	85 c0                	test   %eax,%eax
56faba:	0f 84 35 02 00 00    	je     0x56fcf5
56fac0:	8b 44 24 3c          	mov    0x3c(%esp),%eax
56fac4:	85 c0                	test   %eax,%eax
56fac6:	74 04                	je     0x56facc
56fac8:	8b e8                	mov    %eax,%ebp
56faca:	eb 25                	jmp    0x56faf1
56facc:	e8 af 0e 00 00       	call   0x570980
56fad1:	8b e8                	mov    %eax,%ebp
56fad3:	85 ed                	test   %ebp,%ebp
56fad5:	0f 84 2e 02 00 00    	je     0x56fd09
56fadb:	53                   	push   %ebx
56fadc:	ff 74 24 38          	push   0x38(%esp)
56fae0:	55                   	push   %ebp
56fae1:	e8 fa 0e 00 00       	call   0x5709e0
56fae6:	83 c4 0c             	add    $0xc,%esp
56fae9:	85 c0                	test   %eax,%eax
56faeb:	0f 84 0b 02 00 00    	je     0x56fcfc
56faf1:	83 44 24 1c fe       	addl   $0xfffffffe,0x1c(%esp)
56faf6:	b9 01 00 00 00       	mov    $0x1,%ecx
56fafb:	8b 74 24 18          	mov    0x18(%esp),%esi
56faff:	89 4c 24 10          	mov    %ecx,0x10(%esp)
56fb03:	0f 88 65 01 00 00    	js     0x56fc6e
56fb09:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
56fb10:	8b de                	mov    %esi,%ebx
56fb12:	33 d2                	xor    %edx,%edx
56fb14:	0f af de             	imul   %esi,%ebx
56fb17:	8b c3                	mov    %ebx,%eax
56fb19:	f7 f6                	div    %esi
56fb1b:	3b c6                	cmp    %esi,%eax
56fb1d:	74 7a                	je     0x56fb99
56fb1f:	56                   	push   %esi
56fb20:	57                   	push   %edi
56fb21:	85 c9                	test   %ecx,%ecx
56fb23:	74 34                	je     0x56fb59
56fb25:	e8 c6 39 f4 ff       	call   0x4b34f0
56fb2a:	8b 5c 24 40          	mov    0x40(%esp),%ebx
56fb2e:	83 c4 08             	add    $0x8,%esp
56fb31:	85 c0                	test   %eax,%eax
56fb33:	0f 84 bc 01 00 00    	je     0x56fcf5
56fb39:	53                   	push   %ebx
56fb3a:	55                   	push   %ebp
56fb3b:	8d 45 04             	lea    0x4(%ebp),%eax
56fb3e:	50                   	push   %eax
56fb3f:	57                   	push   %edi
56fb40:	57                   	push   %edi
56fb41:	e8 da 13 00 00       	call   0x570f20
56fb46:	83 c4 14             	add    $0x14,%esp
56fb49:	85 c0                	test   %eax,%eax
56fb4b:	0f 84 a4 01 00 00    	je     0x56fcf5
56fb51:	33 c9                	xor    %ecx,%ecx
56fb53:	89 4c 24 10          	mov    %ecx,0x10(%esp)
56fb57:	eb 3b                	jmp    0x56fb94
56fb59:	e8 62 3e f4 ff       	call   0x4b39c0
56fb5e:	8b 5c 24 40          	mov    0x40(%esp),%ebx
56fb62:	83 c4 08             	add    $0x8,%esp
56fb65:	85 c0                	test   %eax,%eax
56fb67:	0f 84 88 01 00 00    	je     0x56fcf5
56fb6d:	8b 74 24 14          	mov    0x14(%esp),%esi
56fb71:	53                   	push   %ebx
56fb72:	ff 74 24 38          	push   0x38(%esp)
56fb76:	57                   	push   %edi
56fb77:	56                   	push   %esi
56fb78:	6a 00                	push   $0x0
56fb7a:	e8 21 08 00 00       	call   0x5703a0
56fb7f:	83 c4 14             	add    $0x14,%esp
56fb82:	85 c0                	test   %eax,%eax
56fb84:	0f 84 6b 01 00 00    	je     0x56fcf5
56fb8a:	8b 4c 24 10          	mov    0x10(%esp),%ecx
56fb8e:	89 7c 24 14          	mov    %edi,0x14(%esp)
56fb92:	8b fe                	mov    %esi,%edi
56fb94:	bb 01 00 00 00       	mov    $0x1,%ebx
56fb99:	8b f3                	mov    %ebx,%esi
56fb9b:	85 c9                	test   %ecx,%ecx
56fb9d:	75 18                	jne    0x56fbb7
56fb9f:	ff 74 24 38          	push   0x38(%esp)
56fba3:	55                   	push   %ebp
56fba4:	57                   	push   %edi
56fba5:	57                   	push   %edi
56fba6:	57                   	push   %edi
56fba7:	e8 74 13 00 00       	call   0x570f20
56fbac:	83 c4 14             	add    $0x14,%esp
56fbaf:	85 c0                	test   %eax,%eax
56fbb1:	0f 84 3a 01 00 00    	je     0x56fcf1
56fbb7:	ff 74 24 1c          	push   0x1c(%esp)
56fbbb:	ff 74 24 34          	push   0x34(%esp)
56fbbf:	e8 7c 36 f4 ff       	call   0x4b3240
56fbc4:	83 c4 08             	add    $0x8,%esp
56fbc7:	85 c0                	test   %eax,%eax
56fbc9:	0f 84 8c 00 00 00    	je     0x56fc5b
56fbcf:	0f af 5c 24 18       	imul   0x18(%esp),%ebx
56fbd4:	33 d2                	xor    %edx,%edx
56fbd6:	8b c3                	mov    %ebx,%eax
56fbd8:	f7 74 24 18          	divl   0x18(%esp)
56fbdc:	3b c6                	cmp    %esi,%eax
56fbde:	74 79                	je     0x56fc59
56fbe0:	8b 44 24 10          	mov    0x10(%esp),%eax
56fbe4:	56                   	push   %esi
56fbe5:	57                   	push   %edi
56fbe6:	85 c0                	test   %eax,%eax
56fbe8:	74 34                	je     0x56fc1e
56fbea:	e8 01 39 f4 ff       	call   0x4b34f0
56fbef:	8b 5c 24 40          	mov    0x40(%esp),%ebx
56fbf3:	83 c4 08             	add    $0x8,%esp
56fbf6:	85 c0                	test   %eax,%eax
56fbf8:	0f 84 f7 00 00 00    	je     0x56fcf5
56fbfe:	53                   	push   %ebx
56fbff:	55                   	push   %ebp
56fc00:	8d 45 04             	lea    0x4(%ebp),%eax
56fc03:	50                   	push   %eax
56fc04:	57                   	push   %edi
56fc05:	57                   	push   %edi
56fc06:	e8 15 13 00 00       	call   0x570f20
56fc0b:	83 c4 14             	add    $0x14,%esp
56fc0e:	85 c0                	test   %eax,%eax
56fc10:	0f 84 df 00 00 00    	je     0x56fcf5
56fc16:	33 c0                	xor    %eax,%eax
56fc18:	89 44 24 10          	mov    %eax,0x10(%esp)
56fc1c:	eb 37                	jmp    0x56fc55
56fc1e:	e8 9d 3d f4 ff       	call   0x4b39c0
56fc23:	8b 5c 24 40          	mov    0x40(%esp),%ebx
56fc27:	83 c4 08             	add    $0x8,%esp
56fc2a:	85 c0                	test   %eax,%eax
56fc2c:	0f 84 c3 00 00 00    	je     0x56fcf5
56fc32:	8b 74 24 14          	mov    0x14(%esp),%esi
56fc36:	53                   	push   %ebx
56fc37:	ff 74 24 38          	push   0x38(%esp)
56fc3b:	57                   	push   %edi
56fc3c:	56                   	push   %esi
56fc3d:	6a 00                	push   $0x0
56fc3f:	e8 5c 07 00 00       	call   0x5703a0
56fc44:	83 c4 14             	add    $0x14,%esp
56fc47:	85 c0                	test   %eax,%eax
56fc49:	0f 84 a6 00 00 00    	je     0x56fcf5
56fc4f:	89 7c 24 14          	mov    %edi,0x14(%esp)
56fc53:	8b fe                	mov    %esi,%edi
56fc55:	8b 5c 24 18          	mov    0x18(%esp),%ebx
56fc59:	8b f3                	mov    %ebx,%esi
56fc5b:	83 6c 24 1c 01       	subl   $0x1,0x1c(%esp)
56fc60:	8b 4c 24 10          	mov    0x10(%esp),%ecx
56fc64:	0f 89 a6 fe ff ff    	jns    0x56fb10
56fc6a:	8b 5c 24 38          	mov    0x38(%esp),%ebx
56fc6e:	83 fe 01             	cmp    $0x1,%esi
56fc71:	74 6a                	je     0x56fcdd
56fc73:	56                   	push   %esi
56fc74:	57                   	push   %edi
56fc75:	85 c9                	test   %ecx,%ecx
56fc77:	74 3d                	je     0x56fcb6
56fc79:	e8 72 38 f4 ff       	call   0x4b34f0
56fc7e:	83 c4 08             	add    $0x8,%esp
56fc81:	85 c0                	test   %eax,%eax
56fc83:	74 70                	je     0x56fcf5
56fc85:	53                   	push   %ebx
56fc86:	55                   	push   %ebp
56fc87:	8d 45 04             	lea    0x4(%ebp),%eax
56fc8a:	50                   	push   %eax
56fc8b:	57                   	push   %edi
56fc8c:	57                   	push   %edi
56fc8d:	e8 8e 12 00 00       	call   0x570f20
56fc92:	83 c4 14             	add    $0x14,%esp
56fc95:	85 c0                	test   %eax,%eax
56fc97:	74 5c                	je     0x56fcf5
56fc99:	53                   	push   %ebx
56fc9a:	55                   	push   %ebp
56fc9b:	57                   	push   %edi
56fc9c:	ff 74 24 34          	push   0x34(%esp)
56fca0:	e8 7b 0f 00 00       	call   0x570c20
56fca5:	83 c4 10             	add    $0x10,%esp
56fca8:	85 c0                	test   %eax,%eax
56fcaa:	74 49                	je     0x56fcf5
56fcac:	c7 44 24 20 01 00 00 	movl   $0x1,0x20(%esp)
56fcb3:	00
56fcb4:	eb 3f                	jmp    0x56fcf5
56fcb6:	e8 05 3d f4 ff       	call   0x4b39c0
56fcbb:	83 c4 08             	add    $0x8,%esp
56fcbe:	85 c0                	test   %eax,%eax
56fcc0:	74 33                	je     0x56fcf5
56fcc2:	53                   	push   %ebx
56fcc3:	ff 74 24 38          	push   0x38(%esp)
56fcc7:	57                   	push   %edi
56fcc8:	8b 7c 24 20          	mov    0x20(%esp),%edi
56fccc:	57                   	push   %edi
56fccd:	6a 00                	push   $0x0
56fccf:	e8 cc 06 00 00       	call   0x5703a0
56fcd4:	83 c4 14             	add    $0x14,%esp
56fcd7:	85 c0                	test   %eax,%eax
56fcd9:	74 1a                	je     0x56fcf5
56fcdb:	eb bc                	jmp    0x56fc99
56fcdd:	85 c9                	test   %ecx,%ecx
56fcdf:	74 b8                	je     0x56fc99
56fce1:	6a 01                	push   $0x1
56fce3:	ff 74 24 2c          	push   0x2c(%esp)
56fce7:	e8 04 38 f4 ff       	call   0x4b34f0
56fcec:	83 c4 08             	add    $0x8,%esp
56fcef:	eb b7                	jmp    0x56fca8
56fcf1:	8b 5c 24 38          	mov    0x38(%esp),%ebx
56fcf5:	83 7c 24 3c 00       	cmpl   $0x0,0x3c(%esp)
56fcfa:	75 0d                	jne    0x56fd09
56fcfc:	85 ed                	test   %ebp,%ebp
56fcfe:	74 09                	je     0x56fd09
56fd00:	55                   	push   %ebp
56fd01:	e8 3a 0c 00 00       	call   0x570940
56fd06:	83 c4 04             	add    $0x4,%esp
56fd09:	53                   	push   %ebx
56fd0a:	e8 41 80 f6 ff       	call   0x4d7d50
56fd0f:	8b 44 24 24          	mov    0x24(%esp),%eax
56fd13:	83 c4 04             	add    $0x4,%esp
56fd16:	5e                   	pop    %esi
56fd17:	5b                   	pop    %ebx
56fd18:	5f                   	pop    %edi
56fd19:	5d                   	pop    %ebp
56fd1a:	83 c4 14             	add    $0x14,%esp
56fd1d:	c3                   	ret
56fd1e:	68 ce 04 00 00       	push   $0x4ce
56fd23:	68 88 c9 6b 00       	push   $0x6bc988
56fd28:	6a 66                	push   $0x66
56fd2a:	6a 75                	push   $0x75
56fd2c:	6a 03                	push   $0x3
56fd2e:	e8 6d 17 f3 ff       	call   0x4a14a0
56fd33:	83 c4 14             	add    $0x14,%esp
56fd36:	33 c0                	xor    %eax,%eax
56fd38:	5b                   	pop    %ebx
56fd39:	5f                   	pop    %edi
56fd3a:	5d                   	pop    %ebp
56fd3b:	83 c4 14             	add    $0x14,%esp
56fd3e:	c3                   	ret
56fd3f:	cc                   	int3
56fd40:	b8 d8 00 00 00       	mov    $0xd8,%eax
56fd45:	e8 a6 17 07 00       	call   0x5e14f0
56fd4a:	a1 d4 89 72 00       	mov    0x7289d4,%eax
56fd4f:	33 c4                	xor    %esp,%eax
56fd51:	89 84 24 d4 00 00 00 	mov    %eax,0xd4(%esp)
56fd58:	8b 84 24 e0 00 00 00 	mov    0xe0(%esp),%eax
56fd5f:	53                   	push   %ebx
56fd60:	8b 9c 24 e0 00 00 00 	mov    0xe0(%esp),%ebx
56fd67:	89 44 24 14          	mov    %eax,0x14(%esp)
56fd6b:	8b 84 24 e8 00 00 00 	mov    0xe8(%esp),%eax
56fd72:	55                   	push   %ebp
56fd73:	8b ac 24 f4 00 00 00 	mov    0xf4(%esp),%ebp
56fd7a:	56                   	push   %esi
56fd7b:	f6 40 10 04          	testb  $0x4,0x10(%eax)
56fd7f:	8b b4 24 f4 00 00 00 	mov    0xf4(%esp),%esi
56fd86:	89 5c 24 28          	mov    %ebx,0x28(%esp)
56fd8a:	89 44 24 24          	mov    %eax,0x24(%esp)
56fd8e:	89 6c 24 18          	mov    %ebp,0x18(%esp)
56fd92:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%esp)
56fd99:	00
56fd9a:	74 33                	je     0x56fdcf
56fd9c:	68 1a 01 00 00       	push   $0x11a
56fda1:	68 88 c9 6b 00       	push   $0x6bc988
56fda6:	6a 42                	push   $0x42
56fda8:	6a 7d                	push   $0x7d
56fdaa:	6a 03                	push   $0x3
56fdac:	e8 ef 16 f3 ff       	call   0x4a14a0
56fdb1:	83 c4 14             	add    $0x14,%esp
56fdb4:	83 c8 ff             	or     $0xffffffff,%eax
56fdb7:	5e                   	pop    %esi
56fdb8:	5d                   	pop    %ebp
56fdb9:	5b                   	pop    %ebx
56fdba:	8b 8c 24 d4 00 00 00 	mov    0xd4(%esp),%ecx
56fdc1:	33 cc                	xor    %esp,%ecx
56fdc3:	e8 12 17 07 00       	call   0x5e14da