58f5bd:	00
58f5be:	8b 5c 24 10          	mov    0x10(%esp),%ebx
58f5c2:	8b 74 24 18          	mov    0x18(%esp),%esi
58f5c6:	8b 7c 24 14          	mov    0x14(%esp),%edi
58f5ca:	e9 09 fc ff ff       	jmp    0x58f1d8
58f5cf:	68 bc 01 00 00       	push   $0x1bc
58f5d4:	68 58 70 6c 00       	push   $0x6c7058
58f5d9:	6a 41                	push   $0x41
58f5db:	68 bb 00 00 00       	push   $0xbb
58f5e0:	6a 10                	push   $0x10
58f5e2:	e8 b9 1e f1 ff       	call   0x4a14a0
58f5e7:	83 c4 14             	add    $0x14,%esp
58f5ea:	e9 e5 fb ff ff       	jmp    0x58f1d4
58f5ef:	8b 5c 24 10          	mov    0x10(%esp),%ebx
58f5f3:	8b 7c 24 14          	mov    0x14(%esp),%edi
58f5f7:	e9 dc fb ff ff       	jmp    0x58f1d8
58f5fc:	8b 7c 24 14          	mov    0x14(%esp),%edi
58f600:	33 f6                	xor    %esi,%esi
58f602:	8b 5c 24 10          	mov    0x10(%esp),%ebx
58f606:	e9 cd fb ff ff       	jmp    0x58f1d8
58f60b:	8b 74 24 18          	mov    0x18(%esp),%esi
58f60f:	8b 7c 24 14          	mov    0x14(%esp),%edi
58f613:	8b 5c 24 10          	mov    0x10(%esp),%ebx
58f617:	e9 bc fb ff ff       	jmp    0x58f1d8
58f61c:	cc                   	int3
58f61d:	cc                   	int3
58f61e:	cc                   	int3
58f61f:	cc                   	int3
58f620:	b8 2c 00 00 00       	mov    $0x2c,%eax
58f625:	e8 c6 1e 05 00       	call   0x5e14f0
58f62a:	53                   	push   %ebx
58f62b:	8b 5c 24 34          	mov    0x34(%esp),%ebx
58f62f:	56                   	push   %esi
58f630:	57                   	push   %edi
58f631:	68 70 ea 58 00       	push   $0x58ea70
58f636:	68 10 eb 58 00       	push   $0x58eb10
58f63b:	8d 43 44             	lea    0x44(%ebx),%eax
58f63e:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%esp)
58f645:	00
58f646:	33 f6                	xor    %esi,%esi
58f648:	33 ff                	xor    %edi,%edi
58f64a:	68 e0 ea 58 00       	push   $0x58eae0
58f64f:	50                   	push   %eax
58f650:	89 7c 24 3c          	mov    %edi,0x3c(%esp)
58f654:	89 74 24 1c          	mov    %esi,0x1c(%esp)
58f658:	89 74 24 40          	mov    %esi,0x40(%esp)
58f65c:	e8 7f bb fe ff       	call   0x57b1e0
58f661:	53                   	push   %ebx
58f662:	e8 09 f5 ff ff       	call   0x58eb70
58f667:	83 c4 14             	add    $0x14,%esp
58f66a:	89 44 24 3c          	mov    %eax,0x3c(%esp)
58f66e:	85 c0                	test   %eax,%eax
58f670:	75 07                	jne    0x58f679
58f672:	5f                   	pop    %edi
58f673:	5e                   	pop    %esi
58f674:	5b                   	pop    %ebx
58f675:	83 c4 2c             	add    $0x2c,%esp
58f678:	c3                   	ret
58f679:	55                   	push   %ebp
58f67a:	53                   	push   %ebx
58f67b:	e8 60 1e f0 ff       	call   0x4914e0
58f680:	83 c4 04             	add    $0x4,%esp
58f683:	89 44 24 38          	mov    %eax,0x38(%esp)
58f687:	85 c0                	test   %eax,%eax
58f689:	75 21                	jne    0x58f6ac
58f68b:	68 fd 02 00 00       	push   $0x2fd
58f690:	68 58 70 6c 00       	push   $0x6c7058
58f695:	6a 71                	push   $0x71
58f697:	68 bc 00 00 00       	push   $0xbc
58f69c:	6a 10                	push   $0x10
58f69e:	e8 fd 1d f1 ff       	call   0x4a14a0
58f6a3:	8b 6c 24 58          	mov    0x58(%esp),%ebp
58f6a7:	83 c4 14             	add    $0x14,%esp
58f6aa:	eb 61                	jmp    0x58f70d
58f6ac:	8b 6c 24 44          	mov    0x44(%esp),%ebp
58f6b0:	85 ed                	test   %ebp,%ebp
58f6b2:	75 13                	jne    0x58f6c7
58f6b4:	e8 67 87 f4 ff       	call   0x4d7e20
58f6b9:	89 44 24 30          	mov    %eax,0x30(%esp)
58f6bd:	8b e8                	mov    %eax,%ebp
58f6bf:	85 c0                	test   %eax,%eax
58f6c1:	0f 84 47 03 00 00    	je     0x58fa0e
58f6c7:	55                   	push   %ebp
58f6c8:	e8 d3 87 f4 ff       	call   0x4d7ea0
58f6cd:	55                   	push   %ebp
58f6ce:	e8 ed 86 f4 ff       	call   0x4d7dc0
58f6d3:	8b f0                	mov    %eax,%esi
58f6d5:	83 c4 08             	add    $0x8,%esp
58f6d8:	85 f6                	test   %esi,%esi
58f6da:	74 2f                	je     0x58f70b
58f6dc:	55                   	push   %ebp
58f6dd:	56                   	push   %esi
58f6de:	53                   	push   %ebx
58f6df:	e8 5c c3 fe ff       	call   0x57ba40
58f6e4:	83 c4 0c             	add    $0xc,%esp
58f6e7:	85 c0                	test   %eax,%eax
58f6e9:	74 20                	je     0x58f70b
58f6eb:	39 7e 04             	cmp    %edi,0x4(%esi)
58f6ee:	75 48                	jne    0x58f738
58f6f0:	68 0f 03 00 00       	push   $0x30f
58f6f5:	68 58 70 6c 00       	push   $0x6c7058
58f6fa:	6a 72                	push   $0x72
58f6fc:	68 bc 00 00 00       	push   $0xbc
58f701:	6a 10                	push   $0x10
58f703:	e8 98 1d f1 ff       	call   0x4a14a0
58f708:	83 c4 14             	add    $0x14,%esp
58f70b:	33 f6                	xor    %esi,%esi
58f70d:	8b 5c 24 40          	mov    0x40(%esp),%ebx
58f711:	85 ed                	test   %ebp,%ebp
58f713:	74 09                	je     0x58f71e
58f715:	55                   	push   %ebp
58f716:	e8 35 86 f4 ff       	call   0x4d7d50
58f71b:	83 c4 04             	add    $0x4,%esp
58f71e:	8b 44 24 30          	mov    0x30(%esp),%eax
58f722:	85 c0                	test   %eax,%eax
58f724:	0f 84 e8 02 00 00    	je     0x58fa12
58f72a:	50                   	push   %eax
58f72b:	e8 60 86 f4 ff       	call   0x4d7d90
58f730:	83 c4 04             	add    $0x4,%esp
58f733:	e9 da 02 00 00       	jmp    0x58fa12
58f738:	56                   	push   %esi
58f739:	e8 32 3c f2 ff       	call   0x4b3370
58f73e:	8b c8                	mov    %eax,%ecx
58f740:	83 c4 04             	add    $0x4,%esp
58f743:	be 04 00 00 00       	mov    $0x4,%esi
58f748:	89 74 24 14          	mov    %esi,0x14(%esp)
58f74c:	81 f9 d0 07 00 00    	cmp    $0x7d0,%ecx
58f752:	73 4e                	jae    0x58f7a2
58f754:	81 f9 20 03 00 00    	cmp    $0x320,%ecx
58f75a:	73 21                	jae    0x58f77d
58f75c:	81 f9 2c 01 00 00    	cmp    $0x12c,%ecx
58f762:	73 47                	jae    0x58f7ab
58f764:	83 f9 46             	cmp    $0x46,%ecx
58f767:	73 42                	jae    0x58f7ab
58f769:	83 f9 14             	cmp    $0x14,%ecx
58f76c:	1b c0                	sbb    %eax,%eax
58f76e:	83 c0 02             	add    $0x2,%eax
58f771:	3b c6                	cmp    %esi,%eax
58f773:	76 36                	jbe    0x58f7ab
58f775:	81 f9 20 03 00 00    	cmp    $0x320,%ecx
58f77b:	72 07                	jb     0x58f784
58f77d:	be 05 00 00 00       	mov    $0x5,%esi
58f782:	eb 23                	jmp    0x58f7a7
58f784:	81 f9 2c 01 00 00    	cmp    $0x12c,%ecx
58f78a:	73 1b                	jae    0x58f7a7
58f78c:	83 f9 46             	cmp    $0x46,%ecx
58f78f:	72 07                	jb     0x58f798
58f791:	be 03 00 00 00       	mov    $0x3,%esi
58f796:	eb 0f                	jmp    0x58f7a7
58f798:	83 f9 14             	cmp    $0x14,%ecx
58f79b:	1b f6                	sbb    %esi,%esi
58f79d:	83 c6 02             	add    $0x2,%esi
58f7a0:	eb 05                	jmp    0x58f7a7
58f7a2:	be 06 00 00 00       	mov    $0x6,%esi
58f7a7:	89 74 24 14          	mov    %esi,0x14(%esp)
58f7ab:	8d 51 07             	lea    0x7(%ecx),%edx
58f7ae:	b8 01 00 00 00       	mov    $0x1,%eax
58f7b3:	8d 4e ff             	lea    -0x1(%esi),%ecx
58f7b6:	c1 ea 03             	shr    $0x3,%edx
58f7b9:	d3 e0                	shl    %cl,%eax
58f7bb:	89 44 24 2c          	mov    %eax,0x2c(%esp)
58f7bf:	0f af c2             	imul   %edx,%eax
58f7c2:	68 29 03 00 00       	push   $0x329
58f7c7:	68 58 70 6c 00       	push   $0x6c7058
58f7cc:	89 54 24 28          	mov    %edx,0x28(%esp)
58f7d0:	89 44 24 2c          	mov    %eax,0x2c(%esp)
58f7d4:	8d 04 85 04 00 00 00 	lea    0x4(,%eax,4),%eax
58f7db:	50                   	push   %eax
58f7dc:	e8 cf 09 f1 ff       	call   0x4a01b0
58f7e1:	8b f0                	mov    %eax,%esi
58f7e3:	83 c4 0c             	add    $0xc,%esp
58f7e6:	89 74 24 10          	mov    %esi,0x10(%esp)
58f7ea:	85 f6                	test   %esi,%esi
58f7ec:	75 20                	jne    0x58f80e
58f7ee:	68 2b 03 00 00       	push   $0x32b
58f7f3:	68 58 70 6c 00       	push   $0x6c7058
58f7f8:	6a 41                	push   $0x41
58f7fa:	68 bc 00 00 00       	push   $0xbc
58f7ff:	6a 10                	push   $0x10
58f801:	e8 9a 1c f1 ff       	call   0x4a14a0
58f806:	83 c4 14             	add    $0x14,%esp
58f809:	e9 ff fe ff ff       	jmp    0x58f70d
58f80e:	8b 4c 24 24          	mov    0x24(%esp),%ecx
58f812:	8b 44 24 10          	mov    0x10(%esp),%eax
58f816:	89 7c 24 28          	mov    %edi,0x28(%esp)
58f81a:	89 3c 88             	mov    %edi,(%eax,%ecx,4)
58f81d:	85 c9                	test   %ecx,%ecx
58f81f:	74 27                	je     0x58f848
58f821:	53                   	push   %ebx
58f822:	e8 c9 ca fe ff       	call   0x57c2f0
58f827:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
58f82b:	83 c4 04             	add    $0x4,%esp
58f82e:	8b 54 24 10          	mov    0x10(%esp),%edx
58f832:	89 04 8a             	mov    %eax,(%edx,%ecx,4)
58f835:	85 c0                	test   %eax,%eax
58f837:	0f 84 99 01 00 00    	je     0x58f9d6
58f83d:	41                   	inc    %ecx
58f83e:	89 4c 24 28          	mov    %ecx,0x28(%esp)
58f842:	3b 4c 24 24          	cmp    0x24(%esp),%ecx
58f846:	72 d9                	jb     0x58f821
58f848:	53                   	push   %ebx
58f849:	e8 a2 ca fe ff       	call   0x57c2f0
58f84e:	83 c4 04             	add    $0x4,%esp
58f851:	89 44 24 1c          	mov    %eax,0x1c(%esp)
58f855:	85 c0                	test   %eax,%eax
58f857:	0f 84 9d 01 00 00    	je     0x58f9fa
58f85d:	53                   	push   %ebx
58f85e:	e8 8d ca fe ff       	call   0x57c2f0
58f863:	8b f8                	mov    %eax,%edi
58f865:	83 c4 04             	add    $0x4,%esp
58f868:	89 7c 24 18          	mov    %edi,0x18(%esp)
58f86c:	85 ff                	test   %edi,%edi
58f86e:	0f 84 86 01 00 00    	je     0x58f9fa
58f874:	ff 74 24 38          	push   0x38(%esp)
58f878:	57                   	push   %edi
58f879:	e8 32 c6 fe ff       	call   0x57beb0
58f87e:	83 c4 08             	add    $0x8,%esp
58f881:	85 c0                	test   %eax,%eax
58f883:	0f 84 68 01 00 00    	je     0x58f9f1
58f889:	83 7c 24 20 00       	cmpl   $0x0,0x20(%esp)
58f88e:	c7 44 24 28 00 00 00 	movl   $0x0,0x28(%esp)
58f895:	00
58f896:	0f 86 c1 00 00 00    	jbe    0x58f95d
58f89c:	0f 1f 40 00          	nopl   0x0(%eax)
58f8a0:	55                   	push   %ebp
58f8a1:	57                   	push   %edi
58f8a2:	ff 74 24 24          	push   0x24(%esp)
58f8a6:	53                   	push   %ebx
58f8a7:	e8 74 c6 fe ff       	call   0x57bf20
58f8ac:	83 c4 10             	add    $0x10,%esp
58f8af:	85 c0                	test   %eax,%eax
58f8b1:	0f 84 3a 01 00 00    	je     0x58f9f1
58f8b7:	57                   	push   %edi
58f8b8:	ff 36                	push   (%esi)
58f8ba:	e8 f1 c5 fe ff       	call   0x57beb0
58f8bf:	83 c4 08             	add    $0x8,%esp
58f8c2:	83 c6 04             	add    $0x4,%esi
58f8c5:	85 c0                	test   %eax,%eax
58f8c7:	0f 84 24 01 00 00    	je     0x58f9f1
58f8cd:	bf 01 00 00 00       	mov    $0x1,%edi
58f8d2:	39 7c 24 2c          	cmp    %edi,0x2c(%esp)
58f8d6:	76 25                	jbe    0x58f8fd
58f8d8:	55                   	push   %ebp
58f8d9:	ff 76 fc             	push   -0x4(%esi)
58f8dc:	ff 74 24 24          	push   0x24(%esp)
58f8e0:	ff 36                	push   (%esi)
58f8e2:	53                   	push   %ebx
58f8e3:	e8 98 c4 fe ff       	call   0x57bd80
58f8e8:	83 c4 14             	add    $0x14,%esp
58f8eb:	85 c0                	test   %eax,%eax
58f8ed:	0f 84 0e 01 00 00    	je     0x58fa01
58f8f3:	47                   	inc    %edi
58f8f4:	83 c6 04             	add    $0x4,%esi
58f8f7:	3b 7c 24 2c          	cmp    0x2c(%esp),%edi
58f8fb:	72 db                	jb     0x58f8d8
58f8fd:	8b 44 24 20          	mov    0x20(%esp),%eax
58f901:	48                   	dec    %eax
58f902:	39 44 24 28          	cmp    %eax,0x28(%esp)
58f906:	73 3e                	jae    0x58f946
58f908:	8b 7c 24 18          	mov    0x18(%esp),%edi
58f90c:	55                   	push   %ebp
58f90d:	ff 74 24 20          	push   0x20(%esp)
58f911:	57                   	push   %edi
58f912:	53                   	push   %ebx
58f913:	e8 08 c6 fe ff       	call   0x57bf20
58f918:	83 c4 10             	add    $0x10,%esp
58f91b:	85 c0                	test   %eax,%eax
58f91d:	0f 84 ce 00 00 00    	je     0x58f9f1
58f923:	bf 02 00 00 00       	mov    $0x2,%edi
58f928:	8b 44 24 18          	mov    0x18(%esp),%eax
58f92c:	55                   	push   %ebp
58f92d:	50                   	push   %eax
58f92e:	50                   	push   %eax
58f92f:	53                   	push   %ebx
58f930:	e8 eb c5 fe ff       	call   0x57bf20
58f935:	83 c4 10             	add    $0x10,%esp
58f938:	85 c0                	test   %eax,%eax
58f93a:	0f 84 c1 00 00 00    	je     0x58fa01
58f940:	47                   	inc    %edi
58f941:	83 ff 08             	cmp    $0x8,%edi
58f944:	72 e2                	jb     0x58f928
58f946:	8b 44 24 28          	mov    0x28(%esp),%eax
58f94a:	8b 7c 24 18          	mov    0x18(%esp),%edi
58f94e:	40                   	inc    %eax
58f94f:	89 44 24 28          	mov    %eax,0x28(%esp)
58f953:	3b 44 24 20          	cmp    0x20(%esp),%eax
58f957:	0f 82 43 ff ff ff    	jb     0x58f8a0
58f95d:	8b 74 24 10          	mov    0x10(%esp),%esi
58f961:	55                   	push   %ebp
58f962:	56                   	push   %esi
58f963:	ff 74 24 2c          	push   0x2c(%esp)
58f967:	53                   	push   %ebx
58f968:	e8 e3 cb fe ff       	call   0x57c550
58f96d:	83 c4 10             	add    $0x10,%esp
58f970:	85 c0                	test   %eax,%eax
58f972:	0f 84 95 fd ff ff    	je     0x58f70d
58f978:	8b 44 24 40          	mov    0x40(%esp),%eax
58f97c:	8b 4c 24 20          	mov    0x20(%esp),%ecx
58f980:	68 70 ea 58 00       	push   $0x58ea70
58f985:	68 10 eb 58 00       	push   $0x58eb10
58f98a:	89 48 08             	mov    %ecx,0x8(%eax)
58f98d:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
58f991:	89 48 0c             	mov    %ecx,0xc(%eax)
58f994:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
58f998:	68 e0 ea 58 00       	push   $0x58eae0
58f99d:	89 70 10             	mov    %esi,0x10(%eax)
58f9a0:	33 f6                	xor    %esi,%esi
58f9a2:	50                   	push   %eax
58f9a3:	89 18                	mov    %ebx,(%eax)
58f9a5:	c7 40 04 08 00 00 00 	movl   $0x8,0x4(%eax)
58f9ac:	89 48 14             	mov    %ecx,0x14(%eax)
58f9af:	8d 43 44             	lea    0x44(%ebx),%eax
58f9b2:	50                   	push   %eax
58f9b3:	89 74 24 24          	mov    %esi,0x24(%esp)
58f9b7:	e8 c4 b8 fe ff       	call   0x57b280
58f9bc:	83 c4 14             	add    $0x14,%esp
58f9bf:	85 c0                	test   %eax,%eax
58f9c1:	0f 84 46 fd ff ff    	je     0x58f70d
58f9c7:	33 db                	xor    %ebx,%ebx
58f9c9:	c7 44 24 34 01 00 00 	movl   $0x1,0x34(%esp)
58f9d0:	00
58f9d1:	e9 3b fd ff ff       	jmp    0x58f711
58f9d6:	68 33 03 00 00       	push   $0x333
58f9db:	68 58 70 6c 00       	push   $0x6c7058
58f9e0:	6a 41                	push   $0x41
58f9e2:	68 bc 00 00 00       	push   $0xbc
58f9e7:	6a 10                	push   $0x10
58f9e9:	e8 b2 1a f1 ff       	call   0x4a14a0
58f9ee:	83 c4 14             	add    $0x14,%esp
58f9f1:	8b 74 24 10          	mov    0x10(%esp),%esi
58f9f5:	e9 13 fd ff ff       	jmp    0x58f70d
58f9fa:	68 39 03 00 00       	push   $0x339
58f9ff:	eb da                	jmp    0x58f9db
58fa01:	8b 7c 24 18          	mov    0x18(%esp),%edi
58fa05:	8b 74 24 10          	mov    0x10(%esp),%esi
58fa09:	e9 ff fc ff ff       	jmp    0x58f70d
58fa0e:	8b 5c 24 40          	mov    0x40(%esp),%ebx
58fa12:	5d                   	pop    %ebp
58fa13:	85 db                	test   %ebx,%ebx
58fa15:	74 09                	je     0x58fa20
58fa17:	53                   	push   %ebx
58fa18:	e8 f3 f0 ff ff       	call   0x58eb10
58fa1d:	83 c4 04             	add    $0x4,%esp
58fa20:	85 f6                	test   %esi,%esi
58fa22:	74 28                	je     0x58fa4c
58fa24:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
58fa28:	8b 03                	mov    (%ebx),%eax
58fa2a:	85 c0                	test   %eax,%eax
58fa2c:	74 15                	je     0x58fa43
58fa2e:	66 90                	xchg   %ax,%ax