4494fa:	21 77 04             	and    %esi,0x4(%edi)
4494fd:	5f                   	pop    %edi
4494fe:	8b c6                	mov    %esi,%eax
449500:	5e                   	pop    %esi
449501:	5b                   	pop    %ebx
449502:	c3                   	ret
449503:	55                   	push   %ebp
449504:	8b ec                	mov    %esp,%ebp
449506:	53                   	push   %ebx
449507:	56                   	push   %esi
449508:	57                   	push   %edi
449509:	e8 97 02 00 00       	call   0x4497a5
44950e:	84 c0                	test   %al,%al
449510:	74 4d                	je     0x44955f
449512:	8b 5d 08             	mov    0x8(%ebp),%ebx
449515:	8b 7d 0c             	mov    0xc(%ebp),%edi
449518:	8b 03                	mov    (%ebx),%eax
44951a:	33 c9                	xor    %ecx,%ecx
44951c:	85 c0                	test   %eax,%eax
44951e:	74 04                	je     0x449524
449520:	39 0f                	cmp    %ecx,(%edi)
449522:	75 3d                	jne    0x449561
449524:	8b 75 10             	mov    0x10(%ebp),%esi
449527:	39 0e                	cmp    %ecx,(%esi)
449529:	74 34                	je     0x44955f
44952b:	8b 45 14             	mov    0x14(%ebp),%eax
44952e:	39 08                	cmp    %ecx,(%eax)
449530:	74 2d                	je     0x44955f
449532:	8b cb                	mov    %ebx,%ecx
449534:	e8 98 fe ff ff       	call   0x4493d1
449539:	8b cf                	mov    %edi,%ecx
44953b:	e8 91 fe ff ff       	call   0x4493d1
449540:	8b 0e                	mov    (%esi),%ecx
449542:	6a 00                	push   $0x0
449544:	8b d3                	mov    %ebx,%edx
449546:	e8 dd fe ff ff       	call   0x449428
44954b:	8b 45 14             	mov    0x14(%ebp),%eax
44954e:	6a 00                	push   $0x0
449550:	8b 08                	mov    (%eax),%ecx
449552:	8b d7                	mov    %edi,%edx
449554:	e8 cf fe ff ff       	call   0x449428
449559:	8b 06                	mov    (%esi),%eax
44955b:	59                   	pop    %ecx
44955c:	59                   	pop    %ecx
44955d:	eb 02                	jmp    0x449561
44955f:	33 c0                	xor    %eax,%eax
449561:	5f                   	pop    %edi
449562:	5e                   	pop    %esi
449563:	5b                   	pop    %ebx
449564:	5d                   	pop    %ebp
449565:	c2 10 00             	ret    $0x10
449568:	55                   	push   %ebp
449569:	8b ec                	mov    %esp,%ebp
44956b:	83 ec 0c             	sub    $0xc,%esp
44956e:	8b 01                	mov    (%ecx),%eax
449570:	56                   	push   %esi
449571:	57                   	push   %edi
449572:	33 ff                	xor    %edi,%edi
449574:	c7 45 f4 0c 00 00 00 	movl   $0xc,-0xc(%ebp)
44957b:	89 7d fc             	mov    %edi,-0x4(%ebp)
44957e:	89 7d f8             	mov    %edi,-0x8(%ebp)
449581:	a8 10                	test   $0x10,%al
449583:	74 1d                	je     0x4495a2
449585:	ff 75 0c             	push   0xc(%ebp)
449588:	ff 15 54 d2 48 00    	call   *0x48d254
44958e:	8b 75 10             	mov    0x10(%ebp),%esi
449591:	89 06                	mov    %eax,(%esi)
449593:	83 f8 ff             	cmp    $0xffffffff,%eax
449596:	75 47                	jne    0x4495df
449598:	89 3e                	mov    %edi,(%esi)
44959a:	8b 06                	mov    (%esi),%eax
44959c:	5f                   	pop    %edi
44959d:	5e                   	pop    %esi
44959e:	c9                   	leave
44959f:	c2 10 00             	ret    $0x10
4495a2:	85 45 08             	test   %eax,0x8(%ebp)
4495a5:	74 21                	je     0x4495c8
4495a7:	8b 75 10             	mov    0x10(%ebp),%esi
4495aa:	8b 06                	mov    (%esi),%eax
4495ac:	85 c0                	test   %eax,%eax
4495ae:	75 ec                	jne    0x44959c
4495b0:	57                   	push   %edi
4495b1:	8d 45 f4             	lea    -0xc(%ebp),%eax
4495b4:	50                   	push   %eax
4495b5:	56                   	push   %esi
4495b6:	ff 75 14             	push   0x14(%ebp)
4495b9:	ff 15 58 d2 48 00    	call   *0x48d258
4495bf:	85 c0                	test   %eax,%eax
4495c1:	75 53                	jne    0x449616
4495c3:	83 c8 ff             	or     $0xffffffff,%eax
4495c6:	eb d4                	jmp    0x44959c
4495c8:	ff 75 0c             	push   0xc(%ebp)
4495cb:	ff 15 54 d2 48 00    	call   *0x48d254
4495d1:	8b 75 10             	mov    0x10(%ebp),%esi
4495d4:	89 06                	mov    %eax,(%esi)
4495d6:	85 c0                	test   %eax,%eax
4495d8:	74 13                	je     0x4495ed
4495da:	83 f8 ff             	cmp    $0xffffffff,%eax
4495dd:	74 0e                	je     0x4495ed
4495df:	6a 01                	push   $0x1
4495e1:	8b d6                	mov    %esi,%edx
4495e3:	8b c8                	mov    %eax,%ecx
4495e5:	e8 3e fe ff ff       	call   0x449428
4495ea:	59                   	pop    %ecx
4495eb:	eb ad                	jmp    0x44959a
4495ed:	57                   	push   %edi
4495ee:	68 80 00 00 00       	push   $0x80
4495f3:	6a 03                	push   $0x3
4495f5:	8d 45 f4             	lea    -0xc(%ebp),%eax
4495f8:	50                   	push   %eax
4495f9:	6a 02                	push   $0x2
4495fb:	68 00 00 00 40       	push   $0x40000000
449600:	68 8c 38 4b 00       	push   $0x4b388c
449605:	ff 15 c4 d1 48 00    	call   *0x48d1c4
44960b:	89 06                	mov    %eax,(%esi)
44960d:	83 f8 ff             	cmp    $0xffffffff,%eax
449610:	74 86                	je     0x449598
449612:	85 c0                	test   %eax,%eax
449614:	74 82                	je     0x449598
449616:	8b 0e                	mov    (%esi),%ecx
449618:	6a 01                	push   $0x1
44961a:	8d 55 10             	lea    0x10(%ebp),%edx
44961d:	e8 06 fe ff ff       	call   0x449428
449622:	59                   	pop    %ecx
449623:	8b ce                	mov    %esi,%ecx
449625:	e8 a7 fd ff ff       	call   0x4493d1
44962a:	8b 45 10             	mov    0x10(%ebp),%eax
44962d:	89 06                	mov    %eax,(%esi)
44962f:	e9 66 ff ff ff       	jmp    0x44959a
449634:	55                   	push   %ebp
449635:	8b ec                	mov    %esp,%ebp
449637:	83 ec 0c             	sub    $0xc,%esp
44963a:	8b 01                	mov    (%ecx),%eax
44963c:	56                   	push   %esi
44963d:	57                   	push   %edi
44963e:	33 ff                	xor    %edi,%edi
449640:	c7 45 f4 0c 00 00 00 	movl   $0xc,-0xc(%ebp)
449647:	89 7d fc             	mov    %edi,-0x4(%ebp)
44964a:	89 7d f8             	mov    %edi,-0x8(%ebp)
44964d:	a8 10                	test   $0x10,%al
44964f:	74 1c                	je     0x44966d
449651:	6a f6                	push   $0xfffffff6
449653:	ff 15 54 d2 48 00    	call   *0x48d254
449659:	8b 75 10             	mov    0x10(%ebp),%esi
44965c:	89 06                	mov    %eax,(%esi)
44965e:	83 f8 ff             	cmp    $0xffffffff,%eax
449661:	75 45                	jne    0x4496a8
449663:	89 3e                	mov    %edi,(%esi)
449665:	8b 06                	mov    (%esi),%eax
449667:	5f                   	pop    %edi
449668:	5e                   	pop    %esi
449669:	c9                   	leave
44966a:	c2 10 00             	ret    $0x10
44966d:	a8 01                	test   $0x1,%al
44966f:	74 21                	je     0x449692
449671:	8b 75 10             	mov    0x10(%ebp),%esi
449674:	8b 06                	mov    (%esi),%eax
449676:	85 c0                	test   %eax,%eax
449678:	75 ed                	jne    0x449667
44967a:	57                   	push   %edi
44967b:	8d 45 f4             	lea    -0xc(%ebp),%eax
44967e:	50                   	push   %eax
44967f:	ff 75 14             	push   0x14(%ebp)
449682:	56                   	push   %esi
449683:	ff 15 58 d2 48 00    	call   *0x48d258
449689:	85 c0                	test   %eax,%eax
44968b:	75 52                	jne    0x4496df
44968d:	83 c8 ff             	or     $0xffffffff,%eax
449690:	eb d5                	jmp    0x449667
449692:	6a f6                	push   $0xfffffff6
449694:	ff 15 54 d2 48 00    	call   *0x48d254
44969a:	8b 75 10             	mov    0x10(%ebp),%esi
44969d:	89 06                	mov    %eax,(%esi)
44969f:	85 c0                	test   %eax,%eax
4496a1:	74 13                	je     0x4496b6
4496a3:	83 f8 ff             	cmp    $0xffffffff,%eax
4496a6:	74 0e                	je     0x4496b6
4496a8:	6a 01                	push   $0x1
4496aa:	8b d6                	mov    %esi,%edx
4496ac:	8b c8                	mov    %eax,%ecx
4496ae:	e8 75 fd ff ff       	call   0x449428
4496b3:	59                   	pop    %ecx
4496b4:	eb af                	jmp    0x449665
4496b6:	57                   	push   %edi
4496b7:	68 80 00 00 00       	push   $0x80
4496bc:	6a 03                	push   $0x3
4496be:	8d 45 f4             	lea    -0xc(%ebp),%eax
4496c1:	50                   	push   %eax
4496c2:	6a 01                	push   $0x1
4496c4:	68 00 00 00 80       	push   $0x80000000
4496c9:	68 8c 38 4b 00       	push   $0x4b388c
4496ce:	ff 15 c4 d1 48 00    	call   *0x48d1c4
4496d4:	89 06                	mov    %eax,(%esi)
4496d6:	83 f8 ff             	cmp    $0xffffffff,%eax
4496d9:	74 88                	je     0x449663
4496db:	85 c0                	test   %eax,%eax
4496dd:	74 84                	je     0x449663
4496df:	8b 0e                	mov    (%esi),%ecx
4496e1:	6a 01                	push   $0x1
4496e3:	8d 55 10             	lea    0x10(%ebp),%edx
4496e6:	e8 3d fd ff ff       	call   0x449428
4496eb:	59                   	pop    %ecx
4496ec:	8b ce                	mov    %esi,%ecx
4496ee:	e8 de fc ff ff       	call   0x4493d1
4496f3:	8b 45 10             	mov    0x10(%ebp),%eax
4496f6:	89 06                	mov    %eax,(%esi)
4496f8:	e9 68 ff ff ff       	jmp    0x449665
4496fd:	55                   	push   %ebp
4496fe:	8b ec                	mov    %esp,%ebp
449700:	e8 a0 00 00 00       	call   0x4497a5
449705:	84 c0                	test   %al,%al
449707:	74 06                	je     0x44970f
449709:	5d                   	pop    %ebp
44970a:	e9 14 01 00 00       	jmp    0x449823
44970f:	8b 49 24             	mov    0x24(%ecx),%ecx
449712:	85 c9                	test   %ecx,%ecx
449714:	74 06                	je     0x44971c
449716:	5d                   	pop    %ebp
449717:	e9 d5 fb ff ff       	jmp    0x4492f1
44971c:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
449720:	74 0d                	je     0x44972f
449722:	8b 4d 08             	mov    0x8(%ebp),%ecx
449725:	68 00 dc 49 00       	push   $0x49dc00
44972a:	e8 8a 36 fc ff       	call   0x40cdb9
44972f:	33 c0                	xor    %eax,%eax
449731:	5d                   	pop    %ebp
449732:	c2 08 00             	ret    $0x8
449735:	e8 28 fd ff ff       	call   0x449462
44973a:	0f b6 c0             	movzbl %al,%eax
44973d:	c1 e8 02             	shr    $0x2,%eax
449740:	83 e0 01             	and    $0x1,%eax
449743:	c3                   	ret
449744:	55                   	push   %ebp
449745:	8b ec                	mov    %esp,%ebp
449747:	e8 59 00 00 00       	call   0x4497a5
44974c:	84 c0                	test   %al,%al
44974e:	74 06                	je     0x449756
449750:	5d                   	pop    %ebp
449751:	e9 04 01 00 00       	jmp    0x44985a
449756:	8b 49 24             	mov    0x24(%ecx),%ecx
449759:	85 c9                	test   %ecx,%ecx
44975b:	74 06                	je     0x449763
44975d:	5d                   	pop    %ebp
44975e:	e9 13 fc ff ff       	jmp    0x449376
449763:	8b 4d 08             	mov    0x8(%ebp),%ecx
449766:	68 00 dc 49 00       	push   $0x49dc00
44976b:	e8 49 36 fc ff       	call   0x40cdb9
449770:	33 c0                	xor    %eax,%eax
449772:	5d                   	pop    %ebp
449773:	c2 04 00             	ret    $0x4
449776:	53                   	push   %ebx
449777:	56                   	push   %esi
449778:	8b f1                	mov    %ecx,%esi
44977a:	57                   	push   %edi
44977b:	8d 46 08             	lea    0x8(%esi),%eax
44977e:	50                   	push   %eax
44977f:	8d 46 0c             	lea    0xc(%esi),%eax
449782:	50                   	push   %eax
449783:	8d 7e 10             	lea    0x10(%esi),%edi
449786:	57                   	push   %edi
449787:	8d 5e 14             	lea    0x14(%esi),%ebx
44978a:	53                   	push   %ebx
44978b:	e8 73 fd ff ff       	call   0x449503
449790:	85 c0                	test   %eax,%eax
449792:	75 0d                	jne    0x4497a1
449794:	57                   	push   %edi
449795:	53                   	push   %ebx
449796:	6a f4                	push   $0xfffffff4
449798:	6a 04                	push   $0x4
44979a:	8b ce                	mov    %esi,%ecx
44979c:	e8 c7 fd ff ff       	call   0x449568
4497a1:	5f                   	pop    %edi
4497a2:	5e                   	pop    %esi
4497a3:	5b                   	pop    %ebx
4497a4:	c3                   	ret
4497a5:	0f b6 01             	movzbl (%ecx),%eax
4497a8:	c1 e8 03             	shr    $0x3,%eax
4497ab:	83 e0 01             	and    $0x1,%eax
4497ae:	c3                   	ret
4497af:	33 c0                	xor    %eax,%eax
4497b1:	f6 01 04             	testb  $0x4,(%ecx)
4497b4:	74 06                	je     0x4497bc
4497b6:	39 41 10             	cmp    %eax,0x10(%ecx)
4497b9:	74 01                	je     0x4497bc
4497bb:	40                   	inc    %eax
4497bc:	c3                   	ret
4497bd:	55                   	push   %ebp
4497be:	8b ec                	mov    %esp,%ebp
4497c0:	51                   	push   %ecx
4497c1:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4497c5:	e8 4b 00 00 00       	call   0x449815
4497ca:	84 c0                	test   %al,%al
4497cc:	74 30                	je     0x4497fe
4497ce:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4497d2:	74 2a                	je     0x4497fe
4497d4:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
4497d8:	74 24                	je     0x4497fe
4497da:	56                   	push   %esi
4497db:	6a 00                	push   $0x0
4497dd:	8d 45 fc             	lea    -0x4(%ebp),%eax
4497e0:	50                   	push   %eax
4497e1:	ff 75 0c             	push   0xc(%ebp)
4497e4:	8d 71 18             	lea    0x18(%ecx),%esi
4497e7:	ff 75 08             	push   0x8(%ebp)
4497ea:	ff 36                	push   (%esi)
4497ec:	ff 15 d0 d1 48 00    	call   *0x48d1d0
4497f2:	85 c0                	test   %eax,%eax
4497f4:	75 07                	jne    0x4497fd
4497f6:	8b ce                	mov    %esi,%ecx
4497f8:	e8 d4 fb ff ff       	call   0x4493d1
4497fd:	5e                   	pop    %esi
4497fe:	8b 45 fc             	mov    -0x4(%ebp),%eax
449801:	c9                   	leave
449802:	c2 08 00             	ret    $0x8
449805:	8d 41 18             	lea    0x18(%ecx),%eax
449808:	50                   	push   %eax
449809:	8d 41 1c             	lea    0x1c(%ecx),%eax
44980c:	50                   	push   %eax
44980d:	51                   	push   %ecx
44980e:	51                   	push   %ecx
44980f:	e8 20 fe ff ff       	call   0x449634
449814:	c3                   	ret
449815:	33 c0                	xor    %eax,%eax
449817:	f6 01 01             	testb  $0x1,(%ecx)
44981a:	74 06                	je     0x449822
44981c:	39 41 18             	cmp    %eax,0x18(%ecx)
44981f:	74 01                	je     0x449822
449821:	40                   	inc    %eax
449822:	c3                   	ret
449823:	55                   	push   %ebp
449824:	8b ec                	mov    %esp,%ebp
449826:	8b 49 20             	mov    0x20(%ecx),%ecx
449829:	85 c9                	test   %ecx,%ecx
44982b:	74 06                	je     0x449833
44982d:	5d                   	pop    %ebp
44982e:	e9 be fa ff ff       	jmp    0x4492f1
449833:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
449837:	74 0d                	je     0x449846
449839:	8b 4d 08             	mov    0x8(%ebp),%ecx
44983c:	68 00 dc 49 00       	push   $0x49dc00
449841:	e8 73 35 fc ff       	call   0x40cdb9
449846:	33 c0                	xor    %eax,%eax
449848:	5d                   	pop    %ebp
449849:	c2 08 00             	ret    $0x8
44984c:	e8 11 fc ff ff       	call   0x449462
449851:	0f b6 c0             	movzbl %al,%eax
449854:	d1 e8                	shr    $1,%eax
449856:	83 e0 01             	and    $0x1,%eax
449859:	c3                   	ret
44985a:	55                   	push   %ebp