42145d:	74 0e                	je     0x42146d
42145f:	8b 0f                	mov    (%edi),%ecx
421461:	53                   	push   %ebx
421462:	50                   	push   %eax
421463:	8b 49 04             	mov    0x4(%ecx),%ecx
421466:	03 cf                	add    %edi,%ecx
421468:	e8 ca a1 ff ff       	call   0x41b637
42146d:	8d 4d d0             	lea    -0x30(%ebp),%ecx
421470:	e8 ed 36 00 00       	call   0x424b62
421475:	8b c7                	mov    %edi,%eax
421477:	e8 25 f0 06 00       	call   0x4904a1
42147c:	c2 04 00             	ret    $0x4
42147f:	6a 2c                	push   $0x2c
421481:	b8 54 1a 49 00       	mov    $0x491a54,%eax
421486:	e8 b1 f0 06 00       	call   0x49053c
42148b:	8b f9                	mov    %ecx,%edi
42148d:	8b 45 08             	mov    0x8(%ebp),%eax
421490:	33 db                	xor    %ebx,%ebx
421492:	51                   	push   %ecx
421493:	57                   	push   %edi
421494:	8d 4d d0             	lea    -0x30(%ebp),%ecx
421497:	89 7d e8             	mov    %edi,-0x18(%ebp)
42149a:	89 45 dc             	mov    %eax,-0x24(%ebp)
42149d:	89 5d ec             	mov    %ebx,-0x14(%ebp)
4214a0:	e8 4c 36 00 00       	call   0x424af1
4214a5:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4214a8:	38 5d d4             	cmp    %bl,-0x2c(%ebp)
4214ab:	0f 84 a6 00 00 00    	je     0x421557
4214b1:	8b 07                	mov    (%edi),%eax
4214b3:	8b 48 04             	mov    0x4(%eax),%ecx
4214b6:	8b 4c 39 24          	mov    0x24(%ecx,%edi,1),%ecx
4214ba:	8b 09                	mov    (%ecx),%ecx
4214bc:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
4214bf:	e8 e2 a3 ff ff       	call   0x41b8a6
4214c4:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4214c7:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4214cb:	e8 fd 2c 00 00       	call   0x4241cd
4214d0:	8b f0                	mov    %eax,%esi
4214d2:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4214d5:	89 75 d8             	mov    %esi,-0x28(%ebp)
4214d8:	e8 96 a7 ff ff       	call   0x41bc73
4214dd:	ff 75 dc             	push   -0x24(%ebp)
4214e0:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
4214e4:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4214e7:	8b 07                	mov    (%edi),%eax
4214e9:	8b 36                	mov    (%esi),%esi
4214eb:	51                   	push   %ecx
4214ec:	c6 45 e4 01          	movb   $0x1,-0x1c(%ebp)
4214f0:	8b 40 04             	mov    0x4(%eax),%eax
4214f3:	8b 4e 1c             	mov    0x1c(%esi),%ecx
4214f6:	03 c7                	add    %edi,%eax
4214f8:	50                   	push   %eax
4214f9:	ff 75 e4             	push   -0x1c(%ebp)
4214fc:	39 58 28             	cmp    %ebx,0x28(%eax)
4214ff:	53                   	push   %ebx
421500:	0f 94 45 cc          	sete   -0x34(%ebp)
421504:	ff 75 cc             	push   -0x34(%ebp)
421507:	ff 70 28             	push   0x28(%eax)
42150a:	8d 45 c8             	lea    -0x38(%ebp),%eax
42150d:	50                   	push   %eax
42150e:	ff 15 2c 81 4a 00    	call   *0x4a812c
421514:	8b 4d d8             	mov    -0x28(%ebp),%ecx
421517:	ff 56 1c             	call   *0x1c(%esi)
42151a:	eb 38                	jmp    0x421554
42151c:	8b 4d e8             	mov    -0x18(%ebp),%ecx
42151f:	8b 01                	mov    (%ecx),%eax
421521:	8b 50 04             	mov    0x4(%eax),%edx
421524:	03 d1                	add    %ecx,%edx
421526:	8b 42 08             	mov    0x8(%edx),%eax
421529:	83 c8 04             	or     $0x4,%eax
42152c:	83 7a 28 00          	cmpl   $0x0,0x28(%edx)
421530:	75 03                	jne    0x421535
421532:	83 c8 04             	or     $0x4,%eax
421535:	83 e0 17             	and    $0x17,%eax
421538:	89 42 08             	mov    %eax,0x8(%edx)
42153b:	85 42 0c             	test   %eax,0xc(%edx)
42153e:	74 09                	je     0x421549
421540:	6a 01                	push   $0x1
421542:	8b ca                	mov    %edx,%ecx
421544:	e8 c2 a2 ff ff       	call   0x41b80b
421549:	b8 4f 15 42 00       	mov    $0x42154f,%eax
42154e:	c3                   	ret
42154f:	8b 7d e8             	mov    -0x18(%ebp),%edi
421552:	33 db                	xor    %ebx,%ebx
421554:	89 5d fc             	mov    %ebx,-0x4(%ebp)
421557:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
42155b:	74 10                	je     0x42156d
42155d:	8b 0f                	mov    (%edi),%ecx
42155f:	53                   	push   %ebx
421560:	ff 75 ec             	push   -0x14(%ebp)
421563:	8b 49 04             	mov    0x4(%ecx),%ecx
421566:	03 cf                	add    %edi,%ecx
421568:	e8 ca a0 ff ff       	call   0x41b637
42156d:	8d 4d d0             	lea    -0x30(%ebp),%ecx
421570:	e8 c9 32 00 00       	call   0x42483e
421575:	8b c7                	mov    %edi,%eax
421577:	e8 25 ef 06 00       	call   0x4904a1
42157c:	c2 04 00             	ret    $0x4
42157f:	8b ff                	mov    %edi,%edi
421581:	55                   	push   %ebp
421582:	8b ec                	mov    %esp,%ebp
421584:	6a 0c                	push   $0xc
421586:	ff 15 14 74 4a 00    	call   *0x4a7414
42158c:	59                   	pop    %ecx
42158d:	8b 4d 08             	mov    0x8(%ebp),%ecx
421590:	89 08                	mov    %ecx,(%eax)
421592:	8b 4d 0c             	mov    0xc(%ebp),%ecx
421595:	89 48 04             	mov    %ecx,0x4(%eax)
421598:	8b 4d 10             	mov    0x10(%ebp),%ecx
42159b:	8b 09                	mov    (%ecx),%ecx
42159d:	89 48 08             	mov    %ecx,0x8(%eax)
4215a0:	5d                   	pop    %ebp
4215a1:	c2 0c 00             	ret    $0xc
4215a4:	6a 18                	push   $0x18
4215a6:	b8 6f 1a 49 00       	mov    $0x491a6f,%eax
4215ab:	e8 8c ef 06 00       	call   0x49053c
4215b0:	8b d9                	mov    %ecx,%ebx
4215b2:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
4215b6:	8d 7d dc             	lea    -0x24(%ebp),%edi
4215b9:	8b 75 10             	mov    0x10(%ebp),%esi
4215bc:	6a 0c                	push   $0xc
4215be:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4215bf:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4215c0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4215c1:	5f                   	pop    %edi
4215c2:	75 04                	jne    0x4215c8
4215c4:	33 f6                	xor    %esi,%esi
4215c6:	eb 0b                	jmp    0x4215d3
4215c8:	8b 43 0c             	mov    0xc(%ebx),%eax
4215cb:	2b 43 04             	sub    0x4(%ebx),%eax
4215ce:	99                   	cltd
4215cf:	f7 ff                	idiv   %edi
4215d1:	8b f0                	mov    %eax,%esi
4215d3:	e8 9a fd ff ff       	call   0x421372
4215d8:	ba 55 55 55 15       	mov    $0x15555555,%edx
4215dd:	8b ca                	mov    %edx,%ecx
4215df:	2b c8                	sub    %eax,%ecx
4215e1:	83 f9 01             	cmp    $0x1,%ecx
4215e4:	0f 82 63 01 00 00    	jb     0x42174d
4215ea:	8d 48 01             	lea    0x1(%eax),%ecx
4215ed:	3b f1                	cmp    %ecx,%esi
4215ef:	0f 83 9c 00 00 00    	jae    0x421691
4215f5:	8b c6                	mov    %esi,%eax
4215f7:	d1 e8                	shr    $1,%eax
4215f9:	2b d0                	sub    %eax,%edx
4215fb:	03 c6                	add    %esi,%eax
4215fd:	3b d6                	cmp    %esi,%edx
4215ff:	1b ff                	sbb    %edi,%edi
421601:	f7 d7                	not    %edi
421603:	23 f8                	and    %eax,%edi
421605:	3b f9                	cmp    %ecx,%edi
421607:	73 02                	jae    0x42160b
421609:	8b f9                	mov    %ecx,%edi
42160b:	57                   	push   %edi
42160c:	e8 9b 11 00 00       	call   0x4227ac
421611:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
421615:	8b f0                	mov    %eax,%esi
421617:	8b 55 08             	mov    0x8(%ebp),%edx
42161a:	89 75 e8             	mov    %esi,-0x18(%ebp)
42161d:	ff 75 e8             	push   -0x18(%ebp)
421620:	ff 75 e8             	push   -0x18(%ebp)
421623:	51                   	push   %ecx
421624:	8b 4b 04             	mov    0x4(%ebx),%ecx
421627:	56                   	push   %esi
421628:	e8 bf 30 00 00       	call   0x4246ec
42162d:	ff 75 e8             	push   -0x18(%ebp)
421630:	33 d2                	xor    %edx,%edx
421632:	ff 75 e8             	push   -0x18(%ebp)
421635:	8d 48 0c             	lea    0xc(%eax),%ecx
421638:	42                   	inc    %edx
421639:	51                   	push   %ecx
42163a:	89 4d ec             	mov    %ecx,-0x14(%ebp)
42163d:	8d 4d dc             	lea    -0x24(%ebp),%ecx
421640:	51                   	push   %ecx
421641:	8b c8                	mov    %eax,%ecx
421643:	e8 83 30 00 00       	call   0x4246cb
421648:	ff 75 e8             	push   -0x18(%ebp)
42164b:	8b 53 08             	mov    0x8(%ebx),%edx
42164e:	ff 75 e8             	push   -0x18(%ebp)
421651:	51                   	push   %ecx
421652:	ff 75 ec             	push   -0x14(%ebp)
421655:	8b 4d 08             	mov    0x8(%ebp),%ecx
421658:	e8 8f 30 00 00       	call   0x4246ec
42165d:	8b cb                	mov    %ebx,%ecx
42165f:	e8 0e fd ff ff       	call   0x421372
421664:	40                   	inc    %eax
421665:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
421669:	89 45 ec             	mov    %eax,-0x14(%ebp)
42166c:	74 0a                	je     0x421678
42166e:	ff 73 04             	push   0x4(%ebx)
421671:	ff 15 10 74 4a 00    	call   *0x4a7410
421677:	59                   	pop    %ecx
421678:	6b c7 0c             	imul   $0xc,%edi,%eax
42167b:	89 73 04             	mov    %esi,0x4(%ebx)
42167e:	03 c6                	add    %esi,%eax
421680:	89 43 0c             	mov    %eax,0xc(%ebx)
421683:	6b 45 ec 0c          	imul   $0xc,-0x14(%ebp),%eax
421687:	03 c6                	add    %esi,%eax
421689:	89 43 08             	mov    %eax,0x8(%ebx)
42168c:	e9 b4 00 00 00       	jmp    0x421745
421691:	8b 73 08             	mov    0x8(%ebx),%esi
421694:	8b c6                	mov    %esi,%eax
421696:	8b 4d 08             	mov    0x8(%ebp),%ecx
421699:	2b c1                	sub    %ecx,%eax
42169b:	99                   	cltd
42169c:	f7 ff                	idiv   %edi
42169e:	ff 75 e8             	push   -0x18(%ebp)
4216a1:	ff 75 e8             	push   -0x18(%ebp)
4216a4:	51                   	push   %ecx
4216a5:	83 f8 01             	cmp    $0x1,%eax
4216a8:	73 51                	jae    0x4216fb
4216aa:	8d 41 0c             	lea    0xc(%ecx),%eax
4216ad:	8b d6                	mov    %esi,%edx
4216af:	50                   	push   %eax
4216b0:	e8 37 30 00 00       	call   0x4246ec
4216b5:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
4216bc:	8b 4b 08             	mov    0x8(%ebx),%ecx
4216bf:	8b c1                	mov    %ecx,%eax
4216c1:	2b 45 08             	sub    0x8(%ebp),%eax
4216c4:	99                   	cltd
4216c5:	f7 ff                	idiv   %edi
4216c7:	ff 75 e8             	push   -0x18(%ebp)
4216ca:	33 d2                	xor    %edx,%edx
4216cc:	ff 75 e8             	push   -0x18(%ebp)
4216cf:	42                   	inc    %edx
4216d0:	2b d0                	sub    %eax,%edx
4216d2:	8d 45 dc             	lea    -0x24(%ebp),%eax
4216d5:	51                   	push   %ecx
4216d6:	50                   	push   %eax
4216d7:	e8 ef 2f 00 00       	call   0x4246cb
4216dc:	8b 4b 08             	mov    0x8(%ebx),%ecx
4216df:	8d 41 0c             	lea    0xc(%ecx),%eax
4216e2:	89 43 08             	mov    %eax,0x8(%ebx)
4216e5:	8b 45 08             	mov    0x8(%ebp),%eax
4216e8:	eb 0b                	jmp    0x4216f5
4216ea:	8b f8                	mov    %eax,%edi
4216ec:	8d 75 dc             	lea    -0x24(%ebp),%esi
4216ef:	83 c0 0c             	add    $0xc,%eax
4216f2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4216f3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4216f4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4216f5:	3b c1                	cmp    %ecx,%eax
4216f7:	75 f1                	jne    0x4216ea
4216f9:	eb 4a                	jmp    0x421745
4216fb:	ff 73 08             	push   0x8(%ebx)
4216fe:	8b 53 08             	mov    0x8(%ebx),%edx
421701:	83 c6 f4             	add    $0xfffffff4,%esi
421704:	8b ce                	mov    %esi,%ecx
421706:	e8 e1 2f 00 00       	call   0x4246ec
42170b:	89 43 08             	mov    %eax,0x8(%ebx)
42170e:	8b 45 08             	mov    0x8(%ebp),%eax
421711:	3b f0                	cmp    %eax,%esi
421713:	74 1c                	je     0x421731
421715:	8d 4e 0c             	lea    0xc(%esi),%ecx
421718:	2b f7                	sub    %edi,%esi
42171a:	2b cf                	sub    %edi,%ecx
42171c:	8b f9                	mov    %ecx,%edi
42171e:	89 75 e8             	mov    %esi,-0x18(%ebp)
421721:	6a 0c                	push   $0xc
421723:	a5                   	movsl  %ds:(%esi),%es:(%edi)
421724:	a5                   	movsl  %ds:(%esi),%es:(%edi)
421725:	a5                   	movsl  %ds:(%esi),%es:(%edi)
421726:	8b 75 e8             	mov    -0x18(%ebp),%esi
421729:	5f                   	pop    %edi
42172a:	3b f0                	cmp    %eax,%esi
42172c:	75 ea                	jne    0x421718
42172e:	8b 45 08             	mov    0x8(%ebp),%eax
421731:	8d 48 0c             	lea    0xc(%eax),%ecx
421734:	eb 0b                	jmp    0x421741
421736:	8b f8                	mov    %eax,%edi
421738:	8d 75 dc             	lea    -0x24(%ebp),%esi
42173b:	83 c0 0c             	add    $0xc,%eax
42173e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42173f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
421740:	a5                   	movsl  %ds:(%esi),%es:(%edi)
421741:	3b c1                	cmp    %ecx,%eax
421743:	75 f1                	jne    0x421736
421745:	e8 57 ed 06 00       	call   0x4904a1
42174a:	c2 0c 00             	ret    $0xc
42174d:	e8 e0 c1 ff ff       	call   0x41d932
421752:	51                   	push   %ecx
421753:	ff 75 e8             	push   -0x18(%ebp)
421756:	e8 54 c2 ff ff       	call   0x41d9af
42175b:	6a 00                	push   $0x0
42175d:	6a 00                	push   $0x0
42175f:	e8 37 ed 06 00       	call   0x49049b
421764:	cc                   	int3
421765:	cc                   	int3
421766:	cc                   	int3
421767:	cc                   	int3
421768:	cc                   	int3
421769:	cc                   	int3
42176a:	cc                   	int3
42176b:	cc                   	int3
42176c:	cc                   	int3
42176d:	cc                   	int3
42176e:	cc                   	int3
42176f:	cc                   	int3
421770:	6a 38                	push   $0x38
421772:	b8 92 1a 49 00       	mov    $0x491a92,%eax
421777:	e8 8a ed 06 00       	call   0x490506
42177c:	8b f1                	mov    %ecx,%esi
42177e:	8b 45 24             	mov    0x24(%ebp),%eax
421781:	83 65 cc 00          	andl   $0x0,-0x34(%ebp)
421785:	8b 5d 08             	mov    0x8(%ebp),%ebx
421788:	8b 7d 20             	mov    0x20(%ebp),%edi
42178b:	89 45 bc             	mov    %eax,-0x44(%ebp)
42178e:	8b 45 1c             	mov    0x1c(%ebp),%eax
421791:	8b 48 24             	mov    0x24(%eax),%ecx
421794:	8b 09                	mov    (%ecx),%ecx
421796:	89 4d c8             	mov    %ecx,-0x38(%ebp)
421799:	e8 08 a1 ff ff       	call   0x41b8a6
42179e:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4217a2:	8d 45 c8             	lea    -0x38(%ebp),%eax
4217a5:	50                   	push   %eax
4217a6:	68 00 08 00 00       	push   $0x800
4217ab:	8d 45 14             	lea    0x14(%ebp),%eax
4217ae:	8b ce                	mov    %esi,%ecx
4217b0:	50                   	push   %eax
4217b1:	8d 45 0c             	lea    0xc(%ebp),%eax
4217b4:	50                   	push   %eax
4217b5:	8d 55 d0             	lea    -0x30(%ebp),%edx
4217b8:	e8 f0 16 00 00       	call   0x422ead
4217bd:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4217c1:	8d 4d c8             	lea    -0x38(%ebp),%ecx
4217c4:	83 c4 10             	add    $0x10,%esp
4217c7:	8b f0                	mov    %eax,%esi
4217c9:	e8 a5 a4 ff ff       	call   0x41bc73
4217ce:	8d 45 cc             	lea    -0x34(%ebp),%eax
4217d1:	50                   	push   %eax
4217d2:	56                   	push   %esi
4217d3:	8d 45 c0             	lea    -0x40(%ebp),%eax
4217d6:	50                   	push   %eax
4217d7:	8d 45 d0             	lea    -0x30(%ebp),%eax
4217da:	50                   	push   %eax
4217db:	e8 cc cb 06 00       	call   0x48e3ac
4217e0:	83 c4 10             	add    $0x10,%esp
4217e3:	8d 55 14             	lea    0x14(%ebp),%edx
4217e6:	8d 4d 0c             	lea    0xc(%ebp),%ecx
4217e9:	8b f0                	mov    %eax,%esi
4217eb:	e8 6e 2a 00 00       	call   0x42425e
4217f0:	84 c0                	test   %al,%al
4217f2:	74 03                	je     0x4217f7
4217f4:	83 0f 01             	orl    $0x1,(%edi)
4217f7:	8d 45 d0             	lea    -0x30(%ebp),%eax
4217fa:	39 45 c0             	cmp    %eax,-0x40(%ebp)
4217fd:	74 0d                	je     0x42180c
4217ff:	83 7d cc 00          	cmpl   $0x0,-0x34(%ebp)
421803:	75 07                	jne    0x42180c
421805:	8b 45 bc             	mov    -0x44(%ebp),%eax