41161b:	75 03                	jne    0x411620
41161d:	8b 57 50             	mov    0x50(%edi),%edx
411620:	3b c2                	cmp    %edx,%eax
411622:	73 45                	jae    0x411669
411624:	6b c8 28             	imul   $0x28,%eax,%ecx
411627:	53                   	push   %ebx
411628:	8b 5d 08             	mov    0x8(%ebp),%ebx
41162b:	03 4f 4c             	add    0x4c(%edi),%ecx
41162e:	8b 7d 10             	mov    0x10(%ebp),%edi
411631:	39 19                	cmp    %ebx,(%ecx)
411633:	75 14                	jne    0x411649
411635:	83 39 07             	cmpl   $0x7,(%ecx)
411638:	75 05                	jne    0x41163f
41163a:	39 79 08             	cmp    %edi,0x8(%ecx)
41163d:	74 14                	je     0x411653
41163f:	83 39 08             	cmpl   $0x8,(%ecx)
411642:	75 05                	jne    0x411649
411644:	39 79 08             	cmp    %edi,0x8(%ecx)
411647:	74 0a                	je     0x411653
411649:	40                   	inc    %eax
41164a:	83 c1 28             	add    $0x28,%ecx
41164d:	3b c2                	cmp    %edx,%eax
41164f:	72 e0                	jb     0x411631
411651:	eb 15                	jmp    0x411668
411653:	8b 55 1c             	mov    0x1c(%ebp),%edx
411656:	85 d2                	test   %edx,%edx
411658:	74 02                	je     0x41165c
41165a:	89 0a                	mov    %ecx,(%edx)
41165c:	8b 4d 20             	mov    0x20(%ebp),%ecx
41165f:	85 c9                	test   %ecx,%ecx
411661:	74 02                	je     0x411665
411663:	89 01                	mov    %eax,(%ecx)
411665:	33 f6                	xor    %esi,%esi
411667:	46                   	inc    %esi
411668:	5b                   	pop    %ebx
411669:	5f                   	pop    %edi
41166a:	8b c6                	mov    %esi,%eax
41166c:	5e                   	pop    %esi
41166d:	5d                   	pop    %ebp
41166e:	c2 1c 00             	ret    $0x1c
411671:	55                   	push   %ebp
411672:	8b ec                	mov    %esp,%ebp
411674:	8b 45 08             	mov    0x8(%ebp),%eax
411677:	56                   	push   %esi
411678:	6a 03                	push   $0x3
41167a:	59                   	pop    %ecx
41167b:	33 f6                	xor    %esi,%esi
41167d:	2b c1                	sub    %ecx,%eax
41167f:	0f 84 97 00 00 00    	je     0x41171c
411685:	83 e8 01             	sub    $0x1,%eax
411688:	74 7a                	je     0x411704
41168a:	83 e8 01             	sub    $0x1,%eax
41168d:	74 6a                	je     0x4116f9
41168f:	83 e8 01             	sub    $0x1,%eax
411692:	74 3e                	je     0x4116d2
411694:	83 e8 01             	sub    $0x1,%eax
411697:	74 2e                	je     0x4116c7
411699:	83 e8 01             	sub    $0x1,%eax
41169c:	74 5b                	je     0x4116f9
41169e:	83 e8 01             	sub    $0x1,%eax
4116a1:	74 56                	je     0x4116f9
4116a3:	be 57 00 07 80       	mov    $0x80070057,%esi
4116a8:	56                   	push   %esi
4116a9:	68 b8 07 00 00       	push   $0x7b8
4116ae:	68 b8 28 45 00       	push   $0x4528b8
4116b3:	e8 1b 21 ff ff       	call   0x4037d3
4116b8:	68 40 32 45 00       	push   $0x453240
4116bd:	56                   	push   %esi
4116be:	e8 6c ea 02 00       	call   0x44012f
4116c3:	59                   	pop    %ecx
4116c4:	59                   	pop    %ecx
4116c5:	eb 65                	jmp    0x41172c
4116c7:	8b 45 14             	mov    0x14(%ebp),%eax
4116ca:	c7 00 05 00 00 00    	movl   $0x5,(%eax)
4116d0:	eb 5a                	jmp    0x41172c
4116d2:	8b 45 10             	mov    0x10(%ebp),%eax
4116d5:	6a 02                	push   $0x2
4116d7:	5a                   	pop    %edx
4116d8:	2b c2                	sub    %edx,%eax
4116da:	74 16                	je     0x4116f2
4116dc:	83 e8 01             	sub    $0x1,%eax
4116df:	74 0a                	je     0x4116eb
4116e1:	83 e8 01             	sub    $0x1,%eax
4116e4:	8b 45 14             	mov    0x14(%ebp),%eax
4116e7:	74 13                	je     0x4116fc
4116e9:	eb 2d                	jmp    0x411718
4116eb:	8b 45 14             	mov    0x14(%ebp),%eax
4116ee:	89 08                	mov    %ecx,(%eax)
4116f0:	eb 3a                	jmp    0x41172c
4116f2:	8b 45 14             	mov    0x14(%ebp),%eax
4116f5:	89 10                	mov    %edx,(%eax)
4116f7:	eb 33                	jmp    0x41172c
4116f9:	8b 45 14             	mov    0x14(%ebp),%eax
4116fc:	c7 00 04 00 00 00    	movl   $0x4,(%eax)
411702:	eb 28                	jmp    0x41172c
411704:	8b 45 10             	mov    0x10(%ebp),%eax
411707:	2b c1                	sub    %ecx,%eax
411709:	74 0a                	je     0x411715
41170b:	83 e8 01             	sub    $0x1,%eax
41170e:	8b 45 14             	mov    0x14(%ebp),%eax
411711:	74 e9                	je     0x4116fc
411713:	eb d9                	jmp    0x4116ee
411715:	8b 45 14             	mov    0x14(%ebp),%eax
411718:	89 30                	mov    %esi,(%eax)
41171a:	eb 10                	jmp    0x41172c
41171c:	8b 4d 14             	mov    0x14(%ebp),%ecx
41171f:	33 c0                	xor    %eax,%eax
411721:	39 45 0c             	cmp    %eax,0xc(%ebp)
411724:	6a 02                	push   $0x2
411726:	5a                   	pop    %edx
411727:	0f 45 d0             	cmovne %eax,%edx
41172a:	89 11                	mov    %edx,(%ecx)
41172c:	8b c6                	mov    %esi,%eax
41172e:	5e                   	pop    %esi
41172f:	5d                   	pop    %ebp
411730:	c2 10 00             	ret    $0x10
411733:	55                   	push   %ebp
411734:	8b ec                	mov    %esp,%ebp
411736:	8b 4d 0c             	mov    0xc(%ebp),%ecx
411739:	83 79 20 02          	cmpl   $0x2,0x20(%ecx)
41173d:	75 0d                	jne    0x41174c
41173f:	8b 45 08             	mov    0x8(%ebp),%eax
411742:	83 38 05             	cmpl   $0x5,(%eax)
411745:	7c 05                	jl     0x41174c
411747:	33 c0                	xor    %eax,%eax
411749:	40                   	inc    %eax
41174a:	eb 1a                	jmp    0x411766
41174c:	33 c0                	xor    %eax,%eax
41174e:	83 b9 8c 00 00 00 01 	cmpl   $0x1,0x8c(%ecx)
411755:	75 08                	jne    0x41175f
411757:	39 41 5c             	cmp    %eax,0x5c(%ecx)
41175a:	0f 95 c0             	setne  %al
41175d:	eb 07                	jmp    0x411766
41175f:	83 79 5c 01          	cmpl   $0x1,0x5c(%ecx)
411763:	0f 9f c0             	setg   %al
411766:	5d                   	pop    %ebp
411767:	c2 08 00             	ret    $0x8
41176a:	55                   	push   %ebp
41176b:	8b ec                	mov    %esp,%ebp
41176d:	56                   	push   %esi
41176e:	57                   	push   %edi
41176f:	ff 75 0c             	push   0xc(%ebp)
411772:	8b 7d 10             	mov    0x10(%ebp),%edi
411775:	57                   	push   %edi
411776:	ff 75 08             	push   0x8(%ebp)
411779:	e8 72 68 01 00       	call   0x427ff0
41177e:	8b f0                	mov    %eax,%esi
411780:	85 f6                	test   %esi,%esi
411782:	79 09                	jns    0x41178d
411784:	ff 37                	push   (%edi)
411786:	68 0c 2b 45 00       	push   $0x452b0c
41178b:	eb 36                	jmp    0x4117c3
41178d:	ff 75 0c             	push   0xc(%ebp)
411790:	57                   	push   %edi
411791:	6a 00                	push   $0x0
411793:	e8 63 67 01 00       	call   0x427efb
411798:	8b f0                	mov    %eax,%esi
41179a:	85 f6                	test   %esi,%esi
41179c:	79 0f                	jns    0x4117ad
41179e:	68 10 39 45 00       	push   $0x453910
4117a3:	56                   	push   %esi
4117a4:	e8 86 e9 02 00       	call   0x44012f
4117a9:	59                   	pop    %ecx
4117aa:	59                   	pop    %ecx
4117ab:	eb 1f                	jmp    0x4117cc
4117ad:	ff 75 0c             	push   0xc(%ebp)
4117b0:	57                   	push   %edi
4117b1:	e8 c2 6a 01 00       	call   0x428278
4117b6:	8b f0                	mov    %eax,%esi
4117b8:	85 f6                	test   %esi,%esi
4117ba:	79 10                	jns    0x4117cc
4117bc:	ff 37                	push   (%edi)
4117be:	68 8c 2b 45 00       	push   $0x452b8c
4117c3:	56                   	push   %esi
4117c4:	e8 66 e9 02 00       	call   0x44012f
4117c9:	83 c4 0c             	add    $0xc,%esp
4117cc:	5f                   	pop    %edi
4117cd:	8b c6                	mov    %esi,%eax
4117cf:	5e                   	pop    %esi
4117d0:	5d                   	pop    %ebp
4117d1:	c2 0c 00             	ret    $0xc
4117d4:	55                   	push   %ebp
4117d5:	8b ec                	mov    %esp,%ebp
4117d7:	53                   	push   %ebx
4117d8:	8b 5d 14             	mov    0x14(%ebp),%ebx
4117db:	56                   	push   %esi
4117dc:	57                   	push   %edi
4117dd:	8b 7d 18             	mov    0x18(%ebp),%edi
4117e0:	8d 47 4c             	lea    0x4c(%edi),%eax
4117e3:	50                   	push   %eax
4117e4:	ff 75 28             	push   0x28(%ebp)
4117e7:	33 c0                	xor    %eax,%eax
4117e9:	ff 77 0c             	push   0xc(%edi)
4117ec:	39 47 18             	cmp    %eax,0x18(%edi)
4117ef:	ff 75 20             	push   0x20(%ebp)
4117f2:	0f 94 c0             	sete   %al
4117f5:	ff 33                	push   (%ebx)
4117f7:	50                   	push   %eax
4117f8:	ff 77 40             	push   0x40(%edi)
4117fb:	ff b7 8c 00 00 00    	push   0x8c(%edi)
411801:	e8 a4 06 00 00       	call   0x411eaa
411806:	8b f0                	mov    %eax,%esi
411808:	85 f6                	test   %esi,%esi
41180a:	79 0a                	jns    0x411816
41180c:	68 90 28 45 00       	push   $0x452890
411811:	e9 27 01 00 00       	jmp    0x41193d
411816:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
41181a:	8d 57 50             	lea    0x50(%edi),%edx
41181d:	8b 75 10             	mov    0x10(%ebp),%esi
411820:	8b 47 4c             	mov    0x4c(%edi),%eax
411823:	89 02                	mov    %eax,(%edx)
411825:	52                   	push   %edx
411826:	8b 46 10             	mov    0x10(%esi),%eax
411829:	ff 37                	push   (%edi)
41182b:	50                   	push   %eax
41182c:	8b 08                	mov    (%eax),%ecx
41182e:	74 05                	je     0x411835
411830:	ff 51 58             	call   *0x58(%ecx)
411833:	eb 03                	jmp    0x411838
411835:	ff 51 54             	call   *0x54(%ecx)
411838:	50                   	push   %eax
411839:	6a 01                	push   $0x1
41183b:	56                   	push   %esi
41183c:	e8 4a bd ff ff       	call   0x40d58b
411841:	8b f0                	mov    %eax,%esi
411843:	85 f6                	test   %esi,%esi
411845:	79 1a                	jns    0x411861
411847:	56                   	push   %esi
411848:	68 5a 03 00 00       	push   $0x35a
41184d:	68 b8 28 45 00       	push   $0x4528b8
411852:	e8 7c 1f ff ff       	call   0x4037d3
411857:	68 c4 28 45 00       	push   $0x4528c4
41185c:	e9 dc 00 00 00       	jmp    0x41193d
411861:	83 3b 03             	cmpl   $0x3,(%ebx)
411864:	75 05                	jne    0x41186b
411866:	8b 47 3c             	mov    0x3c(%edi),%eax
411869:	eb 03                	jmp    0x41186e
41186b:	8b 47 38             	mov    0x38(%edi),%eax
41186e:	ff 75 34             	push   0x34(%ebp)
411871:	50                   	push   %eax
411872:	53                   	push   %ebx
411873:	e8 47 01 00 00       	call   0x4119bf
411878:	8b f0                	mov    %eax,%esi
41187a:	85 f6                	test   %esi,%esi
41187c:	79 0a                	jns    0x411888
41187e:	68 e4 28 45 00       	push   $0x4528e4
411883:	e9 b5 00 00 00       	jmp    0x41193d
411888:	83 7f 50 00          	cmpl   $0x0,0x50(%edi)
41188c:	0f 84 d7 00 00 00    	je     0x411969
411892:	83 3b 02             	cmpl   $0x2,(%ebx)
411895:	75 1a                	jne    0x4118b1
411897:	ff 75 2c             	push   0x2c(%ebp)
41189a:	57                   	push   %edi
41189b:	53                   	push   %ebx
41189c:	e8 c0 0c 00 00       	call   0x412561
4118a1:	8b f0                	mov    %eax,%esi
4118a3:	85 f6                	test   %esi,%esi
4118a5:	79 73                	jns    0x41191a
4118a7:	68 14 29 45 00       	push   $0x452914
4118ac:	e9 8c 00 00 00       	jmp    0x41193d
4118b1:	83 7f 18 00          	cmpl   $0x0,0x18(%edi)
4118b5:	74 16                	je     0x4118cd
4118b7:	8b 4d 38             	mov    0x38(%ebp),%ecx
4118ba:	85 c9                	test   %ecx,%ecx
4118bc:	74 0f                	je     0x4118cd
4118be:	81 79 04 00 00 00 80 	cmpl   $0x80000000,0x4(%ecx)
4118c5:	75 06                	jne    0x4118cd
4118c7:	8b 43 68             	mov    0x68(%ebx),%eax
4118ca:	89 41 04             	mov    %eax,0x4(%ecx)
4118cd:	ff 75 30             	push   0x30(%ebp)
4118d0:	ff 75 20             	push   0x20(%ebp)
4118d3:	ff 75 1c             	push   0x1c(%ebp)
4118d6:	57                   	push   %edi
4118d7:	53                   	push   %ebx
4118d8:	ff 75 10             	push   0x10(%ebp)
4118db:	ff 75 24             	push   0x24(%ebp)
4118de:	ff 75 08             	push   0x8(%ebp)
4118e1:	e8 29 07 00 00       	call   0x41200f
4118e6:	8b f0                	mov    %eax,%esi
4118e8:	85 f6                	test   %esi,%esi
4118ea:	79 07                	jns    0x4118f3
4118ec:	68 34 29 45 00       	push   $0x452934
4118f1:	eb 4a                	jmp    0x41193d
4118f3:	83 7f 18 00          	cmpl   $0x0,0x18(%edi)
4118f7:	74 21                	je     0x41191a
4118f9:	8b 4d 38             	mov    0x38(%ebp),%ecx
4118fc:	85 c9                	test   %ecx,%ecx
4118fe:	74 1a                	je     0x41191a
411900:	81 39 00 00 00 80    	cmpl   $0x80000000,(%ecx)
411906:	75 06                	jne    0x41190e
411908:	8b 43 60             	mov    0x60(%ebx),%eax
41190b:	48                   	dec    %eax
41190c:	89 01                	mov    %eax,(%ecx)
41190e:	8b 43 60             	mov    0x60(%ebx),%eax
411911:	89 41 08             	mov    %eax,0x8(%ecx)
411914:	8b 43 68             	mov    0x68(%ebx),%eax
411917:	89 41 0c             	mov    %eax,0xc(%ecx)
41191a:	83 7f 5c 00          	cmpl   $0x0,0x5c(%edi)
41191e:	75 0c                	jne    0x41192c
411920:	83 7f 60 00          	cmpl   $0x0,0x60(%edi)
411924:	75 06                	jne    0x41192c
411926:	83 7f 6c 00          	cmpl   $0x0,0x6c(%edi)
41192a:	74 19                	je     0x411945
41192c:	53                   	push   %ebx
41192d:	e8 c4 1d 00 00       	call   0x4136f6
411932:	8b f0                	mov    %eax,%esi
411934:	85 f6                	test   %esi,%esi
411936:	79 0d                	jns    0x411945
411938:	68 a8 29 45 00       	push   $0x4529a8
41193d:	56                   	push   %esi
41193e:	e8 ec e7 02 00       	call   0x44012f
411943:	59                   	pop    %ecx
411944:	59                   	pop    %ecx
411945:	ff 77 60             	push   0x60(%edi)
411948:	8b 45 10             	mov    0x10(%ebp),%eax
41194b:	ff 77 5c             	push   0x5c(%edi)
41194e:	ff 77 50             	push   0x50(%edi)
411951:	8b 40 10             	mov    0x10(%eax),%eax
411954:	ff 77 40             	push   0x40(%edi)
411957:	56                   	push   %esi
411958:	ff 37                	push   (%edi)
41195a:	8b 08                	mov    (%eax),%ecx
41195c:	50                   	push   %eax
41195d:	ff 51 64             	call   *0x64(%ecx)
411960:	5f                   	pop    %edi
411961:	8b c6                	mov    %esi,%eax
411963:	5e                   	pop    %esi
411964:	5b                   	pop    %ebx
411965:	5d                   	pop    %ebp
411966:	c2 34 00             	ret    $0x34
411969:	83 3b 02             	cmpl   $0x2,(%ebx)
41196c:	74 ac                	je     0x41191a
41196e:	83 7f 20 02          	cmpl   $0x2,0x20(%edi)
411972:	75 25                	jne    0x411999
411974:	83 3b 05             	cmpl   $0x5,(%ebx)
411977:	7c 20                	jl     0x411999
411979:	ff 75 30             	push   0x30(%ebp)
41197c:	ff 75 20             	push   0x20(%ebp)
41197f:	57                   	push   %edi
411980:	53                   	push   %ebx
411981:	ff 75 10             	push   0x10(%ebp)
411984:	ff 75 08             	push   0x8(%ebp)
411987:	e8 ac 03 00 00       	call   0x411d38
41198c:	8b f0                	mov    %eax,%esi
41198e:	85 f6                	test   %esi,%esi
411990:	79 88                	jns    0x41191a
411992:	68 54 29 45 00       	push   $0x452954
411997:	eb a4                	jmp    0x41193d
411999:	57                   	push   %edi
41199a:	53                   	push   %ebx