44750d:	85 ff                	test   %edi,%edi
44750f:	0f 8e 14 01 00 00    	jle    0x447629
447515:	8b 5c 24 14          	mov    0x14(%esp),%ebx
447519:	66 8b 14 4b          	mov    (%ebx,%ecx,2),%dx
44751d:	8b 4c 24 20          	mov    0x20(%esp),%ecx
447521:	50                   	push   %eax
447522:	e8 cf 89 fd ff       	call   0x41fef6
447527:	59                   	pop    %ecx
447528:	85 c0                	test   %eax,%eax
44752a:	74 01                	je     0x44752d
44752c:	46                   	inc    %esi
44752d:	8b 4c 24 38          	mov    0x38(%esp),%ecx
447531:	8b 44 24 18          	mov    0x18(%esp),%eax
447535:	41                   	inc    %ecx
447536:	89 4c 24 38          	mov    %ecx,0x38(%esp)
44753a:	3b cf                	cmp    %edi,%ecx
44753c:	7c db                	jl     0x447519
44753e:	89 74 24 1c          	mov    %esi,0x1c(%esp)
447542:	33 db                	xor    %ebx,%ebx
447544:	e9 40 c3 fc ff       	jmp    0x413889
447549:	8b c8                	mov    %eax,%ecx
44754b:	8d 46 01             	lea    0x1(%esi),%eax
44754e:	50                   	push   %eax
44754f:	33 f6                	xor    %esi,%esi
447551:	89 4c 24 30          	mov    %ecx,0x30(%esp)
447555:	46                   	inc    %esi
447556:	56                   	push   %esi
447557:	51                   	push   %ecx
447558:	e8 53 1c fc ff       	call   0x4091b0
44755d:	8b 44 24 44          	mov    0x44(%esp),%eax
447561:	53                   	push   %ebx
447562:	89 44 24 60          	mov    %eax,0x60(%esp)
447566:	8d 44 24 60          	lea    0x60(%esp),%eax
44756a:	56                   	push   %esi
44756b:	50                   	push   %eax
44756c:	ff 74 24 44          	push   0x44(%esp)
447570:	89 5c 24 74          	mov    %ebx,0x74(%esp)
447574:	89 74 24 78          	mov    %esi,0x78(%esp)
447578:	e8 c3 1a fc ff       	call   0x409040
44757d:	83 c4 1c             	add    $0x1c,%esp
447580:	8d 4c 24 50          	lea    0x50(%esp),%ecx
447584:	e8 97 24 fc ff       	call   0x409a20
447589:	89 74 24 1c          	mov    %esi,0x1c(%esp)
44758d:	e9 2d c3 fc ff       	jmp    0x4138bf
447592:	8b 44 24 24          	mov    0x24(%esp),%eax
447596:	8b 4c 24 18          	mov    0x18(%esp),%ecx
44759a:	83 c0 02             	add    $0x2,%eax
44759d:	49                   	dec    %ecx
44759e:	89 44 24 14          	mov    %eax,0x14(%esp)
4475a2:	03 f9                	add    %ecx,%edi
4475a4:	e9 4d c3 fc ff       	jmp    0x4138f6
4475a9:	8b 4c 24 30          	mov    0x30(%esp),%ecx
4475ad:	8b 44 24 14          	mov    0x14(%esp),%eax
4475b1:	ff 74 24 18          	push   0x18(%esp)
4475b5:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
4475b9:	8b 4c 24 24          	mov    0x24(%esp),%ecx
4475bd:	8b d0                	mov    %eax,%edx
4475bf:	89 44 24 40          	mov    %eax,0x40(%esp)
4475c3:	e8 2e 89 fd ff       	call   0x41fef6
4475c8:	59                   	pop    %ecx
4475c9:	85 c0                	test   %eax,%eax
4475cb:	75 15                	jne    0x4475e2
4475cd:	39 7c 24 30          	cmp    %edi,0x30(%esp)
4475d1:	74 0f                	je     0x4475e2
4475d3:	ff 74 24 3c          	push   0x3c(%esp)
4475d7:	8d 4c 24 44          	lea    0x44(%esp),%ecx
4475db:	e8 a4 04 fc ff       	call   0x407a84
4475e0:	eb 3e                	jmp    0x447620
4475e2:	8d 44 24 40          	lea    0x40(%esp),%eax
4475e6:	50                   	push   %eax
4475e7:	8d 4c 24 64          	lea    0x64(%esp),%ecx
4475eb:	e8 fa 1d fc ff       	call   0x4093ea
4475f0:	ff 74 24 1c          	push   0x1c(%esp)
4475f4:	8d 44 24 64          	lea    0x64(%esp),%eax
4475f8:	56                   	push   %esi
4475f9:	50                   	push   %eax
4475fa:	ff 74 24 38          	push   0x38(%esp)
4475fe:	e8 3d 1a fc ff       	call   0x409040
447603:	83 c4 10             	add    $0x10,%esp
447606:	8d 4c 24 60          	lea    0x60(%esp),%ecx
44760a:	ff 44 24 1c          	incl   0x1c(%esp)
44760e:	e8 0d 24 fc ff       	call   0x409a20
447613:	8d 4c 24 40          	lea    0x40(%esp),%ecx
447617:	e8 d0 08 fc ff       	call   0x407eec
44761c:	ff 44 24 28          	incl   0x28(%esp)
447620:	ff 44 24 30          	incl   0x30(%esp)
447624:	e9 75 c3 fc ff       	jmp    0x41399e
447629:	8b 4d 0c             	mov    0xc(%ebp),%ecx
44762c:	e8 fd 1d fc ff       	call   0x40942e
447631:	80 7c 24 13 00       	cmpb   $0x0,0x13(%esp)
447636:	8b f8                	mov    %eax,%edi
447638:	74 44                	je     0x44767e
44763a:	33 c0                	xor    %eax,%eax
44763c:	40                   	inc    %eax
44763d:	50                   	push   %eax
44763e:	50                   	push   %eax
44763f:	57                   	push   %edi
447640:	e8 6b 1b fc ff       	call   0x4091b0
447645:	8b 4d 08             	mov    0x8(%ebp),%ecx
447648:	83 c4 0c             	add    $0xc,%esp
44764b:	8b 49 04             	mov    0x4(%ecx),%ecx
44764e:	8b 31                	mov    (%ecx),%esi
447650:	8b ce                	mov    %esi,%ecx
447652:	e8 40 23 fc ff       	call   0x409997
447657:	8b 46 08             	mov    0x8(%esi),%eax
44765a:	8d 4c 24 40          	lea    0x40(%esp),%ecx
44765e:	ff 70 04             	push   0x4(%eax)
447661:	53                   	push   %ebx
447662:	ff 74 24 1c          	push   0x1c(%esp)
447666:	e8 42 02 fc ff       	call   0x4078ad
44766b:	8d 44 24 40          	lea    0x40(%esp),%eax
44766f:	50                   	push   %eax
447670:	8d 4c 24 64          	lea    0x64(%esp),%ecx
447674:	e8 71 1d fc ff       	call   0x4093ea
447679:	53                   	push   %ebx
44767a:	6a 01                	push   $0x1
44767c:	eb 68                	jmp    0x4476e6
44767e:	6a 02                	push   $0x2
447680:	6a 01                	push   $0x1
447682:	57                   	push   %edi
447683:	e8 28 1b fc ff       	call   0x4091b0
447688:	33 c0                	xor    %eax,%eax
44768a:	89 5c 24 64          	mov    %ebx,0x64(%esp)
44768e:	40                   	inc    %eax
44768f:	53                   	push   %ebx
447690:	50                   	push   %eax
447691:	89 44 24 64          	mov    %eax,0x64(%esp)
447695:	89 44 24 70          	mov    %eax,0x70(%esp)
447699:	8d 44 24 64          	lea    0x64(%esp),%eax
44769d:	50                   	push   %eax
44769e:	57                   	push   %edi
44769f:	e8 9c 19 fc ff       	call   0x409040
4476a4:	83 c4 1c             	add    $0x1c,%esp
4476a7:	8d 4c 24 50          	lea    0x50(%esp),%ecx
4476ab:	e8 70 23 fc ff       	call   0x409a20
4476b0:	8b 4d 08             	mov    0x8(%ebp),%ecx
4476b3:	8b 41 04             	mov    0x4(%ecx),%eax
4476b6:	8b 30                	mov    (%eax),%esi
4476b8:	8b ce                	mov    %esi,%ecx
4476ba:	e8 d8 22 fc ff       	call   0x409997
4476bf:	8b 46 08             	mov    0x8(%esi),%eax
4476c2:	8d 4c 24 40          	lea    0x40(%esp),%ecx
4476c6:	ff 70 04             	push   0x4(%eax)
4476c9:	53                   	push   %ebx
4476ca:	ff 74 24 1c          	push   0x1c(%esp)
4476ce:	e8 da 01 fc ff       	call   0x4078ad
4476d3:	8d 44 24 40          	lea    0x40(%esp),%eax
4476d7:	50                   	push   %eax
4476d8:	8d 4c 24 64          	lea    0x64(%esp),%ecx
4476dc:	e8 09 1d fc ff       	call   0x4093ea
4476e1:	33 c0                	xor    %eax,%eax
4476e3:	40                   	inc    %eax
4476e4:	50                   	push   %eax
4476e5:	50                   	push   %eax
4476e6:	8d 44 24 68          	lea    0x68(%esp),%eax
4476ea:	50                   	push   %eax
4476eb:	57                   	push   %edi
4476ec:	e8 4f 19 fc ff       	call   0x409040
4476f1:	83 c4 10             	add    $0x10,%esp
4476f4:	8d 4c 24 60          	lea    0x60(%esp),%ecx
4476f8:	e8 23 23 fc ff       	call   0x409a20
4476fd:	8b 54 24 3c          	mov    0x3c(%esp),%edx
447701:	33 c0                	xor    %eax,%eax
447703:	40                   	inc    %eax
447704:	2b 44 24 1c          	sub    0x1c(%esp),%eax
447708:	53                   	push   %ebx
447709:	50                   	push   %eax
44770a:	8b 02                	mov    (%edx),%eax
44770c:	8b 48 04             	mov    0x4(%eax),%ecx
44770f:	03 ca                	add    %edx,%ecx
447711:	e8 8d f3 00 00       	call   0x456aa3
447716:	e9 91 c2 fc ff       	jmp    0x4139ac
44771b:	8b 75 0c             	mov    0xc(%ebp),%esi
44771e:	8b ce                	mov    %esi,%ecx
447720:	e8 fb 22 fc ff       	call   0x409a20
447725:	d9 ee                	fldz
447727:	dd 1e                	fstpl  (%esi)
447729:	c7 46 0c 03 00 00 00 	movl   $0x3,0xc(%esi)
447730:	8b 07                	mov    (%edi),%eax
447732:	6a 00                	push   $0x0
447734:	6a 01                	push   $0x1
447736:	8b 48 04             	mov    0x4(%eax),%ecx
447739:	03 cf                	add    %edi,%ecx
44773b:	e8 63 f3 00 00       	call   0x456aa3
447740:	e9 87 c3 fc ff       	jmp    0x413acc
447745:	e8 d6 22 fc ff       	call   0x409a20
44774a:	d9 ee                	fldz
44774c:	dd 1e                	fstpl  (%esi)
44774e:	c7 46 0c 03 00 00 00 	movl   $0x3,0xc(%esi)
447755:	8b 07                	mov    (%edi),%eax
447757:	6a 00                	push   $0x0
447759:	6a 01                	push   $0x1
44775b:	8b 48 04             	mov    0x4(%eax),%ecx
44775e:	03 cf                	add    %edi,%ecx
447760:	e8 3e f3 00 00       	call   0x456aa3
447765:	e9 a4 c3 fc ff       	jmp    0x413b0e
44776a:	83 7e 0c 0f          	cmpl   $0xf,0xc(%esi)
44776e:	75 1e                	jne    0x44778e
447770:	8b 06                	mov    (%esi),%eax
447772:	8b 75 0c             	mov    0xc(%ebp),%esi
447775:	8b ce                	mov    %esi,%ecx
447777:	8b 40 10             	mov    0x10(%eax),%eax
44777a:	8b 78 08             	mov    0x8(%eax),%edi
44777d:	e8 9e 22 fc ff       	call   0x409a20
447782:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
447789:	e9 d3 c3 fc ff       	jmp    0x413b61
44778e:	8b 75 0c             	mov    0xc(%ebp),%esi
447791:	8b ce                	mov    %esi,%ecx
447793:	e8 88 22 fc ff       	call   0x409a20
447798:	83 26 00             	andl   $0x0,(%esi)
44779b:	33 db                	xor    %ebx,%ebx
44779d:	43                   	inc    %ebx
44779e:	89 5e 0c             	mov    %ebx,0xc(%esi)
4477a1:	8b 07                	mov    (%edi),%eax
4477a3:	6a 00                	push   $0x0
4477a5:	53                   	push   %ebx
4477a6:	8b 48 04             	mov    0x4(%eax),%ecx
4477a9:	03 cf                	add    %edi,%ecx
4477ab:	eb 47                	jmp    0x4477f4
4477ad:	8b 49 04             	mov    0x4(%ecx),%ecx
4477b0:	83 79 0c 06          	cmpl   $0x6,0xc(%ecx)
4477b4:	75 02                	jne    0x4477b8
4477b6:	8b 09                	mov    (%ecx),%ecx
4477b8:	8b 36                	mov    (%esi),%esi
4477ba:	e8 dd 24 fc ff       	call   0x409c9c
4477bf:	50                   	push   %eax
4477c0:	8b ce                	mov    %esi,%ecx
4477c2:	e8 a4 16 fc ff       	call   0x408e6b
4477c7:	8b 7d 0c             	mov    0xc(%ebp),%edi
4477ca:	8b f0                	mov    %eax,%esi
4477cc:	8b cf                	mov    %edi,%ecx
4477ce:	e8 4d 22 fc ff       	call   0x409a20
4477d3:	8b cf                	mov    %edi,%ecx
4477d5:	89 5f 0c             	mov    %ebx,0xc(%edi)
4477d8:	89 37                	mov    %esi,(%edi)
4477da:	e8 bd 24 fc ff       	call   0x409c9c
4477df:	85 c0                	test   %eax,%eax
4477e1:	0f 85 7c c3 fc ff    	jne    0x413b63
4477e7:	8b 55 fc             	mov    -0x4(%ebp),%edx
4477ea:	50                   	push   %eax
4477eb:	6a 02                	push   $0x2
4477ed:	8b 02                	mov    (%edx),%eax
4477ef:	8b 48 04             	mov    0x4(%eax),%ecx
4477f2:	03 ca                	add    %edx,%ecx
4477f4:	e8 aa f2 00 00       	call   0x456aa3
4477f9:	e9 65 c3 fc ff       	jmp    0x413b63
4477fe:	79 11                	jns    0x447811
447800:	f7 d8                	neg    %eax
447802:	6a 00                	push   $0x0
447804:	50                   	push   %eax
447805:	8b 07                	mov    (%edi),%eax
447807:	8b 48 04             	mov    0x4(%eax),%ecx
44780a:	03 cf                	add    %edi,%ecx
44780c:	e8 92 f2 00 00       	call   0x456aa3
447811:	8b 75 0c             	mov    0xc(%ebp),%esi
447814:	8b ce                	mov    %esi,%ecx
447816:	e8 05 22 fc ff       	call   0x409a20
44781b:	83 26 00             	andl   $0x0,(%esi)
44781e:	89 5e 0c             	mov    %ebx,0xc(%esi)
447821:	e9 91 c3 fc ff       	jmp    0x413bb7
447826:	8b 0e                	mov    (%esi),%ecx
447828:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
44782b:	8b 00                	mov    (%eax),%eax
44782d:	83 f8 24             	cmp    $0x24,%eax
447830:	75 06                	jne    0x447838
447832:	c6 45 fb 01          	movb   $0x1,-0x5(%ebp)
447836:	eb 05                	jmp    0x44783d
447838:	83 f8 1e             	cmp    $0x1e,%eax
44783b:	75 15                	jne    0x447852
44783d:	8d 41 01             	lea    0x1(%ecx),%eax
447840:	33 c9                	xor    %ecx,%ecx
447842:	89 06                	mov    %eax,(%esi)
447844:	8b 04 82             	mov    (%edx,%eax,4),%eax
447847:	66 39 48 08          	cmp    %cx,0x8(%eax)
44784b:	74 d9                	je     0x447826
44784d:	e9 11 c6 fc ff       	jmp    0x413e63
447852:	8b 43 04             	mov    0x4(%ebx),%eax
447855:	8b 04 88             	mov    (%eax,%ecx,4),%eax
447858:	0f bf 40 0a          	movswl 0xa(%eax),%eax
44785c:	50                   	push   %eax
44785d:	6a 69                	push   $0x69
44785f:	eb 2c                	jmp    0x44788d
447861:	8b 0e                	mov    (%esi),%ecx
447863:	8b 43 04             	mov    0x4(%ebx),%eax
447866:	8b 04 88             	mov    (%eax,%ecx,4),%eax
447869:	0f bf 40 0a          	movswl 0xa(%eax),%eax
44786d:	50                   	push   %eax
44786e:	68 91 00 00 00       	push   $0x91
447873:	eb 18                	jmp    0x44788d
447875:	8b 0e                	mov    (%esi),%ecx
447877:	8b 43 04             	mov    0x4(%ebx),%eax
44787a:	8b 04 88             	mov    (%eax,%ecx,4),%eax
44787d:	0f bf 40 0a          	movswl 0xa(%eax),%eax
447881:	50                   	push   %eax
447882:	68 ab 00 00 00       	push   $0xab
447887:	eb 04                	jmp    0x44788d
447889:	6a ff                	push   $0xffffffff
44788b:	6a 72                	push   $0x72
44788d:	b9 10 63 4c 00       	mov    $0x4c6310,%ecx
447892:	e8 1e 28 02 00       	call   0x46a0b5
447897:	e9 a5 c7 fc ff       	jmp    0x414041
44789c:	33 ff                	xor    %edi,%edi
44789e:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4478a2:	47                   	inc    %edi
4478a3:	e9 f7 c7 fc ff       	jmp    0x41409f
4478a8:	b9 10 63 4c 00       	mov    $0x4c6310,%ecx
4478ad:	e8 03 28 02 00       	call   0x46a0b5
4478b2:	e9 62 c8 fc ff       	jmp    0x414119
4478b7:	85 d2                	test   %edx,%edx
4478b9:	8b 55 0c             	mov    0xc(%ebp),%edx
4478bc:	0f 85 0f c9 fc ff    	jne    0x4141d1
4478c2:	85 db                	test   %ebx,%ebx
4478c4:	0f 85 07 c9 fc ff    	jne    0x4141d1
4478ca:	81 fa 19 fc ff ff    	cmp    $0xfffffc19,%edx
4478d0:	0f 85 fb c8 fc ff    	jne    0x4141d1
4478d6:	3b f2                	cmp    %edx,%esi
4478d8:	0f 85 f3 c8 fc ff    	jne    0x4141d1
4478de:	53                   	push   %ebx
4478df:	53                   	push   %ebx
4478e0:	53                   	push   %ebx
4478e1:	53                   	push   %ebx
4478e2:	53                   	push   %ebx
4478e3:	33 d2                	xor    %edx,%edx
4478e5:	33 c9                	xor    %ecx,%ecx
4478e7:	e8 d4 d0 fc ff       	call   0x4149c0
4478ec:	83 c4 14             	add    $0x14,%esp
4478ef:	e9 2d ce fc ff       	jmp    0x414721
4478f4:	85 c0                	test   %eax,%eax
4478f6:	0f 8f b7 d0 fc ff    	jg     0x4149b3
4478fc:	e9 fc c8 fc ff       	jmp    0x4141fd
447901:	2d 50 43 52 45       	sub    $0x45524350,%eax
447906:	f7 d8                	neg    %eax
447908:	1b c0                	sbb    %eax,%eax
44790a:	83 e0 19             	and    $0x19,%eax
44790d:	83 c0 e3             	add    $0xffffffe3,%eax
447910:	e9 0c ce fc ff       	jmp    0x414721
447915:	8b 4d 08             	mov    0x8(%ebp),%ecx
447918:	8d 45 e4             	lea    -0x1c(%ebp),%eax
44791b:	50                   	push   %eax
44791c:	e8 3f 76 04 00       	call   0x48ef60
447921:	83 c4 04             	add    $0x4,%esp
447924:	85 c0                	test   %eax,%eax
447926:	74 2f                	je     0x447957
447928:	83 7d 1c 02          	cmpl   $0x2,0x1c(%ebp)
44792c:	7c 0b                	jl     0x447939
44792e:	8b 55 18             	mov    0x18(%ebp),%edx
447931:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
447934:	89 0a                	mov    %ecx,(%edx)
447936:	89 42 04             	mov    %eax,0x4(%edx)
447939:	83 f8 01             	cmp    $0x1,%eax