41366f:	e8 d9 fd ff ff       	call   0x41344d
413674:	ff 33                	push   (%ebx)
413676:	8b f0                	mov    %eax,%esi
413678:	e8 26 56 ff ff       	call   0x408ca3
41367d:	59                   	pop    %ecx
41367e:	59                   	pop    %ecx
41367f:	3b f0                	cmp    %eax,%esi
413681:	74 b1                	je     0x413634
413683:	8b b5 78 ff ff ff    	mov    -0x88(%ebp),%esi
413689:	e9 78 ff ff ff       	jmp    0x413606
41368e:	33 ff                	xor    %edi,%edi
413690:	57                   	push   %edi
413691:	57                   	push   %edi
413692:	57                   	push   %edi
413693:	57                   	push   %edi
413694:	57                   	push   %edi
413695:	e8 6b 7f ff ff       	call   0x40b605
41369a:	cc                   	int3
41369b:	55                   	push   %ebp
41369c:	8b ec                	mov    %esp,%ebp
41369e:	81 ec f4 00 00 00    	sub    $0xf4,%esp
4136a4:	a1 90 08 42 00       	mov    0x420890,%eax
4136a9:	33 c5                	xor    %ebp,%eax
4136ab:	89 45 fc             	mov    %eax,-0x4(%ebp)
4136ae:	56                   	push   %esi
4136af:	57                   	push   %edi
4136b0:	8b 7d 08             	mov    0x8(%ebp),%edi
4136b3:	e8 1e 8d ff ff       	call   0x40c3d6
4136b8:	8d b0 9c 00 00 00    	lea    0x9c(%eax),%esi
4136be:	6a 78                	push   $0x78
4136c0:	8b 4e 10             	mov    0x10(%esi),%ecx
4136c3:	f7 d9                	neg    %ecx
4136c5:	1b c9                	sbb    %ecx,%ecx
4136c7:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
4136cd:	81 e1 02 f0 ff ff    	and    $0xfffff002,%ecx
4136d3:	50                   	push   %eax
4136d4:	81 c1 01 10 00 00    	add    $0x1001,%ecx
4136da:	51                   	push   %ecx
4136db:	57                   	push   %edi
4136dc:	e8 69 c4 ff ff       	call   0x40fb4a
4136e1:	83 c4 10             	add    $0x10,%esp
4136e4:	85 c0                	test   %eax,%eax
4136e6:	75 06                	jne    0x4136ee
4136e8:	21 46 08             	and    %eax,0x8(%esi)
4136eb:	40                   	inc    %eax
4136ec:	eb 41                	jmp    0x41372f
4136ee:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
4136f4:	50                   	push   %eax
4136f5:	ff 36                	push   (%esi)
4136f7:	e8 0f da ff ff       	call   0x41110b
4136fc:	59                   	pop    %ecx
4136fd:	59                   	pop    %ecx
4136fe:	85 c0                	test   %eax,%eax
413700:	75 22                	jne    0x413724
413702:	57                   	push   %edi
413703:	e8 9b 55 ff ff       	call   0x408ca3
413708:	40                   	inc    %eax
413709:	50                   	push   %eax
41370a:	57                   	push   %edi
41370b:	8d 86 50 02 00 00    	lea    0x250(%esi),%eax
413711:	6a 55                	push   $0x55
413713:	50                   	push   %eax
413714:	e8 a5 e2 ff ff       	call   0x4119be
413719:	83 c4 14             	add    $0x14,%esp
41371c:	85 c0                	test   %eax,%eax
41371e:	75 1f                	jne    0x41373f
413720:	83 4e 08 04          	orl    $0x4,0x8(%esi)
413724:	8b 46 08             	mov    0x8(%esi),%eax
413727:	c1 e8 02             	shr    $0x2,%eax
41372a:	f7 d0                	not    %eax
41372c:	83 e0 01             	and    $0x1,%eax
41372f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
413732:	5f                   	pop    %edi
413733:	33 cd                	xor    %ebp,%ecx
413735:	5e                   	pop    %esi
413736:	e8 fe 0f ff ff       	call   0x404739
41373b:	c9                   	leave
41373c:	c2 0c 00             	ret    $0xc
41373f:	33 c0                	xor    %eax,%eax
413741:	50                   	push   %eax
413742:	50                   	push   %eax
413743:	50                   	push   %eax
413744:	50                   	push   %eax
413745:	50                   	push   %eax
413746:	e8 ba 7e ff ff       	call   0x40b605
41374b:	cc                   	int3
41374c:	55                   	push   %ebp
41374d:	8b ec                	mov    %esp,%ebp
41374f:	56                   	push   %esi
413750:	8b 75 08             	mov    0x8(%ebp),%esi
413753:	85 f6                	test   %esi,%esi
413755:	74 57                	je     0x4137ae
413757:	66 83 3e 00          	cmpw   $0x0,(%esi)
41375b:	74 51                	je     0x4137ae
41375d:	68 5c d3 41 00       	push   $0x41d35c
413762:	56                   	push   %esi
413763:	e8 ab fa ff ff       	call   0x413213
413768:	59                   	pop    %ecx
413769:	59                   	pop    %ecx
41376a:	85 c0                	test   %eax,%eax
41376c:	74 40                	je     0x4137ae
41376e:	68 64 d3 41 00       	push   $0x41d364
413773:	56                   	push   %esi
413774:	e8 9a fa ff ff       	call   0x413213
413779:	59                   	pop    %ecx
41377a:	59                   	pop    %ecx
41377b:	85 c0                	test   %eax,%eax
41377d:	75 26                	jne    0x4137a5
41377f:	6a 02                	push   $0x2
413781:	8d 45 08             	lea    0x8(%ebp),%eax
413784:	50                   	push   %eax
413785:	8b 45 0c             	mov    0xc(%ebp),%eax
413788:	05 50 02 00 00       	add    $0x250,%eax
41378d:	68 0b 00 00 20       	push   $0x2000000b
413792:	50                   	push   %eax
413793:	e8 b2 c3 ff ff       	call   0x40fb4a
413798:	83 c4 10             	add    $0x10,%esp
41379b:	85 c0                	test   %eax,%eax
41379d:	74 2f                	je     0x4137ce
41379f:	8b 45 08             	mov    0x8(%ebp),%eax
4137a2:	5e                   	pop    %esi
4137a3:	5d                   	pop    %ebp
4137a4:	c3                   	ret
4137a5:	56                   	push   %esi
4137a6:	e8 b3 18 00 00       	call   0x41505e
4137ab:	59                   	pop    %ecx
4137ac:	eb f4                	jmp    0x4137a2
4137ae:	6a 02                	push   $0x2
4137b0:	8d 45 08             	lea    0x8(%ebp),%eax
4137b3:	50                   	push   %eax
4137b4:	8b 45 0c             	mov    0xc(%ebp),%eax
4137b7:	05 50 02 00 00       	add    $0x250,%eax
4137bc:	68 04 10 00 20       	push   $0x20001004
4137c1:	50                   	push   %eax
4137c2:	e8 83 c3 ff ff       	call   0x40fb4a
4137c7:	83 c4 10             	add    $0x10,%esp
4137ca:	85 c0                	test   %eax,%eax
4137cc:	75 04                	jne    0x4137d2
4137ce:	33 c0                	xor    %eax,%eax
4137d0:	eb d0                	jmp    0x4137a2
4137d2:	8b 45 08             	mov    0x8(%ebp),%eax
4137d5:	85 c0                	test   %eax,%eax
4137d7:	75 c9                	jne    0x4137a2
4137d9:	5e                   	pop    %esi
4137da:	5d                   	pop    %ebp
4137db:	ff 25 c0 90 41 00    	jmp    *0x4190c0
4137e1:	55                   	push   %ebp
4137e2:	8b ec                	mov    %esp,%ebp
4137e4:	83 ec 18             	sub    $0x18,%esp
4137e7:	a1 90 08 42 00       	mov    0x420890,%eax
4137ec:	33 c5                	xor    %ebp,%eax
4137ee:	89 45 fc             	mov    %eax,-0x4(%ebp)
4137f1:	56                   	push   %esi
4137f2:	8b 75 08             	mov    0x8(%ebp),%esi
4137f5:	6a 09                	push   $0x9
4137f7:	8d 45 e8             	lea    -0x18(%ebp),%eax
4137fa:	50                   	push   %eax
4137fb:	6a 59                	push   $0x59
4137fd:	56                   	push   %esi
4137fe:	e8 47 c3 ff ff       	call   0x40fb4a
413803:	83 c4 10             	add    $0x10,%esp
413806:	85 c0                	test   %eax,%eax
413808:	74 14                	je     0x41381e
41380a:	6a 09                	push   $0x9
41380c:	8d 45 e8             	lea    -0x18(%ebp),%eax
41380f:	56                   	push   %esi
413810:	50                   	push   %eax
413811:	e8 8a fa ff ff       	call   0x4132a0
413816:	83 c4 0c             	add    $0xc,%esp
413819:	f7 d8                	neg    %eax
41381b:	1b c0                	sbb    %eax,%eax
41381d:	40                   	inc    %eax
41381e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
413821:	33 cd                	xor    %ebp,%ecx
413823:	5e                   	pop    %esi
413824:	e8 10 0f ff ff       	call   0x404739
413829:	c9                   	leave
41382a:	c3                   	ret
41382b:	55                   	push   %ebp
41382c:	8b ec                	mov    %esp,%ebp
41382e:	56                   	push   %esi
41382f:	8b 75 0c             	mov    0xc(%ebp),%esi
413832:	33 d2                	xor    %edx,%edx
413834:	57                   	push   %edi
413835:	42                   	inc    %edx
413836:	33 ff                	xor    %edi,%edi
413838:	85 f6                	test   %esi,%esi
41383a:	78 50                	js     0x41388c
41383c:	53                   	push   %ebx
41383d:	85 d2                	test   %edx,%edx
41383f:	74 4a                	je     0x41388b
413841:	8b 4d 08             	mov    0x8(%ebp),%ecx
413844:	8d 04 37             	lea    (%edi,%esi,1),%eax
413847:	99                   	cltd
413848:	2b c2                	sub    %edx,%eax
41384a:	8b d8                	mov    %eax,%ebx
41384c:	d1 fb                	sar    $1,%ebx
41384e:	8b c3                	mov    %ebx,%eax
413850:	6b c0 0c             	imul   $0xc,%eax,%eax
413853:	89 45 0c             	mov    %eax,0xc(%ebp)
413856:	ff 34 08             	push   (%eax,%ecx,1)
413859:	8b 45 10             	mov    0x10(%ebp),%eax
41385c:	ff 30                	push   (%eax)
41385e:	e8 a8 d8 ff ff       	call   0x41110b
413863:	8b d0                	mov    %eax,%edx
413865:	59                   	pop    %ecx
413866:	59                   	pop    %ecx
413867:	85 d2                	test   %edx,%edx
413869:	75 12                	jne    0x41387d
41386b:	8b 45 0c             	mov    0xc(%ebp),%eax
41386e:	8b 4d 08             	mov    0x8(%ebp),%ecx
413871:	83 c0 04             	add    $0x4,%eax
413874:	03 c8                	add    %eax,%ecx
413876:	8b 45 10             	mov    0x10(%ebp),%eax
413879:	89 08                	mov    %ecx,(%eax)
41387b:	eb 0a                	jmp    0x413887
41387d:	79 05                	jns    0x413884
41387f:	8d 73 ff             	lea    -0x1(%ebx),%esi
413882:	eb 03                	jmp    0x413887
413884:	8d 7b 01             	lea    0x1(%ebx),%edi
413887:	3b fe                	cmp    %esi,%edi
413889:	7e b2                	jle    0x41383d
41388b:	5b                   	pop    %ebx
41388c:	33 c0                	xor    %eax,%eax
41388e:	85 d2                	test   %edx,%edx
413890:	5f                   	pop    %edi
413891:	0f 94 c0             	sete   %al
413894:	5e                   	pop    %esi
413895:	5d                   	pop    %ebp
413896:	c3                   	ret
413897:	55                   	push   %ebp
413898:	8b ec                	mov    %esp,%ebp
41389a:	51                   	push   %ecx
41389b:	53                   	push   %ebx
41389c:	56                   	push   %esi
41389d:	57                   	push   %edi
41389e:	e8 33 8b ff ff       	call   0x40c3d6
4138a3:	8b 5d 08             	mov    0x8(%ebp),%ebx
4138a6:	8d b0 9c 00 00 00    	lea    0x9c(%eax),%esi
4138ac:	33 c9                	xor    %ecx,%ecx
4138ae:	8d 86 50 02 00 00    	lea    0x250(%esi),%eax
4138b4:	89 45 fc             	mov    %eax,-0x4(%ebp)
4138b7:	66 89 08             	mov    %cx,(%eax)
4138ba:	8d 83 80 00 00 00    	lea    0x80(%ebx),%eax
4138c0:	8d 7e 04             	lea    0x4(%esi),%edi
4138c3:	89 4e 08             	mov    %ecx,0x8(%esi)
4138c6:	89 1e                	mov    %ebx,(%esi)
4138c8:	89 07                	mov    %eax,(%edi)
4138ca:	66 39 08             	cmp    %cx,(%eax)
4138cd:	74 12                	je     0x4138e1
4138cf:	57                   	push   %edi
4138d0:	6a 16                	push   $0x16
4138d2:	68 88 d0 41 00       	push   $0x41d088
4138d7:	e8 4f ff ff ff       	call   0x41382b
4138dc:	83 c4 0c             	add    $0xc,%esp
4138df:	33 c9                	xor    %ecx,%ecx
4138e1:	8b 06                	mov    (%esi),%eax
4138e3:	56                   	push   %esi
4138e4:	66 39 08             	cmp    %cx,(%eax)
4138e7:	74 46                	je     0x41392f
4138e9:	8b 07                	mov    (%edi),%eax
4138eb:	66 39 08             	cmp    %cx,(%eax)
4138ee:	74 07                	je     0x4138f7
4138f0:	e8 9a fa ff ff       	call   0x41338f
4138f5:	eb 05                	jmp    0x4138fc
4138f7:	e8 07 fb ff ff       	call   0x413403
4138fc:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
413900:	59                   	pop    %ecx
413901:	75 32                	jne    0x413935
413903:	56                   	push   %esi
413904:	6a 40                	push   $0x40
413906:	68 d0 c5 41 00       	push   $0x41c5d0
41390b:	e8 1b ff ff ff       	call   0x41382b
413910:	83 c4 0c             	add    $0xc,%esp
413913:	85 c0                	test   %eax,%eax
413915:	74 1e                	je     0x413935
413917:	8b 07                	mov    (%edi),%eax
413919:	33 c9                	xor    %ecx,%ecx
41391b:	56                   	push   %esi
41391c:	66 39 08             	cmp    %cx,(%eax)
41391f:	74 07                	je     0x413928
413921:	e8 69 fa ff ff       	call   0x41338f
413926:	eb 0c                	jmp    0x413934
413928:	e8 d6 fa ff ff       	call   0x413403
41392d:	eb 05                	jmp    0x413934
41392f:	e8 e4 f9 ff ff       	call   0x413318
413934:	59                   	pop    %ecx
413935:	33 ff                	xor    %edi,%edi
413937:	39 7e 08             	cmp    %edi,0x8(%esi)
41393a:	0f 84 05 01 00 00    	je     0x413a45
413940:	8d 83 00 01 00 00    	lea    0x100(%ebx),%eax
413946:	56                   	push   %esi
413947:	50                   	push   %eax
413948:	e8 ff fd ff ff       	call   0x41374c
41394d:	8b f0                	mov    %eax,%esi
41394f:	59                   	pop    %ecx
413950:	59                   	pop    %ecx
413951:	85 f6                	test   %esi,%esi
413953:	0f 84 ec 00 00 00    	je     0x413a45
413959:	81 fe e8 fd 00 00    	cmp    $0xfde8,%esi
41395f:	0f 84 e0 00 00 00    	je     0x413a45
413965:	81 fe e9 fd 00 00    	cmp    $0xfde9,%esi
41396b:	0f 84 d4 00 00 00    	je     0x413a45
413971:	0f b7 c6             	movzwl %si,%eax
413974:	50                   	push   %eax
413975:	ff 15 bc 90 41 00    	call   *0x4190bc
41397b:	85 c0                	test   %eax,%eax
41397d:	0f 84 c2 00 00 00    	je     0x413a45
413983:	8b 45 0c             	mov    0xc(%ebp),%eax
413986:	85 c0                	test   %eax,%eax
413988:	74 02                	je     0x41398c
41398a:	89 30                	mov    %esi,(%eax)
41398c:	8b 7d 10             	mov    0x10(%ebp),%edi
41398f:	85 ff                	test   %edi,%edi
413991:	0f 84 a9 00 00 00    	je     0x413a40
413997:	ff 75 fc             	push   -0x4(%ebp)
41399a:	8d 9f 20 01 00 00    	lea    0x120(%edi),%ebx
4139a0:	33 c0                	xor    %eax,%eax
4139a2:	66 89 03             	mov    %ax,(%ebx)
4139a5:	e8 f9 52 ff ff       	call   0x408ca3
4139aa:	40                   	inc    %eax
4139ab:	50                   	push   %eax
4139ac:	ff 75 fc             	push   -0x4(%ebp)
4139af:	6a 55                	push   $0x55
4139b1:	53                   	push   %ebx
4139b2:	e8 07 e0 ff ff       	call   0x4119be
4139b7:	83 c4 14             	add    $0x14,%esp
4139ba:	85 c0                	test   %eax,%eax
4139bc:	0f 85 8a 00 00 00    	jne    0x413a4c
4139c2:	6a 40                	push   $0x40
4139c4:	57                   	push   %edi
4139c5:	68 01 10 00 00       	push   $0x1001
4139ca:	53                   	push   %ebx
4139cb:	e8 7a c1 ff ff       	call   0x40fb4a
4139d0:	83 c4 10             	add    $0x10,%esp
4139d3:	85 c0                	test   %eax,%eax
4139d5:	74 6e                	je     0x413a45
4139d7:	6a 40                	push   $0x40
4139d9:	8d 9f 80 00 00 00    	lea    0x80(%edi),%ebx
4139df:	53                   	push   %ebx
4139e0:	8d 87 20 01 00 00    	lea    0x120(%edi),%eax
4139e6:	68 02 10 00 00       	push   $0x1002
4139eb:	50                   	push   %eax
4139ec:	e8 59 c1 ff ff       	call   0x40fb4a
4139f1:	83 c4 10             	add    $0x10,%esp
4139f4:	85 c0                	test   %eax,%eax
4139f6:	74 4d                	je     0x413a45
4139f8:	6a 5f                	push   $0x5f
4139fa:	53                   	push   %ebx
4139fb:	e8 72 16 00 00       	call   0x415072