4202b7:	ba 00 10 00 00       	mov    $0x1000,%edx
4202bc:	8b f3                	mov    %ebx,%esi
4202be:	89 55 fc             	mov    %edx,-0x4(%ebp)
4202c1:	0f af f7             	imul   %edi,%esi
4202c4:	8b fe                	mov    %esi,%edi
4202c6:	85 f6                	test   %esi,%esi
4202c8:	0f 84 fe 00 00 00    	je     0x4203cc
4202ce:	8d 59 0c             	lea    0xc(%ecx),%ebx
4202d1:	8b 03                	mov    (%ebx),%eax
4202d3:	90                   	nop
4202d4:	a8 c0                	test   $0xc0,%al
4202d6:	74 3b                	je     0x420313
4202d8:	8b 41 08             	mov    0x8(%ecx),%eax
4202db:	85 c0                	test   %eax,%eax
4202dd:	74 34                	je     0x420313
4202df:	0f 88 ef 00 00 00    	js     0x4203d4
4202e5:	8b 03                	mov    (%ebx),%eax
4202e7:	90                   	nop
4202e8:	a8 01                	test   $0x1,%al
4202ea:	0f 85 ea 00 00 00    	jne    0x4203da
4202f0:	8b 59 08             	mov    0x8(%ecx),%ebx
4202f3:	3b fb                	cmp    %ebx,%edi
4202f5:	73 02                	jae    0x4202f9
4202f7:	8b df                	mov    %edi,%ebx
4202f9:	53                   	push   %ebx
4202fa:	ff 75 08             	push   0x8(%ebp)
4202fd:	ff 31                	push   (%ecx)
4202ff:	e8 3c ab fe ff       	call   0x40ae40
420304:	8b 4d 14             	mov    0x14(%ebp),%ecx
420307:	83 c4 0c             	add    $0xc,%esp
42030a:	2b fb                	sub    %ebx,%edi
42030c:	29 59 08             	sub    %ebx,0x8(%ecx)
42030f:	01 19                	add    %ebx,(%ecx)
420311:	eb 7a                	jmp    0x42038d
420313:	3b fa                	cmp    %edx,%edi
420315:	72 7b                	jb     0x420392
420317:	8b 03                	mov    (%ebx),%eax
420319:	90                   	nop
42031a:	a8 c0                	test   $0xc0,%al
42031c:	74 19                	je     0x420337
42031e:	ff 75 18             	push   0x18(%ebp)
420321:	51                   	push   %ecx
420322:	e8 7d fb ff ff       	call   0x41fea4
420327:	59                   	pop    %ecx
420328:	59                   	pop    %ecx
420329:	85 c0                	test   %eax,%eax
42032b:	0f 85 a9 00 00 00    	jne    0x4203da
420331:	8b 4d 14             	mov    0x14(%ebp),%ecx
420334:	8b 55 fc             	mov    -0x4(%ebp),%edx
420337:	8b c7                	mov    %edi,%eax
420339:	85 d2                	test   %edx,%edx
42033b:	74 0e                	je     0x42034b
42033d:	33 d2                	xor    %edx,%edx
42033f:	f7 75 fc             	divl   -0x4(%ebp)
420342:	8b c7                	mov    %edi,%eax
420344:	2b c2                	sub    %edx,%eax
420346:	89 45 f8             	mov    %eax,-0x8(%ebp)
420349:	eb 03                	jmp    0x42034e
42034b:	89 7d f8             	mov    %edi,-0x8(%ebp)
42034e:	83 f8 fe             	cmp    $0xfffffffe,%eax
420351:	72 06                	jb     0x420359
420353:	6a fe                	push   $0xfffffffe
420355:	58                   	pop    %eax
420356:	89 45 f8             	mov    %eax,-0x8(%ebp)
420359:	ff 75 18             	push   0x18(%ebp)
42035c:	50                   	push   %eax
42035d:	ff 75 08             	push   0x8(%ebp)
420360:	51                   	push   %ecx
420361:	e8 da d4 ff ff       	call   0x41d840
420366:	59                   	pop    %ecx
420367:	50                   	push   %eax
420368:	e8 2f 95 00 00       	call   0x42989c
42036d:	8b d8                	mov    %eax,%ebx
42036f:	83 c4 10             	add    $0x10,%esp
420372:	83 fb ff             	cmp    $0xffffffff,%ebx
420375:	74 71                	je     0x4203e8
420377:	8b 45 f8             	mov    -0x8(%ebp),%eax
42037a:	3b d8                	cmp    %eax,%ebx
42037c:	76 06                	jbe    0x420384
42037e:	8b d8                	mov    %eax,%ebx
420380:	2b fb                	sub    %ebx,%edi
420382:	eb 06                	jmp    0x42038a
420384:	2b fb                	sub    %ebx,%edi
420386:	3b d8                	cmp    %eax,%ebx
420388:	72 5e                	jb     0x4203e8
42038a:	8b 4d 14             	mov    0x14(%ebp),%ecx
42038d:	8b 55 fc             	mov    -0x4(%ebp),%edx
420390:	eb 2f                	jmp    0x4203c1
420392:	8b 45 08             	mov    0x8(%ebp),%eax
420395:	ff 75 18             	push   0x18(%ebp)
420398:	51                   	push   %ecx
420399:	0f be 00             	movsbl (%eax),%eax
42039c:	50                   	push   %eax
42039d:	e8 2b 7e 00 00       	call   0x4281cd
4203a2:	83 c4 0c             	add    $0xc,%esp
4203a5:	83 f8 ff             	cmp    $0xffffffff,%eax
4203a8:	74 30                	je     0x4203da
4203aa:	8b 4d 14             	mov    0x14(%ebp),%ecx
4203ad:	4f                   	dec    %edi
4203ae:	33 db                	xor    %ebx,%ebx
4203b0:	8b 51 18             	mov    0x18(%ecx),%edx
4203b3:	89 55 fc             	mov    %edx,-0x4(%ebp)
4203b6:	85 d2                	test   %edx,%edx
4203b8:	7f 06                	jg     0x4203c0
4203ba:	33 d2                	xor    %edx,%edx
4203bc:	42                   	inc    %edx
4203bd:	89 55 fc             	mov    %edx,-0x4(%ebp)
4203c0:	43                   	inc    %ebx
4203c1:	01 5d 08             	add    %ebx,0x8(%ebp)
4203c4:	85 ff                	test   %edi,%edi
4203c6:	0f 85 02 ff ff ff    	jne    0x4202ce
4203cc:	8b 45 10             	mov    0x10(%ebp),%eax
4203cf:	e9 b8 fe ff ff       	jmp    0x42028c
4203d4:	6a 10                	push   $0x10
4203d6:	58                   	pop    %eax
4203d7:	f0 09 03             	lock or %eax,(%ebx)
4203da:	2b f7                	sub    %edi,%esi
4203dc:	33 d2                	xor    %edx,%edx
4203de:	8b c6                	mov    %esi,%eax
4203e0:	f7 75 0c             	divl   0xc(%ebp)
4203e3:	e9 a4 fe ff ff       	jmp    0x42028c
4203e8:	8b 45 f4             	mov    -0xc(%ebp),%eax
4203eb:	6a 10                	push   $0x10
4203ed:	59                   	pop    %ecx
4203ee:	f0 09 08             	lock or %ecx,(%eax)
4203f1:	eb e7                	jmp    0x4203da
4203f3:	8b ff                	mov    %edi,%edi
4203f5:	55                   	push   %ebp
4203f6:	8b ec                	mov    %esp,%ebp
4203f8:	83 ec 28             	sub    $0x28,%esp
4203fb:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4203fe:	56                   	push   %esi
4203ff:	6a 00                	push   $0x0
420401:	e8 dc cc fe ff       	call   0x40d0e2
420406:	8d 45 d8             	lea    -0x28(%ebp),%eax
420409:	50                   	push   %eax
42040a:	ff 75 14             	push   0x14(%ebp)
42040d:	ff 75 10             	push   0x10(%ebp)
420410:	ff 75 0c             	push   0xc(%ebp)
420413:	ff 75 08             	push   0x8(%ebp)
420416:	e8 ba fd ff ff       	call   0x4201d5
42041b:	83 c4 14             	add    $0x14,%esp
42041e:	8d 4d d8             	lea    -0x28(%ebp),%ecx
420421:	8b f0                	mov    %eax,%esi
420423:	e8 02 cd fe ff       	call   0x40d12a
420428:	8b c6                	mov    %esi,%eax
42042a:	5e                   	pop    %esi
42042b:	c9                   	leave
42042c:	c3                   	ret
42042d:	8b ff                	mov    %edi,%edi
42042f:	55                   	push   %ebp
420430:	8b ec                	mov    %esp,%ebp
420432:	53                   	push   %ebx
420433:	56                   	push   %esi
420434:	8b 75 0c             	mov    0xc(%ebp),%esi
420437:	57                   	push   %edi
420438:	8d 56 0c             	lea    0xc(%esi),%edx
42043b:	8b 02                	mov    (%edx),%eax
42043d:	90                   	nop
42043e:	c1 e8 0c             	shr    $0xc,%eax
420441:	a8 01                	test   $0x1,%al
420443:	75 73                	jne    0x4204b8
420445:	56                   	push   %esi
420446:	e8 f5 d3 ff ff       	call   0x41d840
42044b:	bf d0 d2 43 00       	mov    $0x43d2d0,%edi
420450:	59                   	pop    %ecx
420451:	83 f8 ff             	cmp    $0xffffffff,%eax
420454:	74 1b                	je     0x420471
420456:	83 f8 fe             	cmp    $0xfffffffe,%eax
420459:	74 16                	je     0x420471
42045b:	8b d0                	mov    %eax,%edx
42045d:	8b c8                	mov    %eax,%ecx
42045f:	83 e2 3f             	and    $0x3f,%edx
420462:	c1 f9 06             	sar    $0x6,%ecx
420465:	6b da 38             	imul   $0x38,%edx,%ebx
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