41179e:	8d 85 94 f7 ff ff    	lea    -0x86c(%ebp),%eax
4117a4:	89 1d a8 67 43 00    	mov    %ebx,0x4367a8
4117aa:	50                   	push   %eax
4117ab:	6a 01                	push   $0x1
4117ad:	b2 01                	mov    $0x1,%dl
4117af:	8b cf                	mov    %edi,%ecx
4117b1:	e8 7e 62 ff ff       	call   0x407a34
4117b6:	83 f8 01             	cmp    $0x1,%eax
4117b9:	75 70                	jne    0x41182b
4117bb:	33 c0                	xor    %eax,%eax
4117bd:	40                   	inc    %eax
4117be:	8b d8                	mov    %eax,%ebx
4117c0:	83 bd b8 fb ff ff 00 	cmpl   $0x0,-0x448(%ebp)
4117c7:	74 0d                	je     0x4117d6
4117c9:	ff b5 b8 fb ff ff    	push   -0x448(%ebp)
4117cf:	ff 15 e0 a3 44 00    	call   *0x44a3e0
4117d5:	59                   	pop    %ecx
4117d6:	8b 85 d0 fd ff ff    	mov    -0x230(%ebp),%eax
4117dc:	33 f6                	xor    %esi,%esi
4117de:	89 b5 d0 fd ff ff    	mov    %esi,-0x230(%ebp)
4117e4:	85 c0                	test   %eax,%eax
4117e6:	74 08                	je     0x4117f0
4117e8:	50                   	push   %eax
4117e9:	ff 15 e0 a3 44 00    	call   *0x44a3e0
4117ef:	59                   	pop    %ecx
4117f0:	8b 85 a0 f9 ff ff    	mov    -0x660(%ebp),%eax
4117f6:	89 b5 a0 f9 ff ff    	mov    %esi,-0x660(%ebp)
4117fc:	85 c0                	test   %eax,%eax
4117fe:	74 08                	je     0x411808
411800:	50                   	push   %eax
411801:	ff 15 e0 a3 44 00    	call   *0x44a3e0
411807:	59                   	pop    %ecx
411808:	8b 4d e8             	mov    -0x18(%ebp),%ecx
41180b:	89 75 e8             	mov    %esi,-0x18(%ebp)
41180e:	85 c9                	test   %ecx,%ecx
411810:	74 08                	je     0x41181a
411812:	51                   	push   %ecx
411813:	ff 15 e0 a3 44 00    	call   *0x44a3e0
411819:	59                   	pop    %ecx
41181a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41181d:	8b c3                	mov    %ebx,%eax
41181f:	5f                   	pop    %edi
411820:	5e                   	pop    %esi
411821:	33 cd                	xor    %ebp,%ecx
411823:	5b                   	pop    %ebx
411824:	e8 07 53 00 00       	call   0x416b30
411829:	c9                   	leave
41182a:	c3                   	ret
41182b:	89 9d 8c f7 ff ff    	mov    %ebx,-0x874(%ebp)
411831:	8d 8d b0 f9 ff ff    	lea    -0x650(%ebp),%ecx
411837:	bb b8 20 40 00       	mov    $0x4020b8,%ebx
41183c:	53                   	push   %ebx
41183d:	e8 ff 8d ff ff       	call   0x40a641
411842:	53                   	push   %ebx
411843:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
411849:	e8 f3 8d ff ff       	call   0x40a641
41184e:	8b 9d 94 f7 ff ff    	mov    -0x86c(%ebp),%ebx
411854:	85 db                	test   %ebx,%ebx
411856:	0f 84 18 01 00 00    	je     0x411974
41185c:	ff 73 04             	push   0x4(%ebx)
41185f:	8d 8d b0 f9 ff ff    	lea    -0x650(%ebp),%ecx
411865:	e8 d7 8d ff ff       	call   0x40a641
41186a:	80 7b 10 00          	cmpb   $0x0,0x10(%ebx)
41186e:	8b 07                	mov    (%edi),%eax
411870:	0f 85 ce d4 00 00    	jne    0x41ed44
411876:	a9 00 00 02 00       	test   $0x20000,%eax
41187b:	75 05                	jne    0x411882
41187d:	83 c8 02             	or     $0x2,%eax
411880:	89 07                	mov    %eax,(%edi)
411882:	a8 40                	test   $0x40,%al
411884:	0f 84 de d4 00 00    	je     0x41ed68
41188a:	33 c9                	xor    %ecx,%ecx
41188c:	89 4f 64             	mov    %ecx,0x64(%edi)
41188f:	89 4f 60             	mov    %ecx,0x60(%edi)
411892:	89 4f 68             	mov    %ecx,0x68(%edi)
411895:	89 4f 6c             	mov    %ecx,0x6c(%edi)
411898:	8b 0f                	mov    (%edi),%ecx
41189a:	8b c1                	mov    %ecx,%eax
41189c:	83 e0 10             	and    $0x10,%eax
41189f:	83 c8 20             	or     $0x20,%eax
4118a2:	c1 e8 04             	shr    $0x4,%eax
4118a5:	f7 c1 00 04 02 00    	test   $0x20400,%ecx
4118ab:	0f 85 61 d5 00 00    	jne    0x41ee12
4118b1:	81 e1 04 40 00 00    	and    $0x4004,%ecx
4118b7:	8b d6                	mov    %esi,%edx
4118b9:	f7 d9                	neg    %ecx
4118bb:	68 b0 4c 40 00       	push   $0x404cb0
4118c0:	1b c9                	sbb    %ecx,%ecx
4118c2:	f7 d1                	not    %ecx
4118c4:	81 e1 10 4c 40 00    	and    $0x404c10,%ecx
4118ca:	51                   	push   %ecx
4118cb:	68 f0 4b 40 00       	push   $0x404bf0
4118d0:	51                   	push   %ecx
4118d1:	57                   	push   %edi
4118d2:	50                   	push   %eax
4118d3:	ff 77 08             	push   0x8(%edi)
4118d6:	8b cb                	mov    %ebx,%ecx
4118d8:	ff 77 04             	push   0x4(%edi)
4118db:	e8 a8 4b ff ff       	call   0x406488
4118e0:	89 85 90 f7 ff ff    	mov    %eax,-0x870(%ebp)
4118e6:	85 c0                	test   %eax,%eax
4118e8:	0f 85 10 d6 00 00    	jne    0x41eefe
4118ee:	8b 47 60             	mov    0x60(%edi),%eax
4118f1:	03 47 64             	add    0x64(%edi),%eax
4118f4:	0f 84 fe d5 00 00    	je     0x41eef8
4118fa:	f6 07 40             	testb  $0x40,(%edi)
4118fd:	0f 84 17 d5 00 00    	je     0x41ee1a
411903:	8b 4b 04             	mov    0x4(%ebx),%ecx
411906:	e8 55 c3 ff ff       	call   0x40dc60
41190b:	8b 43 0c             	mov    0xc(%ebx),%eax
41190e:	33 c9                	xor    %ecx,%ecx
411910:	41                   	inc    %ecx
411911:	89 85 80 f7 ff ff    	mov    %eax,-0x880(%ebp)
411917:	89 8d 94 f7 ff ff    	mov    %ecx,-0x86c(%ebp)
41191d:	39 4b 08             	cmp    %ecx,0x8(%ebx)
411920:	72 3b                	jb     0x41195d
411922:	8b f8                	mov    %eax,%edi
411924:	8b 0f                	mov    (%edi),%ecx
411926:	8b 77 0c             	mov    0xc(%edi),%esi
411929:	e8 32 c3 ff ff       	call   0x40dc60
41192e:	8b 4f 04             	mov    0x4(%edi),%ecx
411931:	e8 2a c3 ff ff       	call   0x40dc60
411936:	8b cf                	mov    %edi,%ecx
411938:	e8 23 c3 ff ff       	call   0x40dc60
41193d:	8b 85 94 f7 ff ff    	mov    -0x86c(%ebp),%eax
411943:	8b fe                	mov    %esi,%edi
411945:	40                   	inc    %eax
411946:	89 85 94 f7 ff ff    	mov    %eax,-0x86c(%ebp)
41194c:	3b 43 08             	cmp    0x8(%ebx),%eax
41194f:	76 d3                	jbe    0x411924
411951:	8b bd 7c f7 ff ff    	mov    -0x884(%ebp),%edi
411957:	8b b5 84 f7 ff ff    	mov    -0x87c(%ebp),%esi
41195d:	8b 85 8c f7 ff ff    	mov    -0x874(%ebp),%eax
411963:	85 c0                	test   %eax,%eax
411965:	75 1f                	jne    0x411986
411967:	89 9d 8c f7 ff ff    	mov    %ebx,-0x874(%ebp)
41196d:	8b 1b                	mov    (%ebx),%ebx
41196f:	e9 e0 fe ff ff       	jmp    0x411854
411974:	8b ce                	mov    %esi,%ecx
411976:	e8 14 30 ff ff       	call   0x40498f
41197b:	8b 9d 90 f7 ff ff    	mov    -0x870(%ebp),%ebx
411981:	e9 3a fe ff ff       	jmp    0x4117c0
411986:	8b c8                	mov    %eax,%ecx
411988:	e8 d3 c2 ff ff       	call   0x40dc60
41198d:	eb d8                	jmp    0x411967
41198f:	8b 15 78 67 43 00    	mov    0x436778,%edx
411995:	53                   	push   %ebx
411996:	56                   	push   %esi
411997:	8b d9                	mov    %ecx,%ebx
411999:	33 f6                	xor    %esi,%esi
41199b:	3b d3                	cmp    %ebx,%edx
41199d:	77 10                	ja     0x4119af
41199f:	8b ce                	mov    %esi,%ecx
4119a1:	e8 44 00 00 00       	call   0x4119ea
4119a6:	46                   	inc    %esi
4119a7:	83 fe 02             	cmp    $0x2,%esi
4119aa:	7c f3                	jl     0x41199f
4119ac:	5e                   	pop    %esi
4119ad:	5b                   	pop    %ebx
4119ae:	c3                   	ret
4119af:	57                   	push   %edi
4119b0:	8b 3d 84 67 43 00    	mov    0x436784,%edi
4119b6:	85 ff                	test   %edi,%edi
4119b8:	74 2d                	je     0x4119e7
4119ba:	8b 47 04             	mov    0x4(%edi),%eax
4119bd:	4a                   	dec    %edx
4119be:	57                   	push   %edi
4119bf:	56                   	push   %esi
4119c0:	a3 84 67 43 00       	mov    %eax,0x436784
4119c5:	89 15 78 67 43 00    	mov    %edx,0x436778
4119cb:	89 37                	mov    %esi,(%edi)
4119cd:	89 77 04             	mov    %esi,0x4(%edi)
4119d0:	ff 15 34 a1 44 00    	call   *0x44a134
4119d6:	50                   	push   %eax
4119d7:	ff 15 3c a1 44 00    	call   *0x44a13c
4119dd:	8b 15 78 67 43 00    	mov    0x436778,%edx
4119e3:	3b d3                	cmp    %ebx,%edx
4119e5:	77 c9                	ja     0x4119b0
4119e7:	5f                   	pop    %edi
4119e8:	eb b5                	jmp    0x41199f
4119ea:	8b ff                	mov    %edi,%edi
4119ec:	56                   	push   %esi
4119ed:	8b f1                	mov    %ecx,%esi
4119ef:	83 fe 01             	cmp    $0x1,%esi
4119f2:	77 0f                	ja     0x411a03
4119f4:	8b 04 b5 7c 67 43 00 	mov    0x43677c(,%esi,4),%eax
4119fb:	85 c0                	test   %eax,%eax
4119fd:	0f 85 49 d5 00 00    	jne    0x41ef4c
411a03:	5e                   	pop    %esi
411a04:	c3                   	ret
411a05:	8b ff                	mov    %edi,%edi
411a07:	53                   	push   %ebx
411a08:	56                   	push   %esi
411a09:	57                   	push   %edi
411a0a:	6a 02                	push   $0x2
411a0c:	8b f9                	mov    %ecx,%edi
411a0e:	33 db                	xor    %ebx,%ebx
411a10:	59                   	pop    %ecx
411a11:	8b c2                	mov    %edx,%eax
411a13:	f7 e1                	mul    %ecx
411a15:	68 34 27 40 00       	push   $0x402734
411a1a:	0f 90 c3             	seto   %bl
411a1d:	f7 db                	neg    %ebx
411a1f:	0b d8                	or     %eax,%ebx
411a21:	53                   	push   %ebx
411a22:	e8 fe 53 00 00       	call   0x416e25
411a27:	8b f0                	mov    %eax,%esi
411a29:	59                   	pop    %ecx
411a2a:	59                   	pop    %ecx
411a2b:	85 f6                	test   %esi,%esi
411a2d:	74 14                	je     0x411a43
411a2f:	53                   	push   %ebx
411a30:	6a 00                	push   $0x0
411a32:	56                   	push   %esi
411a33:	e8 85 65 00 00       	call   0x417fbd
411a38:	83 c4 0c             	add    $0xc,%esp
411a3b:	89 37                	mov    %esi,(%edi)
411a3d:	8b c7                	mov    %edi,%eax
411a3f:	5f                   	pop    %edi
411a40:	5e                   	pop    %esi
411a41:	5b                   	pop    %ebx
411a42:	c3                   	ret
411a43:	33 f6                	xor    %esi,%esi
411a45:	eb f4                	jmp    0x411a3b
411a47:	8b ff                	mov    %edi,%edi
411a49:	55                   	push   %ebp
411a4a:	8b ec                	mov    %esp,%ebp
411a4c:	81 ec 3c 02 00 00    	sub    $0x23c,%esp
411a52:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
411a57:	33 c5                	xor    %ebp,%eax
411a59:	89 45 fc             	mov    %eax,-0x4(%ebp)
411a5c:	53                   	push   %ebx
411a5d:	56                   	push   %esi
411a5e:	8b 35 48 67 43 00    	mov    0x436748,%esi
411a64:	33 db                	xor    %ebx,%ebx
411a66:	89 8d d8 fd ff ff    	mov    %ecx,-0x228(%ebp)
411a6c:	57                   	push   %edi
411a6d:	8b fa                	mov    %edx,%edi
411a6f:	85 f6                	test   %esi,%esi
411a71:	0f 84 d8 01 00 00    	je     0x411c4f
411a77:	89 9d dc fd ff ff    	mov    %ebx,-0x224(%ebp)
411a7d:	81 3d 78 e5 42 00 c8 	cmpl   $0xc8,0x42e578
411a84:	00 00 00
411a87:	0f 8f d7 d4 00 00    	jg     0x41ef64
411a8d:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
411a91:	0f 84 d7 01 00 00    	je     0x411c6e
411a97:	ff 05 78 e5 42 00    	incl   0x42e578
411a9d:	b9 14 01 00 00       	mov    $0x114,%ecx
411aa2:	e8 29 c2 ff ff       	call   0x40dcd0
411aa7:	8b f0                	mov    %eax,%esi
411aa9:	85 f6                	test   %esi,%esi
411aab:	0f 84 53 d5 00 00    	je     0x41f004
411ab1:	a1 48 67 43 00       	mov    0x436748,%eax
411ab6:	89 86 10 01 00 00    	mov    %eax,0x110(%esi)
411abc:	a1 78 67 43 00       	mov    0x436778,%eax
411ac1:	89 46 0c             	mov    %eax,0xc(%esi)
411ac4:	b8 04 01 00 00       	mov    $0x104,%eax
411ac9:	50                   	push   %eax
411aca:	89 45 f0             	mov    %eax,-0x10(%ebp)
411acd:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
411ad3:	53                   	push   %ebx
411ad4:	50                   	push   %eax
411ad5:	89 35 48 67 43 00    	mov    %esi,0x436748
411adb:	89 5d e8             	mov    %ebx,-0x18(%ebp)
411ade:	c6 45 ec 01          	movb   $0x1,-0x14(%ebp)
411ae2:	e8 d6 64 00 00       	call   0x417fbd
411ae7:	33 c0                	xor    %eax,%eax
411ae9:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
411aef:	83 c4 0c             	add    $0xc,%esp
411af2:	38 45 ec             	cmp    %al,-0x14(%ebp)
411af5:	0f 94 c0             	sete   %al
411af8:	48                   	dec    %eax
411af9:	25 e3 7e 00 00       	and    $0x7ee3,%eax
411afe:	05 04 01 00 00       	add    $0x104,%eax
411b03:	50                   	push   %eax
411b04:	e8 e7 c8 ff ff       	call   0x40e3f0
411b09:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
411b0f:	85 c0                	test   %eax,%eax
411b11:	0f 88 e8 d4 00 00    	js     0x41efff
411b17:	57                   	push   %edi
411b18:	e8 24 8b ff ff       	call   0x40a641
411b1d:	8b 45 e8             	mov    -0x18(%ebp),%eax
411b20:	85 c0                	test   %eax,%eax
411b22:	0f 84 e4 d4 00 00    	je     0x41f00c
411b28:	8b 8d d8 fd ff ff    	mov    -0x228(%ebp),%ecx
411b2e:	8b d7                	mov    %edi,%edx
411b30:	50                   	push   %eax
411b31:	ff 75 08             	push   0x8(%ebp)
411b34:	e8 b0 e1 ff ff       	call   0x40fce9
411b39:	85 c0                	test   %eax,%eax
411b3b:	0f 85 ad d4 00 00    	jne    0x41efee
411b41:	39 85 dc fd ff ff    	cmp    %eax,-0x224(%ebp)
411b47:	75 75                	jne    0x411bbe
411b49:	8b 95 d8 fd ff ff    	mov    -0x228(%ebp),%edx
411b4f:	8b ce                	mov    %esi,%ecx
411b51:	e8 0a 9c ff ff       	call   0x40b760
411b56:	83 bd dc fd ff ff 00 	cmpl   $0x0,-0x224(%ebp)
411b5d:	8b f8                	mov    %eax,%edi
411b5f:	0f 85 16 01 00 00    	jne    0x411c7b
411b65:	a1 48 67 43 00       	mov    0x436748,%eax
411b6a:	3b c6                	cmp    %esi,%eax
411b6c:	75 23                	jne    0x411b91
411b6e:	8b ce                	mov    %esi,%ecx
411b70:	e8 3c 01 00 00       	call   0x411cb1
411b75:	8b 0d 78 e5 42 00    	mov    0x42e578,%ecx
411b7b:	8b 86 10 01 00 00    	mov    0x110(%esi),%eax
411b81:	a3 48 67 43 00       	mov    %eax,0x436748
411b86:	85 c9                	test   %ecx,%ecx
411b88:	7e 07                	jle    0x411b91
411b8a:	49                   	dec    %ecx
411b8b:	89 0d 78 e5 42 00    	mov    %ecx,0x42e578
411b91:	85 c0                	test   %eax,%eax
411b93:	0f 84 03 01 00 00    	je     0x411c9c
411b99:	8b 45 e8             	mov    -0x18(%ebp),%eax
411b9c:	89 5d e8             	mov    %ebx,-0x18(%ebp)
411b9f:	85 c0                	test   %eax,%eax
411ba1:	74 08                	je     0x411bab
411ba3:	50                   	push   %eax
411ba4:	ff 15 e0 a3 44 00    	call   *0x44a3e0
411baa:	59                   	pop    %ecx
411bab:	8b c7                	mov    %edi,%eax
411bad:	8b 4d fc             	mov    -0x4(%ebp),%ecx
411bb0:	5f                   	pop    %edi
411bb1:	5e                   	pop    %esi
411bb2:	33 cd                	xor    %ebp,%ecx
411bb4:	5b                   	pop    %ebx
411bb5:	e8 76 4f 00 00       	call   0x416b30
411bba:	c9                   	leave
411bbb:	c2 08 00             	ret    $0x8
411bbe:	c7 05 34 67 43 00 01 	movl   $0x1,0x436734
411bc5:	00 00 00
411bc8:	85 ff                	test   %edi,%edi
411bca:	74 69                	je     0x411c35
411bcc:	8b cf                	mov    %edi,%ecx
411bce:	8d 51 02             	lea    0x2(%ecx),%edx
411bd1:	66 8b 01             	mov    (%ecx),%ax
411bd4:	83 c1 02             	add    $0x2,%ecx
411bd7:	66 3b c3             	cmp    %bx,%ax
411bda:	75 f5                	jne    0x411bd1
411bdc:	2b ca                	sub    %edx,%ecx
411bde:	d1 f9                	sar    $1,%ecx
411be0:	83 f9 05             	cmp    $0x5,%ecx
411be3:	72 50                	jb     0x411c35
411be5:	8b cf                	mov    %edi,%ecx
411be7:	8d 51 02             	lea    0x2(%ecx),%edx
411bea:	66 8b 01             	mov    (%ecx),%ax
411bed:	83 c1 02             	add    $0x2,%ecx
411bf0:	66 3b c3             	cmp    %bx,%ax
411bf3:	75 f5                	jne    0x411bea
411bf5:	2b ca                	sub    %edx,%ecx