460706:	7e 31                	jle    0x460739
460708:	8b 46 04             	mov    0x4(%esi),%eax
46070b:	8b b7 ac 01 00 00    	mov    0x1ac(%edi),%esi
460711:	8b 08                	mov    (%eax),%ecx
460713:	e8 6e cb fa ff       	call   0x40d286
460718:	3b c6                	cmp    %esi,%eax
46071a:	7f 1d                	jg     0x460739
46071c:	8b 45 0c             	mov    0xc(%ebp),%eax
46071f:	8b 40 04             	mov    0x4(%eax),%eax
460722:	8b 08                	mov    (%eax),%ecx
460724:	e8 5d cb fa ff       	call   0x40d286
460729:	8d 48 ff             	lea    -0x1(%eax),%ecx
46072c:	8b 87 a8 01 00 00    	mov    0x1a8(%edi),%eax
460732:	8b 04 88             	mov    (%eax,%ecx,4),%eax
460735:	8b 30                	mov    (%eax),%esi
460737:	eb 02                	jmp    0x46073b
460739:	8b f3                	mov    %ebx,%esi
46073b:	85 f6                	test   %esi,%esi
46073d:	75 0f                	jne    0x46074e
46073f:	8b 07                	mov    (%edi),%eax
460741:	53                   	push   %ebx
460742:	8b 48 04             	mov    0x4(%eax),%ecx
460745:	6a 01                	push   $0x1
460747:	03 cf                	add    %edi,%ecx
460749:	e9 c0 00 00 00       	jmp    0x46080e
46074e:	8b 45 0c             	mov    0xc(%ebp),%eax
460751:	6a 04                	push   $0x4
460753:	8b 40 04             	mov    0x4(%eax),%eax
460756:	8b 78 08             	mov    0x8(%eax),%edi
460759:	8b cf                	mov    %edi,%ecx
46075b:	e8 84 ce fa ff       	call   0x40d5e4
460760:	84 c0                	test   %al,%al
460762:	74 2e                	je     0x460792
460764:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
460767:	e8 ce de fb ff       	call   0x41e63a
46076c:	8d 45 d4             	lea    -0x2c(%ebp),%eax
46076f:	50                   	push   %eax
460770:	8d 45 e4             	lea    -0x1c(%ebp),%eax
460773:	50                   	push   %eax
460774:	e8 e5 de fb ff       	call   0x41e65e
460779:	ff 75 d4             	push   -0x2c(%ebp)
46077c:	56                   	push   %esi
46077d:	ff 15 90 d1 48 00    	call   *0x48d190
460783:	8b 7d 08             	mov    0x8(%ebp),%edi
460786:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
460789:	89 07                	mov    %eax,(%edi)
46078b:	e8 a7 c3 fa ff       	call   0x40cb37
460790:	eb 14                	jmp    0x4607a6
460792:	8b cf                	mov    %edi,%ecx
460794:	e8 ed ca fa ff       	call   0x40d286
460799:	50                   	push   %eax
46079a:	56                   	push   %esi
46079b:	ff 15 90 d1 48 00    	call   *0x48d190
4607a1:	8b 7d 08             	mov    0x8(%ebp),%edi
4607a4:	89 07                	mov    %eax,(%edi)
4607a6:	39 1f                	cmp    %ebx,(%edi)
4607a8:	75 6b                	jne    0x460815
4607aa:	8b 45 0c             	mov    0xc(%ebp),%eax
4607ad:	6a 04                	push   $0x4
4607af:	8b 48 04             	mov    0x4(%eax),%ecx
4607b2:	8b 49 08             	mov    0x8(%ecx),%ecx
4607b5:	e8 2a ce fa ff       	call   0x40d5e4
4607ba:	84 c0                	test   %al,%al
4607bc:	74 33                	je     0x4607f1
4607be:	6a 41                	push   $0x41
4607c0:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4607c3:	e8 d1 bf fa ff       	call   0x40c799
4607c8:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
4607cb:	e8 6a de fb ff       	call   0x41e63a
4607d0:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4607d3:	50                   	push   %eax
4607d4:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4607d7:	50                   	push   %eax
4607d8:	e8 81 de fb ff       	call   0x41e65e
4607dd:	ff 75 d4             	push   -0x2c(%ebp)
4607e0:	56                   	push   %esi
4607e1:	ff 15 90 d1 48 00    	call   *0x48d190
4607e7:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
4607ea:	89 07                	mov    %eax,(%edi)
4607ec:	e8 46 c3 fa ff       	call   0x40cb37
4607f1:	39 1f                	cmp    %ebx,(%edi)
4607f3:	75 20                	jne    0x460815
4607f5:	38 5d ff             	cmp    %bl,-0x1(%ebp)
4607f8:	74 07                	je     0x460801
4607fa:	56                   	push   %esi
4607fb:	ff 15 88 d1 48 00    	call   *0x48d188
460801:	8b 55 f4             	mov    -0xc(%ebp),%edx
460804:	53                   	push   %ebx
460805:	8b 02                	mov    (%edx),%eax
460807:	6a 03                	push   $0x3
460809:	8b 48 04             	mov    0x4(%eax),%ecx
46080c:	03 ca                	add    %edx,%ecx
46080e:	e8 39 c7 fe ff       	call   0x44cf4c
460813:	eb 02                	jmp    0x460817
460815:	8b de                	mov    %esi,%ebx
460817:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
46081a:	e8 18 c3 fa ff       	call   0x40cb37
46081f:	5f                   	pop    %edi
460820:	5e                   	pop    %esi
460821:	8b c3                	mov    %ebx,%eax
460823:	5b                   	pop    %ebx
460824:	c9                   	leave
460825:	c2 08 00             	ret    $0x8
460828:	55                   	push   %ebp
460829:	8b ec                	mov    %esp,%ebp
46082b:	83 ec 0c             	sub    $0xc,%esp
46082e:	33 c0                	xor    %eax,%eax
460830:	53                   	push   %ebx
460831:	8b 5d 08             	mov    0x8(%ebp),%ebx
460834:	8b c8                	mov    %eax,%ecx
460836:	89 43 18             	mov    %eax,0x18(%ebx)
460839:	89 43 1c             	mov    %eax,0x1c(%ebx)
46083c:	89 43 2c             	mov    %eax,0x2c(%ebx)
46083f:	89 45 f8             	mov    %eax,-0x8(%ebp)
460842:	39 43 0c             	cmp    %eax,0xc(%ebx)
460845:	0f 8e 0a 02 00 00    	jle    0x460a55
46084b:	56                   	push   %esi
46084c:	57                   	push   %edi
46084d:	8b 7d 10             	mov    0x10(%ebp),%edi
460850:	c1 e7 02             	shl    $0x2,%edi
460853:	89 7d 08             	mov    %edi,0x8(%ebp)
460856:	8b 45 18             	mov    0x18(%ebp),%eax
460859:	8b 04 88             	mov    (%eax,%ecx,4),%eax
46085c:	8b 30                	mov    (%eax),%esi
46085e:	8b ce                	mov    %esi,%ecx
460860:	6b c9 18             	imul   $0x18,%ecx,%ecx
460863:	89 75 10             	mov    %esi,0x10(%ebp)
460866:	8b 54 19 38          	mov    0x38(%ecx,%ebx,1),%edx
46086a:	89 4d fc             	mov    %ecx,-0x4(%ebp)
46086d:	83 fa 10             	cmp    $0x10,%edx
460870:	74 0a                	je     0x46087c
460872:	8d 46 02             	lea    0x2(%esi),%eax
460875:	6b c0 18             	imul   $0x18,%eax,%eax
460878:	83 24 18 00          	andl   $0x0,(%eax,%ebx,1)
46087c:	33 c0                	xor    %eax,%eax
46087e:	89 44 19 44          	mov    %eax,0x44(%ecx,%ebx,1)
460882:	83 fa 10             	cmp    $0x10,%edx
460885:	0f 87 b2 01 00 00    	ja     0x460a3d
46088b:	ff 24 95 e4 0a 46 00 	jmp    *0x460ae4(,%edx,4)
460892:	8b 45 0c             	mov    0xc(%ebp),%eax
460895:	6a 2a                	push   $0x2a
460897:	8b 40 04             	mov    0x4(%eax),%eax
46089a:	8b 04 07             	mov    (%edi,%eax,1),%eax
46089d:	8b c8                	mov    %eax,%ecx
46089f:	89 45 f4             	mov    %eax,-0xc(%ebp)
4608a2:	e8 45 13 fa ff       	call   0x401bec
4608a7:	84 c0                	test   %al,%al
4608a9:	0f 85 f2 01 00 00    	jne    0x460aa1
4608af:	8b 75 f4             	mov    -0xc(%ebp),%esi
4608b2:	8b ce                	mov    %esi,%ecx
4608b4:	e8 b3 8a fa ff       	call   0x40936c
4608b9:	8b 46 08             	mov    0x8(%esi),%eax
4608bc:	ff 30                	push   (%eax)
4608be:	e8 18 04 fc ff       	call   0x420cdb
4608c3:	59                   	pop    %ecx
4608c4:	b9 00 00 01 00       	mov    $0x10000,%ecx
4608c9:	3b c1                	cmp    %ecx,%eax
4608cb:	73 02                	jae    0x4608cf
4608cd:	8b c1                	mov    %ecx,%eax
4608cf:	40                   	inc    %eax
4608d0:	50                   	push   %eax
4608d1:	e8 86 30 fc ff       	call   0x42395c
4608d6:	8b 75 08             	mov    0x8(%ebp),%esi
4608d9:	8b f8                	mov    %eax,%edi
4608db:	8b 45 0c             	mov    0xc(%ebp),%eax
4608de:	59                   	pop    %ecx
4608df:	8b 48 04             	mov    0x4(%eax),%ecx
4608e2:	8b 34 0e             	mov    (%esi,%ecx,1),%esi
4608e5:	8b ce                	mov    %esi,%ecx
4608e7:	e8 80 8a fa ff       	call   0x40936c
4608ec:	8b 4e 08             	mov    0x8(%esi),%ecx
4608ef:	83 ca ff             	or     $0xffffffff,%edx
4608f2:	8b 09                	mov    (%ecx),%ecx
4608f4:	e8 3c 77 fe ff       	call   0x448035
4608f9:	8b f0                	mov    %eax,%esi
4608fb:	56                   	push   %esi
4608fc:	57                   	push   %edi
4608fd:	e8 8e 1c fc ff       	call   0x422590
460902:	56                   	push   %esi
460903:	e8 56 ec fb ff       	call   0x41f55e
460908:	83 c4 0c             	add    $0xc,%esp
46090b:	8b 45 10             	mov    0x10(%ebp),%eax
46090e:	83 c0 02             	add    $0x2,%eax
460911:	6b c0 18             	imul   $0x18,%eax,%eax
460914:	89 3c 18             	mov    %edi,(%eax,%ebx,1)
460917:	8b 45 fc             	mov    -0x4(%ebp),%eax
46091a:	89 7c 18 44          	mov    %edi,0x44(%eax,%ebx,1)
46091e:	8b 7d 08             	mov    0x8(%ebp),%edi
460921:	e9 17 01 00 00       	jmp    0x460a3d
460926:	8b 45 0c             	mov    0xc(%ebp),%eax
460929:	6a 2a                	push   $0x2a
46092b:	8b 40 04             	mov    0x4(%eax),%eax
46092e:	8b 04 07             	mov    (%edi,%eax,1),%eax
460931:	8b c8                	mov    %eax,%ecx
460933:	89 45 f4             	mov    %eax,-0xc(%ebp)
460936:	e8 b1 12 fa ff       	call   0x401bec
46093b:	84 c0                	test   %al,%al
46093d:	0f 85 5e 01 00 00    	jne    0x460aa1
460943:	8b 75 f4             	mov    -0xc(%ebp),%esi
460946:	8b ce                	mov    %esi,%ecx
460948:	e8 1f 8a fa ff       	call   0x40936c
46094d:	8b 46 08             	mov    0x8(%esi),%eax
460950:	ff 30                	push   (%eax)
460952:	e8 84 03 fc ff       	call   0x420cdb
460957:	59                   	pop    %ecx
460958:	b9 00 00 01 00       	mov    $0x10000,%ecx
46095d:	3b c1                	cmp    %ecx,%eax
46095f:	73 02                	jae    0x460963
460961:	8b c1                	mov    %ecx,%eax
460963:	8d 04 45 02 00 00 00 	lea    0x2(,%eax,2),%eax
46096a:	50                   	push   %eax
46096b:	e8 ec 2f fc ff       	call   0x42395c
460970:	8b 75 08             	mov    0x8(%ebp),%esi
460973:	8b f8                	mov    %eax,%edi
460975:	8b 45 0c             	mov    0xc(%ebp),%eax
460978:	59                   	pop    %ecx
460979:	8b 48 04             	mov    0x4(%eax),%ecx
46097c:	8b 34 0e             	mov    (%esi,%ecx,1),%esi
46097f:	8b ce                	mov    %esi,%ecx
460981:	e8 e6 89 fa ff       	call   0x40936c
460986:	8b 4e 08             	mov    0x8(%esi),%ecx
460989:	ff 31                	push   (%ecx)
46098b:	57                   	push   %edi
46098c:	e8 92 03 fc ff       	call   0x420d23
460991:	59                   	pop    %ecx
460992:	59                   	pop    %ecx
460993:	e9 73 ff ff ff       	jmp    0x46090b
460998:	8b 45 0c             	mov    0xc(%ebp),%eax
46099b:	8b 40 04             	mov    0x4(%eax),%eax
46099e:	8b 0c 07             	mov    (%edi,%eax,1),%ecx
4609a1:	e8 e0 c8 fa ff       	call   0x40d286
4609a6:	e9 89 00 00 00       	jmp    0x460a34
4609ab:	8b 45 0c             	mov    0xc(%ebp),%eax
4609ae:	8b 40 04             	mov    0x4(%eax),%eax
4609b1:	8b 0c 07             	mov    (%edi,%eax,1),%ecx
4609b4:	e8 da c5 fa ff       	call   0x40cf93
4609b9:	eb 79                	jmp    0x460a34
4609bb:	8b 45 0c             	mov    0xc(%ebp),%eax
4609be:	8b 40 04             	mov    0x4(%eax),%eax
4609c1:	8b 0c 07             	mov    (%edi,%eax,1),%ecx
4609c4:	e8 bd c8 fa ff       	call   0x40d286
4609c9:	8d 4e 02             	lea    0x2(%esi),%ecx
4609cc:	6b c9 18             	imul   $0x18,%ecx,%ecx
4609cf:	66 89 04 19          	mov    %ax,(%ecx,%ebx,1)
4609d3:	eb 68                	jmp    0x460a3d
4609d5:	8b 45 0c             	mov    0xc(%ebp),%eax
4609d8:	8b 40 04             	mov    0x4(%eax),%eax
4609db:	8b 0c 07             	mov    (%edi,%eax,1),%ecx
4609de:	e8 a3 c8 fa ff       	call   0x40d286
4609e3:	8d 4e 02             	lea    0x2(%esi),%ecx
4609e6:	6b c9 18             	imul   $0x18,%ecx,%ecx
4609e9:	88 04 19             	mov    %al,(%ecx,%ebx,1)
4609ec:	eb 4f                	jmp    0x460a3d
4609ee:	8b 45 0c             	mov    0xc(%ebp),%eax
4609f1:	8b 40 04             	mov    0x4(%eax),%eax
4609f4:	8b 0c 07             	mov    (%edi,%eax,1),%ecx
4609f7:	e8 d4 22 fb ff       	call   0x412cd0
4609fc:	d9 5d 08             	fstps  0x8(%ebp)
4609ff:	d9 45 08             	flds   0x8(%ebp)
460a02:	8d 46 02             	lea    0x2(%esi),%eax
460a05:	6b c0 18             	imul   $0x18,%eax,%eax
460a08:	d9 1c 18             	fstps  (%eax,%ebx,1)
460a0b:	eb 30                	jmp    0x460a3d
460a0d:	8b 45 0c             	mov    0xc(%ebp),%eax
460a10:	8b 40 04             	mov    0x4(%eax),%eax
460a13:	8b 0c 07             	mov    (%edi,%eax,1),%ecx
460a16:	e8 b5 22 fb ff       	call   0x412cd0
460a1b:	8d 46 02             	lea    0x2(%esi),%eax
460a1e:	6b c0 18             	imul   $0x18,%eax,%eax
460a21:	dd 1c 18             	fstpl  (%eax,%ebx,1)
460a24:	eb 17                	jmp    0x460a3d
460a26:	8b 45 0c             	mov    0xc(%ebp),%eax
460a29:	8b 40 04             	mov    0x4(%eax),%eax
460a2c:	8b 0c 07             	mov    (%edi,%eax,1),%ecx
460a2f:	e8 43 ab fe ff       	call   0x44b577
460a34:	8d 4e 02             	lea    0x2(%esi),%ecx
460a37:	6b c9 18             	imul   $0x18,%ecx,%ecx
460a3a:	89 04 19             	mov    %eax,(%ecx,%ebx,1)
460a3d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
460a40:	83 c7 08             	add    $0x8,%edi
460a43:	41                   	inc    %ecx
460a44:	89 7d 08             	mov    %edi,0x8(%ebp)
460a47:	89 4d f8             	mov    %ecx,-0x8(%ebp)
460a4a:	3b 4b 0c             	cmp    0xc(%ebx),%ecx
460a4d:	0f 8c 03 fe ff ff    	jl     0x460856
460a53:	5f                   	pop    %edi
460a54:	5e                   	pop    %esi
460a55:	8d 4d 14             	lea    0x14(%ebp),%ecx
460a58:	e8 c9 ed ff ff       	call   0x45f826
460a5d:	5b                   	pop    %ebx
460a5e:	c9                   	leave
460a5f:	c2 1c 00             	ret    $0x1c
460a62:	8b 45 0c             	mov    0xc(%ebp),%eax
460a65:	8b 40 04             	mov    0x4(%eax),%eax
460a68:	8b 0c 07             	mov    (%edi,%eax,1),%ecx
460a6b:	e8 23 c5 fa ff       	call   0x40cf93
460a70:	8d 4e 02             	lea    0x2(%esi),%ecx
460a73:	6b c9 18             	imul   $0x18,%ecx,%ecx
460a76:	89 54 19 04          	mov    %edx,0x4(%ecx,%ebx,1)
460a7a:	eb be                	jmp    0x460a3a
460a7c:	8b 45 0c             	mov    0xc(%ebp),%eax
460a7f:	8b 40 04             	mov    0x4(%eax),%eax
460a82:	8b 14 07             	mov    (%edi,%eax,1),%edx
460a85:	8b ca                	mov    %edx,%ecx
460a87:	e8 9c aa fe ff       	call   0x44b528
460a8c:	84 c0                	test   %al,%al
460a8e:	74 11                	je     0x460aa1
460a90:	83 7a 0c 08          	cmpl   $0x8,0xc(%edx)
460a94:	75 04                	jne    0x460a9a
460a96:	8b 02                	mov    (%edx),%eax
460a98:	eb 02                	jmp    0x460a9c
460a9a:	33 c0                	xor    %eax,%eax
460a9c:	8b 40 08             	mov    0x8(%eax),%eax
460a9f:	eb 93                	jmp    0x460a34
460aa1:	8d 46 02             	lea    0x2(%esi),%eax
460aa4:	6b c0 18             	imul   $0x18,%eax,%eax
460aa7:	83 24 18 00          	andl   $0x0,(%eax,%ebx,1)
460aab:	eb 90                	jmp    0x460a3d
460aad:	39 44 19 3c          	cmp    %eax,0x3c(%ecx,%ebx,1)
460ab1:	74 8a                	je     0x460a3d
460ab3:	89 44 19 3c          	mov    %eax,0x3c(%ecx,%ebx,1)
460ab7:	8b 45 0c             	mov    0xc(%ebp),%eax
460aba:	6a 0c                	push   $0xc
460abc:	8b 40 04             	mov    0x4(%eax),%eax
460abf:	8b 04 07             	mov    (%edi,%eax,1),%eax
460ac2:	8b c8                	mov    %eax,%ecx
460ac4:	89 45 08             	mov    %eax,0x8(%ebp)
460ac7:	e8 18 cb fa ff       	call   0x40d5e4
460acc:	8b 4d 08             	mov    0x8(%ebp),%ecx
460acf:	84 c0                	test   %al,%al
460ad1:	0f 84 58 ff ff ff    	je     0x460a2f
460ad7:	83 79 0c 0c          	cmpl   $0xc,0xc(%ecx)
460adb:	75 bd                	jne    0x460a9a
460add:	8b 01                	mov    (%ecx),%eax
460adf:	eb bb                	jmp    0x460a9c
460ae1:	8d 49 00             	lea    0x0(%ecx),%ecx
460ae4:	d5 09                	aad    $0x9
460ae6:	46                   	inc    %esi
460ae7:	00 d5                	add    %dl,%ch
460ae9:	09 46 00             	or     %eax,0x0(%esi)
460aec:	bb 09 46 00 bb       	mov    $0xbb004609,%ebx
460af1:	09 46 00             	or     %eax,0x0(%esi)
460af4:	98                   	cwtl
460af5:	09 46 00             	or     %eax,0x0(%esi)
460af8:	ab                   	stos   %eax,%es:(%edi)
460af9:	09 46 00             	or     %eax,0x0(%esi)
460afc:	92                   	xchg   %eax,%edx
460afd:	08 46 00             	or     %al,0x0(%esi)
460b00:	26 09 46 00          	or     %eax,%es:0x0(%esi)
460b04:	26 0a 46 00          	or     %es:0x0(%esi),%al