4565a7:	0f b7 46 04          	movzwl 0x4(%esi),%eax
4565ab:	e8 78 5f 00 00       	call   0x45c528
4565b0:	8b c8                	mov    %eax,%ecx
4565b2:	b2 01                	mov    $0x1,%dl
4565b4:	8b c7                	mov    %edi,%eax
4565b6:	8b 18                	mov    (%eax),%ebx
4565b8:	ff 53 1c             	call   *0x1c(%ebx)
4565bb:	e9 b7 00 00 00       	jmp    0x456677
4565c0:	54                   	push   %esp
4565c1:	e8 b2 09 fb ff       	call   0x406f78
4565c6:	8d 4c 24 10          	lea    0x10(%esp),%ecx
4565ca:	8b d4                	mov    %esp,%edx
4565cc:	8b 47 14             	mov    0x14(%edi),%eax
4565cf:	e8 d0 33 ff ff       	call   0x4499a4
4565d4:	8b 44 24 10          	mov    0x10(%esp),%eax
4565d8:	89 04 24             	mov    %eax,(%esp)
4565db:	8b 44 24 14          	mov    0x14(%esp),%eax
4565df:	89 44 24 04          	mov    %eax,0x4(%esp)
4565e3:	66 83 7e 08 01       	cmpw   $0x1,0x8(%esi)
4565e8:	0f 85 89 00 00 00    	jne    0x456677
4565ee:	8b 47 14             	mov    0x14(%edi),%eax
4565f1:	e8 b6 b3 ff ff       	call   0x4519ac
4565f6:	3b 46 04             	cmp    0x4(%esi),%eax
4565f9:	75 7c                	jne    0x456677
4565fb:	8b 47 14             	mov    0x14(%edi),%eax
4565fe:	e8 b9 9d ff ff       	call   0x4503bc
456603:	85 c0                	test   %eax,%eax
456605:	7e 70                	jle    0x456677
456607:	8d 4c 24 08          	lea    0x8(%esp),%ecx
45660b:	8b d4                	mov    %esp,%edx
45660d:	8b c7                	mov    %edi,%eax
45660f:	e8 c4 e5 ff ff       	call   0x454bd8
456614:	8b d8                	mov    %eax,%ebx
456616:	85 db                	test   %ebx,%ebx
456618:	74 5d                	je     0x456677
45661a:	83 7c 24 08 12       	cmpl   $0x12,0x8(%esp)
45661f:	75 56                	jne    0x456677
456621:	8b 43 14             	mov    0x14(%ebx),%eax
456624:	0f b6 40 10          	movzbl 0x10(%eax),%eax
456628:	0f bf 14 45 54 c7 49 	movswl 0x49c754(,%eax,2),%edx
45662f:	00
456630:	a1 24 78 4a 00       	mov    0x4a7824,%eax
456635:	8b 00                	mov    (%eax),%eax
456637:	e8 d8 dd 00 00       	call   0x464414
45663c:	50                   	push   %eax
45663d:	e8 26 0c fb ff       	call   0x407268
456642:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
456649:	c6 44 24 0c 01       	movb   $0x1,0xc(%esp)
45664e:	eb 27                	jmp    0x456677
456650:	8b d6                	mov    %esi,%edx
456652:	8b 47 34             	mov    0x34(%edi),%eax
456655:	ff 57 30             	call   *0x30(%edi)
456658:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
45665c:	75 14                	jne    0x456672
45665e:	8b 6e 08             	mov    0x8(%esi),%ebp
456661:	8d 45 38             	lea    0x38(%ebp),%eax
456664:	50                   	push   %eax
456665:	8d 4d 18             	lea    0x18(%ebp),%ecx
456668:	8d 55 28             	lea    0x28(%ebp),%edx
45666b:	8b c7                	mov    %edi,%eax
45666d:	8b 18                	mov    (%eax),%ebx
45666f:	ff 53 34             	call   *0x34(%ebx)
456672:	c6 44 24 0c 01       	movb   $0x1,0xc(%esp)
456677:	80 7c 24 0c 00       	cmpb   $0x0,0xc(%esp)
45667c:	75 0f                	jne    0x45668d
45667e:	66 83 7f 32 00       	cmpw   $0x0,0x32(%edi)
456683:	74 08                	je     0x45668d
456685:	8b d6                	mov    %esi,%edx
456687:	8b 47 34             	mov    0x34(%edi),%eax
45668a:	ff 57 30             	call   *0x30(%edi)
45668d:	83 c4 18             	add    $0x18,%esp
456690:	5d                   	pop    %ebp
456691:	5f                   	pop    %edi
456692:	5e                   	pop    %esi
456693:	5b                   	pop    %ebx
456694:	c3                   	ret
456695:	00 00                	add    %al,(%eax)
456697:	00 40 00             	add    %al,0x0(%eax)
45669a:	00 00                	add    %al,(%eax)
45669c:	53                   	push   %ebx
45669d:	56                   	push   %esi
45669e:	83 c4 f8             	add    $0xfffffff8,%esp
4566a1:	8b f1                	mov    %ecx,%esi
4566a3:	8b da                	mov    %edx,%ebx
4566a5:	89 1c 24             	mov    %ebx,(%esp)
4566a8:	db 04 24             	fildl  (%esp)
4566ab:	d8 35 c8 66 45 00    	fdivs  0x4566c8
4566b1:	89 74 24 04          	mov    %esi,0x4(%esp)
4566b5:	db 44 24 04          	fildl  0x4(%esp)
4566b9:	de c9                	fmulp  %st,%st(1)
4566bb:	e8 90 c9 fa ff       	call   0x403050
4566c0:	59                   	pop    %ecx
4566c1:	5a                   	pop    %edx
4566c2:	5e                   	pop    %esi
4566c3:	5b                   	pop    %ebx
4566c4:	c3                   	ret
4566c5:	00 00                	add    %al,(%eax)
4566c7:	00 00                	add    %al,(%eax)
4566c9:	40                   	inc    %eax
4566ca:	1c 46                	sbb    $0x46,%al
4566cc:	53                   	push   %ebx
4566cd:	56                   	push   %esi
4566ce:	83 c4 f8             	add    $0xfffffff8,%esp
4566d1:	8b d9                	mov    %ecx,%ebx
4566d3:	8b f2                	mov    %edx,%esi
4566d5:	85 db                	test   %ebx,%ebx
4566d7:	74 1d                	je     0x4566f6
4566d9:	89 34 24             	mov    %esi,(%esp)
4566dc:	db 04 24             	fildl  (%esp)
4566df:	89 5c 24 04          	mov    %ebx,0x4(%esp)
4566e3:	db 44 24 04          	fildl  0x4(%esp)
4566e7:	de f9                	fdivrp %st,%st(1)
4566e9:	d8 0d 00 67 45 00    	fmuls  0x456700
4566ef:	e8 5c c9 fa ff       	call   0x403050
4566f4:	eb 02                	jmp    0x4566f8
4566f6:	33 c0                	xor    %eax,%eax
4566f8:	59                   	pop    %ecx
4566f9:	5a                   	pop    %edx
4566fa:	5e                   	pop    %esi
4566fb:	5b                   	pop    %ebx
4566fc:	c3                   	ret
4566fd:	00 00                	add    %al,(%eax)
4566ff:	00 00                	add    %al,(%eax)
456701:	40                   	inc    %eax
456702:	1c 46                	sbb    $0x46,%al
456704:	80 fa 01             	cmp    $0x1,%dl
456707:	75 12                	jne    0x45671b
456709:	a1 24 78 4a 00       	mov    0x4a7824,%eax
45670e:	8b 00                	mov    (%eax),%eax
456710:	e8 4f e7 00 00       	call   0x464e64
456715:	e8 32 d5 00 00       	call   0x463c4c
45671a:	c3                   	ret
45671b:	a1 24 78 4a 00       	mov    0x4a7824,%eax
456720:	8b 00                	mov    (%eax),%eax
456722:	e8 3d e7 00 00       	call   0x464e64
456727:	e8 ec d4 00 00       	call   0x463c18
45672c:	c3                   	ret
45672d:	8d 40 00             	lea    0x0(%eax),%eax
456730:	53                   	push   %ebx
456731:	8b 01                	mov    (%ecx),%eax
456733:	2b 42 40             	sub    0x40(%edx),%eax
456736:	03 c0                	add    %eax,%eax
456738:	29 01                	sub    %eax,(%ecx)
45673a:	8b 41 04             	mov    0x4(%ecx),%eax
45673d:	2b 42 44             	sub    0x44(%edx),%eax
456740:	03 c0                	add    %eax,%eax
456742:	29 41 04             	sub    %eax,0x4(%ecx)
456745:	8b 41 08             	mov    0x8(%ecx),%eax
456748:	2b 01                	sub    (%ecx),%eax
45674a:	8b 5a 48             	mov    0x48(%edx),%ebx
45674d:	2b d8                	sub    %eax,%ebx
45674f:	8b c3                	mov    %ebx,%eax
456751:	03 c0                	add    %eax,%eax
456753:	29 41 08             	sub    %eax,0x8(%ecx)
456756:	8b 41 0c             	mov    0xc(%ecx),%eax
456759:	2b 41 04             	sub    0x4(%ecx),%eax
45675c:	8b 52 4c             	mov    0x4c(%edx),%edx
45675f:	2b d0                	sub    %eax,%edx
456761:	8b c2                	mov    %edx,%eax
456763:	03 c0                	add    %eax,%eax
456765:	85 c0                	test   %eax,%eax
456767:	7e 03                	jle    0x45676c
456769:	29 41 0c             	sub    %eax,0xc(%ecx)
45676c:	5b                   	pop    %ebx
45676d:	c3                   	ret
45676e:	8b c0                	mov    %eax,%eax
456770:	55                   	push   %ebp
456771:	8b ec                	mov    %esp,%ebp
456773:	83 c4 d4             	add    $0xffffffd4,%esp
456776:	53                   	push   %ebx
456777:	56                   	push   %esi
456778:	88 4d ff             	mov    %cl,-0x1(%ebp)
45677b:	8b d8                	mov    %eax,%ebx
45677d:	84 d2                	test   %dl,%dl
45677f:	0f 85 05 01 00 00    	jne    0x45688a
456785:	f6 45 ff 40          	testb  $0x40,-0x1(%ebp)
456789:	74 51                	je     0x4567dc
45678b:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
45678e:	8b 55 0c             	mov    0xc(%ebp),%edx
456791:	8b 45 10             	mov    0x10(%ebp),%eax
456794:	e8 bf 05 fc ff       	call   0x416d58
456799:	8d 55 d4             	lea    -0x2c(%ebp),%edx
45679c:	8d 4d f8             	lea    -0x8(%ebp),%ecx
45679f:	8b c3                	mov    %ebx,%eax
4567a1:	e8 32 e4 ff ff       	call   0x454bd8
4567a6:	8b f0                	mov    %eax,%esi
4567a8:	85 f6                	test   %esi,%esi
4567aa:	0f 84 da 00 00 00    	je     0x45688a
4567b0:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
4567b4:	0f 84 d0 00 00 00    	je     0x45688a
4567ba:	83 7d f8 02          	cmpl   $0x2,-0x8(%ebp)
4567be:	0f 85 c6 00 00 00    	jne    0x45688a
4567c4:	e8 c7 1b ff ff       	call   0x448390
4567c9:	6a 01                	push   $0x1
4567cb:	33 c9                	xor    %ecx,%ecx
4567cd:	33 d2                	xor    %edx,%edx
4567cf:	8b 46 04             	mov    0x4(%esi),%eax
4567d2:	e8 9d 44 ff ff       	call   0x44ac74
4567d7:	e9 ae 00 00 00       	jmp    0x45688a
4567dc:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
4567df:	8b 55 0c             	mov    0xc(%ebp),%edx
4567e2:	8b 45 10             	mov    0x10(%ebp),%eax
4567e5:	e8 6e 05 fc ff       	call   0x416d58
4567ea:	8d 55 d4             	lea    -0x2c(%ebp),%edx
4567ed:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4567f0:	8b c3                	mov    %ebx,%eax
4567f2:	e8 e1 e3 ff ff       	call   0x454bd8
4567f7:	8b f0                	mov    %eax,%esi
4567f9:	85 f6                	test   %esi,%esi
4567fb:	0f 84 89 00 00 00    	je     0x45688a
456801:	83 7d f8 12          	cmpl   $0x12,-0x8(%ebp)
456805:	75 1c                	jne    0x456823
456807:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
45680a:	8b 55 0c             	mov    0xc(%ebp),%edx
45680d:	8b 45 10             	mov    0x10(%ebp),%eax
456810:	e8 43 05 fc ff       	call   0x416d58
456815:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
456818:	8b d6                	mov    %esi,%edx
45681a:	8b c3                	mov    %ebx,%eax
45681c:	e8 33 f6 ff ff       	call   0x455e54
456821:	eb 67                	jmp    0x45688a
456823:	83 7d f8 02          	cmpl   $0x2,-0x8(%ebp)
456827:	75 61                	jne    0x45688a
456829:	6a 00                	push   $0x0
45682b:	68 03 02 00 00       	push   $0x203
456830:	68 03 02 00 00       	push   $0x203
456835:	8b 43 14             	mov    0x14(%ebx),%eax
456838:	e8 6f b1 ff ff       	call   0x4519ac
45683d:	50                   	push   %eax
45683e:	8d 45 dc             	lea    -0x24(%ebp),%eax
456841:	50                   	push   %eax
456842:	e8 71 09 fb ff       	call   0x4071b8
456847:	85 c0                	test   %eax,%eax
456849:	75 1d                	jne    0x456868
45684b:	8b 46 04             	mov    0x4(%esi),%eax
45684e:	8b 15 bc 59 44 00    	mov    0x4459bc,%edx
456854:	e8 4f d2 fa ff       	call   0x403aa8
456859:	84 c0                	test   %al,%al
45685b:	74 0b                	je     0x456868
45685d:	8b 46 04             	mov    0x4(%esi),%eax
456860:	8b 10                	mov    (%eax),%edx
456862:	ff 92 d4 00 00 00    	call   *0xd4(%edx)
456868:	8b 46 04             	mov    0x4(%esi),%eax
45686b:	80 b8 8f 00 00 00 01 	cmpb   $0x1,0x8f(%eax)
456872:	75 10                	jne    0x456884
456874:	80 78 5d 01          	cmpb   $0x1,0x5d(%eax)
456878:	75 0a                	jne    0x456884
45687a:	83 c9 ff             	or     $0xffffffff,%ecx
45687d:	33 d2                	xor    %edx,%edx
45687f:	e8 2c 3d ff ff       	call   0x44a5b0
456884:	8b 45 08             	mov    0x8(%ebp),%eax
456887:	c6 00 01             	movb   $0x1,(%eax)
45688a:	5e                   	pop    %esi
45688b:	5b                   	pop    %ebx
45688c:	8b e5                	mov    %ebp,%esp
45688e:	5d                   	pop    %ebp
45688f:	c2 0c 00             	ret    $0xc
456892:	8b c0                	mov    %eax,%eax
456894:	55                   	push   %ebp
456895:	8b ec                	mov    %esp,%ebp
456897:	53                   	push   %ebx
456898:	56                   	push   %esi
456899:	57                   	push   %edi
45689a:	8b 7d 08             	mov    0x8(%ebp),%edi
45689d:	83 c7 fc             	add    $0xfffffffc,%edi
4568a0:	8b 07                	mov    (%edi),%eax
4568a2:	8b 58 18             	mov    0x18(%eax),%ebx
4568a5:	8b 07                	mov    (%edi),%eax
4568a7:	8b 70 60             	mov    0x60(%eax),%esi
4568aa:	8b 46 14             	mov    0x14(%esi),%eax
4568ad:	80 78 10 01          	cmpb   $0x1,0x10(%eax)
4568b1:	75 36                	jne    0x4568e9
4568b3:	8b c6                	mov    %esi,%eax
4568b5:	ba 01 00 00 00       	mov    $0x1,%edx
4568ba:	e8 89 d3 ff ff       	call   0x453c48
4568bf:	03 c3                	add    %ebx,%eax
4568c1:	8b 17                	mov    (%edi),%edx
4568c3:	3b 42 54             	cmp    0x54(%edx),%eax
4568c6:	7c 05                	jl     0x4568cd
4568c8:	8b 17                	mov    (%edi),%edx
4568ca:	89 42 54             	mov    %eax,0x54(%edx)
4568cd:	8b 07                	mov    (%edi),%eax
4568cf:	8b 50 60             	mov    0x60(%eax),%edx
4568d2:	8b 07                	mov    (%edi),%eax
4568d4:	e8 1f f8 ff ff       	call   0x4560f8
4568d9:	2b c3                	sub    %ebx,%eax
4568db:	8b 17                	mov    (%edi),%edx
4568dd:	3b 42 54             	cmp    0x54(%edx),%eax
4568e0:	7f 3b                	jg     0x45691d
4568e2:	8b 17                	mov    (%edi),%edx
4568e4:	89 42 54             	mov    %eax,0x54(%edx)
4568e7:	eb 34                	jmp    0x45691d
4568e9:	8b c6                	mov    %esi,%eax
4568eb:	ba 02 00 00 00       	mov    $0x2,%edx
4568f0:	e8 53 d3 ff ff       	call   0x453c48
4568f5:	03 c3                	add    %ebx,%eax
4568f7:	8b 17                	mov    (%edi),%edx
4568f9:	3b 42 50             	cmp    0x50(%edx),%eax
4568fc:	7c 05                	jl     0x456903
4568fe:	8b 17                	mov    (%edi),%edx
456900:	89 42 50             	mov    %eax,0x50(%edx)
456903:	8b 07                	mov    (%edi),%eax
456905:	8b 50 60             	mov    0x60(%eax),%edx
456908:	8b 07                	mov    (%edi),%eax
45690a:	e8 e9 f7 ff ff       	call   0x4560f8
45690f:	2b c3                	sub    %ebx,%eax
456911:	8b 17                	mov    (%edi),%edx
456913:	3b 42 50             	cmp    0x50(%edx),%eax
456916:	7f 05                	jg     0x45691d
456918:	8b 17                	mov    (%edi),%edx
45691a:	89 42 50             	mov    %eax,0x50(%edx)
45691d:	5f                   	pop    %edi
45691e:	5e                   	pop    %esi
45691f:	5b                   	pop    %ebx
456920:	5d                   	pop    %ebp
456921:	c3                   	ret
456922:	8b c0                	mov    %eax,%eax
456924:	55                   	push   %ebp
456925:	8b ec                	mov    %esp,%ebp
456927:	83 c4 f4             	add    $0xfffffff4,%esp
45692a:	53                   	push   %ebx
45692b:	8b d9                	mov    %ecx,%ebx
45692d:	89 45 fc             	mov    %eax,-0x4(%ebp)
456930:	8b 45 fc             	mov    -0x4(%ebp),%eax
456933:	83 78 60 00          	cmpl   $0x0,0x60(%eax)
456937:	74 33                	je     0x45696c
456939:	8b 45 fc             	mov    -0x4(%ebp),%eax
45693c:	e8 3b f6 ff ff       	call   0x455f7c
456941:	8d 4d f4             	lea    -0xc(%ebp),%ecx
456944:	8b 55 0c             	mov    0xc(%ebp),%edx
456947:	8b c3                	mov    %ebx,%eax
456949:	e8 0a 04 fc ff       	call   0x416d58
45694e:	8b 45 fc             	mov    -0x4(%ebp),%eax
456951:	8b 55 f4             	mov    -0xc(%ebp),%edx
456954:	89 50 50             	mov    %edx,0x50(%eax)
456957:	8b 55 f8             	mov    -0x8(%ebp),%edx
45695a:	89 50 54             	mov    %edx,0x54(%eax)
45695d:	55                   	push   %ebp
45695e:	e8 31 ff ff ff       	call   0x456894
456963:	59                   	pop    %ecx
456964:	8b 45 fc             	mov    -0x4(%ebp),%eax
456967:	e8 10 f6 ff ff       	call   0x455f7c
45696c:	5b                   	pop    %ebx
45696d:	8b e5                	mov    %ebp,%esp
45696f:	5d                   	pop    %ebp
456970:	c2 08 00             	ret    $0x8
456973:	90                   	nop
456974:	55                   	push   %ebp
456975:	8b ec                	mov    %esp,%ebp
456977:	83 c4 f4             	add    $0xfffffff4,%esp