41f610:	56                   	push   %esi
41f611:	56                   	push   %esi
41f612:	ff 15 5c 71 4a 00    	call   *0x4a715c
41f618:	8b 4b 04             	mov    0x4(%ebx),%ecx
41f61b:	57                   	push   %edi
41f61c:	ff 75 e0             	push   -0x20(%ebp)
41f61f:	89 45 dc             	mov    %eax,-0x24(%ebp)
41f622:	ff 75 e8             	push   -0x18(%ebp)
41f625:	ff 71 30             	push   0x30(%ecx)
41f628:	ff 71 2c             	push   0x2c(%ecx)
41f62b:	ff 15 5c 71 4a 00    	call   *0x4a715c
41f631:	8b 4d dc             	mov    -0x24(%ebp),%ecx
41f634:	89 45 d8             	mov    %eax,-0x28(%ebp)
41f637:	85 c9                	test   %ecx,%ecx
41f639:	0f 84 48 02 00 00    	je     0x41f887
41f63f:	85 c0                	test   %eax,%eax
41f641:	0f 84 40 02 00 00    	je     0x41f887
41f647:	51                   	push   %ecx
41f648:	8b 4b 04             	mov    0x4(%ebx),%ecx
41f64b:	89 7d d4             	mov    %edi,-0x2c(%ebp)
41f64e:	ff 71 0c             	push   0xc(%ecx)
41f651:	ff 15 68 71 4a 00    	call   *0x4a7168
41f657:	8b 45 ec             	mov    -0x14(%ebp),%eax
41f65a:	85 c0                	test   %eax,%eax
41f65c:	74 1f                	je     0x41f67d
41f65e:	57                   	push   %edi
41f65f:	ff 70 04             	push   0x4(%eax)
41f662:	8b 43 04             	mov    0x4(%ebx),%eax
41f665:	ff 70 0c             	push   0xc(%eax)
41f668:	ff 15 6c 71 4a 00    	call   *0x4a716c
41f66e:	8b 4b 04             	mov    0x4(%ebx),%ecx
41f671:	89 45 d4             	mov    %eax,-0x2c(%ebp)
41f674:	ff 71 0c             	push   0xc(%ecx)
41f677:	ff 15 70 71 4a 00    	call   *0x4a7170
41f67d:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41f680:	8b c8                	mov    %eax,%ecx
41f682:	8b 73 04             	mov    0x4(%ebx),%esi
41f685:	57                   	push   %edi
41f686:	50                   	push   %eax
41f687:	e8 e6 e2 00 00       	call   0x42d972
41f68c:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
41f68f:	0f b7 c0             	movzwl %ax,%eax
41f692:	03 01                	add    (%ecx),%eax
41f694:	03 c1                	add    %ecx,%eax
41f696:	50                   	push   %eax
41f697:	ff 76 30             	push   0x30(%esi)
41f69a:	57                   	push   %edi
41f69b:	ff 75 d8             	push   -0x28(%ebp)
41f69e:	ff 76 0c             	push   0xc(%esi)
41f6a1:	ff 15 58 71 4a 00    	call   *0x4a7158
41f6a7:	ff 75 e4             	push   -0x1c(%ebp)
41f6aa:	8b f0                	mov    %eax,%esi
41f6ac:	ff 15 5c 72 4a 00    	call   *0x4a725c
41f6b2:	8b 4b 04             	mov    0x4(%ebx),%ecx
41f6b5:	3b 71 30             	cmp    0x30(%ecx),%esi
41f6b8:	74 60                	je     0x41f71a
41f6ba:	ff 71 14             	push   0x14(%ecx)
41f6bd:	ff 71 0c             	push   0xc(%ecx)
41f6c0:	ff 15 68 71 4a 00    	call   *0x4a7168
41f6c6:	8b 45 d4             	mov    -0x2c(%ebp),%eax
41f6c9:	85 c0                	test   %eax,%eax
41f6cb:	74 34                	je     0x41f701
41f6cd:	57                   	push   %edi
41f6ce:	50                   	push   %eax
41f6cf:	8b 43 04             	mov    0x4(%ebx),%eax
41f6d2:	ff 70 0c             	push   0xc(%eax)
41f6d5:	ff 15 6c 71 4a 00    	call   *0x4a716c
41f6db:	8b 43 04             	mov    0x4(%ebx),%eax
41f6de:	ff 70 0c             	push   0xc(%eax)
41f6e1:	ff 15 70 71 4a 00    	call   *0x4a7170
41f6e7:	8b 5d ec             	mov    -0x14(%ebp),%ebx
41f6ea:	85 db                	test   %ebx,%ebx
41f6ec:	74 13                	je     0x41f701
41f6ee:	8b 03                	mov    (%ebx),%eax
41f6f0:	6a 01                	push   $0x1
41f6f2:	8b 70 04             	mov    0x4(%eax),%esi
41f6f5:	8b ce                	mov    %esi,%ecx
41f6f7:	ff 15 2c 81 4a 00    	call   *0x4a812c
41f6fd:	8b cb                	mov    %ebx,%ecx
41f6ff:	ff d6                	call   *%esi
41f701:	ff 75 dc             	push   -0x24(%ebp)
41f704:	ff 15 60 71 4a 00    	call   *0x4a7160
41f70a:	ff 75 d8             	push   -0x28(%ebp)
41f70d:	ff 15 60 71 4a 00    	call   *0x4a7160
41f713:	6a 01                	push   $0x1
41f715:	e9 65 fe ff ff       	jmp    0x41f57f
41f71a:	8b 45 e8             	mov    -0x18(%ebp),%eax
41f71d:	8b 75 d8             	mov    -0x28(%ebp),%esi
41f720:	89 41 34             	mov    %eax,0x34(%ecx)
41f723:	8b 43 04             	mov    0x4(%ebx),%eax
41f726:	8b 4d e0             	mov    -0x20(%ebp),%ecx
41f729:	56                   	push   %esi
41f72a:	89 48 38             	mov    %ecx,0x38(%eax)
41f72d:	8b 43 04             	mov    0x4(%ebx),%eax
41f730:	ff 70 0c             	push   0xc(%eax)
41f733:	ff 15 68 71 4a 00    	call   *0x4a7168
41f739:	8b 43 04             	mov    0x4(%ebx),%eax
41f73c:	ff 70 14             	push   0x14(%eax)
41f73f:	ff 15 60 71 4a 00    	call   *0x4a7160
41f745:	8b 43 04             	mov    0x4(%ebx),%eax
41f748:	89 70 14             	mov    %esi,0x14(%eax)
41f74b:	8b 4b 04             	mov    0x4(%ebx),%ecx
41f74e:	39 79 24             	cmp    %edi,0x24(%ecx)
41f751:	74 3c                	je     0x41f78f
41f753:	39 7d ec             	cmp    %edi,-0x14(%ebp)
41f756:	75 16                	jne    0x41f76e
41f758:	57                   	push   %edi
41f759:	ff 71 28             	push   0x28(%ecx)
41f75c:	ff 71 0c             	push   0xc(%ecx)
41f75f:	ff 15 6c 71 4a 00    	call   *0x4a716c
41f765:	8b 43 04             	mov    0x4(%ebx),%eax
41f768:	89 78 28             	mov    %edi,0x28(%eax)
41f76b:	8b 4b 04             	mov    0x4(%ebx),%ecx
41f76e:	8b 41 24             	mov    0x24(%ecx),%eax
41f771:	89 45 d4             	mov    %eax,-0x2c(%ebp)
41f774:	85 c0                	test   %eax,%eax
41f776:	74 17                	je     0x41f78f
41f778:	8b 00                	mov    (%eax),%eax
41f77a:	6a 01                	push   $0x1
41f77c:	8b 70 04             	mov    0x4(%eax),%esi
41f77f:	8b ce                	mov    %esi,%ecx
41f781:	ff 15 2c 81 4a 00    	call   *0x4a812c
41f787:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
41f78a:	ff d6                	call   *%esi
41f78c:	8b 4b 04             	mov    0x4(%ebx),%ecx
41f78f:	8b 45 ec             	mov    -0x14(%ebp),%eax
41f792:	ff 75 dc             	push   -0x24(%ebp)
41f795:	89 41 24             	mov    %eax,0x24(%ecx)
41f798:	a3 60 58 4a 00       	mov    %eax,0x4a5860
41f79d:	ff 15 60 71 4a 00    	call   *0x4a7160
41f7a3:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
41f7a7:	75 08                	jne    0x41f7b1
41f7a9:	8b 4b 04             	mov    0x4(%ebx),%ecx
41f7ac:	e8 c6 d5 00 00       	call   0x42cd77
41f7b1:	8b 4b 04             	mov    0x4(%ebx),%ecx
41f7b4:	33 d2                	xor    %edx,%edx
41f7b6:	e8 21 d6 00 00       	call   0x42cddc
41f7bb:	8b 4b 04             	mov    0x4(%ebx),%ecx
41f7be:	3b 0d 44 47 4a 00    	cmp    0x4a4744,%ecx
41f7c4:	75 0b                	jne    0x41f7d1
41f7c6:	89 3d 44 47 4a 00    	mov    %edi,0x4a4744
41f7cc:	e8 a9 db 00 00       	call   0x42d37a
41f7d1:	8b 15 40 47 4a 00    	mov    0x4a4740,%edx
41f7d7:	85 d2                	test   %edx,%edx
41f7d9:	74 15                	je     0x41f7f0
41f7db:	8b cb                	mov    %ebx,%ecx
41f7dd:	e8 3a eb ff ff       	call   0x41e31c
41f7e2:	48                   	dec    %eax
41f7e3:	8b ca                	mov    %edx,%ecx
41f7e5:	f7 d8                	neg    %eax
41f7e7:	1b c0                	sbb    %eax,%eax
41f7e9:	40                   	inc    %eax
41f7ea:	50                   	push   %eax
41f7eb:	e8 ff 58 00 00       	call   0x4250ef
41f7f0:	68 59 01 00 00       	push   $0x159
41f7f5:	8b cb                	mov    %ebx,%ecx
41f7f7:	e8 9f ea ff ff       	call   0x41e29b
41f7fc:	8b cb                	mov    %ebx,%ecx
41f7fe:	e8 19 eb ff ff       	call   0x41e31c
41f803:	8d 7d bc             	lea    -0x44(%ebp),%edi
41f806:	6a 13                	push   $0x13
41f808:	8d 48 ff             	lea    -0x1(%eax),%ecx
41f80b:	f7 d9                	neg    %ecx
41f80d:	1b c9                	sbb    %ecx,%ecx
41f80f:	33 c0                	xor    %eax,%eax
41f811:	ab                   	stos   %eax,%es:(%edi)
41f812:	41                   	inc    %ecx
41f813:	ab                   	stos   %eax,%es:(%edi)
41f814:	ab                   	stos   %eax,%es:(%edi)
41f815:	ab                   	stos   %eax,%es:(%edi)
41f816:	58                   	pop    %eax
41f817:	66 89 45 bc          	mov    %ax,-0x44(%ebp)
41f81b:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
41f81e:	ff 15 58 75 4a 00    	call   *0x4a7558
41f824:	8d 4d bc             	lea    -0x44(%ebp),%ecx
41f827:	51                   	push   %ecx
41f828:	68 e4 f8 40 00       	push   $0x40f8e4
41f82d:	8b 40 04             	mov    0x4(%eax),%eax
41f830:	68 c5 54 00 00       	push   $0x54c5
41f835:	8b 80 c8 00 00 00    	mov    0xc8(%eax),%eax
41f83b:	50                   	push   %eax
41f83c:	8b 30                	mov    (%eax),%esi
41f83e:	8b 4e 20             	mov    0x20(%esi),%ecx
41f841:	ff 15 2c 81 4a 00    	call   *0x4a812c
41f847:	ff 56 20             	call   *0x20(%esi)
41f84a:	ff 15 58 75 4a 00    	call   *0x4a7558
41f850:	be b8 f7 40 00       	mov    $0x40f7b8,%esi
41f855:	56                   	push   %esi
41f856:	8b 48 04             	mov    0x4(%eax),%ecx
41f859:	51                   	push   %ecx
41f85a:	68 c6 54 00 00       	push   $0x54c6
41f85f:	e8 51 21 03 00       	call   0x4519b5
41f864:	ff 15 58 75 4a 00    	call   *0x4a7558
41f86a:	56                   	push   %esi
41f86b:	8b 48 04             	mov    0x4(%eax),%ecx
41f86e:	51                   	push   %ecx
41f86f:	68 c7 54 00 00       	push   $0x54c7
41f874:	e8 3c 21 03 00       	call   0x4519b5
41f879:	33 f6                	xor    %esi,%esi
41f87b:	46                   	inc    %esi
41f87c:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
41f880:	75 76                	jne    0x41f8f8
41f882:	89 73 2c             	mov    %esi,0x2c(%ebx)
41f885:	eb 71                	jmp    0x41f8f8
41f887:	ff 75 e4             	push   -0x1c(%ebp)
41f88a:	ff 15 5c 72 4a 00    	call   *0x4a725c
41f890:	8b 45 dc             	mov    -0x24(%ebp),%eax
41f893:	85 c0                	test   %eax,%eax
41f895:	74 07                	je     0x41f89e
41f897:	50                   	push   %eax
41f898:	ff 15 60 71 4a 00    	call   *0x4a7160
41f89e:	8b 45 d8             	mov    -0x28(%ebp),%eax
41f8a1:	85 c0                	test   %eax,%eax
41f8a3:	74 07                	je     0x41f8ac
41f8a5:	50                   	push   %eax
41f8a6:	ff 15 60 71 4a 00    	call   *0x4a7160
41f8ac:	8b 5d ec             	mov    -0x14(%ebp),%ebx
41f8af:	85 db                	test   %ebx,%ebx
41f8b1:	0f 84 c7 fc ff ff    	je     0x41f57e
41f8b7:	8b 03                	mov    (%ebx),%eax
41f8b9:	56                   	push   %esi
41f8ba:	8b 70 04             	mov    0x4(%eax),%esi
41f8bd:	8b ce                	mov    %esi,%ecx
41f8bf:	ff 15 2c 81 4a 00    	call   *0x4a812c
41f8c5:	8b cb                	mov    %ebx,%ecx
41f8c7:	ff d6                	call   *%esi
41f8c9:	33 f6                	xor    %esi,%esi
41f8cb:	46                   	inc    %esi
41f8cc:	e9 ad fc ff ff       	jmp    0x41f57e
41f8d1:	8b 43 08             	mov    0x8(%ebx),%eax
41f8d4:	89 45 d0             	mov    %eax,-0x30(%ebp)
41f8d7:	8b 45 0c             	mov    0xc(%ebp),%eax
41f8da:	eb 09                	jmp    0x41f8e5
41f8dc:	8b 45 0c             	mov    0xc(%ebp),%eax
41f8df:	89 45 d0             	mov    %eax,-0x30(%ebp)
41f8e2:	8b 43 0c             	mov    0xc(%ebx),%eax
41f8e5:	89 45 d4             	mov    %eax,-0x2c(%ebp)
41f8e8:	8d 45 d0             	lea    -0x30(%ebp),%eax
41f8eb:	50                   	push   %eax
41f8ec:	51                   	push   %ecx
41f8ed:	8b cb                	mov    %ebx,%ecx
41f8ef:	e8 13 00 00 00       	call   0x41f907
41f8f4:	8b f8                	mov    %eax,%edi
41f8f6:	8b f7                	mov    %edi,%esi
41f8f8:	e8 a9 02 00 00       	call   0x41fba6
41f8fd:	8b c6                	mov    %esi,%eax
41f8ff:	e8 9d 0b 07 00       	call   0x4904a1
41f904:	c2 0c 00             	ret    $0xc
41f907:	6a 14                	push   $0x14
41f909:	b8 c2 17 49 00       	mov    $0x4917c2,%eax
41f90e:	e8 c0 0b 07 00       	call   0x4904d3
41f913:	8b f1                	mov    %ecx,%esi
41f915:	a1 08 01 4a 00       	mov    0x4a0108,%eax
41f91a:	33 db                	xor    %ebx,%ebx
41f91c:	43                   	inc    %ebx
41f91d:	81 78 40 59 02 00 00 	cmpl   $0x259,0x40(%eax)
41f924:	74 09                	je     0x41f92f
41f926:	81 78 40 5a 02 00 00 	cmpl   $0x25a,0x40(%eax)
41f92d:	75 0e                	jne    0x41f93d
41f92f:	8b cb                	mov    %ebx,%ecx
41f931:	e8 d2 ee 00 00       	call   0x42e808
41f936:	83 25 30 49 4a 00 00 	andl   $0x0,0x4a4930
41f93d:	8b 7d 0c             	mov    0xc(%ebp),%edi
41f940:	8b 46 04             	mov    0x4(%esi),%eax
41f943:	8b 17                	mov    (%edi),%edx
41f945:	3b 50 2c             	cmp    0x2c(%eax),%edx
41f948:	75 0f                	jne    0x41f959
41f94a:	8b 4f 04             	mov    0x4(%edi),%ecx
41f94d:	3b 48 30             	cmp    0x30(%eax),%ecx
41f950:	75 07                	jne    0x41f959
41f952:	8b c3                	mov    %ebx,%eax
41f954:	e9 13 01 00 00       	jmp    0x41fa6c
41f959:	3b d3                	cmp    %ebx,%edx
41f95b:	0f 8c f8 00 00 00    	jl     0x41fa59
41f961:	39 5f 04             	cmp    %ebx,0x4(%edi)
41f964:	0f 8c ef 00 00 00    	jl     0x41fa59
41f96a:	ff 15 58 75 4a 00    	call   *0x4a7558
41f970:	8b 48 04             	mov    0x4(%eax),%ecx
41f973:	ff 15 a0 75 4a 00    	call   *0x4a75a0
41f979:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41f97d:	8b 4e 04             	mov    0x4(%esi),%ecx
41f980:	e8 9b e6 00 00       	call   0x42e020
41f985:	8b 4e 04             	mov    0x4(%esi),%ecx
41f988:	ff 77 04             	push   0x4(%edi)
41f98b:	83 65 e0 00          	andl   $0x0,-0x20(%ebp)
41f98f:	ff 37                	push   (%edi)
41f991:	8b 41 2c             	mov    0x2c(%ecx),%eax
41f994:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
41f998:	89 45 e8             	mov    %eax,-0x18(%ebp)
41f99b:	8b 41 30             	mov    0x30(%ecx),%eax
41f99e:	89 45 ec             	mov    %eax,-0x14(%ebp)
41f9a1:	e8 af ef 00 00       	call   0x42e955
41f9a6:	85 c0                	test   %eax,%eax
41f9a8:	75 15                	jne    0x41f9bf
41f9aa:	53                   	push   %ebx
41f9ab:	b9 e0 55 4a 00       	mov    $0x4a55e0,%ecx
41f9b0:	e8 c4 e2 02 00       	call   0x44dc79
41f9b5:	e8 ec 01 00 00       	call   0x41fba6
41f9ba:	e9 ab 00 00 00       	jmp    0x41fa6a
41f9bf:	8d 45 e0             	lea    -0x20(%ebp),%eax
41f9c2:	8b ce                	mov    %esi,%ecx
41f9c4:	50                   	push   %eax
41f9c5:	e8 ad f8 ff ff       	call   0x41f277
41f9ca:	8b 4e 04             	mov    0x4(%esi),%ecx
41f9cd:	e8 a5 d3 00 00       	call   0x42cd77
41f9d2:	8b 4e 04             	mov    0x4(%esi),%ecx
41f9d5:	83 25 44 47 4a 00 00 	andl   $0x0,0x4a4744
41f9dc:	e8 99 d9 00 00       	call   0x42d37a
41f9e1:	83 3d c8 63 4a 00 00 	cmpl   $0x0,0x4a63c8
41f9e8:	74 25                	je     0x41fa0f
41f9ea:	83 3d cc 63 4a 00 00 	cmpl   $0x0,0x4a63cc
41f9f1:	75 1c                	jne    0x41fa0f
41f9f3:	ff 76 08             	push   0x8(%esi)
41f9f6:	68 5a 01 00 00       	push   $0x15a
41f9fb:	56                   	push   %esi
41f9fc:	e8 df a2 04 00       	call   0x469ce0
41fa01:	ff 76 0c             	push   0xc(%esi)
41fa04:	68 5b 01 00 00       	push   $0x15b
41fa09:	56                   	push   %esi
41fa0a:	e8 d1 a2 04 00       	call   0x469ce0
41fa0f:	8b 07                	mov    (%edi),%eax
41fa11:	8b 4e 08             	mov    0x8(%esi),%ecx
41fa14:	8b 5e 0c             	mov    0xc(%esi),%ebx
41fa17:	89 46 08             	mov    %eax,0x8(%esi)
41fa1a:	8b 57 04             	mov    0x4(%edi),%edx
41fa1d:	89 56 0c             	mov    %edx,0xc(%esi)
41fa20:	3b c1                	cmp    %ecx,%eax
41fa22:	74 0f                	je     0x41fa33
41fa24:	68 5a 01 00 00       	push   $0x15a
41fa29:	8b ce                	mov    %esi,%ecx
41fa2b:	e8 6b e8 ff ff       	call   0x41e29b
41fa30:	8b 56 0c             	mov    0xc(%esi),%edx
41fa33:	3b d3                	cmp    %ebx,%edx
41fa35:	74 0c                	je     0x41fa43
41fa37:	68 5b 01 00 00       	push   $0x15b
41fa3c:	8b ce                	mov    %esi,%ecx
41fa3e:	e8 58 e8 ff ff       	call   0x41e29b
41fa43:	68 59 01 00 00       	push   $0x159
41fa48:	8b ce                	mov    %esi,%ecx
41fa4a:	e8 4c e8 ff ff       	call   0x41e29b
41fa4f:	e8 52 01 00 00       	call   0x41fba6
41fa54:	33 c0                	xor    %eax,%eax
41fa56:	40                   	inc    %eax
41fa57:	eb 13                	jmp    0x41fa6c
41fa59:	6a 30                	push   $0x30
41fa5b:	ba 00 e0 00 00       	mov    $0xe000,%edx
41fa60:	b9 fb 08 00 00       	mov    $0x8fb,%ecx
41fa65:	e8 3a 08 00 00       	call   0x4202a4
41fa6a:	33 c0                	xor    %eax,%eax
41fa6c:	e8 30 0a 07 00       	call   0x4904a1