4566ee:	5f                   	pop    %edi
4566ef:	5e                   	pop    %esi
4566f0:	5d                   	pop    %ebp
4566f1:	c2 04 00             	ret    $0x4
4566f4:	56                   	push   %esi
4566f5:	8b f1                	mov    %ecx,%esi
4566f7:	c7 06 84 fb 48 00    	movl   $0x48fb84,(%esi)
4566fd:	e8 34 ff ff ff       	call   0x456636
456702:	ff 76 04             	push   0x4(%esi)
456705:	e8 62 a9 fc ff       	call   0x42106c
45670a:	59                   	pop    %ecx
45670b:	5e                   	pop    %esi
45670c:	c3                   	ret
45670d:	80 79 09 00          	cmpb   $0x0,0x9(%ecx)
456711:	8b 41 04             	mov    0x4(%ecx),%eax
456714:	74 03                	je     0x456719
456716:	8b 40 08             	mov    0x8(%eax),%eax
456719:	c3                   	ret
45671a:	56                   	push   %esi
45671b:	8b f1                	mov    %ecx,%esi
45671d:	ff 36                	push   (%esi)
45671f:	e8 fc 1f fb ff       	call   0x408720
456724:	56                   	push   %esi
456725:	e8 42 a9 fc ff       	call   0x42106c
45672a:	59                   	pop    %ecx
45672b:	8b c6                	mov    %esi,%eax
45672d:	5e                   	pop    %esi
45672e:	c2 04 00             	ret    $0x4
456731:	55                   	push   %ebp
456732:	8b ec                	mov    %esp,%ebp
456734:	8b 45 08             	mov    0x8(%ebp),%eax
456737:	3b 41 28             	cmp    0x28(%ecx),%eax
45673a:	7c 0e                	jl     0x45674a
45673c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
45673f:	6a ff                	push   $0xffffffff
456741:	6a 00                	push   $0x0
456743:	e8 44 17 fb ff       	call   0x407e8c
456748:	eb 2d                	jmp    0x456777
45674a:	8d 55 08             	lea    0x8(%ebp),%edx
45674d:	52                   	push   %edx
45674e:	8b 51 20             	mov    0x20(%ecx),%edx
456751:	50                   	push   %eax
456752:	ff 71 28             	push   0x28(%ecx)
456755:	8b 09                	mov    (%ecx),%ecx
456757:	e8 fc 81 03 00       	call   0x48e958
45675c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
45675f:	83 c4 0c             	add    $0xc,%esp
456762:	50                   	push   %eax
456763:	6a 00                	push   $0x0
456765:	ff 75 08             	push   0x8(%ebp)
456768:	e8 40 11 fb ff       	call   0x4078ad
45676d:	ff 75 08             	push   0x8(%ebp)
456770:	ff 15 48 57 4a 00    	call   *0x4a5748
456776:	59                   	pop    %ecx
456777:	5d                   	pop    %ebp
456778:	c2 08 00             	ret    $0x8
45677b:	55                   	push   %ebp
45677c:	8b ec                	mov    %esp,%ebp
45677e:	81 ec 1c 01 00 00    	sub    $0x11c,%esp
456784:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
456788:	33 d2                	xor    %edx,%edx
45678a:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
45678e:	53                   	push   %ebx
45678f:	8b 5d 08             	mov    0x8(%ebp),%ebx
456792:	56                   	push   %esi
456793:	8b 75 0c             	mov    0xc(%ebp),%esi
456796:	57                   	push   %edi
456797:	8b 43 04             	mov    0x4(%ebx),%eax
45679a:	8b f9                	mov    %ecx,%edi
45679c:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
4567a3:	8b 0e                	mov    (%esi),%ecx
4567a5:	6a 4e                	push   $0x4e
4567a7:	89 55 fc             	mov    %edx,-0x4(%ebp)
4567aa:	5a                   	pop    %edx
4567ab:	8b 44 88 fc          	mov    -0x4(%eax,%ecx,4),%eax
4567af:	6a 00                	push   $0x0
4567b1:	0f bf 40 0a          	movswl 0xa(%eax),%eax
4567b5:	89 45 0c             	mov    %eax,0xc(%ebp)
4567b8:	8b 43 04             	mov    0x4(%ebx),%eax
4567bb:	8b 04 88             	mov    (%eax,%ecx,4),%eax
4567be:	83 c9 ff             	or     $0xffffffff,%ecx
4567c1:	66 39 50 08          	cmp    %dx,0x8(%eax)
4567c5:	5a                   	pop    %edx
4567c6:	75 71                	jne    0x456839
4567c8:	ff 06                	incl   (%esi)
4567ca:	8b 06                	mov    (%esi),%eax
4567cc:	8b 53 04             	mov    0x4(%ebx),%edx
4567cf:	51                   	push   %ecx
4567d0:	8b cf                	mov    %edi,%ecx
4567d2:	8b 04 82             	mov    (%edx,%eax,4),%eax
4567d5:	0f bf 40 0a          	movswl 0xa(%eax),%eax
4567d9:	89 45 08             	mov    %eax,0x8(%ebp)
4567dc:	8d 45 e8             	lea    -0x18(%ebp),%eax
4567df:	50                   	push   %eax
4567e0:	56                   	push   %esi
4567e1:	53                   	push   %ebx
4567e2:	e8 19 38 fb ff       	call   0x40a000
4567e7:	85 c0                	test   %eax,%eax
4567e9:	0f 88 b6 00 00 00    	js     0x4568a5
4567ef:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4567f2:	e8 a5 34 fb ff       	call   0x409c9c
4567f7:	85 c0                	test   %eax,%eax
4567f9:	78 5d                	js     0x456858
4567fb:	8b 0e                	mov    (%esi),%ecx
4567fd:	8b 43 04             	mov    0x4(%ebx),%eax
456800:	8b 04 88             	mov    (%eax,%ecx,4),%eax
456803:	66 83 78 08 4f       	cmpw   $0x4f,0x8(%eax)
456808:	75 3e                	jne    0x456848
45680a:	8d 41 01             	lea    0x1(%ecx),%eax
45680d:	8d 4d e8             	lea    -0x18(%ebp),%ecx
456810:	89 06                	mov    %eax,(%esi)
456812:	e8 85 34 fb ff       	call   0x409c9c
456817:	8b 55 fc             	mov    -0x4(%ebp),%edx
45681a:	8b 4b 04             	mov    0x4(%ebx),%ecx
45681d:	6a 4e                	push   $0x4e
45681f:	89 84 95 e8 fe ff ff 	mov    %eax,-0x118(%ebp,%edx,4)
456826:	42                   	inc    %edx
456827:	8b 06                	mov    (%esi),%eax
456829:	89 55 fc             	mov    %edx,-0x4(%ebp)
45682c:	8b 04 81             	mov    (%ecx,%eax,4),%eax
45682f:	59                   	pop    %ecx
456830:	6a ff                	push   $0xffffffff
456832:	66 39 48 08          	cmp    %cx,0x8(%eax)
456836:	59                   	pop    %ecx
456837:	74 8f                	je     0x4567c8
456839:	8b 5d 10             	mov    0x10(%ebp),%ebx
45683c:	8b 0b                	mov    (%ebx),%ecx
45683e:	83 79 0c 05          	cmpl   $0x5,0xc(%ecx)
456842:	75 19                	jne    0x45685d
456844:	8b 09                	mov    (%ecx),%ecx
456846:	eb 17                	jmp    0x45685f
456848:	8b 43 04             	mov    0x4(%ebx),%eax
45684b:	8b 44 88 fc          	mov    -0x4(%eax,%ecx,4),%eax
45684f:	0f bf 40 0a          	movswl 0xa(%eax),%eax
456853:	50                   	push   %eax
456854:	6a 7b                	push   $0x7b
456856:	eb 46                	jmp    0x45689e
456858:	ff 75 08             	push   0x8(%ebp)
45685b:	eb f7                	jmp    0x456854
45685d:	33 c9                	xor    %ecx,%ecx
45685f:	8b 01                	mov    (%ecx),%eax
456861:	33 f6                	xor    %esi,%esi
456863:	83 a0 10 02 00 00 00 	andl   $0x0,0x210(%eax)
45686a:	85 d2                	test   %edx,%edx
45686c:	7e 17                	jle    0x456885
45686e:	8b 5d fc             	mov    -0x4(%ebp),%ebx
456871:	ff b4 b5 e8 fe ff ff 	push   -0x118(%ebp,%esi,4)
456878:	e8 0f 2a fb ff       	call   0x40928c
45687d:	46                   	inc    %esi
45687e:	3b f3                	cmp    %ebx,%esi
456880:	7c ef                	jl     0x456871
456882:	8b 5d 10             	mov    0x10(%ebp),%ebx
456885:	6a 00                	push   $0x0
456887:	ff 75 14             	push   0x14(%ebp)
45688a:	51                   	push   %ecx
45688b:	e8 10 26 fb ff       	call   0x408ea0
456890:	83 c4 0c             	add    $0xc,%esp
456893:	89 03                	mov    %eax,(%ebx)
456895:	85 c0                	test   %eax,%eax
456897:	75 11                	jne    0x4568aa
456899:	ff 75 0c             	push   0xc(%ebp)
45689c:	6a 7a                	push   $0x7a
45689e:	8b cf                	mov    %edi,%ecx
4568a0:	e8 10 38 01 00       	call   0x46a0b5
4568a5:	83 ce ff             	or     $0xffffffff,%esi
4568a8:	eb 02                	jmp    0x4568ac
4568aa:	33 f6                	xor    %esi,%esi
4568ac:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4568af:	e8 6c 31 fb ff       	call   0x409a20
4568b4:	5f                   	pop    %edi
4568b5:	8b c6                	mov    %esi,%eax
4568b7:	5e                   	pop    %esi
4568b8:	5b                   	pop    %ebx
4568b9:	8b e5                	mov    %ebp,%esp
4568bb:	5d                   	pop    %ebp
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)