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
460b08:	ee                   	out    %al,(%dx)
460b09:	09 46 00             	or     %eax,0x0(%esi)
460b0c:	0d 0a 46 00 ab       	or     $0xab00460a,%eax
460b11:	09 46 00             	or     %eax,0x0(%esi)
460b14:	ab                   	stos   %eax,%es:(%edi)
460b15:	09 46 00             	or     %eax,0x0(%esi)
460b18:	62 0a                	bound  %ecx,(%edx)
460b1a:	46                   	inc    %esi
460b1b:	00 62 0a             	add    %ah,0xa(%edx)
460b1e:	46                   	inc    %esi
460b1f:	00 7c 0a 46          	add    %bh,0x46(%edx,%ecx,1)
460b23:	00 ad 0a 46 00 55    	add    %ch,0x5500460a(%ebp)
460b29:	8b ec                	mov    %esp,%ebp
460b2b:	5d                   	pop    %ebp
460b2c:	e9 00 00 00 00       	jmp    0x460b31
460b31:	55                   	push   %ebp
460b32:	8b ec                	mov    %esp,%ebp
460b34:	83 e4 f8             	and    $0xfffffff8,%esp
460b37:	83 ec 1c             	sub    $0x1c,%esp
460b3a:	83 3d 5c 12 4c 00 01 	cmpl   $0x1,0x4c125c
460b41:	53                   	push   %ebx
460b42:	56                   	push   %esi
460b43:	57                   	push   %edi
460b44:	75 09                	jne    0x460b4f
460b46:	33 c0                	xor    %eax,%eax
460b48:	33 d2                	xor    %edx,%edx
460b4a:	e9 f3 00 00 00       	jmp    0x460c42
460b4f:	8b 75 08             	mov    0x8(%ebp),%esi
460b52:	8a 1d a9 12 4c 00    	mov    0x4c12a9,%bl
460b58:	8b 46 04             	mov    0x4(%esi),%eax
460b5b:	b9 60 11 4c 00       	mov    $0x4c1160,%ecx
460b60:	ff 30                	push   (%eax)
460b62:	c6 05 b7 10 4c 00 01 	movb   $0x1,0x4c10b7
460b69:	88 5c 24 17          	mov    %bl,0x17(%esp)
460b6d:	e8 38 11 fa ff       	call   0x401caa
460b72:	8a 48 20             	mov    0x20(%eax),%cl
460b75:	88 0d a9 12 4c 00    	mov    %cl,0x4c12a9
460b7b:	ff 70 10             	push   0x10(%eax)
460b7e:	89 44 24 18          	mov    %eax,0x18(%esp)
460b82:	e8 c6 1f fa ff       	call   0x402b4d
460b87:	33 c0                	xor    %eax,%eax
460b89:	89 44 24 18          	mov    %eax,0x18(%esp)
460b8d:	89 44 24 20          	mov    %eax,0x20(%esp)
460b91:	c7 44 24 24 01 00 00 	movl   $0x1,0x24(%esp)
460b98:	00
460b99:	8b f8                	mov    %eax,%edi
460b9b:	39 46 1c             	cmp    %eax,0x1c(%esi)
460b9e:	7e 33                	jle    0x460bd3
460ba0:	8d 5e 40             	lea    0x40(%esi),%ebx
460ba3:	8d 44 24 18          	lea    0x18(%esp),%eax
460ba7:	50                   	push   %eax
460ba8:	53                   	push   %ebx
460ba9:	e8 61 f8 ff ff       	call   0x46040f
460bae:	6a 01                	push   $0x1
460bb0:	68 00 02 00 00       	push   $0x200
460bb5:	8d 44 24 20          	lea    0x20(%esp),%eax
460bb9:	50                   	push   %eax
460bba:	8b 46 04             	mov    0x4(%esi),%eax
460bbd:	ff 74 b8 04          	push   0x4(%eax,%edi,4)
460bc1:	e8 23 cb fa ff       	call   0x40d6e9
460bc6:	47                   	inc    %edi
460bc7:	83 c3 18             	add    $0x18,%ebx
460bca:	3b 7e 1c             	cmp    0x1c(%esi),%edi
460bcd:	7c d4                	jl     0x460ba3
460bcf:	8a 5c 24 13          	mov    0x13(%esp),%bl
460bd3:	8d 44 24 18          	lea    0x18(%esp),%eax
460bd7:	50                   	push   %eax
460bd8:	8b 44 24 18          	mov    0x18(%esp),%eax
460bdc:	6a 00                	push   $0x0
460bde:	8b 40 10             	mov    0x10(%eax),%eax
460be1:	40                   	inc    %eax
460be2:	50                   	push   %eax
460be3:	b9 60 11 4c 00       	mov    $0x4c1160,%ecx
460be8:	e8 c1 1e fa ff       	call   0x402aae
460bed:	b9 f0 20 4c 00       	mov    $0x4c20f0,%ecx
460bf2:	e8 e9 d1 fa ff       	call   0x40dde0
460bf7:	8b 46 30             	mov    0x30(%esi),%eax
460bfa:	8d 4c 24 18          	lea    0x18(%esp),%ecx
460bfe:	83 e8 09             	sub    $0x9,%eax
460c01:	74 0e                	je     0x460c11
460c03:	48                   	dec    %eax
460c04:	74 0b                	je     0x460c11
460c06:	e8 88 c3 fa ff       	call   0x40cf93
460c0b:	8b f0                	mov    %eax,%esi
460c0d:	8b fa                	mov    %edx,%edi
460c0f:	eb 17                	jmp    0x460c28
460c11:	e8 ba 20 fb ff       	call   0x412cd0
460c16:	dd 1d 00 16 4c 00    	fstpl  0x4c1600
460c1c:	8b 3d 04 16 4c 00    	mov    0x4c1604,%edi
460c22:	8b 35 00 16 4c 00    	mov    0x4c1600,%esi
460c28:	8d 4c 24 18          	lea    0x18(%esp),%ecx
460c2c:	c6 05 b7 10 4c 00 00 	movb   $0x0,0x4c10b7
460c33:	88 1d a9 12 4c 00    	mov    %bl,0x4c12a9
460c39:	e8 e2 1f fb ff       	call   0x412c20
460c3e:	8b c6                	mov    %esi,%eax
460c40:	8b d7                	mov    %edi,%edx
460c42:	5f                   	pop    %edi
460c43:	5e                   	pop    %esi
460c44:	5b                   	pop    %ebx
460c45:	8b e5                	mov    %ebp,%esp
460c47:	5d                   	pop    %ebp
460c48:	c2 04 00             	ret    $0x4
460c4b:	55                   	push   %ebp
460c4c:	8b ec                	mov    %esp,%ebp
460c4e:	83 ec 14             	sub    $0x14,%esp
460c51:	53                   	push   %ebx
460c52:	56                   	push   %esi
460c53:	57                   	push   %edi
460c54:	ff 75 08             	push   0x8(%ebp)
460c57:	e8 4e 10 fa ff       	call   0x401caa
460c5c:	8b f0                	mov    %eax,%esi
460c5e:	85 f6                	test   %esi,%esi
460c60:	75 07                	jne    0x460c69
460c62:	32 c0                	xor    %al,%al
460c64:	e9 8c 00 00 00       	jmp    0x460cf5
460c69:	8b 46 18             	mov    0x18(%esi),%eax
460c6c:	3b 46 14             	cmp    0x14(%esi),%eax
460c6f:	75 f1                	jne    0x460c62
460c71:	ff 75 08             	push   0x8(%ebp)
460c74:	8b 4d 0c             	mov    0xc(%ebp),%ecx
460c77:	e8 53 58 fa ff       	call   0x4064cf
460c7c:	ff 76 10             	push   0x10(%esi)
460c7f:	e8 c4 51 fa ff       	call   0x405e48
460c84:	80 7e 20 00          	cmpb   $0x0,0x20(%esi)
460c88:	6a 03                	push   $0x3
460c8a:	89 45 08             	mov    %eax,0x8(%ebp)
460c8d:	5f                   	pop    %edi
460c8e:	74 03                	je     0x460c93
460c90:	6a 04                	push   $0x4
460c92:	5f                   	pop    %edi
460c93:	33 db                	xor    %ebx,%ebx
460c95:	39 5e 14             	cmp    %ebx,0x14(%esi)
460c98:	7e 59                	jle    0x460cf3
460c9a:	c1 e7 02             	shl    $0x2,%edi
460c9d:	8d 4d f0             	lea    -0x10(%ebp),%ecx
460ca0:	e8 52 cb fa ff       	call   0x40d7f7
460ca5:	85 db                	test   %ebx,%ebx
460ca7:	74 13                	je     0x460cbc
460ca9:	8b 45 08             	mov    0x8(%ebp),%eax
460cac:	8b 40 04             	mov    0x4(%eax),%eax
460caf:	8b 04 38             	mov    (%eax,%edi,1),%eax
460cb2:	66 83 78 08 40       	cmpw   $0x40,0x8(%eax)
460cb7:	75 43                	jne    0x460cfc
460cb9:	83 c7 04             	add    $0x4,%edi
460cbc:	8b 45 08             	mov    0x8(%ebp),%eax
460cbf:	8b 40 04             	mov    0x4(%eax),%eax
460cc2:	8b 04 07             	mov    (%edi,%eax,1),%eax
460cc5:	66 83 78 08 33       	cmpw   $0x33,0x8(%eax)
460cca:	75 30                	jne    0x460cfc
460ccc:	ff 30                	push   (%eax)
460cce:	8d 4d f0             	lea    -0x10(%ebp),%ecx
460cd1:	e8 17 62 fa ff       	call   0x406eed
460cd6:	8b 4d 0c             	mov    0xc(%ebp),%ecx
460cd9:	8d 45 f0             	lea    -0x10(%ebp),%eax
460cdc:	50                   	push   %eax
460cdd:	e8 ed 57 fa ff       	call   0x4064cf
460ce2:	8d 4d f0             	lea    -0x10(%ebp),%ecx
460ce5:	83 c7 04             	add    $0x4,%edi
460ce8:	e8 4a be fa ff       	call   0x40cb37
460ced:	43                   	inc    %ebx
460cee:	3b 5e 14             	cmp    0x14(%esi),%ebx
460cf1:	7c aa                	jl     0x460c9d
460cf3:	b0 01                	mov    $0x1,%al
460cf5:	5f                   	pop    %edi
460cf6:	5e                   	pop    %esi
460cf7:	5b                   	pop    %ebx
460cf8:	c9                   	leave
460cf9:	c2 08 00             	ret    $0x8
460cfc:	8d 4d f0             	lea    -0x10(%ebp),%ecx
460cff:	e8 33 be fa ff       	call   0x40cb37
460d04:	e9 59 ff ff ff       	jmp    0x460c62
460d09:	55                   	push   %ebp
460d0a:	8b ec                	mov    %esp,%ebp
460d0c:	6a 00                	push   $0x0
460d0e:	ff 75 0c             	push   0xc(%ebp)