4568bc:	c2 10 00             	ret    $0x10
4568bf:	55                   	push   %ebp
4568c0:	8b ec                	mov    %esp,%ebp
4568c2:	51                   	push   %ecx
4568c3:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
4568c7:	53                   	push   %ebx
4568c8:	56                   	push   %esi
4568c9:	57                   	push   %edi
4568ca:	8b f9                	mov    %ecx,%edi
4568cc:	8b 87 f4 00 00 00    	mov    0xf4(%edi),%eax
4568d2:	8d b7 5c 01 00 00    	lea    0x15c(%edi),%esi
4568d8:	8b 1e                	mov    (%esi),%ebx
4568da:	89 45 fc             	mov    %eax,-0x4(%ebp)
4568dd:	74 08                	je     0x4568e7
4568df:	ff 75 08             	push   0x8(%ebp)
4568e2:	e8 7a 1c fb ff       	call   0x408561
4568e7:	ff 75 08             	push   0x8(%ebp)
4568ea:	8b cf                	mov    %edi,%ecx
4568ec:	e8 3f a2 fb ff       	call   0x410b30
4568f1:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
4568f5:	74 13                	je     0x45690a
4568f7:	b9 80 72 4c 00       	mov    $0x4c7280,%ecx
4568fc:	e8 3e 1b fb ff       	call   0x40843f
456901:	eb 07                	jmp    0x45690a
456903:	8b ce                	mov    %esi,%ecx
456905:	e8 c5 94 fc ff       	call   0x41fdcf
45690a:	3b 1e                	cmp    (%esi),%ebx
45690c:	72 f5                	jb     0x456903
45690e:	8b 45 fc             	mov    -0x4(%ebp),%eax
456911:	89 87 f4 00 00 00    	mov    %eax,0xf4(%edi)
456917:	5f                   	pop    %edi
456918:	5e                   	pop    %esi
456919:	5b                   	pop    %ebx
45691a:	8b e5                	mov    %ebp,%esp
45691c:	5d                   	pop    %ebp
45691d:	c2 08 00             	ret    $0x8
456920:	55                   	push   %ebp
456921:	8b ec                	mov    %esp,%ebp
456923:	83 ec 1c             	sub    $0x1c,%esp
456926:	80 3d 81 62 4c 00 00 	cmpb   $0x0,0x4c6281
45692d:	57                   	push   %edi
45692e:	8b f9                	mov    %ecx,%edi
456930:	74 10                	je     0x456942
456932:	80 bf 45 01 00 00 00 	cmpb   $0x0,0x145(%edi)
456939:	75 07                	jne    0x456942
45693b:	33 c0                	xor    %eax,%eax
45693d:	e9 09 01 00 00       	jmp    0x456a4b
456942:	33 c0                	xor    %eax,%eax
456944:	38 05 e8 67 4c 00    	cmp    %al,0x4c67e8
45694a:	74 08                	je     0x456954
45694c:	39 87 f8 00 00 00    	cmp    %eax,0xf8(%edi)
456952:	74 e7                	je     0x45693b
456954:	6a 01                	push   $0x1
456956:	50                   	push   %eax
456957:	50                   	push   %eax
456958:	50                   	push   %eax
456959:	8d 45 e4             	lea    -0x1c(%ebp),%eax
45695c:	50                   	push   %eax
45695d:	ff 15 f0 f6 48 00    	call   *0x48f6f0
456963:	85 c0                	test   %eax,%eax
456965:	0f 84 a2 00 00 00    	je     0x456a0d
45696b:	56                   	push   %esi
45696c:	33 f6                	xor    %esi,%esi
45696e:	83 7d e8 12          	cmpl   $0x12,-0x18(%ebp)
456972:	0f 84 83 00 00 00    	je     0x4569fb
456978:	8b 0d d8 67 4c 00    	mov    0x4c67d8,%ecx
45697e:	83 f9 ff             	cmp    $0xffffffff,%ecx
456981:	74 39                	je     0x4569bc
456983:	3b 0d 14 68 4c 00    	cmp    0x4c6814,%ecx
456989:	7d 2a                	jge    0x4569b5
45698b:	a1 10 68 4c 00       	mov    0x4c6810,%eax
456990:	8b 0c 88             	mov    (%eax,%ecx,4),%ecx
456993:	8b 01                	mov    (%ecx),%eax
456995:	85 c0                	test   %eax,%eax
456997:	74 1c                	je     0x4569b5
456999:	39 70 18             	cmp    %esi,0x18(%eax)
45699c:	74 17                	je     0x4569b5
45699e:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4569a1:	50                   	push   %eax
4569a2:	8b 01                	mov    (%ecx),%eax
4569a4:	ff 70 18             	push   0x18(%eax)
4569a7:	ff 30                	push   (%eax)
4569a9:	ff 15 20 f5 48 00    	call   *0x48f520
4569af:	85 c0                	test   %eax,%eax
4569b1:	75 2f                	jne    0x4569e2
4569b3:	eb 07                	jmp    0x4569bc
4569b5:	83 0d d8 67 4c 00 ff 	orl    $0xffffffff,0x4c67d8
4569bc:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4569bf:	b9 b0 67 4c 00       	mov    $0x4c67b0,%ecx
4569c4:	50                   	push   %eax
4569c5:	e8 04 c8 fa ff       	call   0x4031ce
4569ca:	85 c0                	test   %eax,%eax
4569cc:	75 14                	jne    0x4569e2
4569ce:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4569d1:	50                   	push   %eax
4569d2:	ff 15 ec f6 48 00    	call   *0x48f6ec
4569d8:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4569db:	50                   	push   %eax
4569dc:	ff 15 e8 f6 48 00    	call   *0x48f6e8
4569e2:	6a 01                	push   $0x1
4569e4:	56                   	push   %esi
4569e5:	56                   	push   %esi
4569e6:	56                   	push   %esi
4569e7:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4569ea:	50                   	push   %eax
4569eb:	ff 15 f0 f6 48 00    	call   *0x48f6f0
4569f1:	85 c0                	test   %eax,%eax
4569f3:	0f 85 75 ff ff ff    	jne    0x45696e
4569f9:	eb 11                	jmp    0x456a0c
4569fb:	c6 87 fc 00 00 00 01 	movb   $0x1,0xfc(%edi)
456a02:	c7 87 f8 00 00 00 01 	movl   $0x1,0xf8(%edi)
456a09:	00 00 00
456a0c:	5e                   	pop    %esi
456a0d:	80 3d 82 62 4c 00 01 	cmpb   $0x1,0x4c6282
456a14:	75 18                	jne    0x456a2e
456a16:	33 c0                	xor    %eax,%eax
456a18:	c7 87 f8 00 00 00 01 	movl   $0x1,0xf8(%edi)
456a1f:	00 00 00
456a22:	a2 87 62 4c 00       	mov    %al,0x4c6287
456a27:	a2 82 62 4c 00       	mov    %al,0x4c6282
456a2c:	eb 05                	jmp    0x456a33
456a2e:	a0 87 62 4c 00       	mov    0x4c6287,%al
456a33:	83 bf f8 00 00 00 01 	cmpl   $0x1,0xf8(%edi)
456a3a:	75 05                	jne    0x456a41
456a3c:	33 c0                	xor    %eax,%eax
456a3e:	40                   	inc    %eax
456a3f:	eb 0a                	jmp    0x456a4b
456a41:	0f b6 c0             	movzbl %al,%eax
456a44:	f7 d8                	neg    %eax
456a46:	1b c0                	sbb    %eax,%eax
456a48:	83 e0 0b             	and    $0xb,%eax
456a4b:	5f                   	pop    %edi
456a4c:	8b e5                	mov    %ebp,%esp
456a4e:	5d                   	pop    %ebp
456a4f:	c3                   	ret
456a50:	55                   	push   %ebp
456a51:	8b ec                	mov    %esp,%ebp
456a53:	56                   	push   %esi
456a54:	ff 75 08             	push   0x8(%ebp)
456a57:	8d 71 04             	lea    0x4(%ecx),%esi
456a5a:	8b ce                	mov    %esi,%ecx
456a5c:	e8 39 95 fc ff       	call   0x41ff9a
456a61:	8b c8                	mov    %eax,%ecx
456a63:	e8 34 34 fb ff       	call   0x409e9c
456a68:	8b ce                	mov    %esi,%ecx
456a6a:	e8 2b 95 fc ff       	call   0x41ff9a
456a6f:	8a 4d 0c             	mov    0xc(%ebp),%cl
456a72:	5e                   	pop    %esi
456a73:	88 48 10             	mov    %cl,0x10(%eax)
456a76:	5d                   	pop    %ebp
456a77:	c2 08 00             	ret    $0x8
456a7a:	55                   	push   %ebp
456a7b:	8b ec                	mov    %esp,%ebp
456a7d:	56                   	push   %esi
456a7e:	ff 75 08             	push   0x8(%ebp)
456a81:	8d 71 04             	lea    0x4(%ecx),%esi
456a84:	8b ce                	mov    %esi,%ecx
456a86:	e8 0f 95 fc ff       	call   0x41ff9a
456a8b:	8d 48 20             	lea    0x20(%eax),%ecx
456a8e:	e8 09 34 fb ff       	call   0x409e9c
456a93:	8b ce                	mov    %esi,%ecx
456a95:	e8 00 95 fc ff       	call   0x41ff9a
456a9a:	5e                   	pop    %esi
456a9b:	c6 40 30 00          	movb   $0x0,0x30(%eax)
456a9f:	5d                   	pop    %ebp
456aa0:	c2 08 00             	ret    $0x8
456aa3:	55                   	push   %ebp
456aa4:	8b ec                	mov    %esp,%ebp
456aa6:	56                   	push   %esi
456aa7:	8d 71 04             	lea    0x4(%ecx),%esi
456aaa:	8b ce                	mov    %esi,%ecx
456aac:	e8 e9 94 fc ff       	call   0x41ff9a
456ab1:	8b 55 08             	mov    0x8(%ebp),%edx
456ab4:	8b ce                	mov    %esi,%ecx
456ab6:	89 50 14             	mov    %edx,0x14(%eax)
456ab9:	e8 dc 94 fc ff       	call   0x41ff9a
456abe:	8a 4d 0c             	mov    0xc(%ebp),%cl
456ac1:	5e                   	pop    %esi
456ac2:	88 48 18             	mov    %cl,0x18(%eax)
456ac5:	5d                   	pop    %ebp
456ac6:	c2 08 00             	ret    $0x8
456ac9:	55                   	push   %ebp
456aca:	8b ec                	mov    %esp,%ebp
456acc:	56                   	push   %esi
456acd:	57                   	push   %edi
456ace:	8b 7d 08             	mov    0x8(%ebp),%edi
456ad1:	8b f1                	mov    %ecx,%esi
456ad3:	66 8b 47 08          	mov    0x8(%edi),%ax
456ad7:	66 89 46 08          	mov    %ax,0x8(%esi)
456adb:	66 8b 47 0a          	mov    0xa(%edi),%ax
456adf:	66 89 46 0a          	mov    %ax,0xa(%esi)
456ae3:	e8 a2 f4 fa ff       	call   0x405f8a
456ae8:	84 c0                	test   %al,%al
456aea:	74 30                	je     0x456b1c
456aec:	6a 10                	push   $0x10
456aee:	e8 03 a5 fc ff       	call   0x420ff6
456af3:	8b d0                	mov    %eax,%edx
456af5:	59                   	pop    %ecx
456af6:	85 d2                	test   %edx,%edx
456af8:	74 1c                	je     0x456b16
456afa:	8b 07                	mov    (%edi),%eax
456afc:	8b 08                	mov    (%eax),%ecx
456afe:	89 0a                	mov    %ecx,(%edx)
456b00:	8b 48 04             	mov    0x4(%eax),%ecx
456b03:	89 4a 04             	mov    %ecx,0x4(%edx)
456b06:	8b 48 08             	mov    0x8(%eax),%ecx
456b09:	89 4a 08             	mov    %ecx,0x8(%edx)
456b0c:	8b 40 0c             	mov    0xc(%eax),%eax
456b0f:	89 42 0c             	mov    %eax,0xc(%edx)
456b12:	ff 00                	incl   (%eax)
456b14:	eb 02                	jmp    0x456b18
456b16:	33 d2                	xor    %edx,%edx
456b18:	89 16                	mov    %edx,(%esi)
456b1a:	eb 26                	jmp    0x456b42
456b1c:	0f b7 46 08          	movzwl 0x8(%esi),%eax
456b20:	66 83 f8 10          	cmp    $0x10,%ax
456b24:	75 0c                	jne    0x456b32
456b26:	8b 07                	mov    (%edi),%eax
456b28:	89 06                	mov    %eax,(%esi)
456b2a:	8b 47 04             	mov    0x4(%edi),%eax
456b2d:	89 46 04             	mov    %eax,0x4(%esi)
456b30:	eb 10                	jmp    0x456b42
456b32:	66 83 f8 20          	cmp    $0x20,%ax
456b36:	75 06                	jne    0x456b3e
456b38:	dd 07                	fldl   (%edi)
456b3a:	dd 1e                	fstpl  (%esi)
456b3c:	eb 04                	jmp    0x456b42
456b3e:	8b 07                	mov    (%edi),%eax
456b40:	89 06                	mov    %eax,(%esi)
456b42:	5f                   	pop    %edi
456b43:	8b c6                	mov    %esi,%eax
456b45:	5e                   	pop    %esi
456b46:	5d                   	pop    %ebp
456b47:	c2 04 00             	ret    $0x4
456b4a:	56                   	push   %esi
456b4b:	8b f1                	mov    %ecx,%esi
456b4d:	e8 a9 f3 fa ff       	call   0x405efb
456b52:	56                   	push   %esi
456b53:	e8 14 a5 fc ff       	call   0x42106c
456b58:	59                   	pop    %ecx
456b59:	8b c6                	mov    %esi,%eax
456b5b:	5e                   	pop    %esi
456b5c:	c2 04 00             	ret    $0x4
456b5f:	0f b7 41 08          	movzwl 0x8(%ecx),%eax
456b63:	66 83 f8 41          	cmp    $0x41,%ax
456b67:	74 21                	je     0x456b8a
456b69:	66 83 f8 52          	cmp    $0x52,%ax
456b6d:	74 1b                	je     0x456b8a
456b6f:	66 83 f8 53          	cmp    $0x53,%ax
456b73:	74 15                	je     0x456b8a
456b75:	66 83 f8 54          	cmp    $0x54,%ax
456b79:	74 0f                	je     0x456b8a
456b7b:	66 83 f8 55          	cmp    $0x55,%ax
456b7f:	74 09                	je     0x456b8a
456b81:	66 83 f8 56          	cmp    $0x56,%ax
456b85:	74 03                	je     0x456b8a
456b87:	33 c0                	xor    %eax,%eax
456b89:	c3                   	ret
456b8a:	33 c0                	xor    %eax,%eax
456b8c:	40                   	inc    %eax
456b8d:	c3                   	ret
456b8e:	56                   	push   %esi
456b8f:	8b f1                	mov    %ecx,%esi
456b91:	8d 4e 20             	lea    0x20(%esi),%ecx
456b94:	e8 87 2e fb ff       	call   0x409a20
456b99:	8d 4e 10             	lea    0x10(%esi),%ecx
456b9c:	e8 7f 2e fb ff       	call   0x409a20
456ba1:	56                   	push   %esi
456ba2:	e8 c5 a4 fc ff       	call   0x42106c
456ba7:	59                   	pop    %ecx
456ba8:	8b c6                	mov    %esi,%eax
456baa:	5e                   	pop    %esi
456bab:	c2 04 00             	ret    $0x4
456bae:	55                   	push   %ebp
456baf:	8b ec                	mov    %esp,%ebp
456bb1:	56                   	push   %esi
456bb2:	57                   	push   %edi
456bb3:	ff 75 08             	push   0x8(%ebp)
456bb6:	b9 b0 67 4c 00       	mov    $0x4c67b0,%ecx
456bbb:	e8 52 ba fa ff       	call   0x402612
456bc0:	8b 0d 10 68 4c 00    	mov    0x4c6810,%ecx
456bc6:	6a 0f                	push   $0xf
456bc8:	8b 04 81             	mov    (%ecx,%eax,4),%eax
456bcb:	8b 30                	mov    (%eax),%esi
456bcd:	ff 15 28 f5 48 00    	call   *0x48f528
456bd3:	83 7e 4c ff          	cmpl   $0xffffffff,0x4c(%esi)
456bd7:	8b f8                	mov    %eax,%edi
456bd9:	74 03                	je     0x456bde
456bdb:	8b 7e 4c             	mov    0x4c(%esi),%edi
456bde:	57                   	push   %edi
456bdf:	ff 75 0c             	push   0xc(%ebp)
456be2:	ff 15 40 f1 48 00    	call   *0x48f140
456be8:	6a 00                	push   $0x0
456bea:	57                   	push   %edi
456beb:	e8 e0 b6 fa ff       	call   0x4022d0
456bf0:	5f                   	pop    %edi
456bf1:	5e                   	pop    %esi
456bf2:	5d                   	pop    %ebp
456bf3:	c2 10 00             	ret    $0x10
456bf6:	55                   	push   %ebp
456bf7:	8b ec                	mov    %esp,%ebp
456bf9:	57                   	push   %edi
456bfa:	8d 79 2c             	lea    0x2c(%ecx),%edi
456bfd:	83 3f 00             	cmpl   $0x0,(%edi)
456c00:	74 2e                	je     0x456c30
456c02:	8b 41 30             	mov    0x30(%ecx),%eax
456c05:	8b 4d 08             	mov    0x8(%ebp),%ecx
456c08:	56                   	push   %esi
456c09:	8b 30                	mov    (%eax),%esi
456c0b:	56                   	push   %esi
456c0c:	e8 8e f6 02 00       	call   0x48629f
456c11:	8b cf                	mov    %edi,%ecx
456c13:	e8 65 da fa ff       	call   0x40467d
456c18:	85 f6                	test   %esi,%esi
456c1a:	74 08                	je     0x456c24
456c1c:	51                   	push   %ecx
456c1d:	8b ce                	mov    %esi,%ecx
456c1f:	e8 41 da fa ff       	call   0x404665
456c24:	83 25 20 74 4c 00 00 	andl   $0x0,0x4c7420
456c2b:	b0 01                	mov    $0x1,%al
456c2d:	5e                   	pop    %esi
456c2e:	eb 2d                	jmp    0x456c5d
456c30:	80 79 0c 00          	cmpb   $0x0,0xc(%ecx)
456c34:	75 25                	jne    0x456c5b
456c36:	83 3d 1c 69 4c 00 00 	cmpl   $0x0,0x4c691c
456c3d:	75 14                	jne    0x456c53
456c3f:	a1 20 74 4c 00       	mov    0x4c7420,%eax
456c44:	83 f8 64             	cmp    $0x64,%eax
456c47:	7d 0a                	jge    0x456c53
456c49:	40                   	inc    %eax
456c4a:	a3 20 74 4c 00       	mov    %eax,0x4c7420
456c4f:	6a 00                	push   $0x0
456c51:	eb 02                	jmp    0x456c55
456c53:	6a 0a                	push   $0xa
456c55:	ff 15 7c f1 48 00    	call   *0x48f17c
456c5b:	32 c0                	xor    %al,%al
456c5d:	5f                   	pop    %edi
456c5e:	5d                   	pop    %ebp
456c5f:	c2 04 00             	ret    $0x4
456c62:	55                   	push   %ebp
456c63:	8b ec                	mov    %esp,%ebp
456c65:	56                   	push   %esi
456c66:	8b f1                	mov    %ecx,%esi
456c68:	8b 46 0c             	mov    0xc(%esi),%eax
456c6b:	39 46 08             	cmp    %eax,0x8(%esi)
456c6e:	75 50                	jne    0x456cc0
456c70:	8d 0c 00             	lea    (%eax,%eax,1),%ecx
456c73:	6a 08                	push   $0x8
456c75:	58                   	pop    %eax
456c76:	3b c8                	cmp    %eax,%ecx