420468:	03 1c 8d 00 f8 43 00 	add    0x43f800(,%ecx,4),%ebx
42046f:	eb 0c                	jmp    0x42047d
420471:	8b c8                	mov    %eax,%ecx
420473:	8b d0                	mov    %eax,%edx
420475:	c1 f9 06             	sar    $0x6,%ecx
420478:	8b df                	mov    %edi,%ebx
42047a:	83 e2 3f             	and    $0x3f,%edx
42047d:	80 7b 29 00          	cmpb   $0x0,0x29(%ebx)
420481:	75 1a                	jne    0x42049d
420483:	83 f8 ff             	cmp    $0xffffffff,%eax
420486:	74 0f                	je     0x420497
420488:	83 f8 fe             	cmp    $0xfffffffe,%eax
42048b:	74 0a                	je     0x420497
42048d:	6b fa 38             	imul   $0x38,%edx,%edi
420490:	03 3c 8d 00 f8 43 00 	add    0x43f800(,%ecx,4),%edi
420497:	f6 47 2d 01          	testb  $0x1,0x2d(%edi)
42049b:	74 18                	je     0x4204b5
42049d:	e8 cf c1 ff ff       	call   0x41c671
4204a2:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4204a8:	e8 41 cf fe ff       	call   0x40d3ee
4204ad:	83 c8 ff             	or     $0xffffffff,%eax
4204b0:	5f                   	pop    %edi
4204b1:	5e                   	pop    %esi
4204b2:	5b                   	pop    %ebx
4204b3:	5d                   	pop    %ebp
4204b4:	c3                   	ret
4204b5:	8d 56 0c             	lea    0xc(%esi),%edx
4204b8:	8b 5d 08             	mov    0x8(%ebp),%ebx
4204bb:	83 fb ff             	cmp    $0xffffffff,%ebx
4204be:	74 ed                	je     0x4204ad
4204c0:	8b 02                	mov    (%edx),%eax
4204c2:	90                   	nop
4204c3:	8b 0a                	mov    (%edx),%ecx
4204c5:	90                   	nop
4204c6:	a8 01                	test   $0x1,%al
4204c8:	75 08                	jne    0x4204d2
4204ca:	83 e1 06             	and    $0x6,%ecx
4204cd:	80 f9 06             	cmp    $0x6,%cl
4204d0:	75 db                	jne    0x4204ad
4204d2:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
4204d6:	75 0a                	jne    0x4204e2
4204d8:	56                   	push   %esi
4204d9:	e8 eb 96 00 00       	call   0x429bc9
4204de:	59                   	pop    %ecx
4204df:	8d 56 0c             	lea    0xc(%esi),%edx
4204e2:	8b 06                	mov    (%esi),%eax
4204e4:	3b 46 04             	cmp    0x4(%esi),%eax
4204e7:	75 09                	jne    0x4204f2
4204e9:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
4204ed:	75 be                	jne    0x4204ad
4204ef:	40                   	inc    %eax
4204f0:	89 06                	mov    %eax,(%esi)
4204f2:	8b 02                	mov    (%edx),%eax
4204f4:	90                   	nop
4204f5:	8b 3e                	mov    (%esi),%edi
4204f7:	c1 e8 0c             	shr    $0xc,%eax
4204fa:	8d 4f ff             	lea    -0x1(%edi),%ecx
4204fd:	89 0e                	mov    %ecx,(%esi)
4204ff:	a8 01                	test   $0x1,%al
420501:	74 08                	je     0x42050b
420503:	38 19                	cmp    %bl,(%ecx)
420505:	74 06                	je     0x42050d
420507:	89 3e                	mov    %edi,(%esi)
420509:	eb a2                	jmp    0x4204ad
42050b:	88 19                	mov    %bl,(%ecx)
42050d:	ff 46 08             	incl   0x8(%esi)
420510:	6a f7                	push   $0xfffffff7
420512:	58                   	pop    %eax
420513:	f0 21 02             	lock and %eax,(%edx)
420516:	33 c0                	xor    %eax,%eax
420518:	40                   	inc    %eax
420519:	f0 09 02             	lock or %eax,(%edx)
42051c:	0f b6 c3             	movzbl %bl,%eax
42051f:	eb 8f                	jmp    0x4204b0
420521:	6a 0c                	push   $0xc
420523:	68 a0 af 43 00       	push   $0x43afa0
420528:	e8 a3 9f fe ff       	call   0x40a4d0
42052d:	8b 75 0c             	mov    0xc(%ebp),%esi
420530:	85 f6                	test   %esi,%esi
420532:	75 15                	jne    0x420549
420534:	e8 38 c1 ff ff       	call   0x41c671
420539:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
42053f:	e8 aa ce fe ff       	call   0x40d3ee
420544:	83 c8 ff             	or     $0xffffffff,%eax
420547:	eb 2d                	jmp    0x420576
420549:	83 4d e4 ff          	orl    $0xffffffff,-0x1c(%ebp)
42054d:	56                   	push   %esi
42054e:	e8 7e d4 ff ff       	call   0x41d9d1
420553:	59                   	pop    %ecx
420554:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
420558:	56                   	push   %esi
420559:	ff 75 08             	push   0x8(%ebp)
42055c:	e8 cc fe ff ff       	call   0x42042d
420561:	59                   	pop    %ecx
420562:	59                   	pop    %ecx
420563:	8b f8                	mov    %eax,%edi
420565:	89 7d e4             	mov    %edi,-0x1c(%ebp)
420568:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
42056f:	e8 18 00 00 00       	call   0x42058c
420574:	8b c7                	mov    %edi,%eax
420576:	8b 4d f0             	mov    -0x10(%ebp),%ecx
420579:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
420580:	59                   	pop    %ecx
420581:	5f                   	pop    %edi
420582:	5e                   	pop    %esi
420583:	5b                   	pop    %ebx
420584:	c9                   	leave
420585:	c3                   	ret
420586:	8b 75 0c             	mov    0xc(%ebp),%esi
420589:	8b 7d e4             	mov    -0x1c(%ebp),%edi
42058c:	56                   	push   %esi
42058d:	e8 53 d4 ff ff       	call   0x41d9e5
420592:	59                   	pop    %ecx
420593:	c3                   	ret
420594:	e8 77 99 00 00       	call   0x429f10
420599:	50                   	push   %eax
42059a:	e8 4f 99 00 00       	call   0x429eee
42059f:	59                   	pop    %ecx
4205a0:	c3                   	ret
4205a1:	8b ff                	mov    %edi,%edi
4205a3:	55                   	push   %ebp
4205a4:	8b ec                	mov    %esp,%ebp
4205a6:	56                   	push   %esi
4205a7:	8b 75 08             	mov    0x8(%ebp),%esi
4205aa:	85 f6                	test   %esi,%esi
4205ac:	75 0f                	jne    0x4205bd
4205ae:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4205b1:	e8 f8 00 00 00       	call   0x4206ae
4205b6:	33 c0                	xor    %eax,%eax
4205b8:	e9 a3 00 00 00       	jmp    0x420660
4205bd:	53                   	push   %ebx
4205be:	33 db                	xor    %ebx,%ebx
4205c0:	66 39 1e             	cmp    %bx,(%esi)
4205c3:	75 25                	jne    0x4205ea
4205c5:	8b 75 0c             	mov    0xc(%ebp),%esi
4205c8:	39 5e 0c             	cmp    %ebx,0xc(%esi)
4205cb:	75 11                	jne    0x4205de
4205cd:	6a 01                	push   $0x1
4205cf:	8b ce                	mov    %esi,%ecx
4205d1:	e8 b1 00 00 00       	call   0x420687
4205d6:	85 c0                	test   %eax,%eax
4205d8:	0f 85 81 00 00 00    	jne    0x42065f
4205de:	8b 46 08             	mov    0x8(%esi),%eax
4205e1:	88 18                	mov    %bl,(%eax)
4205e3:	33 c0                	xor    %eax,%eax
4205e5:	89 5e 10             	mov    %ebx,0x10(%esi)
4205e8:	eb 75                	jmp    0x42065f
4205ea:	53                   	push   %ebx
4205eb:	53                   	push   %ebx
4205ec:	53                   	push   %ebx
4205ed:	53                   	push   %ebx
4205ee:	6a ff                	push   $0xffffffff
4205f0:	56                   	push   %esi
4205f1:	53                   	push   %ebx
4205f2:	ff 75 14             	push   0x14(%ebp)
4205f5:	e8 f0 27 00 00       	call   0x422dea
4205fa:	83 c4 20             	add    $0x20,%esp
4205fd:	85 c0                	test   %eax,%eax
4205ff:	75 16                	jne    0x420617
420601:	ff 15 08 11 43 00    	call   *0x431108
420607:	50                   	push   %eax
420608:	e8 0a c0 ff ff       	call   0x41c617
42060d:	59                   	pop    %ecx
42060e:	e8 5e c0 ff ff       	call   0x41c671
420613:	8b 00                	mov    (%eax),%eax
420615:	eb 48                	jmp    0x42065f
420617:	57                   	push   %edi
420618:	8b 7d 0c             	mov    0xc(%ebp),%edi
42061b:	3b 47 0c             	cmp    0xc(%edi),%eax
42061e:	76 0c                	jbe    0x42062c
420620:	50                   	push   %eax
420621:	8b cf                	mov    %edi,%ecx
420623:	e8 5f 00 00 00       	call   0x420687
420628:	85 c0                	test   %eax,%eax
42062a:	75 32                	jne    0x42065e
42062c:	ff 77 0c             	push   0xc(%edi)
42062f:	8b 4d 10             	mov    0x10(%ebp),%ecx
420632:	ff 77 08             	push   0x8(%edi)
420635:	56                   	push   %esi
420636:	ff 75 14             	push   0x14(%ebp)
420639:	e8 25 00 00 00       	call   0x420663
42063e:	85 c0                	test   %eax,%eax
420640:	75 16                	jne    0x420658
420642:	ff 15 08 11 43 00    	call   *0x431108
420648:	50                   	push   %eax
420649:	e8 c9 bf ff ff       	call   0x41c617
42064e:	59                   	pop    %ecx
42064f:	e8 1d c0 ff ff       	call   0x41c671
420654:	8b 00                	mov    (%eax),%eax
420656:	eb 06                	jmp    0x42065e
420658:	48                   	dec    %eax
420659:	89 47 10             	mov    %eax,0x10(%edi)
42065c:	33 c0                	xor    %eax,%eax
42065e:	5f                   	pop    %edi
42065f:	5b                   	pop    %ebx
420660:	5e                   	pop    %esi
420661:	5d                   	pop    %ebp
420662:	c3                   	ret
420663:	8b ff                	mov    %edi,%edi
420665:	55                   	push   %ebp
420666:	8b ec                	mov    %esp,%ebp
420668:	33 c0                	xor    %eax,%eax
42066a:	50                   	push   %eax
42066b:	50                   	push   %eax
42066c:	ff 75 14             	push   0x14(%ebp)
42066f:	ff 75 10             	push   0x10(%ebp)
420672:	6a ff                	push   $0xffffffff
420674:	ff 75 0c             	push   0xc(%ebp)
420677:	50                   	push   %eax
420678:	ff 75 08             	push   0x8(%ebp)
42067b:	e8 6a 27 00 00       	call   0x422dea
420680:	83 c4 20             	add    $0x20,%esp
420683:	5d                   	pop    %ebp
420684:	c2 10 00             	ret    $0x10
420687:	8b ff                	mov    %edi,%edi
420689:	56                   	push   %esi
42068a:	8b f1                	mov    %ecx,%esi
42068c:	80 7e 14 00          	cmpb   $0x0,0x14(%esi)
420690:	74 04                	je     0x420696
420692:	c6 46 14 00          	movb   $0x0,0x14(%esi)
420696:	e8 d6 bf ff ff       	call   0x41c671
42069b:	6a 22                	push   $0x22
42069d:	59                   	pop    %ecx
42069e:	89 08                	mov    %ecx,(%eax)
4206a0:	8b c1                	mov    %ecx,%eax
4206a2:	83 66 0c 00          	andl   $0x0,0xc(%esi)
4206a6:	c6 46 14 00          	movb   $0x0,0x14(%esi)
4206aa:	5e                   	pop    %esi
4206ab:	c2 04 00             	ret    $0x4
4206ae:	33 c0                	xor    %eax,%eax
4206b0:	38 41 14             	cmp    %al,0x14(%ecx)
4206b3:	74 03                	je     0x4206b8
4206b5:	88 41 14             	mov    %al,0x14(%ecx)
4206b8:	89 41 08             	mov    %eax,0x8(%ecx)
4206bb:	89 41 0c             	mov    %eax,0xc(%ecx)
4206be:	89 41 10             	mov    %eax,0x10(%ecx)
4206c1:	c3                   	ret
4206c2:	8b ff                	mov    %edi,%edi
4206c4:	55                   	push   %ebp
4206c5:	8b ec                	mov    %esp,%ebp
4206c7:	8b 4d 08             	mov    0x8(%ebp),%ecx
4206ca:	33 c0                	xor    %eax,%eax
4206cc:	53                   	push   %ebx
4206cd:	56                   	push   %esi
4206ce:	57                   	push   %edi
4206cf:	66 39 01             	cmp    %ax,(%ecx)
4206d2:	74 31                	je     0x420705
4206d4:	8b 55 0c             	mov    0xc(%ebp),%edx
4206d7:	0f b7 3a             	movzwl (%edx),%edi
4206da:	8b f2                	mov    %edx,%esi
4206dc:	66 85 ff             	test   %di,%di
4206df:	74 1c                	je     0x4206fd
4206e1:	0f b7 01             	movzwl (%ecx),%eax
4206e4:	8b df                	mov    %edi,%ebx
4206e6:	66 3b d8             	cmp    %ax,%bx
4206e9:	74 21                	je     0x42070c
4206eb:	83 c6 02             	add    $0x2,%esi
4206ee:	0f b7 06             	movzwl (%esi),%eax
4206f1:	8b d8                	mov    %eax,%ebx
4206f3:	66 85 c0             	test   %ax,%ax
4206f6:	0f b7 01             	movzwl (%ecx),%eax
4206f9:	75 eb                	jne    0x4206e6
4206fb:	33 c0                	xor    %eax,%eax
4206fd:	83 c1 02             	add    $0x2,%ecx
420700:	66 39 01             	cmp    %ax,(%ecx)
420703:	75 d5                	jne    0x4206da
420705:	33 c0                	xor    %eax,%eax
420707:	5f                   	pop    %edi
420708:	5e                   	pop    %esi
420709:	5b                   	pop    %ebx
42070a:	5d                   	pop    %ebp
42070b:	c3                   	ret
42070c:	8b c1                	mov    %ecx,%eax
42070e:	eb f7                	jmp    0x420707
420710:	8b ff                	mov    %edi,%edi
420712:	55                   	push   %ebp
420713:	8b ec                	mov    %esp,%ebp
420715:	8b 45 08             	mov    0x8(%ebp),%eax
420718:	b9 ac de 00 00       	mov    $0xdeac,%ecx
42071d:	3b c1                	cmp    %ecx,%eax
42071f:	77 46                	ja     0x420767
420721:	74 26                	je     0x420749
420723:	b9 33 c4 00 00       	mov    $0xc433,%ecx
420728:	3b c1                	cmp    %ecx,%eax
42072a:	77 21                	ja     0x42074d
42072c:	74 1b                	je     0x420749
42072e:	83 e8 2a             	sub    $0x2a,%eax
420731:	74 16                	je     0x420749
420733:	2d 02 c4 00 00       	sub    $0xc402,%eax
420738:	74 0f                	je     0x420749
42073a:	83 e8 01             	sub    $0x1,%eax
42073d:	74 0a                	je     0x420749
42073f:	83 e8 01             	sub    $0x1,%eax
420742:	74 05                	je     0x420749
420744:	83 e8 03             	sub    $0x3,%eax
420747:	75 52                	jne    0x42079b
420749:	33 c0                	xor    %eax,%eax
42074b:	5d                   	pop    %ebp
42074c:	c3                   	ret
42074d:	2d 35 c4 00 00       	sub    $0xc435,%eax
420752:	74 f5                	je     0x420749
420754:	2d 63 12 00 00       	sub    $0x1263,%eax
420759:	74 45                	je     0x4207a0
42075b:	2d 12 08 00 00       	sub    $0x812,%eax
420760:	74 e7                	je     0x420749
420762:	83 e8 01             	sub    $0x1,%eax
420765:	eb e0                	jmp    0x420747
420767:	b9 b1 de 00 00       	mov    $0xdeb1,%ecx
42076c:	3b c1                	cmp    %ecx,%eax
42076e:	77 13                	ja     0x420783
420770:	74 d7                	je     0x420749
420772:	2d ad de 00 00       	sub    $0xdead,%eax
420777:	74 d0                	je     0x420749
420779:	83 e8 01             	sub    $0x1,%eax
42077c:	74 cb                	je     0x420749
42077e:	83 e8 01             	sub    $0x1,%eax
420781:	eb dd                	jmp    0x420760
420783:	2d b2 de 00 00       	sub    $0xdeb2,%eax
420788:	74 bf                	je     0x420749
42078a:	83 e8 01             	sub    $0x1,%eax
42078d:	74 ba                	je     0x420749
42078f:	2d 35 1f 00 00       	sub    $0x1f35,%eax
420794:	74 b3                	je     0x420749
420796:	83 e8 01             	sub    $0x1,%eax
420799:	74 05                	je     0x4207a0
42079b:	8b 45 0c             	mov    0xc(%ebp),%eax
42079e:	5d                   	pop    %ebp
42079f:	c3                   	ret
4207a0:	8b 45 0c             	mov    0xc(%ebp),%eax
4207a3:	83 e0 08             	and    $0x8,%eax
4207a6:	5d                   	pop    %ebp
4207a7:	c3                   	ret
4207a8:	8b ff                	mov    %edi,%edi
4207aa:	55                   	push   %ebp
4207ab:	8b ec                	mov    %esp,%ebp
4207ad:	ff 75 1c             	push   0x1c(%ebp)
4207b0:	ff 75 18             	push   0x18(%ebp)
4207b3:	ff 75 14             	push   0x14(%ebp)
4207b6:	ff 75 10             	push   0x10(%ebp)
4207b9:	ff 75 0c             	push   0xc(%ebp)
4207bc:	ff 75 08             	push   0x8(%ebp)
4207bf:	e8 4c ff ff ff       	call   0x420710
4207c4:	59                   	pop    %ecx
4207c5:	59                   	pop    %ecx
4207c6:	50                   	push   %eax
4207c7:	ff 75 08             	push   0x8(%ebp)
4207ca:	ff 15 84 10 43 00    	call   *0x431084
4207d0:	5d                   	pop    %ebp
4207d1:	c3                   	ret
4207d2:	8b ff                	mov    %edi,%edi