42346f:	50                   	push   %eax
423470:	e8 e1 94 ff ff       	call   0x41c956
423475:	8b 45 fc             	mov    -0x4(%ebp),%eax
423478:	59                   	pop    %ecx
423479:	59                   	pop    %ecx
42347a:	8b 40 08             	mov    0x8(%eax),%eax
42347d:	c9                   	leave
42347e:	c3                   	ret
42347f:	8b ff                	mov    %edi,%edi
423481:	55                   	push   %ebp
423482:	8b ec                	mov    %esp,%ebp
423484:	51                   	push   %ecx
423485:	e8 5f 8e ff ff       	call   0x41c2e9
42348a:	8b 48 4c             	mov    0x4c(%eax),%ecx
42348d:	89 4d fc             	mov    %ecx,-0x4(%ebp)
423490:	8d 4d fc             	lea    -0x4(%ebp),%ecx
423493:	51                   	push   %ecx
423494:	50                   	push   %eax
423495:	e8 bc 94 ff ff       	call   0x41c956
42349a:	8b 45 fc             	mov    -0x4(%ebp),%eax
42349d:	59                   	pop    %ecx
42349e:	59                   	pop    %ecx
42349f:	05 a0 00 00 00       	add    $0xa0,%eax
4234a4:	c9                   	leave
4234a5:	c3                   	ret
4234a6:	8b ff                	mov    %edi,%edi
4234a8:	55                   	push   %ebp
4234a9:	8b ec                	mov    %esp,%ebp
4234ab:	83 ec 58             	sub    $0x58,%esp
4234ae:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
4234b3:	33 c5                	xor    %ebp,%eax
4234b5:	89 45 fc             	mov    %eax,-0x4(%ebp)
4234b8:	53                   	push   %ebx
4234b9:	56                   	push   %esi
4234ba:	8b 75 08             	mov    0x8(%ebp),%esi
4234bd:	33 db                	xor    %ebx,%ebx
4234bf:	57                   	push   %edi
4234c0:	89 75 cc             	mov    %esi,-0x34(%ebp)
4234c3:	8b fb                	mov    %ebx,%edi
4234c5:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
4234c8:	8b 8e a8 00 00 00    	mov    0xa8(%esi),%ecx
4234ce:	89 5d e0             	mov    %ebx,-0x20(%ebp)
4234d1:	89 5d dc             	mov    %ebx,-0x24(%ebp)
4234d4:	89 75 a8             	mov    %esi,-0x58(%ebp)
4234d7:	89 5d ac             	mov    %ebx,-0x54(%ebp)
4234da:	85 c9                	test   %ecx,%ecx
4234dc:	0f 84 d6 03 00 00    	je     0x4238b8
4234e2:	8d 46 08             	lea    0x8(%esi),%eax
4234e5:	89 5d d0             	mov    %ebx,-0x30(%ebp)
4234e8:	39 18                	cmp    %ebx,(%eax)
4234ea:	75 1c                	jne    0x423508
4234ec:	50                   	push   %eax
4234ed:	68 04 10 00 00       	push   $0x1004
4234f2:	51                   	push   %ecx
4234f3:	8d 45 a8             	lea    -0x58(%ebp),%eax
4234f6:	53                   	push   %ebx
4234f7:	50                   	push   %eax
4234f8:	e8 82 75 00 00       	call   0x42aa7f
4234fd:	83 c4 14             	add    $0x14,%esp
423500:	85 c0                	test   %eax,%eax
423502:	0f 85 7f 03 00 00    	jne    0x423887
423508:	6a 04                	push   $0x4
42350a:	6a 01                	push   $0x1
42350c:	e8 9f 36 fe ff       	call   0x406bb0
423511:	53                   	push   %ebx
423512:	89 45 d0             	mov    %eax,-0x30(%ebp)
423515:	e8 f6 36 fe ff       	call   0x406c10
42351a:	6a 02                	push   $0x2
42351c:	bf 80 01 00 00       	mov    $0x180,%edi
423521:	57                   	push   %edi
423522:	e8 89 36 fe ff       	call   0x406bb0
423527:	53                   	push   %ebx
423528:	89 45 e4             	mov    %eax,-0x1c(%ebp)
42352b:	e8 e0 36 fe ff       	call   0x406c10
423530:	6a 01                	push   $0x1
423532:	57                   	push   %edi
423533:	e8 78 36 fe ff       	call   0x406bb0
423538:	53                   	push   %ebx
423539:	89 45 e0             	mov    %eax,-0x20(%ebp)
42353c:	e8 cf 36 fe ff       	call   0x406c10
423541:	6a 01                	push   $0x1
423543:	57                   	push   %edi
423544:	e8 67 36 fe ff       	call   0x406bb0
423549:	8b f8                	mov    %eax,%edi
42354b:	53                   	push   %ebx
42354c:	89 7d d8             	mov    %edi,-0x28(%ebp)
42354f:	e8 bc 36 fe ff       	call   0x406c10
423554:	6a 01                	push   $0x1
423556:	68 01 01 00 00       	push   $0x101
42355b:	e8 50 36 fe ff       	call   0x406bb0
423560:	53                   	push   %ebx
423561:	89 45 dc             	mov    %eax,-0x24(%ebp)
423564:	e8 a7 36 fe ff       	call   0x406c10
423569:	83 c4 3c             	add    $0x3c,%esp
42356c:	39 5d d0             	cmp    %ebx,-0x30(%ebp)
42356f:	0f 84 12 03 00 00    	je     0x423887
423575:	39 5d e4             	cmp    %ebx,-0x1c(%ebp)
423578:	0f 84 09 03 00 00    	je     0x423887
42357e:	8b 4d dc             	mov    -0x24(%ebp),%ecx
423581:	85 c9                	test   %ecx,%ecx
423583:	0f 84 fe 02 00 00    	je     0x423887
423589:	39 5d e0             	cmp    %ebx,-0x20(%ebp)
42358c:	0f 84 f5 02 00 00    	je     0x423887
423592:	85 ff                	test   %edi,%edi
423594:	0f 84 ed 02 00 00    	je     0x423887
42359a:	8b c3                	mov    %ebx,%eax
42359c:	88 04 08             	mov    %al,(%eax,%ecx,1)
42359f:	40                   	inc    %eax
4235a0:	3d 00 01 00 00       	cmp    $0x100,%eax
4235a5:	7c f5                	jl     0x42359c
4235a7:	8d 45 e8             	lea    -0x18(%ebp),%eax
4235aa:	50                   	push   %eax
4235ab:	ff 76 08             	push   0x8(%esi)
4235ae:	ff 15 64 10 43 00    	call   *0x431064
4235b4:	85 c0                	test   %eax,%eax
4235b6:	0f 84 cb 02 00 00    	je     0x423887
4235bc:	8b 45 e8             	mov    -0x18(%ebp),%eax
4235bf:	83 f8 05             	cmp    $0x5,%eax
4235c2:	0f 87 bf 02 00 00    	ja     0x423887
4235c8:	0f b7 c0             	movzwl %ax,%eax
4235cb:	89 45 c8             	mov    %eax,-0x38(%ebp)
4235ce:	83 f8 01             	cmp    $0x1,%eax
4235d1:	76 54                	jbe    0x423627
4235d3:	81 7e 08 e9 fd 00 00 	cmpl   $0xfde9,0x8(%esi)
4235da:	75 18                	jne    0x4235f4
4235dc:	8b 45 dc             	mov    -0x24(%ebp),%eax
4235df:	68 80 00 00 00       	push   $0x80
4235e4:	83 e8 80             	sub    $0xffffff80,%eax
4235e7:	6a 20                	push   $0x20
4235e9:	50                   	push   %eax
4235ea:	e8 d1 7d fe ff       	call   0x40b3c0
4235ef:	83 c4 0c             	add    $0xc,%esp
4235f2:	eb 33                	jmp    0x423627
4235f4:	8d 55 ee             	lea    -0x12(%ebp),%edx
4235f7:	38 5d ee             	cmp    %bl,-0x12(%ebp)
4235fa:	74 2b                	je     0x423627
4235fc:	8b 4d dc             	mov    -0x24(%ebp),%ecx
4235ff:	8a 42 01             	mov    0x1(%edx),%al
423602:	84 c0                	test   %al,%al
423604:	74 1e                	je     0x423624
423606:	0f b6 32             	movzbl (%edx),%esi
423609:	0f b6 c0             	movzbl %al,%eax
42360c:	3b f0                	cmp    %eax,%esi
42360e:	77 0d                	ja     0x42361d
423610:	c6 04 0e 20          	movb   $0x20,(%esi,%ecx,1)
423614:	46                   	inc    %esi
423615:	0f b6 42 01          	movzbl 0x1(%edx),%eax
423619:	3b f0                	cmp    %eax,%esi
42361b:	7e f3                	jle    0x423610
42361d:	83 c2 02             	add    $0x2,%edx
423620:	38 1a                	cmp    %bl,(%edx)
423622:	75 db                	jne    0x4235ff
423624:	8b 75 cc             	mov    -0x34(%ebp),%esi
423627:	8b 45 e0             	mov    -0x20(%ebp),%eax
42362a:	ba ff 00 00 00       	mov    $0xff,%edx
42362f:	8b 4d dc             	mov    -0x24(%ebp),%ecx
423632:	05 81 00 00 00       	add    $0x81,%eax
423637:	53                   	push   %ebx
423638:	ff 76 08             	push   0x8(%esi)
42363b:	41                   	inc    %ecx
42363c:	52                   	push   %edx
42363d:	50                   	push   %eax
42363e:	52                   	push   %edx
42363f:	51                   	push   %ecx
423640:	68 00 01 00 00       	push   $0x100
423645:	ff b6 a8 00 00 00    	push   0xa8(%esi)
42364b:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
42364e:	53                   	push   %ebx
42364f:	e8 f3 e5 ff ff       	call   0x421c47
423654:	83 c4 24             	add    $0x24,%esp
423657:	85 c0                	test   %eax,%eax
423659:	0f 84 28 02 00 00    	je     0x423887
42365f:	53                   	push   %ebx
423660:	ff 76 08             	push   0x8(%esi)
423663:	b9 ff 00 00 00       	mov    $0xff,%ecx
423668:	8d 87 81 00 00 00    	lea    0x81(%edi),%eax
42366e:	51                   	push   %ecx
42366f:	50                   	push   %eax
423670:	51                   	push   %ecx
423671:	ff 75 d4             	push   -0x2c(%ebp)
423674:	68 00 02 00 00       	push   $0x200
423679:	ff b6 a8 00 00 00    	push   0xa8(%esi)
42367f:	53                   	push   %ebx
423680:	e8 c2 e5 ff ff       	call   0x421c47
423685:	83 c4 24             	add    $0x24,%esp
423688:	85 c0                	test   %eax,%eax
42368a:	0f 84 f7 01 00 00    	je     0x423887
423690:	8b 45 e4             	mov    -0x1c(%ebp),%eax
423693:	53                   	push   %ebx
423694:	ff 76 08             	push   0x8(%esi)
423697:	05 00 01 00 00       	add    $0x100,%eax
42369c:	50                   	push   %eax
42369d:	68 00 01 00 00       	push   $0x100
4236a2:	ff 75 dc             	push   -0x24(%ebp)
4236a5:	89 45 bc             	mov    %eax,-0x44(%ebp)
4236a8:	6a 01                	push   $0x1
4236aa:	53                   	push   %ebx
4236ab:	e8 84 0e 00 00       	call   0x424534
4236b0:	83 c4 1c             	add    $0x1c,%esp
4236b3:	85 c0                	test   %eax,%eax
4236b5:	0f 84 cc 01 00 00    	je     0x423887
4236bb:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4236be:	33 d2                	xor    %edx,%edx
4236c0:	83 7d c8 01          	cmpl   $0x1,-0x38(%ebp)
4236c4:	8b 7d e0             	mov    -0x20(%ebp),%edi
4236c7:	8d 81 fe 00 00 00    	lea    0xfe(%ecx),%eax
4236cd:	66 89 10             	mov    %dx,(%eax)
4236d0:	8b 55 d8             	mov    -0x28(%ebp),%edx
4236d3:	89 45 b8             	mov    %eax,-0x48(%ebp)
4236d6:	8d 87 80 00 00 00    	lea    0x80(%edi),%eax
4236dc:	88 5f 7f             	mov    %bl,0x7f(%edi)
4236df:	89 45 b4             	mov    %eax,-0x4c(%ebp)
4236e2:	88 5a 7f             	mov    %bl,0x7f(%edx)
4236e5:	88 18                	mov    %bl,(%eax)
4236e7:	8d 82 80 00 00 00    	lea    0x80(%edx),%eax
4236ed:	89 45 b0             	mov    %eax,-0x50(%ebp)
4236f0:	88 18                	mov    %bl,(%eax)
4236f2:	0f 86 cf 00 00 00    	jbe    0x4237c7
4236f8:	81 7e 08 e9 fd 00 00 	cmpl   $0xfde9,0x8(%esi)
4236ff:	75 56                	jne    0x423757
423701:	8d 81 00 02 00 00    	lea    0x200(%ecx),%eax
423707:	be be fe ff ff       	mov    $0xfffffebe,%esi
42370c:	89 45 d8             	mov    %eax,-0x28(%ebp)
42370f:	8d 8a 00 01 00 00    	lea    0x100(%edx),%ecx
423715:	6a 80                	push   $0xffffff80
423717:	58                   	pop    %eax
423718:	2b fa                	sub    %edx,%edi
42371a:	2b f2                	sub    %edx,%esi
42371c:	2b c2                	sub    %edx,%eax
42371e:	89 45 d4             	mov    %eax,-0x2c(%ebp)
423721:	8d 04 0e             	lea    (%esi,%ecx,1),%eax
423724:	6a 32                	push   $0x32
423726:	5b                   	pop    %ebx
423727:	3b d8                	cmp    %eax,%ebx
423729:	8b 5d d8             	mov    -0x28(%ebp),%ebx
42372c:	1b c0                	sbb    %eax,%eax
42372e:	83 45 d8 02          	addl   $0x2,-0x28(%ebp)
423732:	25 00 80 ff ff       	and    $0xffff8000,%eax
423737:	05 00 80 00 00       	add    $0x8000,%eax
42373c:	66 89 03             	mov    %ax,(%ebx)
42373f:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
423742:	8d 04 19             	lea    (%ecx,%ebx,1),%eax
423745:	88 04 0f             	mov    %al,(%edi,%ecx,1)
423748:	88 01                	mov    %al,(%ecx)
42374a:	41                   	inc    %ecx
42374b:	8d 04 0b             	lea    (%ebx,%ecx,1),%eax
42374e:	3d ff 00 00 00       	cmp    $0xff,%eax
423753:	7e cc                	jle    0x423721
423755:	eb 6b                	jmp    0x4237c2
423757:	8d 75 ee             	lea    -0x12(%ebp),%esi
42375a:	38 5d ee             	cmp    %bl,-0x12(%ebp)
42375d:	74 68                	je     0x4237c7
42375f:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
423762:	8a 46 01             	mov    0x1(%esi),%al
423765:	84 c0                	test   %al,%al
423767:	74 59                	je     0x4237c2
423769:	0f b6 0e             	movzbl (%esi),%ecx
42376c:	0f b6 c0             	movzbl %al,%eax
42376f:	3b c8                	cmp    %eax,%ecx
423771:	77 47                	ja     0x4237ba
423773:	8d 82 80 00 00 00    	lea    0x80(%edx),%eax
423779:	03 c1                	add    %ecx,%eax
42377b:	2b fa                	sub    %edx,%edi
42377d:	89 45 d4             	mov    %eax,-0x2c(%ebp)
423780:	8d 83 00 01 00 00    	lea    0x100(%ebx),%eax
423786:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
423789:	8d 04 48             	lea    (%eax,%ecx,2),%eax
42378c:	89 7d c0             	mov    %edi,-0x40(%ebp)
42378f:	8b f8                	mov    %eax,%edi
423791:	8b 55 c0             	mov    -0x40(%ebp),%edx
423794:	89 45 c4             	mov    %eax,-0x3c(%ebp)
423797:	b8 00 80 00 00       	mov    $0x8000,%eax
42379c:	66 89 07             	mov    %ax,(%edi)
42379f:	8d 7f 02             	lea    0x2(%edi),%edi
4237a2:	88 0c 13             	mov    %cl,(%ebx,%edx,1)
4237a5:	88 0b                	mov    %cl,(%ebx)
4237a7:	41                   	inc    %ecx
4237a8:	0f b6 46 01          	movzbl 0x1(%esi),%eax
4237ac:	43                   	inc    %ebx
4237ad:	3b c8                	cmp    %eax,%ecx
4237af:	7e e6                	jle    0x423797
4237b1:	8b 55 d8             	mov    -0x28(%ebp),%edx
4237b4:	8b 7d e0             	mov    -0x20(%ebp),%edi
4237b7:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
4237ba:	83 c6 02             	add    $0x2,%esi
4237bd:	80 3e 00             	cmpb   $0x0,(%esi)
4237c0:	75 a0                	jne    0x423762
4237c2:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4237c5:	33 db                	xor    %ebx,%ebx
4237c7:	8b 7d e4             	mov    -0x1c(%ebp),%edi
4237ca:	8d b1 00 02 00 00    	lea    0x200(%ecx),%esi
4237d0:	6a 3f                	push   $0x3f
4237d2:	8b 45 e0             	mov    -0x20(%ebp),%eax
4237d5:	59                   	pop    %ecx
4237d6:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4237d8:	6a 1f                	push   $0x1f
4237da:	59                   	pop    %ecx
4237db:	6a 1f                	push   $0x1f
4237dd:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
4237df:	8d b0 00 01 00 00    	lea    0x100(%eax),%esi
4237e5:	8b f8                	mov    %eax,%edi
4237e7:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4237e9:	59                   	pop    %ecx
4237ea:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
4237ec:	a4                   	movsb  %ds:(%esi),%es:(%edi)
4237ed:	8d b2 00 01 00 00    	lea    0x100(%edx),%esi
4237f3:	8b fa                	mov    %edx,%edi
4237f5:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4237f7:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
4237f9:	a4                   	movsb  %ds:(%esi),%es:(%edi)
4237fa:	8b 75 cc             	mov    -0x34(%ebp),%esi
4237fd:	8b 8e 8c 00 00 00    	mov    0x8c(%esi),%ecx
423803:	85 c9                	test   %ecx,%ecx
423805:	74 49                	je     0x423850
423807:	83 c8 ff             	or     $0xffffffff,%eax
42380a:	f0 0f c1 01          	lock xadd %eax,(%ecx)
42380e:	75 40                	jne    0x423850
423810:	8b 86 90 00 00 00    	mov    0x90(%esi),%eax
423816:	2d fe 00 00 00       	sub    $0xfe,%eax
42381b:	50                   	push   %eax
42381c:	e8 ef 33 fe ff       	call   0x406c10
423821:	8b 86 94 00 00 00    	mov    0x94(%esi),%eax
423827:	bf 80 00 00 00       	mov    $0x80,%edi
42382c:	2b c7                	sub    %edi,%eax
42382e:	50                   	push   %eax
42382f:	e8 dc 33 fe ff       	call   0x406c10
423834:	8b 86 98 00 00 00    	mov    0x98(%esi),%eax
42383a:	2b c7                	sub    %edi,%eax
42383c:	50                   	push   %eax
42383d:	e8 ce 33 fe ff       	call   0x406c10
423842:	ff b6 8c 00 00 00    	push   0x8c(%esi)
423848:	e8 c3 33 fe ff       	call   0x406c10
42384d:	83 c4 10             	add    $0x10,%esp
423850:	8b 45 d0             	mov    -0x30(%ebp),%eax
423853:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
423859:	89 86 8c 00 00 00    	mov    %eax,0x8c(%esi)
42385f:	8b 45 bc             	mov    -0x44(%ebp),%eax
423862:	89 06                	mov    %eax,(%esi)
423864:	8b 45 b8             	mov    -0x48(%ebp),%eax
423867:	89 86 90 00 00 00    	mov    %eax,0x90(%esi)
42386d:	8b 45 b4             	mov    -0x4c(%ebp),%eax
423870:	89 86 94 00 00 00    	mov    %eax,0x94(%esi)
423876:	8b 45 b0             	mov    -0x50(%ebp),%eax
423879:	89 86 98 00 00 00    	mov    %eax,0x98(%esi)
42387f:	8b 45 c8             	mov    -0x38(%ebp),%eax
423882:	89 46 04             	mov    %eax,0x4(%esi)
423885:	eb 24                	jmp    0x4238ab
423887:	ff 75 d0             	push   -0x30(%ebp)
42388a:	e8 81 33 fe ff       	call   0x406c10
42388f:	ff 75 e4             	push   -0x1c(%ebp)