458935:	8b f1                	mov    %ecx,%esi
458937:	8b 47 04             	mov    0x4(%edi),%eax
45893a:	6a 01                	push   $0x1
45893c:	8b 08                	mov    (%eax),%ecx
45893e:	e8 43 49 fb ff       	call   0x40d286
458943:	50                   	push   %eax
458944:	8b 06                	mov    (%esi),%eax
458946:	8b 48 04             	mov    0x4(%eax),%ecx
458949:	03 ce                	add    %esi,%ecx
45894b:	e8 d1 a9 fa ff       	call   0x403321
458950:	83 7f 08 01          	cmpl   $0x1,0x8(%edi)
458954:	76 0e                	jbe    0x458964
458956:	8b 47 04             	mov    0x4(%edi),%eax
458959:	8b 4d 0c             	mov    0xc(%ebp),%ecx
45895c:	ff 70 04             	push   0x4(%eax)
45895f:	e8 4a 53 fb ff       	call   0x40dcae
458964:	5f                   	pop    %edi
458965:	33 c0                	xor    %eax,%eax
458967:	5e                   	pop    %esi
458968:	5d                   	pop    %ebp
458969:	c2 08 00             	ret    $0x8
45896c:	55                   	push   %ebp
45896d:	8b ec                	mov    %esp,%ebp
45896f:	83 e4 f8             	and    $0xfffffff8,%esp
458972:	51                   	push   %ecx
458973:	56                   	push   %esi
458974:	8b 75 08             	mov    0x8(%ebp),%esi
458977:	83 7e 08 02          	cmpl   $0x2,0x8(%esi)
45897b:	75 20                	jne    0x45899d
45897d:	8b 46 04             	mov    0x4(%esi),%eax
458980:	8b 48 04             	mov    0x4(%eax),%ecx
458983:	e8 fe 48 fb ff       	call   0x40d286
458988:	83 f8 01             	cmp    $0x1,%eax
45898b:	75 10                	jne    0x45899d
45898d:	8b 46 04             	mov    0x4(%esi),%eax
458990:	8b 30                	mov    (%eax),%esi
458992:	8b ce                	mov    %esi,%ecx
458994:	e8 d3 09 fb ff       	call   0x40936c
458999:	b2 01                	mov    $0x1,%dl
45899b:	eb 0e                	jmp    0x4589ab
45899d:	8b 46 04             	mov    0x4(%esi),%eax
4589a0:	8b 30                	mov    (%eax),%esi
4589a2:	8b ce                	mov    %esi,%ecx
4589a4:	e8 c3 09 fb ff       	call   0x40936c
4589a9:	32 d2                	xor    %dl,%dl
4589ab:	8b 4e 08             	mov    0x8(%esi),%ecx
4589ae:	8b 09                	mov    (%ecx),%ecx
4589b0:	e8 24 f1 fe ff       	call   0x447ad9
4589b5:	33 c0                	xor    %eax,%eax
4589b7:	5e                   	pop    %esi
4589b8:	8b e5                	mov    %ebp,%esp
4589ba:	5d                   	pop    %ebp
4589bb:	c2 08 00             	ret    $0x8
4589be:	55                   	push   %ebp
4589bf:	8b ec                	mov    %esp,%ebp
4589c1:	8b 45 08             	mov    0x8(%ebp),%eax
4589c4:	57                   	push   %edi
4589c5:	8b 40 04             	mov    0x4(%eax),%eax
4589c8:	8b f9                	mov    %ecx,%edi
4589ca:	8b 08                	mov    (%eax),%ecx
4589cc:	e8 b5 48 fb ff       	call   0x40d286
4589d1:	6a 64                	push   $0x64
4589d3:	59                   	pop    %ecx
4589d4:	3b c1                	cmp    %ecx,%eax
4589d6:	77 1e                	ja     0x4589f6
4589d8:	69 c0 ff ff 00 00    	imul   $0xffff,%eax,%eax
4589de:	99                   	cltd
4589df:	f7 f9                	idiv   %ecx
4589e1:	0f b7 c0             	movzwl %ax,%eax
4589e4:	8b c8                	mov    %eax,%ecx
4589e6:	c1 e1 10             	shl    $0x10,%ecx
4589e9:	0b c8                	or     %eax,%ecx
4589eb:	51                   	push   %ecx
4589ec:	6a 00                	push   $0x0
4589ee:	ff 15 a4 d7 48 00    	call   *0x48d7a4
4589f4:	eb 24                	jmp    0x458a1a
4589f6:	56                   	push   %esi
4589f7:	8b 75 0c             	mov    0xc(%ebp),%esi
4589fa:	8b ce                	mov    %esi,%ecx
4589fc:	e8 1f a2 fb ff       	call   0x412c20
458a01:	83 26 00             	andl   $0x0,(%esi)
458a04:	33 c0                	xor    %eax,%eax
458a06:	40                   	inc    %eax
458a07:	6a 00                	push   $0x0
458a09:	89 46 0c             	mov    %eax,0xc(%esi)
458a0c:	50                   	push   %eax
458a0d:	8b 07                	mov    (%edi),%eax
458a0f:	8b 48 04             	mov    0x4(%eax),%ecx
458a12:	03 cf                	add    %edi,%ecx
458a14:	e8 33 45 ff ff       	call   0x44cf4c
458a19:	5e                   	pop    %esi
458a1a:	33 c0                	xor    %eax,%eax
458a1c:	5f                   	pop    %edi
458a1d:	5d                   	pop    %ebp
458a1e:	c2 08 00             	ret    $0x8
458a21:	55                   	push   %ebp
458a22:	8b ec                	mov    %esp,%ebp
458a24:	8b 45 08             	mov    0x8(%ebp),%eax
458a27:	6a 00                	push   $0x0
458a29:	ff 70 08             	push   0x8(%eax)
458a2c:	50                   	push   %eax
458a2d:	e8 77 18 00 00       	call   0x45a2a9
458a32:	5d                   	pop    %ebp
458a33:	c2 08 00             	ret    $0x8
458a36:	55                   	push   %ebp
458a37:	8b ec                	mov    %esp,%ebp
458a39:	8b 45 08             	mov    0x8(%ebp),%eax
458a3c:	6a 02                	push   $0x2
458a3e:	ff 70 08             	push   0x8(%eax)
458a41:	50                   	push   %eax
458a42:	e8 62 18 00 00       	call   0x45a2a9
458a47:	5d                   	pop    %ebp
458a48:	c2 08 00             	ret    $0x8
458a4b:	55                   	push   %ebp
458a4c:	8b ec                	mov    %esp,%ebp
458a4e:	8b 45 08             	mov    0x8(%ebp),%eax
458a51:	56                   	push   %esi
458a52:	57                   	push   %edi
458a53:	6a 01                	push   $0x1
458a55:	ff 70 08             	push   0x8(%eax)
458a58:	50                   	push   %eax
458a59:	e8 4b 18 00 00       	call   0x45a2a9
458a5e:	8b 75 0c             	mov    0xc(%ebp),%esi
458a61:	8b 3d dc 10 4c 00    	mov    0x4c10dc,%edi
458a67:	8b ce                	mov    %esi,%ecx
458a69:	e8 b2 a1 fb ff       	call   0x412c20
458a6e:	89 3e                	mov    %edi,(%esi)
458a70:	5f                   	pop    %edi
458a71:	c7 46 0c 07 00 00 00 	movl   $0x7,0xc(%esi)
458a78:	33 c0                	xor    %eax,%eax
458a7a:	5e                   	pop    %esi
458a7b:	5d                   	pop    %ebp
458a7c:	c2 08 00             	ret    $0x8
458a7f:	55                   	push   %ebp
458a80:	8b ec                	mov    %esp,%ebp
458a82:	81 ec 0c 01 00 00    	sub    $0x10c,%esp
458a88:	8b 45 08             	mov    0x8(%ebp),%eax
458a8b:	53                   	push   %ebx
458a8c:	8b 40 04             	mov    0x4(%eax),%eax
458a8f:	56                   	push   %esi
458a90:	8b d9                	mov    %ecx,%ebx
458a92:	8b 08                	mov    (%eax),%ecx
458a94:	57                   	push   %edi
458a95:	e8 ec 47 fb ff       	call   0x40d286
458a9a:	8b b3 98 04 00 00    	mov    0x498(%ebx),%esi
458aa0:	8b f8                	mov    %eax,%edi
458aa2:	8b c6                	mov    %esi,%eax
458aa4:	99                   	cltd
458aa5:	b9 e8 03 00 00       	mov    $0x3e8,%ecx
458aaa:	f7 f9                	idiv   %ecx
458aac:	89 bd f8 fe ff ff    	mov    %edi,-0x108(%ebp)
458ab2:	c7 85 f4 fe ff ff 01 	movl   $0x1,-0x10c(%ebp)
458ab9:	00 00 00
458abc:	89 45 f8             	mov    %eax,-0x8(%ebp)
458abf:	69 c0 e8 03 00 00    	imul   $0x3e8,%eax,%eax
458ac5:	2b f0                	sub    %eax,%esi
458ac7:	69 f6 e8 03 00 00    	imul   $0x3e8,%esi,%esi
458acd:	8d 45 f8             	lea    -0x8(%ebp),%eax
458ad0:	50                   	push   %eax
458ad1:	89 75 fc             	mov    %esi,-0x4(%ebp)
458ad4:	33 f6                	xor    %esi,%esi
458ad6:	56                   	push   %esi
458ad7:	56                   	push   %esi
458ad8:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
458ade:	50                   	push   %eax
458adf:	56                   	push   %esi
458ae0:	ff 15 c8 d7 48 00    	call   *0x48d7c8
458ae6:	85 c0                	test   %eax,%eax
458ae8:	7e 2b                	jle    0x458b15
458aea:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
458af0:	50                   	push   %eax
458af1:	57                   	push   %edi
458af2:	ff 15 b0 d7 48 00    	call   *0x48d7b0
458af8:	85 c0                	test   %eax,%eax
458afa:	74 19                	je     0x458b15
458afc:	56                   	push   %esi
458afd:	56                   	push   %esi
458afe:	57                   	push   %edi
458aff:	ff 15 d4 d7 48 00    	call   *0x48d7d4
458b05:	8b 75 0c             	mov    0xc(%ebp),%esi
458b08:	8b ce                	mov    %esi,%ecx
458b0a:	8b f8                	mov    %eax,%edi
458b0c:	e8 0f a1 fb ff       	call   0x412c20
458b11:	89 3e                	mov    %edi,(%esi)
458b13:	eb 21                	jmp    0x458b36
458b15:	56                   	push   %esi
458b16:	ff 15 f4 d7 48 00    	call   *0x48d7f4
458b1c:	50                   	push   %eax
458b1d:	8b 03                	mov    (%ebx),%eax
458b1f:	8b 48 04             	mov    0x4(%eax),%ecx
458b22:	03 cb                	add    %ebx,%ecx
458b24:	e8 23 44 ff ff       	call   0x44cf4c
458b29:	8b 75 0c             	mov    0xc(%ebp),%esi
458b2c:	8b ce                	mov    %esi,%ecx
458b2e:	e8 ed a0 fb ff       	call   0x412c20
458b33:	83 0e ff             	orl    $0xffffffff,(%esi)
458b36:	5f                   	pop    %edi
458b37:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
458b3e:	5e                   	pop    %esi
458b3f:	33 c0                	xor    %eax,%eax
458b41:	5b                   	pop    %ebx
458b42:	c9                   	leave
458b43:	c2 08 00             	ret    $0x8
458b46:	55                   	push   %ebp
458b47:	8b ec                	mov    %esp,%ebp
458b49:	8b 45 08             	mov    0x8(%ebp),%eax
458b4c:	56                   	push   %esi
458b4d:	8b 40 04             	mov    0x4(%eax),%eax
458b50:	8b f1                	mov    %ecx,%esi
458b52:	8b 08                	mov    (%eax),%ecx
458b54:	e8 2d 47 fb ff       	call   0x40d286
458b59:	50                   	push   %eax
458b5a:	ff 15 e0 d7 48 00    	call   *0x48d7e0
458b60:	85 c0                	test   %eax,%eax
458b62:	74 1b                	je     0x458b7f
458b64:	6a 00                	push   $0x0
458b66:	ff 15 f4 d7 48 00    	call   *0x48d7f4
458b6c:	50                   	push   %eax
458b6d:	8b 06                	mov    (%esi),%eax
458b6f:	8b 48 04             	mov    0x4(%eax),%ecx
458b72:	03 ce                	add    %esi,%ecx
458b74:	e8 d3 43 ff ff       	call   0x44cf4c
458b79:	c6 45 08 00          	movb   $0x0,0x8(%ebp)
458b7d:	eb 04                	jmp    0x458b83
458b7f:	c6 45 08 01          	movb   $0x1,0x8(%ebp)
458b83:	ff 75 08             	push   0x8(%ebp)
458b86:	8b 4d 0c             	mov    0xc(%ebp),%ecx
458b89:	e8 8c 50 fc ff       	call   0x41dc1a
458b8e:	33 c0                	xor    %eax,%eax
458b90:	5e                   	pop    %esi
458b91:	5d                   	pop    %ebp
458b92:	c2 08 00             	ret    $0x8
458b95:	55                   	push   %ebp
458b96:	8b ec                	mov    %esp,%ebp
458b98:	8b 45 08             	mov    0x8(%ebp),%eax
458b9b:	83 ec 10             	sub    $0x10,%esp
458b9e:	8b 40 04             	mov    0x4(%eax),%eax
458ba1:	53                   	push   %ebx
458ba2:	56                   	push   %esi
458ba3:	8b 30                	mov    (%eax),%esi
458ba5:	8b d9                	mov    %ecx,%ebx
458ba7:	57                   	push   %edi
458ba8:	8b 78 04             	mov    0x4(%eax),%edi
458bab:	8b ce                	mov    %esi,%ecx
458bad:	e8 ba 07 fb ff       	call   0x40936c
458bb2:	8b 76 08             	mov    0x8(%esi),%esi
458bb5:	8b cf                	mov    %edi,%ecx
458bb7:	e8 ca 46 fb ff       	call   0x40d286
458bbc:	50                   	push   %eax
458bbd:	56                   	push   %esi
458bbe:	8d 45 f0             	lea    -0x10(%ebp),%eax
458bc1:	50                   	push   %eax
458bc2:	8b cb                	mov    %ebx,%ecx
458bc4:	e8 63 1c 00 00       	call   0x45a82c
458bc9:	84 c0                	test   %al,%al
458bcb:	74 65                	je     0x458c32
458bcd:	6a 06                	push   $0x6
458bcf:	6a 01                	push   $0x1
458bd1:	6a 02                	push   $0x2
458bd3:	ff 15 04 d8 48 00    	call   *0x48d804
458bd9:	8b f8                	mov    %eax,%edi
458bdb:	83 ff ff             	cmp    $0xffffffff,%edi
458bde:	75 17                	jne    0x458bf7
458be0:	6a 00                	push   $0x0
458be2:	ff 15 f4 d7 48 00    	call   *0x48d7f4
458be8:	50                   	push   %eax
458be9:	8b 03                	mov    (%ebx),%eax
458beb:	8b 48 04             	mov    0x4(%eax),%ecx
458bee:	03 cb                	add    %ebx,%ecx
458bf0:	e8 57 43 ff ff       	call   0x44cf4c
458bf5:	eb 3b                	jmp    0x458c32
458bf7:	6a 10                	push   $0x10
458bf9:	8d 45 f0             	lea    -0x10(%ebp),%eax
458bfc:	50                   	push   %eax
458bfd:	57                   	push   %edi
458bfe:	ff 15 e4 d7 48 00    	call   *0x48d7e4
458c04:	85 c0                	test   %eax,%eax
458c06:	75 0e                	jne    0x458c16
458c08:	8b 75 0c             	mov    0xc(%ebp),%esi
458c0b:	8b ce                	mov    %esi,%ecx
458c0d:	e8 0e a0 fb ff       	call   0x412c20
458c12:	89 3e                	mov    %edi,(%esi)
458c14:	eb 29                	jmp    0x458c3f
458c16:	6a 00                	push   $0x0
458c18:	ff 15 f4 d7 48 00    	call   *0x48d7f4
458c1e:	50                   	push   %eax
458c1f:	8b 03                	mov    (%ebx),%eax
458c21:	8b 48 04             	mov    0x4(%eax),%ecx
458c24:	03 cb                	add    %ebx,%ecx
458c26:	e8 21 43 ff ff       	call   0x44cf4c
458c2b:	57                   	push   %edi
458c2c:	ff 15 e0 d7 48 00    	call   *0x48d7e0
458c32:	8b 75 0c             	mov    0xc(%ebp),%esi
458c35:	8b ce                	mov    %esi,%ecx
458c37:	e8 e4 9f fb ff       	call   0x412c20
458c3c:	83 0e ff             	orl    $0xffffffff,(%esi)
458c3f:	5f                   	pop    %edi
458c40:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
458c47:	5e                   	pop    %esi
458c48:	33 c0                	xor    %eax,%eax
458c4a:	5b                   	pop    %ebx
458c4b:	c9                   	leave
458c4c:	c2 08 00             	ret    $0x8
458c4f:	55                   	push   %ebp
458c50:	8b ec                	mov    %esp,%ebp
458c52:	83 ec 14             	sub    $0x14,%esp
458c55:	53                   	push   %ebx
458c56:	56                   	push   %esi
458c57:	8b 75 08             	mov    0x8(%ebp),%esi
458c5a:	57                   	push   %edi
458c5b:	83 7e 08 02          	cmpl   $0x2,0x8(%esi)
458c5f:	8b d9                	mov    %ecx,%ebx
458c61:	c7 45 fc 05 00 00 00 	movl   $0x5,-0x4(%ebp)
458c68:	76 0e                	jbe    0x458c78
458c6a:	8b 46 04             	mov    0x4(%esi),%eax
458c6d:	8b 48 08             	mov    0x8(%eax),%ecx
458c70:	e8 11 46 fb ff       	call   0x40d286
458c75:	89 45 fc             	mov    %eax,-0x4(%ebp)
458c78:	8b 56 04             	mov    0x4(%esi),%edx
458c7b:	8b 32                	mov    (%edx),%esi
458c7d:	8b 7a 04             	mov    0x4(%edx),%edi
458c80:	8b ce                	mov    %esi,%ecx
458c82:	e8 e5 06 fb ff       	call   0x40936c
458c87:	8b 76 08             	mov    0x8(%esi),%esi
458c8a:	8b cf                	mov    %edi,%ecx
458c8c:	e8 f5 45 fb ff       	call   0x40d286
458c91:	50                   	push   %eax
458c92:	56                   	push   %esi
458c93:	8d 45 ec             	lea    -0x14(%ebp),%eax
458c96:	50                   	push   %eax
458c97:	8b cb                	mov    %ebx,%ecx
458c99:	e8 8e 1b 00 00       	call   0x45a82c
458c9e:	84 c0                	test   %al,%al
458ca0:	74 74                	je     0x458d16
458ca2:	6a 06                	push   $0x6
458ca4:	6a 01                	push   $0x1
458ca6:	6a 02                	push   $0x2
458ca8:	ff 15 04 d8 48 00    	call   *0x48d804
458cae:	8b f8                	mov    %eax,%edi
458cb0:	83 ff ff             	cmp    $0xffffffff,%edi
458cb3:	75 17                	jne    0x458ccc
458cb5:	6a 00                	push   $0x0
458cb7:	ff 15 f4 d7 48 00    	call   *0x48d7f4
458cbd:	50                   	push   %eax
458cbe:	8b 03                	mov    (%ebx),%eax
458cc0:	8b 48 04             	mov    0x4(%eax),%ecx
458cc3:	03 cb                	add    %ebx,%ecx
458cc5:	e8 82 42 ff ff       	call   0x44cf4c
458cca:	eb 4a                	jmp    0x458d16
458ccc:	6a 10                	push   $0x10