418629:	33 c0                	xor    %eax,%eax
41862b:	8d bd a0 fb ff ff    	lea    -0x460(%ebp),%edi
418631:	ab                   	stos   %eax,%es:(%edi)
418632:	83 c4 0c             	add    $0xc,%esp
418635:	ab                   	stos   %eax,%es:(%edi)
418636:	ab                   	stos   %eax,%es:(%edi)
418637:	ab                   	stos   %eax,%es:(%edi)
418638:	85 f6                	test   %esi,%esi
41863a:	0f 84 4a 14 00 00    	je     0x419a8a
418640:	8b 35 28 40 42 00    	mov    0x424028,%esi
418646:	8b ce                	mov    %esi,%ecx
418648:	8b bd 3c f4 ff ff    	mov    -0xbc4(%ebp),%edi
41864e:	6a 07                	push   $0x7
418650:	57                   	push   %edi
418651:	ff 15 78 64 42 00    	call   *0x426478
418657:	ff d6                	call   *%esi
418659:	85 c0                	test   %eax,%eax
41865b:	0f 84 81 05 00 00    	je     0x418be2
418661:	8b 35 34 40 42 00    	mov    0x424034,%esi
418667:	8d 8d 90 f5 ff ff    	lea    -0xa70(%ebp),%ecx
41866d:	51                   	push   %ecx
41866e:	6a 54                	push   $0x54
418670:	50                   	push   %eax
418671:	8b ce                	mov    %esi,%ecx
418673:	ff 15 78 64 42 00    	call   *0x426478
418679:	ff d6                	call   *%esi
41867b:	85 c0                	test   %eax,%eax
41867d:	74 24                	je     0x4186a3
41867f:	8b 85 a4 f5 ff ff    	mov    -0xa5c(%ebp),%eax
418685:	89 85 5c f4 ff ff    	mov    %eax,-0xba4(%ebp)
41868b:	8b 85 94 f5 ff ff    	mov    -0xa6c(%ebp),%eax
418691:	89 85 60 f4 ff ff    	mov    %eax,-0xba0(%ebp)
418697:	8b 85 98 f5 ff ff    	mov    -0xa68(%ebp),%eax
41869d:	89 85 84 f4 ff ff    	mov    %eax,-0xb7c(%ebp)
4186a3:	8b 35 08 40 42 00    	mov    0x424008,%esi
4186a9:	8b ce                	mov    %esi,%ecx
4186ab:	57                   	push   %edi
4186ac:	ff 15 78 64 42 00    	call   *0x426478
4186b2:	ff d6                	call   *%esi
4186b4:	8b f8                	mov    %eax,%edi
4186b6:	89 bd 80 f4 ff ff    	mov    %edi,-0xb80(%ebp)
4186bc:	85 ff                	test   %edi,%edi
4186be:	0f 84 1e 05 00 00    	je     0x418be2
4186c4:	8b 85 2c f7 ff ff    	mov    -0x8d4(%ebp),%eax
4186ca:	2b 85 24 f7 ff ff    	sub    -0x8dc(%ebp),%eax
4186d0:	8b 35 0c 40 42 00    	mov    0x42400c,%esi
4186d6:	8b ce                	mov    %esi,%ecx
4186d8:	89 85 0c fa ff ff    	mov    %eax,-0x5f4(%ebp)
4186de:	8b 85 28 f7 ff ff    	mov    -0x8d8(%ebp),%eax
4186e4:	2b 85 30 f7 ff ff    	sub    -0x8d0(%ebp),%eax
4186ea:	89 85 10 fa ff ff    	mov    %eax,-0x5f0(%ebp)
4186f0:	33 c0                	xor    %eax,%eax
4186f2:	6a 20                	push   $0x20
4186f4:	40                   	inc    %eax
4186f5:	89 9d d4 f3 ff ff    	mov    %ebx,-0xc2c(%ebp)
4186fb:	66 89 85 14 fa ff ff 	mov    %ax,-0x5ec(%ebp)
418702:	58                   	pop    %eax
418703:	53                   	push   %ebx
418704:	53                   	push   %ebx
418705:	66 89 85 16 fa ff ff 	mov    %ax,-0x5ea(%ebp)
41870c:	8d 85 d4 f3 ff ff    	lea    -0xc2c(%ebp),%eax
418712:	50                   	push   %eax
418713:	53                   	push   %ebx
418714:	8d 85 08 fa ff ff    	lea    -0x5f8(%ebp),%eax
41871a:	89 9d 70 f4 ff ff    	mov    %ebx,-0xb90(%ebp)
418720:	50                   	push   %eax
418721:	57                   	push   %edi
418722:	89 9d 18 fa ff ff    	mov    %ebx,-0x5e8(%ebp)
418728:	89 9d 1c fa ff ff    	mov    %ebx,-0x5e4(%ebp)
41872e:	89 9d 20 fa ff ff    	mov    %ebx,-0x5e0(%ebp)
418734:	89 9d 24 fa ff ff    	mov    %ebx,-0x5dc(%ebp)
41873a:	89 9d 28 fa ff ff    	mov    %ebx,-0x5d8(%ebp)
418740:	89 9d 2c fa ff ff    	mov    %ebx,-0x5d4(%ebp)
418746:	89 9d 30 fa ff ff    	mov    %ebx,-0x5d0(%ebp)
41874c:	c7 85 08 fa ff ff 28 	movl   $0x28,-0x5f8(%ebp)
418753:	00 00 00
418756:	ff 15 78 64 42 00    	call   *0x426478
41875c:	ff d6                	call   *%esi
41875e:	89 85 40 f4 ff ff    	mov    %eax,-0xbc0(%ebp)
418764:	85 c0                	test   %eax,%eax
418766:	75 35                	jne    0x41879d
418768:	ff 15 70 61 42 00    	call   *0x426170
41876e:	89 85 70 f4 ff ff    	mov    %eax,-0xb90(%ebp)
418774:	85 c0                	test   %eax,%eax
418776:	7e 10                	jle    0x418788
418778:	0f b7 c0             	movzwl %ax,%eax
41877b:	0d 00 00 07 80       	or     $0x80070000,%eax
418780:	89 85 70 f4 ff ff    	mov    %eax,-0xb90(%ebp)
418786:	85 c0                	test   %eax,%eax
418788:	0f 88 9f 03 00 00    	js     0x418b2d
41878e:	c7 85 70 f4 ff ff 05 	movl   $0x80004005,-0xb90(%ebp)
418795:	40 00 80
418798:	e9 90 03 00 00       	jmp    0x418b2d
41879d:	8b 35 34 40 42 00    	mov    0x424034,%esi
4187a3:	8d 8d 38 f5 ff ff    	lea    -0xac8(%ebp),%ecx
4187a9:	51                   	push   %ecx
4187aa:	6a 54                	push   $0x54
4187ac:	50                   	push   %eax
4187ad:	8b ce                	mov    %esi,%ecx
4187af:	ff 15 78 64 42 00    	call   *0x426478
4187b5:	ff d6                	call   *%esi
4187b7:	85 c0                	test   %eax,%eax
4187b9:	74 0c                	je     0x4187c7
4187bb:	8b 85 4c f5 ff ff    	mov    -0xab4(%ebp),%eax
4187c1:	89 85 7c f4 ff ff    	mov    %eax,-0xb84(%ebp)
4187c7:	8b 85 2c f7 ff ff    	mov    -0x8d4(%ebp),%eax
4187cd:	2b 85 24 f7 ff ff    	sub    -0x8dc(%ebp),%eax
4187d3:	ff b5 40 f4 ff ff    	push   -0xbc0(%ebp)
4187d9:	8b 35 3c 40 42 00    	mov    0x42403c,%esi
4187df:	8b ce                	mov    %esi,%ecx
4187e1:	89 85 a8 fb ff ff    	mov    %eax,-0x458(%ebp)
4187e7:	8b 85 30 f7 ff ff    	mov    -0x8d0(%ebp),%eax
4187ed:	2b 85 28 f7 ff ff    	sub    -0x8d8(%ebp),%eax
4187f3:	57                   	push   %edi
4187f4:	89 85 ac fb ff ff    	mov    %eax,-0x454(%ebp)
4187fa:	ff 15 78 64 42 00    	call   *0x426478
418800:	ff d6                	call   *%esi
418802:	8b 35 40 40 42 00    	mov    0x424040,%esi
418808:	33 c0                	xor    %eax,%eax
41880a:	40                   	inc    %eax
41880b:	8b ce                	mov    %esi,%ecx
41880d:	50                   	push   %eax
41880e:	57                   	push   %edi
41880f:	ff 15 78 64 42 00    	call   *0x426478
418815:	ff d6                	call   *%esi
418817:	ff b5 64 f4 ff ff    	push   -0xb9c(%ebp)
41881d:	8b 35 3c 40 42 00    	mov    0x42403c,%esi
418823:	8b ce                	mov    %esi,%ecx
418825:	57                   	push   %edi
418826:	ff 15 78 64 42 00    	call   *0x426478
41882c:	ff d6                	call   *%esi
41882e:	8b 35 38 40 42 00    	mov    0x424038,%esi
418834:	8b ce                	mov    %esi,%ecx
418836:	8b 3d 74 40 42 00    	mov    0x424074,%edi
41883c:	53                   	push   %ebx
41883d:	89 85 64 f4 ff ff    	mov    %eax,-0xb9c(%ebp)
418843:	ff 15 78 64 42 00    	call   *0x426478
418849:	ff d6                	call   *%esi
41884b:	50                   	push   %eax
41884c:	8d 85 a0 fb ff ff    	lea    -0x460(%ebp),%eax
418852:	8b cf                	mov    %edi,%ecx
418854:	50                   	push   %eax
418855:	ff b5 80 f4 ff ff    	push   -0xb80(%ebp)
41885b:	ff 15 78 64 42 00    	call   *0x426478
418861:	ff d7                	call   *%edi
418863:	8b bd 80 f4 ff ff    	mov    -0xb80(%ebp),%edi
418869:	8d 85 a0 fb ff ff    	lea    -0x460(%ebp),%eax
41886f:	8b 35 6c 40 42 00    	mov    0x42406c,%esi
418875:	8b ce                	mov    %esi,%ecx
418877:	53                   	push   %ebx
418878:	ff b5 54 f4 ff ff    	push   -0xbac(%ebp)
41887e:	50                   	push   %eax
41887f:	6a ff                	push   $0xffffffff
418881:	ff b5 78 f4 ff ff    	push   -0xb88(%ebp)
418887:	57                   	push   %edi
418888:	ff 15 78 64 42 00    	call   *0x426478
41888e:	ff d6                	call   *%esi
418890:	33 c0                	xor    %eax,%eax
418892:	40                   	inc    %eax
418893:	39 85 38 f4 ff ff    	cmp    %eax,-0xbc8(%ebp)
418899:	75 29                	jne    0x4188c4
41889b:	83 bd 74 f4 ff ff 00 	cmpl   $0x0,-0xb8c(%ebp)
4188a2:	74 14                	je     0x4188b8
4188a4:	8b 35 8c 40 42 00    	mov    0x42408c,%esi
4188aa:	8b ce                	mov    %esi,%ecx
4188ac:	6a 08                	push   $0x8
4188ae:	ff 15 78 64 42 00    	call   *0x426478
4188b4:	ff d6                	call   *%esi
4188b6:	eb 11                	jmp    0x4188c9
4188b8:	c7 85 38 f4 ff ff ff 	movl   $0xffffff,-0xbc8(%ebp)
4188bf:	ff ff 00
4188c2:	eb 11                	jmp    0x4188d5
4188c4:	b8 a8 a8 a8 ff       	mov    $0xffa8a8a8,%eax
4188c9:	89 85 38 f4 ff ff    	mov    %eax,-0xbc8(%ebp)
4188cf:	89 85 50 f4 ff ff    	mov    %eax,-0xbb0(%ebp)
4188d5:	8b b5 24 f7 ff ff    	mov    -0x8dc(%ebp),%esi
4188db:	8b d3                	mov    %ebx,%edx
4188dd:	8b 85 28 f7 ff ff    	mov    -0x8d8(%ebp),%eax
4188e3:	8b cb                	mov    %ebx,%ecx
4188e5:	89 b5 74 f4 ff ff    	mov    %esi,-0xb8c(%ebp)
4188eb:	89 9d 54 f4 ff ff    	mov    %ebx,-0xbac(%ebp)
4188f1:	85 f6                	test   %esi,%esi
4188f3:	79 10                	jns    0x418905
4188f5:	8b d6                	mov    %esi,%edx
4188f7:	89 9d 74 f4 ff ff    	mov    %ebx,-0xb8c(%ebp)
4188fd:	f7 da                	neg    %edx
4188ff:	89 95 54 f4 ff ff    	mov    %edx,-0xbac(%ebp)
418905:	85 c0                	test   %eax,%eax
418907:	79 06                	jns    0x41890f
418909:	8b c8                	mov    %eax,%ecx
41890b:	8b c3                	mov    %ebx,%eax
41890d:	f7 d9                	neg    %ecx
41890f:	8b b5 a8 fb ff ff    	mov    -0x458(%ebp),%esi
418915:	2b f2                	sub    %edx,%esi
418917:	8b 95 60 f4 ff ff    	mov    -0xba0(%ebp),%edx
41891d:	2b 95 74 f4 ff ff    	sub    -0xb8c(%ebp),%edx
418923:	89 b5 78 f4 ff ff    	mov    %esi,-0xb88(%ebp)
418929:	3b f2                	cmp    %edx,%esi
41892b:	7c 08                	jl     0x418935
41892d:	8b f2                	mov    %edx,%esi
41892f:	89 95 78 f4 ff ff    	mov    %edx,-0xb88(%ebp)
418935:	8b 95 ac fb ff ff    	mov    -0x454(%ebp),%edx
41893b:	29 85 84 f4 ff ff    	sub    %eax,-0xb7c(%ebp)
418941:	2b d1                	sub    %ecx,%edx
418943:	89 95 48 f4 ff ff    	mov    %edx,-0xbb8(%ebp)
418949:	3b 95 84 f4 ff ff    	cmp    -0xb7c(%ebp),%edx
41894f:	7c 0c                	jl     0x41895d
418951:	8b 95 84 f4 ff ff    	mov    -0xb7c(%ebp),%edx
418957:	89 95 48 f4 ff ff    	mov    %edx,-0xbb8(%ebp)
41895d:	85 f6                	test   %esi,%esi
41895f:	0f 8e 96 01 00 00    	jle    0x418afb
418965:	85 d2                	test   %edx,%edx
418967:	0f 8e 8e 01 00 00    	jle    0x418afb
41896d:	8b 95 a8 fb ff ff    	mov    -0x458(%ebp),%edx
418973:	8b bd 7c f4 ff ff    	mov    -0xb84(%ebp),%edi
418979:	0f af 85 60 f4 ff ff 	imul   -0xba0(%ebp),%eax
418980:	0f af ca             	imul   %edx,%ecx
418983:	c1 e2 02             	shl    $0x2,%edx
418986:	03 85 74 f4 ff ff    	add    -0xb8c(%ebp),%eax
41898c:	03 8d 54 f4 ff ff    	add    -0xbac(%ebp),%ecx
418992:	8d 0c 8f             	lea    (%edi,%ecx,4),%ecx
418995:	8b bd 5c f4 ff ff    	mov    -0xba4(%ebp),%edi
41899b:	89 95 5c f4 ff ff    	mov    %edx,-0xba4(%ebp)
4189a1:	8b 95 60 f4 ff ff    	mov    -0xba0(%ebp),%edx
4189a7:	c1 e2 02             	shl    $0x2,%edx
4189aa:	8d 04 87             	lea    (%edi,%eax,4),%eax
4189ad:	89 8d 54 f4 ff ff    	mov    %ecx,-0xbac(%ebp)
4189b3:	89 85 74 f4 ff ff    	mov    %eax,-0xb8c(%ebp)
4189b9:	89 95 7c f4 ff ff    	mov    %edx,-0xb84(%ebp)
4189bf:	8b d8                	mov    %eax,%ebx
4189c1:	89 b5 4c f4 ff ff    	mov    %esi,-0xbb4(%ebp)
4189c7:	8d 50 03             	lea    0x3(%eax),%edx
4189ca:	2b d9                	sub    %ecx,%ebx
4189cc:	89 95 60 f4 ff ff    	mov    %edx,-0xba0(%ebp)
4189d2:	8d 79 02             	lea    0x2(%ecx),%edi
4189d5:	89 9d 84 f4 ff ff    	mov    %ebx,-0xb7c(%ebp)
4189db:	0f b6 47 fe          	movzbl -0x2(%edi),%eax
4189df:	0f b6 4f ff          	movzbl -0x1(%edi),%ecx
4189e3:	8d 0c 48             	lea    (%eax,%ecx,2),%ecx
4189e6:	0f b6 07             	movzbl (%edi),%eax
4189e9:	03 c8                	add    %eax,%ecx
4189eb:	c1 e9 02             	shr    $0x2,%ecx
4189ee:	f6 d1                	not    %cl
4189f0:	84 c9                	test   %cl,%cl
4189f2:	0f 84 a9 00 00 00    	je     0x418aa1
4189f8:	8a 1c 3b             	mov    (%ebx,%edi,1),%bl
4189fb:	8b 85 50 f4 ff ff    	mov    -0xbb0(%ebp),%eax
418a01:	0f b6 c0             	movzbl %al,%eax
418a04:	0f b6 f1             	movzbl %cl,%esi
418a07:	0f b6 cb             	movzbl %bl,%ecx
418a0a:	2b c1                	sub    %ecx,%eax
418a0c:	b9 ff 00 00 00       	mov    $0xff,%ecx
418a11:	0f af c6             	imul   %esi,%eax
418a14:	99                   	cltd
418a15:	f7 f9                	idiv   %ecx
418a17:	8b 8d 84 f4 ff ff    	mov    -0xb7c(%ebp),%ecx
418a1d:	02 c3                	add    %bl,%al
418a1f:	88 04 39             	mov    %al,(%ecx,%edi,1)
418a22:	8b 85 60 f4 ff ff    	mov    -0xba0(%ebp),%eax
418a28:	8a 58 fe             	mov    -0x2(%eax),%bl
418a2b:	8b 85 50 f4 ff ff    	mov    -0xbb0(%ebp),%eax
418a31:	0f b6 c4             	movzbl %ah,%eax
418a34:	0f b6 cb             	movzbl %bl,%ecx
418a37:	2b c1                	sub    %ecx,%eax
418a39:	b9 ff 00 00 00       	mov    $0xff,%ecx
418a3e:	0f af c6             	imul   %esi,%eax
418a41:	99                   	cltd
418a42:	f7 f9                	idiv   %ecx
418a44:	8b 8d 60 f4 ff ff    	mov    -0xba0(%ebp),%ecx
418a4a:	02 c3                	add    %bl,%al
418a4c:	88 41 fe             	mov    %al,-0x2(%ecx)
418a4f:	8a 59 fd             	mov    -0x3(%ecx),%bl
418a52:	0f b6 85 3a f4 ff ff 	movzbl -0xbc6(%ebp),%eax
418a59:	0f b6 cb             	movzbl %bl,%ecx
418a5c:	2b c1                	sub    %ecx,%eax
418a5e:	b9 ff 00 00 00       	mov    $0xff,%ecx
418a63:	0f af c6             	imul   %esi,%eax
418a66:	99                   	cltd
418a67:	f7 f9                	idiv   %ecx
418a69:	8b 8d 60 f4 ff ff    	mov    -0xba0(%ebp),%ecx
418a6f:	02 c3                	add    %bl,%al
418a71:	88 41 fd             	mov    %al,-0x3(%ecx)
418a74:	b8 ff 00 00 00       	mov    $0xff,%eax
418a79:	8a 19                	mov    (%ecx),%bl
418a7b:	0f b6 cb             	movzbl %bl,%ecx
418a7e:	2b c1                	sub    %ecx,%eax
418a80:	b9 ff 00 00 00       	mov    $0xff,%ecx
418a85:	0f af c6             	imul   %esi,%eax
418a88:	8b b5 4c f4 ff ff    	mov    -0xbb4(%ebp),%esi
418a8e:	99                   	cltd
418a8f:	f7 f9                	idiv   %ecx
418a91:	8b 95 60 f4 ff ff    	mov    -0xba0(%ebp),%edx
418a97:	02 c3                	add    %bl,%al
418a99:	8b 9d 84 f4 ff ff    	mov    -0xb7c(%ebp),%ebx
418a9f:	88 02                	mov    %al,(%edx)
418aa1:	83 c2 04             	add    $0x4,%edx
418aa4:	83 c7 04             	add    $0x4,%edi
418aa7:	83 ee 01             	sub    $0x1,%esi
418aaa:	89 95 60 f4 ff ff    	mov    %edx,-0xba0(%ebp)
418ab0:	89 b5 4c f4 ff ff    	mov    %esi,-0xbb4(%ebp)
418ab6:	0f 85 1f ff ff ff    	jne    0x4189db
418abc:	8b 8d 54 f4 ff ff    	mov    -0xbac(%ebp),%ecx
418ac2:	8b 85 74 f4 ff ff    	mov    -0xb8c(%ebp),%eax
418ac8:	03 8d 5c f4 ff ff    	add    -0xba4(%ebp),%ecx
418ace:	03 85 7c f4 ff ff    	add    -0xb84(%ebp),%eax
418ad4:	83 ad 48 f4 ff ff 01 	subl   $0x1,-0xbb8(%ebp)
418adb:	8b b5 78 f4 ff ff    	mov    -0xb88(%ebp),%esi
418ae1:	89 8d 54 f4 ff ff    	mov    %ecx,-0xbac(%ebp)
418ae7:	89 85 74 f4 ff ff    	mov    %eax,-0xb8c(%ebp)
418aed:	0f 85 cc fe ff ff    	jne    0x4189bf
418af3:	8b bd 80 f4 ff ff    	mov    -0xb80(%ebp),%edi
418af9:	33 db                	xor    %ebx,%ebx
418afb:	ff b5 40 f4 ff ff    	push   -0xbc0(%ebp)
418b01:	8b 35 1c 40 42 00    	mov    0x42401c,%esi
418b07:	8b ce                	mov    %esi,%ecx
418b09:	ff 15 78 64 42 00    	call   *0x426478
418b0f:	ff d6                	call   *%esi
418b11:	8b 85 64 f4 ff ff    	mov    -0xb9c(%ebp),%eax
418b17:	85 c0                	test   %eax,%eax
418b19:	74 12                	je     0x418b2d
418b1b:	8b 35 3c 40 42 00    	mov    0x42403c,%esi
418b21:	8b ce                	mov    %esi,%ecx
418b23:	50                   	push   %eax
418b24:	57                   	push   %edi
418b25:	ff 15 78 64 42 00    	call   *0x426478
418b2b:	ff d6                	call   *%esi
418b2d:	8b 35 18 40 42 00    	mov    0x424018,%esi
418b33:	8b ce                	mov    %esi,%ecx
418b35:	57                   	push   %edi
418b36:	ff 15 78 64 42 00    	call   *0x426478
418b3c:	ff d6                	call   *%esi
418b3e:	83 bd 70 f4 ff ff 00 	cmpl   $0x0,-0xb90(%ebp)
418b45:	0f 8c 3f 0f 00 00    	jl     0x419a8a
418b4b:	e9 e8 0e 00 00       	jmp    0x419a38
418b50:	33 c9                	xor    %ecx,%ecx
418b52:	41                   	inc    %ecx
418b53:	83 bd f4 f6 ff ff 00 	cmpl   $0x0,-0x90c(%ebp)
418b5a:	75 08                	jne    0x418b64
418b5c:	3b f9                	cmp    %ecx,%edi
418b5e:	74 04                	je     0x418b64
418b60:	b0 c0                	mov    $0xc0,%al
418b62:	eb 02                	jmp    0x418b66
418b64:	0c ff                	or     $0xff,%al
418b66:	8b 35 08 40 42 00    	mov    0x424008,%esi
418b6c:	ff b5 3c f4 ff ff    	push   -0xbc4(%ebp)
418b72:	88 85 76 f4 ff ff    	mov    %al,-0xb8a(%ebp)
418b78:	8b c3                	mov    %ebx,%eax
418b7a:	88 8d 77 f4 ff ff    	mov    %cl,-0xb89(%ebp)
418b80:	8b ce                	mov    %esi,%ecx
418b82:	88 9d 74 f4 ff ff    	mov    %bl,-0xb8c(%ebp)