4212f8:	8b cd                	mov    %ebp,%ecx
4212fa:	8b d0                	mov    %eax,%edx
4212fc:	8b c6                	mov    %esi,%eax
4212fe:	e8 15 f7 ff ff       	call   0x420a18
421303:	8b d6                	mov    %esi,%edx
421305:	8b c6                	mov    %esi,%eax
421307:	8b 08                	mov    (%eax),%ecx
421309:	ff 51 10             	call   *0x10(%ecx)
42130c:	83 c4 54             	add    $0x54,%esp
42130f:	5d                   	pop    %ebp
421310:	5f                   	pop    %edi
421311:	5e                   	pop    %esi
421312:	5b                   	pop    %ebx
421313:	c3                   	ret
421314:	53                   	push   %ebx
421315:	56                   	push   %esi
421316:	57                   	push   %edi
421317:	83 c4 ac             	add    $0xffffffac,%esp
42131a:	8b fa                	mov    %edx,%edi
42131c:	8b d8                	mov    %eax,%ebx
42131e:	8b 73 28             	mov    0x28(%ebx),%esi
421321:	3b 7e 20             	cmp    0x20(%esi),%edi
421324:	74 38                	je     0x42135e
421326:	8b c3                	mov    %ebx,%eax
421328:	e8 8b f4 ff ff       	call   0x4207b8
42132d:	56                   	push   %esi
42132e:	57                   	push   %edi
42132f:	83 c6 18             	add    $0x18,%esi
421332:	8d 7c 24 08          	lea    0x8(%esp),%edi
421336:	b9 15 00 00 00       	mov    $0x15,%ecx
42133b:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
42133d:	5f                   	pop    %edi
42133e:	5e                   	pop    %esi
42133f:	89 7c 24 08          	mov    %edi,0x8(%esp)
421343:	89 7c 24 20          	mov    %edi,0x20(%esp)
421347:	54                   	push   %esp
421348:	8b 4e 10             	mov    0x10(%esi),%ecx
42134b:	8b 56 08             	mov    0x8(%esi),%edx
42134e:	8b c3                	mov    %ebx,%eax
421350:	e8 6f ee ff ff       	call   0x4201c4
421355:	8b d3                	mov    %ebx,%edx
421357:	8b c3                	mov    %ebx,%eax
421359:	8b 08                	mov    (%eax),%ecx
42135b:	ff 51 10             	call   *0x10(%ecx)
42135e:	83 c4 54             	add    $0x54,%esp
421361:	5f                   	pop    %edi
421362:	5e                   	pop    %esi
421363:	5b                   	pop    %ebx
421364:	c3                   	ret
421365:	8d 40 00             	lea    0x0(%eax),%eax
421368:	53                   	push   %ebx
421369:	56                   	push   %esi
42136a:	57                   	push   %edi
42136b:	83 c4 ac             	add    $0xffffffac,%esp
42136e:	8b da                	mov    %edx,%ebx
421370:	8b f8                	mov    %eax,%edi
421372:	8b 77 28             	mov    0x28(%edi),%esi
421375:	8d 46 30             	lea    0x30(%esi),%eax
421378:	66 83 78 0c 01       	cmpw   $0x1,0xc(%eax)
42137d:	75 07                	jne    0x421386
42137f:	66 83 78 0e 01       	cmpw   $0x1,0xe(%eax)
421384:	74 04                	je     0x42138a
421386:	33 c0                	xor    %eax,%eax
421388:	eb 02                	jmp    0x42138c
42138a:	b0 01                	mov    $0x1,%al
42138c:	3a d8                	cmp    %al,%bl
42138e:	74 4e                	je     0x4213de
421390:	8b c7                	mov    %edi,%eax
421392:	e8 21 f4 ff ff       	call   0x4207b8
421397:	56                   	push   %esi
421398:	57                   	push   %edi
421399:	83 c6 18             	add    $0x18,%esi
42139c:	8d 7c 24 08          	lea    0x8(%esp),%edi
4213a0:	b9 15 00 00 00       	mov    $0x15,%ecx
4213a5:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4213a7:	5f                   	pop    %edi
4213a8:	5e                   	pop    %esi
4213a9:	33 c0                	xor    %eax,%eax
4213ab:	89 44 24 18          	mov    %eax,0x18(%esp)
4213af:	33 c0                	xor    %eax,%eax
4213b1:	8a c3                	mov    %bl,%al
4213b3:	66 89 44 24 24       	mov    %ax,0x24(%esp)
4213b8:	66 89 44 24 26       	mov    %ax,0x26(%esp)
4213bd:	66 89 44 24 10       	mov    %ax,0x10(%esp)
4213c2:	66 89 44 24 12       	mov    %ax,0x12(%esp)
4213c7:	54                   	push   %esp
4213c8:	8b 4e 10             	mov    0x10(%esi),%ecx
4213cb:	8b 56 08             	mov    0x8(%esi),%edx
4213ce:	8b c7                	mov    %edi,%eax
4213d0:	e8 ef ed ff ff       	call   0x4201c4
4213d5:	8b d7                	mov    %edi,%edx
4213d7:	8b c7                	mov    %edi,%eax
4213d9:	8b 08                	mov    (%eax),%ecx
4213db:	ff 51 10             	call   *0x10(%ecx)
4213de:	83 c4 54             	add    $0x54,%esp
4213e1:	5f                   	pop    %edi
4213e2:	5e                   	pop    %esi
4213e3:	5b                   	pop    %ebx
4213e4:	c3                   	ret
4213e5:	8d 40 00             	lea    0x0(%eax),%eax
4213e8:	55                   	push   %ebp
4213e9:	8b ec                	mov    %esp,%ebp
4213eb:	83 c4 a8             	add    $0xffffffa8,%esp
4213ee:	53                   	push   %ebx
4213ef:	56                   	push   %esi
4213f0:	57                   	push   %edi
4213f1:	8b fa                	mov    %edx,%edi
4213f3:	8b d8                	mov    %eax,%ebx
4213f5:	8b 43 28             	mov    0x28(%ebx),%eax
4213f8:	3b 78 10             	cmp    0x10(%eax),%edi
4213fb:	0f 84 b3 00 00 00    	je     0x4214b4
421401:	8b f0                	mov    %eax,%esi
421403:	85 ff                	test   %edi,%edi
421405:	75 15                	jne    0x42141c
421407:	83 7e 04 01          	cmpl   $0x1,0x4(%esi)
42140b:	75 0f                	jne    0x42141c
42140d:	8b 46 10             	mov    0x10(%esi),%eax
421410:	e8 ef a8 ff ff       	call   0x41bd04
421415:	33 c0                	xor    %eax,%eax
421417:	89 46 10             	mov    %eax,0x10(%esi)
42141a:	eb 7b                	jmp    0x421497
42141c:	8b c3                	mov    %ebx,%eax
42141e:	e8 85 f3 ff ff       	call   0x4207a8
421423:	8b c3                	mov    %ebx,%eax
421425:	e8 8e f3 ff ff       	call   0x4207b8
42142a:	56                   	push   %esi
42142b:	57                   	push   %edi
42142c:	83 c6 18             	add    $0x18,%esi
42142f:	8d 7d a8             	lea    -0x58(%ebp),%edi
421432:	b9 15 00 00 00       	mov    $0x15,%ecx
421437:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
421439:	5f                   	pop    %edi
42143a:	5e                   	pop    %esi
42143b:	8d 45 a8             	lea    -0x58(%ebp),%eax
42143e:	50                   	push   %eax
42143f:	6a 00                	push   $0x0
421441:	8b 56 10             	mov    0x10(%esi),%edx
421444:	8b 46 08             	mov    0x8(%esi),%eax
421447:	8b cf                	mov    %edi,%ecx
421449:	e8 06 e3 ff ff       	call   0x41f754
42144e:	89 45 fc             	mov    %eax,-0x4(%ebp)
421451:	33 c0                	xor    %eax,%eax
421453:	55                   	push   %ebp
421454:	68 7f 14 42 00       	push   $0x42147f
421459:	64 ff 30             	push   %fs:(%eax)
42145c:	64 89 20             	mov    %esp,%fs:(%eax)
42145f:	8d 45 a8             	lea    -0x58(%ebp),%eax
421462:	50                   	push   %eax
421463:	8a 46 70             	mov    0x70(%esi),%al
421466:	50                   	push   %eax
421467:	6a 00                	push   $0x0
421469:	8b cf                	mov    %edi,%ecx
42146b:	8b 55 fc             	mov    -0x4(%ebp),%edx
42146e:	8b c3                	mov    %ebx,%eax
421470:	e8 a3 f5 ff ff       	call   0x420a18
421475:	33 c0                	xor    %eax,%eax
421477:	5a                   	pop    %edx
421478:	59                   	pop    %ecx
421479:	59                   	pop    %ecx
42147a:	64 89 10             	mov    %edx,%fs:(%eax)
42147d:	eb 18                	jmp    0x421497
42147f:	e9 14 28 fe ff       	jmp    0x403c98
421484:	8b 45 fc             	mov    -0x4(%ebp),%eax
421487:	50                   	push   %eax
421488:	e8 ef 53 fe ff       	call   0x40687c
42148d:	e8 1a 2b fe ff       	call   0x403fac
421492:	e8 69 2b fe ff       	call   0x404000
421497:	8b 43 28             	mov    0x28(%ebx),%eax
42149a:	8d 48 18             	lea    0x18(%eax),%ecx
42149d:	8b 40 14             	mov    0x14(%eax),%eax
4214a0:	8b d7                	mov    %edi,%edx
4214a2:	e8 a5 e1 ff ff       	call   0x41f64c
4214a7:	c6 43 22 01          	movb   $0x1,0x22(%ebx)
4214ab:	8b d3                	mov    %ebx,%edx
4214ad:	8b c3                	mov    %ebx,%eax
4214af:	8b 08                	mov    (%eax),%ecx
4214b1:	ff 51 10             	call   *0x10(%ecx)
4214b4:	5f                   	pop    %edi
4214b5:	5e                   	pop    %esi
4214b6:	5b                   	pop    %ebx
4214b7:	8b e5                	mov    %ebp,%esp
4214b9:	5d                   	pop    %ebp
4214ba:	c3                   	ret
4214bb:	90                   	nop
4214bc:	53                   	push   %ebx
4214bd:	56                   	push   %esi
4214be:	57                   	push   %edi
4214bf:	83 c4 ac             	add    $0xffffffac,%esp
4214c2:	8b fa                	mov    %edx,%edi
4214c4:	8b d8                	mov    %eax,%ebx
4214c6:	8b 73 28             	mov    0x28(%ebx),%esi
4214c9:	3b 7e 1c             	cmp    0x1c(%esi),%edi
4214cc:	74 38                	je     0x421506
4214ce:	8b c3                	mov    %ebx,%eax
4214d0:	e8 e3 f2 ff ff       	call   0x4207b8
4214d5:	56                   	push   %esi
4214d6:	57                   	push   %edi
4214d7:	83 c6 18             	add    $0x18,%esi
4214da:	8d 7c 24 08          	lea    0x8(%esp),%edi
4214de:	b9 15 00 00 00       	mov    $0x15,%ecx
4214e3:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4214e5:	5f                   	pop    %edi
4214e6:	5e                   	pop    %esi
4214e7:	89 7c 24 04          	mov    %edi,0x4(%esp)
4214eb:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
4214ef:	54                   	push   %esp
4214f0:	8b 4e 10             	mov    0x10(%esi),%ecx
4214f3:	8b 56 08             	mov    0x8(%esi),%edx
4214f6:	8b c3                	mov    %ebx,%eax
4214f8:	e8 c7 ec ff ff       	call   0x4201c4
4214fd:	8b d3                	mov    %ebx,%edx
4214ff:	8b c3                	mov    %ebx,%eax
421501:	8b 08                	mov    (%eax),%ecx
421503:	ff 51 10             	call   *0x10(%ecx)
421506:	83 c4 54             	add    $0x54,%esp
421509:	5f                   	pop    %edi
42150a:	5e                   	pop    %esi
42150b:	5b                   	pop    %ebx
42150c:	c3                   	ret
42150d:	8d 40 00             	lea    0x0(%eax),%eax
421510:	b1 01                	mov    $0x1,%cl
421512:	e8 01 00 00 00       	call   0x421518
421517:	c3                   	ret
421518:	53                   	push   %ebx
421519:	56                   	push   %esi
42151a:	57                   	push   %edi
42151b:	55                   	push   %ebp
42151c:	81 c4 d4 fb ff ff    	add    $0xfffffbd4,%esp
421522:	8b d9                	mov    %ecx,%ebx
421524:	8b fa                	mov    %edx,%edi
421526:	8b f0                	mov    %eax,%esi
421528:	8d 44 24 10          	lea    0x10(%esp),%eax
42152c:	33 c9                	xor    %ecx,%ecx
42152e:	ba 0e 00 00 00       	mov    $0xe,%edx
421533:	e8 e4 19 fe ff       	call   0x402f1c
421538:	66 c7 44 24 10 42 4d 	movw   $0x4d42,0x10(%esp)
42153f:	8b 46 28             	mov    0x28(%esi),%eax
421542:	8b 68 6c             	mov    0x6c(%eax),%ebp
421545:	85 ed                	test   %ebp,%ebp
421547:	74 38                	je     0x421581
421549:	8b c5                	mov    %ebp,%eax
42154b:	8b 10                	mov    (%eax),%edx
42154d:	ff 12                	call   *(%edx)
42154f:	89 04 24             	mov    %eax,(%esp)
421552:	84 db                	test   %bl,%bl
421554:	74 0e                	je     0x421564
421556:	8b d4                	mov    %esp,%edx
421558:	b9 04 00 00 00       	mov    $0x4,%ecx
42155d:	8b c7                	mov    %edi,%eax
42155f:	e8 a8 49 ff ff       	call   0x415f0c
421564:	8b 46 28             	mov    0x28(%esi),%eax
421567:	8b 58 6c             	mov    0x6c(%eax),%ebx
42156a:	8b c3                	mov    %ebx,%eax
42156c:	8b 10                	mov    (%eax),%edx
42156e:	ff 12                	call   *(%edx)
421570:	8b c8                	mov    %eax,%ecx
421572:	8b 53 04             	mov    0x4(%ebx),%edx
421575:	8b c7                	mov    %edi,%eax
421577:	8b 18                	mov    (%eax),%ebx
421579:	ff 53 10             	call   *0x10(%ebx)
42157c:	e9 3e 02 00 00       	jmp    0x4217bf
421581:	8b c6                	mov    %esi,%eax
421583:	e8 ac f1 ff ff       	call   0x420734
421588:	8b 6e 28             	mov    0x28(%esi),%ebp
42158b:	33 c0                	xor    %eax,%eax
42158d:	89 04 24             	mov    %eax,(%esp)
421590:	8b 45 14             	mov    0x14(%ebp),%eax
421593:	85 c0                	test   %eax,%eax
421595:	0f 84 18 01 00 00    	je     0x4216b3
42159b:	8b 55 50             	mov    0x50(%ebp),%edx
42159e:	52                   	push   %edx
42159f:	8d 4c 24 04          	lea    0x4(%esp),%ecx
4215a3:	8d 54 24 0c          	lea    0xc(%esp),%edx
4215a7:	e8 9c d5 ff ff       	call   0x41eb48
4215ac:	80 7d 70 00          	cmpb   $0x0,0x70(%ebp)
4215b0:	74 22                	je     0x4215d4
4215b2:	c7 44 24 08 0c 00 00 	movl   $0xc,0x8(%esp)
4215b9:	00
4215ba:	66 8b 45 3e          	mov    0x3e(%ebp),%ax
4215be:	66 83 f8 08          	cmp    $0x8,%ax
4215c2:	77 10                	ja     0x4215d4
4215c4:	8b c8                	mov    %eax,%ecx
4215c6:	b8 01 00 00 00       	mov    $0x1,%eax
4215cb:	d3 e0                	shl    %cl,%eax
4215cd:	8d 04 40             	lea    (%eax,%eax,2),%eax
4215d0:	01 44 24 08          	add    %eax,0x8(%esp)
4215d4:	8b 44 24 08          	mov    0x8(%esp),%eax
4215d8:	83 c0 0e             	add    $0xe,%eax
4215db:	01 04 24             	add    %eax,(%esp)
4215de:	8d 44 24 10          	lea    0x10(%esp),%eax
4215e2:	33 c9                	xor    %ecx,%ecx
4215e4:	ba 0e 00 00 00       	mov    $0xe,%edx
4215e9:	e8 2e 19 fe ff       	call   0x402f1c
4215ee:	66 c7 44 24 10 42 4d 	movw   $0x4d42,0x10(%esp)
4215f5:	8b c6                	mov    %esi,%eax
4215f7:	e8 fc ef ff ff       	call   0x4205f8
4215fc:	8a 15 cc 17 42 00    	mov    0x4217cc,%dl
421602:	e8 dd c3 ff ff       	call   0x41d9e4
421607:	8b 45 14             	mov    0x14(%ebp),%eax
42160a:	50                   	push   %eax
42160b:	8b 46 2c             	mov    0x2c(%esi),%eax
42160e:	8b 40 04             	mov    0x4(%eax),%eax
421611:	50                   	push   %eax
421612:	e8 45 53 fe ff       	call   0x40695c
421617:	e8 e0 c6 ff ff       	call   0x41dcfc
42161c:	89 44 24 0c          	mov    %eax,0xc(%esp)
421620:	8d 44 24 2a          	lea    0x2a(%esp),%eax
421624:	50                   	push   %eax
421625:	68 00 01 00 00       	push   $0x100
42162a:	6a 00                	push   $0x0
42162c:	8b 46 2c             	mov    0x2c(%esi),%eax
42162f:	8b 40 04             	mov    0x4(%eax),%eax
421632:	50                   	push   %eax
421633:	e8 7c 52 fe ff       	call   0x4068b4
421638:	89 44 24 04          	mov    %eax,0x4(%esp)
42163c:	8b 44 24 0c          	mov    0xc(%esp),%eax
421640:	50                   	push   %eax
421641:	8b 46 2c             	mov    0x2c(%esi),%eax
421644:	8b 40 04             	mov    0x4(%eax),%eax
421647:	50                   	push   %eax
421648:	e8 0f 53 fe ff       	call   0x40695c
42164d:	8b 45 50             	mov    0x50(%ebp),%eax
421650:	85 c0                	test   %eax,%eax
421652:	76 0a                	jbe    0x42165e
421654:	3b 44 24 04          	cmp    0x4(%esp),%eax
421658:	73 04                	jae    0x42165e
42165a:	89 44 24 04          	mov    %eax,0x4(%esp)
42165e:	80 7d 70 00          	cmpb   $0x0,0x70(%ebp)
421662:	75 3d                	jne    0x4216a1
421664:	83 7c 24 04 00       	cmpl   $0x0,0x4(%esp)
421669:	75 36                	jne    0x4216a1
42166b:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
42166f:	74 30                	je     0x4216a1
421671:	80 7d 71 00          	cmpb   $0x0,0x71(%ebp)
421675:	75 2a                	jne    0x4216a1
421677:	8d 54 24 2a          	lea    0x2a(%esp),%edx
42167b:	b9 ff 00 00 00       	mov    $0xff,%ecx
421680:	8b 45 10             	mov    0x10(%ebp),%eax
421683:	e8 14 ce ff ff       	call   0x41e49c
421688:	89 44 24 04          	mov    %eax,0x4(%esp)
42168c:	66 83 7d 3e 08       	cmpw   $0x8,0x3e(%ebp)
421691:	76 0e                	jbe    0x4216a1
421693:	8b 44 24 04          	mov    0x4(%esp),%eax
421697:	c1 e0 02             	shl    $0x2,%eax
42169a:	01 04 24             	add    %eax,(%esp)
42169d:	01 44 24 08          	add    %eax,0x8(%esp)
4216a1:	8b 04 24             	mov    (%esp),%eax
4216a4:	89 44 24 12          	mov    %eax,0x12(%esp)
4216a8:	8b 44 24 08          	mov    0x8(%esp),%eax
4216ac:	83 c0 0e             	add    $0xe,%eax