4212bd:	cc                   	int3
4212be:	cc                   	int3
4212bf:	cc                   	int3
4212c0:	8b ff                	mov    %edi,%edi
4212c2:	55                   	push   %ebp
4212c3:	8b ec                	mov    %esp,%ebp
4212c5:	8d 41 08             	lea    0x8(%ecx),%eax
4212c8:	8b 4d 08             	mov    0x8(%ebp),%ecx
4212cb:	50                   	push   %eax
4212cc:	e8 ae 01 00 00       	call   0x42147f
4212d1:	5d                   	pop    %ebp
4212d2:	c2 04 00             	ret    $0x4
4212d5:	cc                   	int3
4212d6:	cc                   	int3
4212d7:	cc                   	int3
4212d8:	cc                   	int3
4212d9:	cc                   	int3
4212da:	cc                   	int3
4212db:	cc                   	int3
4212dc:	cc                   	int3
4212dd:	cc                   	int3
4212de:	cc                   	int3
4212df:	cc                   	int3
4212e0:	8b ff                	mov    %edi,%edi
4212e2:	55                   	push   %ebp
4212e3:	8b ec                	mov    %esp,%ebp
4212e5:	ff 71 08             	push   0x8(%ecx)
4212e8:	8b 4d 08             	mov    0x8(%ebp),%ecx
4212eb:	e8 98 00 00 00       	call   0x421388
4212f0:	5d                   	pop    %ebp
4212f1:	c2 04 00             	ret    $0x4
4212f4:	cc                   	int3
4212f5:	cc                   	int3
4212f6:	cc                   	int3
4212f7:	cc                   	int3
4212f8:	cc                   	int3
4212f9:	cc                   	int3
4212fa:	cc                   	int3
4212fb:	cc                   	int3
4212fc:	cc                   	int3
4212fd:	cc                   	int3
4212fe:	cc                   	int3
4212ff:	cc                   	int3
421300:	8b ff                	mov    %edi,%edi
421302:	55                   	push   %ebp
421303:	8b ec                	mov    %esp,%ebp
421305:	51                   	push   %ecx
421306:	56                   	push   %esi
421307:	6a 0c                	push   $0xc
421309:	8b f1                	mov    %ecx,%esi
42130b:	ff 15 14 74 4a 00    	call   *0x4a7414
421311:	8b d0                	mov    %eax,%edx
421313:	89 55 fc             	mov    %edx,-0x4(%ebp)
421316:	59                   	pop    %ecx
421317:	85 d2                	test   %edx,%edx
421319:	74 15                	je     0x421330
42131b:	8b 46 08             	mov    0x8(%esi),%eax
42131e:	c7 42 04 07 00 00 00 	movl   $0x7,0x4(%edx)
421325:	c7 02 34 15 40 00    	movl   $0x401534,(%edx)
42132b:	89 42 08             	mov    %eax,0x8(%edx)
42132e:	eb 02                	jmp    0x421332
421330:	33 d2                	xor    %edx,%edx
421332:	8b c2                	mov    %edx,%eax
421334:	5e                   	pop    %esi
421335:	c9                   	leave
421336:	c3                   	ret
421337:	c7 01 18 15 40 00    	movl   $0x401518,(%ecx)
42133d:	c3                   	ret
42133e:	cc                   	int3
42133f:	cc                   	int3
421340:	8b ff                	mov    %edi,%edi
421342:	55                   	push   %ebp
421343:	8b ec                	mov    %esp,%ebp
421345:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
421349:	56                   	push   %esi
42134a:	8b f1                	mov    %ecx,%esi
42134c:	c7 06 18 15 40 00    	movl   $0x401518,(%esi)
421352:	74 08                	je     0x42135c
421354:	56                   	push   %esi
421355:	ff 15 10 74 4a 00    	call   *0x4a7410
42135b:	59                   	pop    %ecx
42135c:	8b c6                	mov    %esi,%eax
42135e:	5e                   	pop    %esi
42135f:	5d                   	pop    %ebp
421360:	c2 04 00             	ret    $0x4
421363:	6a 0c                	push   $0xc
421365:	ff 15 14 74 4a 00    	call   *0x4a7414
42136b:	59                   	pop    %ecx
42136c:	89 00                	mov    %eax,(%eax)
42136e:	89 40 04             	mov    %eax,0x4(%eax)
421371:	c3                   	ret
421372:	83 79 04 00          	cmpl   $0x0,0x4(%ecx)
421376:	75 03                	jne    0x42137b
421378:	33 c0                	xor    %eax,%eax
42137a:	c3                   	ret
42137b:	8b 41 08             	mov    0x8(%ecx),%eax
42137e:	2b 41 04             	sub    0x4(%ecx),%eax
421381:	6a 0c                	push   $0xc
421383:	99                   	cltd
421384:	59                   	pop    %ecx
421385:	f7 f9                	idiv   %ecx
421387:	c3                   	ret
421388:	6a 24                	push   $0x24
42138a:	b8 29 1a 49 00       	mov    $0x491a29,%eax
42138f:	e8 a8 f1 06 00       	call   0x49053c
421394:	8b f9                	mov    %ecx,%edi
421396:	8b 45 08             	mov    0x8(%ebp),%eax
421399:	8d 4d d0             	lea    -0x30(%ebp),%ecx
42139c:	57                   	push   %edi
42139d:	89 7d e4             	mov    %edi,-0x1c(%ebp)
4213a0:	33 db                	xor    %ebx,%ebx
4213a2:	89 45 e0             	mov    %eax,-0x20(%ebp)
4213a5:	e8 5c 38 00 00       	call   0x424c06
4213aa:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4213ad:	38 5d d4             	cmp    %bl,-0x2c(%ebp)
4213b0:	0f 84 b7 00 00 00    	je     0x42146d
4213b6:	8b 07                	mov    (%edi),%eax
4213b8:	8b 48 04             	mov    0x4(%eax),%ecx
4213bb:	8b 4c 39 24          	mov    0x24(%ecx,%edi,1),%ecx
4213bf:	8b 09                	mov    (%ecx),%ecx
4213c1:	89 4d ec             	mov    %ecx,-0x14(%ebp)
4213c4:	e8 dd a4 ff ff       	call   0x41b8a6
4213c9:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4213cc:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4213d0:	e8 67 2d 00 00       	call   0x42413c
4213d5:	8b f0                	mov    %eax,%esi
4213d7:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4213da:	89 75 dc             	mov    %esi,-0x24(%ebp)
4213dd:	e8 91 a8 ff ff       	call   0x41bc73
4213e2:	ff 75 e0             	push   -0x20(%ebp)
4213e5:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
4213e9:	8b 07                	mov    (%edi),%eax
4213eb:	8b 36                	mov    (%esi),%esi
4213ed:	8b 48 04             	mov    0x4(%eax),%ecx
4213f0:	03 cf                	add    %edi,%ecx
4213f2:	0f b7 41 30          	movzwl 0x30(%ecx),%eax
4213f6:	50                   	push   %eax
4213f7:	51                   	push   %ecx
4213f8:	88 5d e8             	mov    %bl,-0x18(%ebp)
4213fb:	8d 45 e8             	lea    -0x18(%ebp),%eax
4213fe:	ff 71 28             	push   0x28(%ecx)
421401:	8b 4e 18             	mov    0x18(%esi),%ecx
421404:	ff 75 e8             	push   -0x18(%ebp)
421407:	50                   	push   %eax
421408:	ff 15 2c 81 4a 00    	call   *0x4a812c
42140e:	8b 4d dc             	mov    -0x24(%ebp),%ecx
421411:	ff 56 18             	call   *0x18(%esi)
421414:	38 5d e8             	cmp    %bl,-0x18(%ebp)
421417:	74 3d                	je     0x421456
421419:	6a 04                	push   $0x4
42141b:	58                   	pop    %eax
42141c:	eb 3a                	jmp    0x421458
42141e:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
421421:	8b 01                	mov    (%ecx),%eax
421423:	8b 50 04             	mov    0x4(%eax),%edx
421426:	03 d1                	add    %ecx,%edx
421428:	8b 42 08             	mov    0x8(%edx),%eax
42142b:	83 c8 04             	or     $0x4,%eax
42142e:	83 7a 28 00          	cmpl   $0x0,0x28(%edx)
421432:	75 03                	jne    0x421437
421434:	83 c8 04             	or     $0x4,%eax
421437:	83 e0 17             	and    $0x17,%eax
42143a:	89 42 08             	mov    %eax,0x8(%edx)
42143d:	85 42 0c             	test   %eax,0xc(%edx)
421440:	74 09                	je     0x42144b
421442:	6a 01                	push   $0x1
421444:	8b ca                	mov    %edx,%ecx
421446:	e8 c0 a3 ff ff       	call   0x41b80b
42144b:	b8 51 14 42 00       	mov    $0x421451,%eax
421450:	c3                   	ret
421451:	8b 7d e4             	mov    -0x1c(%ebp),%edi
421454:	33 db                	xor    %ebx,%ebx
421456:	8b c3                	mov    %ebx,%eax
421458:	89 5d fc             	mov    %ebx,-0x4(%ebp)
42145b:	85 c0                	test   %eax,%eax
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