4455cc:	e8 02 e2 fb ff       	call   0x4037d3
4455d1:	e9 85 00 00 00       	jmp    0x44565b
4455d6:	57                   	push   %edi
4455d7:	6a 01                	push   $0x1
4455d9:	ff 75 fc             	push   -0x4(%ebp)
4455dc:	e8 f3 e2 fb ff       	call   0x4038d4
4455e1:	8b f8                	mov    %eax,%edi
4455e3:	85 ff                	test   %edi,%edi
4455e5:	75 14                	jne    0x4455fb
4455e7:	be 0e 00 07 80       	mov    $0x8007000e,%esi
4455ec:	56                   	push   %esi
4455ed:	6a 1b                	push   $0x1b
4455ef:	68 04 68 46 00       	push   $0x466804
4455f4:	e8 da e1 fb ff       	call   0x4037d3
4455f9:	eb 5f                	jmp    0x44565a
4455fb:	8d 45 fc             	lea    -0x4(%ebp),%eax
4455fe:	50                   	push   %eax
4455ff:	57                   	push   %edi
445600:	ff 75 0c             	push   0xc(%ebp)
445603:	ff 75 08             	push   0x8(%ebp)
445606:	ff 15 38 a9 46 00    	call   *0x46a938
44560c:	85 c0                	test   %eax,%eax
44560e:	75 2d                	jne    0x44563d
445610:	ff 15 e8 b0 44 00    	call   *0x44b0e8
445616:	0f b7 f0             	movzwl %ax,%esi
445619:	81 ce 00 00 07 80    	or     $0x80070000,%esi
44561f:	85 c0                	test   %eax,%eax
445621:	0f 4e f0             	cmovle %eax,%esi
445624:	b8 05 40 00 80       	mov    $0x80004005,%eax
445629:	85 f6                	test   %esi,%esi
44562b:	0f 49 f0             	cmovns %eax,%esi
44562e:	56                   	push   %esi
44562f:	6a 1f                	push   $0x1f
445631:	68 04 68 46 00       	push   $0x466804
445636:	e8 98 e1 fb ff       	call   0x4037d3
44563b:	eb 13                	jmp    0x445650
44563d:	8b 45 10             	mov    0x10(%ebp),%eax
445640:	8b 4d 14             	mov    0x14(%ebp),%ecx
445643:	89 38                	mov    %edi,(%eax)
445645:	8b fe                	mov    %esi,%edi
445647:	85 c9                	test   %ecx,%ecx
445649:	74 0f                	je     0x44565a
44564b:	8b 45 fc             	mov    -0x4(%ebp),%eax
44564e:	89 01                	mov    %eax,(%ecx)
445650:	85 ff                	test   %edi,%edi
445652:	74 06                	je     0x44565a
445654:	57                   	push   %edi
445655:	e8 3f e3 fb ff       	call   0x403999
44565a:	5f                   	pop    %edi
44565b:	8b c6                	mov    %esi,%eax
44565d:	5e                   	pop    %esi
44565e:	8b e5                	mov    %ebp,%esp
445660:	5d                   	pop    %ebp
445661:	c2 10 00             	ret    $0x10
445664:	55                   	push   %ebp
445665:	8b ec                	mov    %esp,%ebp
445667:	51                   	push   %ecx
445668:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
44566c:	8d 45 fc             	lea    -0x4(%ebp),%eax
44566f:	56                   	push   %esi
445670:	50                   	push   %eax
445671:	ff 75 08             	push   0x8(%ebp)
445674:	68 14 68 46 00       	push   $0x466814
445679:	e8 fb d6 fb ff       	call   0x402d79
44567e:	8b f0                	mov    %eax,%esi
445680:	85 f6                	test   %esi,%esi
445682:	78 17                	js     0x44569b
445684:	ff 75 0c             	push   0xc(%ebp)
445687:	68 19 00 02 00       	push   $0x20019
44568c:	ff 75 fc             	push   -0x4(%ebp)
44568f:	68 02 00 00 80       	push   $0x80000002
445694:	e8 a6 b7 ff ff       	call   0x440e3f
445699:	8b f0                	mov    %eax,%esi
44569b:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
44569f:	74 08                	je     0x4456a9
4456a1:	ff 75 fc             	push   -0x4(%ebp)
4456a4:	e8 46 fe ff ff       	call   0x4454ef
4456a9:	8b c6                	mov    %esi,%eax
4456ab:	5e                   	pop    %esi
4456ac:	8b e5                	mov    %ebp,%esp
4456ae:	5d                   	pop    %ebp
4456af:	c2 08 00             	ret    $0x8
4456b2:	55                   	push   %ebp
4456b3:	8b ec                	mov    %esp,%ebp
4456b5:	51                   	push   %ecx
4456b6:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4456ba:	8d 45 fc             	lea    -0x4(%ebp),%eax
4456bd:	53                   	push   %ebx
4456be:	56                   	push   %esi
4456bf:	57                   	push   %edi
4456c0:	50                   	push   %eax
4456c1:	ff 75 08             	push   0x8(%ebp)
4456c4:	e8 9b ff ff ff       	call   0x445664
4456c9:	8b 7d 14             	mov    0x14(%ebp),%edi
4456cc:	8b f0                	mov    %eax,%esi
4456ce:	81 fe 02 00 07 80    	cmp    $0x80070002,%esi
4456d4:	74 27                	je     0x4456fd
4456d6:	bb 03 00 07 80       	mov    $0x80070003,%ebx
4456db:	3b f3                	cmp    %ebx,%esi
4456dd:	74 1e                	je     0x4456fd
4456df:	85 f6                	test   %esi,%esi
4456e1:	78 1d                	js     0x445700
4456e3:	57                   	push   %edi
4456e4:	ff 75 0c             	push   0xc(%ebp)
4456e7:	ff 75 fc             	push   -0x4(%ebp)
4456ea:	e8 fd b7 ff ff       	call   0x440eec
4456ef:	8b f0                	mov    %eax,%esi
4456f1:	81 fe 02 00 07 80    	cmp    $0x80070002,%esi
4456f7:	74 04                	je     0x4456fd
4456f9:	3b f3                	cmp    %ebx,%esi
4456fb:	75 03                	jne    0x445700
4456fd:	33 f6                	xor    %esi,%esi
4456ff:	46                   	inc    %esi
445700:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
445704:	74 09                	je     0x44570f
445706:	ff 75 fc             	push   -0x4(%ebp)
445709:	ff 15 00 b0 44 00    	call   *0x44b000
44570f:	83 fe 01             	cmp    $0x1,%esi
445712:	74 04                	je     0x445718
445714:	85 f6                	test   %esi,%esi
445716:	79 05                	jns    0x44571d
445718:	8b 45 10             	mov    0x10(%ebp),%eax
44571b:	89 07                	mov    %eax,(%edi)
44571d:	5f                   	pop    %edi
44571e:	8b c6                	mov    %esi,%eax
445720:	5e                   	pop    %esi
445721:	5b                   	pop    %ebx
445722:	8b e5                	mov    %ebp,%esp
445724:	5d                   	pop    %ebp
445725:	c2 10 00             	ret    $0x10
445728:	55                   	push   %ebp
445729:	8b ec                	mov    %esp,%ebp
44572b:	51                   	push   %ecx
44572c:	53                   	push   %ebx
44572d:	56                   	push   %esi
44572e:	57                   	push   %edi
44572f:	8d 45 fc             	lea    -0x4(%ebp),%eax
445732:	33 db                	xor    %ebx,%ebx
445734:	50                   	push   %eax
445735:	ff 75 08             	push   0x8(%ebp)
445738:	89 5d fc             	mov    %ebx,-0x4(%ebp)
44573b:	e8 24 ff ff ff       	call   0x445664
445740:	8b 7d 14             	mov    0x14(%ebp),%edi
445743:	8b f0                	mov    %eax,%esi
445745:	81 fe 02 00 07 80    	cmp    $0x80070002,%esi
44574b:	74 2a                	je     0x445777
44574d:	81 fe 03 00 07 80    	cmp    $0x80070003,%esi
445753:	74 22                	je     0x445777
445755:	85 f6                	test   %esi,%esi
445757:	78 21                	js     0x44577a
445759:	57                   	push   %edi
44575a:	ff 75 0c             	push   0xc(%ebp)
44575d:	ff 75 fc             	push   -0x4(%ebp)
445760:	e8 09 b8 ff ff       	call   0x440f6e
445765:	8b f0                	mov    %eax,%esi
445767:	81 fe 02 00 07 80    	cmp    $0x80070002,%esi
44576d:	74 08                	je     0x445777
44576f:	81 fe 03 00 07 80    	cmp    $0x80070003,%esi
445775:	75 03                	jne    0x44577a
445777:	33 f6                	xor    %esi,%esi
445779:	46                   	inc    %esi
44577a:	39 5d fc             	cmp    %ebx,-0x4(%ebp)
44577d:	74 0c                	je     0x44578b
44577f:	ff 75 fc             	push   -0x4(%ebp)
445782:	ff 15 00 b0 44 00    	call   *0x44b000
445788:	89 5d fc             	mov    %ebx,-0x4(%ebp)
44578b:	83 fe 01             	cmp    $0x1,%esi
44578e:	74 04                	je     0x445794
445790:	85 f6                	test   %esi,%esi
445792:	79 20                	jns    0x4457b4
445794:	39 5d 10             	cmp    %ebx,0x10(%ebp)
445797:	75 0f                	jne    0x4457a8
445799:	39 1f                	cmp    %ebx,(%edi)
44579b:	74 17                	je     0x4457b4
44579d:	ff 37                	push   (%edi)
44579f:	e8 4b fd ff ff       	call   0x4454ef
4457a4:	89 1f                	mov    %ebx,(%edi)
4457a6:	eb 0c                	jmp    0x4457b4
4457a8:	53                   	push   %ebx
4457a9:	ff 75 10             	push   0x10(%ebp)
4457ac:	57                   	push   %edi
4457ad:	e8 f3 c9 fb ff       	call   0x4021a5
4457b2:	8b f0                	mov    %eax,%esi
4457b4:	5f                   	pop    %edi
4457b5:	8b c6                	mov    %esi,%eax
4457b7:	5e                   	pop    %esi
4457b8:	5b                   	pop    %ebx
4457b9:	8b e5                	mov    %ebp,%esp
4457bb:	5d                   	pop    %ebp
4457bc:	c2 10 00             	ret    $0x10
4457bf:	55                   	push   %ebp
4457c0:	8b ec                	mov    %esp,%ebp
4457c2:	51                   	push   %ecx
4457c3:	56                   	push   %esi
4457c4:	57                   	push   %edi
4457c5:	33 f6                	xor    %esi,%esi
4457c7:	8d 45 fc             	lea    -0x4(%ebp),%eax
4457ca:	50                   	push   %eax
4457cb:	56                   	push   %esi
4457cc:	56                   	push   %esi
4457cd:	ff 75 08             	push   0x8(%ebp)
4457d0:	8b fe                	mov    %esi,%edi
4457d2:	89 75 fc             	mov    %esi,-0x4(%ebp)
4457d5:	ff 15 a4 b0 44 00    	call   *0x44b0a4
4457db:	85 c0                	test   %eax,%eax
4457dd:	0f 85 92 00 00 00    	jne    0x445875
4457e3:	ff 15 e8 b0 44 00    	call   *0x44b0e8
4457e9:	83 f8 7a             	cmp    $0x7a,%eax
4457ec:	75 66                	jne    0x445854
4457ee:	6a 01                	push   $0x1
4457f0:	ff 75 fc             	push   -0x4(%ebp)
4457f3:	e8 dc e0 fb ff       	call   0x4038d4
4457f8:	8b f8                	mov    %eax,%edi
4457fa:	85 ff                	test   %edi,%edi
4457fc:	75 14                	jne    0x445812
4457fe:	be 0e 00 07 80       	mov    $0x8007000e,%esi
445803:	56                   	push   %esi
445804:	6a 18                	push   $0x18
445806:	68 3c 68 46 00       	push   $0x46683c
44580b:	e8 c3 df fb ff       	call   0x4037d3
445810:	eb 74                	jmp    0x445886
445812:	8d 45 fc             	lea    -0x4(%ebp),%eax
445815:	50                   	push   %eax
445816:	ff 75 fc             	push   -0x4(%ebp)
445819:	57                   	push   %edi
44581a:	ff 75 08             	push   0x8(%ebp)
44581d:	ff 15 a4 b0 44 00    	call   *0x44b0a4
445823:	85 c0                	test   %eax,%eax
445825:	75 4e                	jne    0x445875
445827:	ff 15 e8 b0 44 00    	call   *0x44b0e8
44582d:	0f b7 f0             	movzwl %ax,%esi
445830:	81 ce 00 00 07 80    	or     $0x80070000,%esi
445836:	85 c0                	test   %eax,%eax
445838:	0f 4e f0             	cmovle %eax,%esi
44583b:	b8 05 40 00 80       	mov    $0x80004005,%eax
445840:	85 f6                	test   %esi,%esi
445842:	0f 49 f0             	cmovns %eax,%esi
445845:	56                   	push   %esi
445846:	6a 1c                	push   $0x1c
445848:	68 3c 68 46 00       	push   $0x46683c
44584d:	e8 81 df fb ff       	call   0x4037d3
445852:	eb 28                	jmp    0x44587c
445854:	85 c0                	test   %eax,%eax
445856:	74 1d                	je     0x445875
445858:	0f b7 f0             	movzwl %ax,%esi
44585b:	81 ce 00 00 07 80    	or     $0x80070000,%esi
445861:	85 c0                	test   %eax,%eax
445863:	0f 4e f0             	cmovle %eax,%esi
445866:	b8 05 40 00 80       	mov    $0x80004005,%eax
44586b:	85 f6                	test   %esi,%esi
44586d:	0f 49 f0             	cmovns %eax,%esi
445870:	56                   	push   %esi
445871:	6a 21                	push   $0x21
445873:	eb 91                	jmp    0x445806
445875:	8b 45 0c             	mov    0xc(%ebp),%eax
445878:	89 38                	mov    %edi,(%eax)
44587a:	8b fe                	mov    %esi,%edi
44587c:	85 ff                	test   %edi,%edi
44587e:	74 06                	je     0x445886
445880:	57                   	push   %edi
445881:	e8 13 e1 fb ff       	call   0x403999
445886:	5f                   	pop    %edi
445887:	8b c6                	mov    %esi,%eax
445889:	5e                   	pop    %esi
44588a:	8b e5                	mov    %ebp,%esp
44588c:	5d                   	pop    %ebp
44588d:	c2 08 00             	ret    $0x8
445890:	55                   	push   %ebp
445891:	8b ec                	mov    %esp,%ebp
445893:	51                   	push   %ecx
445894:	8b 4d 08             	mov    0x8(%ebp),%ecx
445897:	8b 55 0c             	mov    0xc(%ebp),%edx
44589a:	53                   	push   %ebx
44589b:	8b 5d 14             	mov    0x14(%ebp),%ebx
44589e:	56                   	push   %esi
44589f:	57                   	push   %edi
4458a0:	8b 7d 10             	mov    0x10(%ebp),%edi
4458a3:	33 f6                	xor    %esi,%esi
4458a5:	8b c7                	mov    %edi,%eax
4458a7:	2b c1                	sub    %ecx,%eax
4458a9:	89 45 fc             	mov    %eax,-0x4(%ebp)
4458ac:	8b c3                	mov    %ebx,%eax
4458ae:	1b c2                	sbb    %edx,%eax
4458b0:	3b c6                	cmp    %esi,%eax
4458b2:	77 3b                	ja     0x4458ef
4458b4:	72 09                	jb     0x4458bf
4458b6:	81 7d fc 00 00 00 80 	cmpl   $0x80000000,-0x4(%ebp)
4458bd:	73 30                	jae    0x4458ef
4458bf:	3b d6                	cmp    %esi,%edx
4458c1:	72 1a                	jb     0x4458dd
4458c3:	77 04                	ja     0x4458c9
4458c5:	3b ce                	cmp    %esi,%ecx
4458c7:	76 14                	jbe    0x4458dd
4458c9:	52                   	push   %edx
4458ca:	51                   	push   %ecx
4458cb:	68 9c 68 46 00       	push   $0x46689c
4458d0:	ff 75 18             	push   0x18(%ebp)
4458d3:	e8 48 c6 fb ff       	call   0x401f20
4458d8:	83 c4 10             	add    $0x10,%esp
4458db:	eb 2c                	jmp    0x445909
4458dd:	8b 7d 18             	mov    0x18(%ebp),%edi
4458e0:	39 37                	cmp    %esi,(%edi)
4458e2:	74 27                	je     0x44590b
4458e4:	ff 37                	push   (%edi)
4458e6:	e8 04 fc ff ff       	call   0x4454ef
4458eb:	89 37                	mov    %esi,(%edi)
4458ed:	eb 1c                	jmp    0x44590b
4458ef:	83 c7 ff             	add    $0xffffffff,%edi
4458f2:	83 d3 ff             	adc    $0xffffffff,%ebx
4458f5:	53                   	push   %ebx
4458f6:	57                   	push   %edi
4458f7:	52                   	push   %edx
4458f8:	51                   	push   %ecx
4458f9:	68 c4 68 46 00       	push   $0x4668c4
4458fe:	ff 75 18             	push   0x18(%ebp)
445901:	e8 1a c6 fb ff       	call   0x401f20
445906:	83 c4 18             	add    $0x18,%esp
445909:	8b f0                	mov    %eax,%esi
44590b:	5f                   	pop    %edi
44590c:	8b c6                	mov    %esi,%eax
44590e:	5e                   	pop    %esi
44590f:	5b                   	pop    %ebx
445910:	8b e5                	mov    %ebp,%esp
445912:	5d                   	pop    %ebp
445913:	c2 14 00             	ret    $0x14
445916:	55                   	push   %ebp
445917:	8b ec                	mov    %esp,%ebp
445919:	83 ec 20             	sub    $0x20,%esp
44591c:	53                   	push   %ebx
44591d:	56                   	push   %esi
44591e:	57                   	push   %edi
44591f:	33 c0                	xor    %eax,%eax
445921:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
445928:	50                   	push   %eax
445929:	68 80 00 00 00       	push   $0x80
44592e:	6a 04                	push   $0x4
445930:	50                   	push   %eax
445931:	6a 04                	push   $0x4
445933:	68 00 00 00 c0       	push   $0xc0000000
445938:	ff 75 18             	push   0x18(%ebp)
44593b:	8b f8                	mov    %eax,%edi
44593d:	89 45 ec             	mov    %eax,-0x14(%ebp)
445940:	8b d8                	mov    %eax,%ebx
445942:	89 45 f0             	mov    %eax,-0x10(%ebp)
445945:	0f 57 c0             	xorps  %xmm0,%xmm0
445948:	89 7d fc             	mov    %edi,-0x4(%ebp)
44594b:	8b f0                	mov    %eax,%esi
44594d:	89 5d f4             	mov    %ebx,-0xc(%ebp)
445950:	66 0f 13 45 e0       	movlpd %xmm0,-0x20(%ebp)
445955:	ff 15 d8 b0 44 00    	call   *0x44b0d8