420292:	8b 10                	mov    (%eax),%edx
420294:	89 55 0c             	mov    %edx,0xc(%ebp)
420297:	8b 48 04             	mov    0x4(%eax),%ecx
42029a:	8b 45 24             	mov    0x24(%ebp),%eax
42029d:	f2 0f 11 00          	movsd  %xmm0,(%eax)
4202a1:	8b 45 08             	mov    0x8(%ebp),%eax
4202a4:	89 10                	mov    %edx,(%eax)
4202a6:	89 48 04             	mov    %ecx,0x4(%eax)
4202a9:	c9                   	leave
4202aa:	c2 20 00             	ret    $0x20
4202ad:	6a 34                	push   $0x34
4202af:	b8 ac fa 48 00       	mov    $0x48faac,%eax
4202b4:	e8 c5 f7 01 00       	call   0x43fa7e
4202b9:	8b f1                	mov    %ecx,%esi
4202bb:	8b 45 24             	mov    0x24(%ebp),%eax
4202be:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
4202c1:	8b 5d 08             	mov    0x8(%ebp),%ebx
4202c4:	8b 7d 20             	mov    0x20(%ebp),%edi
4202c7:	89 45 cc             	mov    %eax,-0x34(%ebp)
4202ca:	8d 45 c0             	lea    -0x40(%ebp),%eax
4202cd:	50                   	push   %eax
4202ce:	e8 43 1a 00 00       	call   0x421d16
4202d3:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4202d7:	50                   	push   %eax
4202d8:	68 00 08 00 00       	push   $0x800
4202dd:	8d 45 14             	lea    0x14(%ebp),%eax
4202e0:	50                   	push   %eax
4202e1:	8d 45 0c             	lea    0xc(%ebp),%eax
4202e4:	50                   	push   %eax
4202e5:	8d 45 d0             	lea    -0x30(%ebp),%eax
4202e8:	50                   	push   %eax
4202e9:	56                   	push   %esi
4202ea:	e8 44 a6 ff ff       	call   0x41a933
4202ef:	83 c4 18             	add    $0x18,%esp
4202f2:	8b f0                	mov    %eax,%esi
4202f4:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4202f8:	8d 4d c0             	lea    -0x40(%ebp),%ecx
4202fb:	e8 e7 f0 fe ff       	call   0x40f3e7
420300:	80 7d d0 00          	cmpb   $0x0,-0x30(%ebp)
420304:	75 05                	jne    0x42030b
420306:	8b 4d cc             	mov    -0x34(%ebp),%ecx
420309:	eb 28                	jmp    0x420333
42030b:	8d 45 c4             	lea    -0x3c(%ebp),%eax
42030e:	50                   	push   %eax
42030f:	56                   	push   %esi
420310:	8d 45 c8             	lea    -0x38(%ebp),%eax
420313:	50                   	push   %eax
420314:	8d 45 d0             	lea    -0x30(%ebp),%eax
420317:	50                   	push   %eax
420318:	e8 80 75 00 00       	call   0x42789d
42031d:	8b 4d cc             	mov    -0x34(%ebp),%ecx
420320:	83 c4 10             	add    $0x10,%esp
420323:	89 01                	mov    %eax,(%ecx)
420325:	8d 45 d0             	lea    -0x30(%ebp),%eax
420328:	39 45 c8             	cmp    %eax,-0x38(%ebp)
42032b:	74 06                	je     0x420333
42032d:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
420331:	74 09                	je     0x42033c
420333:	c7 07 02 00 00 00    	movl   $0x2,(%edi)
420339:	83 21 00             	andl   $0x0,(%ecx)
42033c:	8d 45 14             	lea    0x14(%ebp),%eax
42033f:	50                   	push   %eax
420340:	8d 4d 0c             	lea    0xc(%ebp),%ecx
420343:	e8 ac 08 00 00       	call   0x420bf4
420348:	84 c0                	test   %al,%al
42034a:	74 03                	je     0x42034f
42034c:	83 0f 01             	orl    $0x1,(%edi)
42034f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
420352:	8b c3                	mov    %ebx,%eax
420354:	89 0b                	mov    %ecx,(%ebx)
420356:	8b 4d 10             	mov    0x10(%ebp),%ecx
420359:	89 4b 04             	mov    %ecx,0x4(%ebx)
42035c:	e8 c7 f6 01 00       	call   0x43fa28
420361:	c2 20 00             	ret    $0x20
420364:	6a 38                	push   $0x38
420366:	b8 d9 fa 48 00       	mov    $0x48fad9,%eax
42036b:	e8 0e f7 01 00       	call   0x43fa7e
420370:	8b f9                	mov    %ecx,%edi
420372:	8b 45 08             	mov    0x8(%ebp),%eax
420375:	8b 75 1c             	mov    0x1c(%ebp),%esi
420378:	8b ce                	mov    %esi,%ecx
42037a:	8b 5d 20             	mov    0x20(%ebp),%ebx
42037d:	89 45 bc             	mov    %eax,-0x44(%ebp)
420380:	8b 45 24             	mov    0x24(%ebp),%eax
420383:	89 45 cc             	mov    %eax,-0x34(%ebp)
420386:	8d 45 c0             	lea    -0x40(%ebp),%eax
420389:	50                   	push   %eax
42038a:	e8 87 19 00 00       	call   0x421d16
42038f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
420393:	50                   	push   %eax
420394:	ff 76 14             	push   0x14(%esi)
420397:	8d 45 14             	lea    0x14(%ebp),%eax
42039a:	50                   	push   %eax
42039b:	8d 45 0c             	lea    0xc(%ebp),%eax
42039e:	50                   	push   %eax
42039f:	8d 45 d0             	lea    -0x30(%ebp),%eax
4203a2:	50                   	push   %eax
4203a3:	57                   	push   %edi
4203a4:	e8 8a a5 ff ff       	call   0x41a933
4203a9:	83 c4 18             	add    $0x18,%esp
4203ac:	8b f0                	mov    %eax,%esi
4203ae:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4203b2:	8d 4d c0             	lea    -0x40(%ebp),%ecx
4203b5:	e8 2d f0 fe ff       	call   0x40f3e7
4203ba:	80 7d d0 00          	cmpb   $0x0,-0x30(%ebp)
4203be:	75 12                	jne    0x4203d2
4203c0:	8b 45 cc             	mov    -0x34(%ebp),%eax
4203c3:	c7 03 02 00 00 00    	movl   $0x2,(%ebx)
4203c9:	83 20 00             	andl   $0x0,(%eax)
4203cc:	83 60 04 00          	andl   $0x0,0x4(%eax)
4203d0:	eb 31                	jmp    0x420403
4203d2:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4203d5:	50                   	push   %eax
4203d6:	56                   	push   %esi
4203d7:	8d 45 c8             	lea    -0x38(%ebp),%eax
4203da:	50                   	push   %eax
4203db:	8d 45 d0             	lea    -0x30(%ebp),%eax
4203de:	50                   	push   %eax
4203df:	e8 44 76 00 00       	call   0x427a28
4203e4:	8b 4d cc             	mov    -0x34(%ebp),%ecx
4203e7:	83 c4 10             	add    $0x10,%esp
4203ea:	89 01                	mov    %eax,(%ecx)
4203ec:	8d 45 d0             	lea    -0x30(%ebp),%eax
4203ef:	89 51 04             	mov    %edx,0x4(%ecx)
4203f2:	39 45 c8             	cmp    %eax,-0x38(%ebp)
4203f5:	74 06                	je     0x4203fd
4203f7:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
4203fb:	74 06                	je     0x420403
4203fd:	c7 03 02 00 00 00    	movl   $0x2,(%ebx)
420403:	8d 45 14             	lea    0x14(%ebp),%eax
420406:	50                   	push   %eax
420407:	8d 4d 0c             	lea    0xc(%ebp),%ecx
42040a:	e8 e5 07 00 00       	call   0x420bf4
42040f:	84 c0                	test   %al,%al
420411:	74 03                	je     0x420416
420413:	83 0b 01             	orl    $0x1,(%ebx)
420416:	8b 45 bc             	mov    -0x44(%ebp),%eax
420419:	8b 4d 0c             	mov    0xc(%ebp),%ecx
42041c:	89 08                	mov    %ecx,(%eax)
42041e:	8b 4d 10             	mov    0x10(%ebp),%ecx
420421:	89 48 04             	mov    %ecx,0x4(%eax)
420424:	e8 ff f5 01 00       	call   0x43fa28
420429:	c2 20 00             	ret    $0x20
42042c:	6a 38                	push   $0x38
42042e:	b8 06 fb 48 00       	mov    $0x48fb06,%eax
420433:	e8 46 f6 01 00       	call   0x43fa7e
420438:	8b f9                	mov    %ecx,%edi
42043a:	8b 45 08             	mov    0x8(%ebp),%eax
42043d:	8b 75 1c             	mov    0x1c(%ebp),%esi
420440:	8b ce                	mov    %esi,%ecx
420442:	8b 5d 20             	mov    0x20(%ebp),%ebx
420445:	89 45 bc             	mov    %eax,-0x44(%ebp)
420448:	8b 45 24             	mov    0x24(%ebp),%eax
42044b:	89 45 cc             	mov    %eax,-0x34(%ebp)
42044e:	8d 45 c0             	lea    -0x40(%ebp),%eax
420451:	50                   	push   %eax
420452:	e8 bf 18 00 00       	call   0x421d16
420457:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
42045b:	50                   	push   %eax
42045c:	ff 76 14             	push   0x14(%esi)
42045f:	8d 45 14             	lea    0x14(%ebp),%eax
420462:	50                   	push   %eax
420463:	8d 45 0c             	lea    0xc(%ebp),%eax
420466:	50                   	push   %eax
420467:	8d 45 d0             	lea    -0x30(%ebp),%eax
42046a:	50                   	push   %eax
42046b:	57                   	push   %edi
42046c:	e8 c2 a4 ff ff       	call   0x41a933
420471:	83 c4 18             	add    $0x18,%esp
420474:	8b f0                	mov    %eax,%esi
420476:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
42047a:	8d 4d c0             	lea    -0x40(%ebp),%ecx
42047d:	e8 65 ef fe ff       	call   0x40f3e7
420482:	80 7d d0 00          	cmpb   $0x0,-0x30(%ebp)
420486:	75 12                	jne    0x42049a
420488:	8b 45 cc             	mov    -0x34(%ebp),%eax
42048b:	c7 03 02 00 00 00    	movl   $0x2,(%ebx)
420491:	83 20 00             	andl   $0x0,(%eax)
420494:	83 60 04 00          	andl   $0x0,0x4(%eax)
420498:	eb 31                	jmp    0x4204cb
42049a:	8d 45 c4             	lea    -0x3c(%ebp),%eax
42049d:	50                   	push   %eax
42049e:	56                   	push   %esi
42049f:	8d 45 c8             	lea    -0x38(%ebp),%eax
4204a2:	50                   	push   %eax
4204a3:	8d 45 d0             	lea    -0x30(%ebp),%eax
4204a6:	50                   	push   %eax
4204a7:	e8 62 76 00 00       	call   0x427b0e
4204ac:	8b 4d cc             	mov    -0x34(%ebp),%ecx
4204af:	83 c4 10             	add    $0x10,%esp
4204b2:	89 01                	mov    %eax,(%ecx)
4204b4:	8d 45 d0             	lea    -0x30(%ebp),%eax
4204b7:	89 51 04             	mov    %edx,0x4(%ecx)
4204ba:	39 45 c8             	cmp    %eax,-0x38(%ebp)
4204bd:	74 06                	je     0x4204c5
4204bf:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
4204c3:	74 06                	je     0x4204cb
4204c5:	c7 03 02 00 00 00    	movl   $0x2,(%ebx)
4204cb:	8d 45 14             	lea    0x14(%ebp),%eax
4204ce:	50                   	push   %eax
4204cf:	8d 4d 0c             	lea    0xc(%ebp),%ecx
4204d2:	e8 1d 07 00 00       	call   0x420bf4
4204d7:	84 c0                	test   %al,%al
4204d9:	74 03                	je     0x4204de
4204db:	83 0b 01             	orl    $0x1,(%ebx)
4204de:	8b 45 bc             	mov    -0x44(%ebp),%eax
4204e1:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4204e4:	89 08                	mov    %ecx,(%eax)
4204e6:	8b 4d 10             	mov    0x10(%ebp),%ecx
4204e9:	89 48 04             	mov    %ecx,0x4(%eax)
4204ec:	e8 37 f5 01 00       	call   0x43fa28
4204f1:	c2 20 00             	ret    $0x20
4204f4:	6a 68                	push   $0x68
4204f6:	b8 53 fb 48 00       	mov    $0x48fb53,%eax
4204fb:	e8 7e f5 01 00       	call   0x43fa7e
420500:	89 4d 98             	mov    %ecx,-0x68(%ebp)
420503:	8b 45 1c             	mov    0x1c(%ebp),%eax
420506:	8b 5d 08             	mov    0x8(%ebp),%ebx
420509:	8b 75 20             	mov    0x20(%ebp),%esi
42050c:	8b 7d 24             	mov    0x24(%ebp),%edi
42050f:	f7 40 14 00 40 00 00 	testl  $0x4000,0x14(%eax)
420516:	89 45 9c             	mov    %eax,-0x64(%ebp)
420519:	0f 84 06 01 00 00    	je     0x420625
42051f:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
420522:	51                   	push   %ecx
420523:	8b c8                	mov    %eax,%ecx
420525:	e8 ec 17 00 00       	call   0x421d16
42052a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
42052e:	50                   	push   %eax
42052f:	e8 7a 89 fe ff       	call   0x408eae
420534:	59                   	pop    %ecx
420535:	89 45 9c             	mov    %eax,-0x64(%ebp)
420538:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
42053c:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
42053f:	e8 a3 ee fe ff       	call   0x40f3e7
420544:	33 c9                	xor    %ecx,%ecx
420546:	33 c0                	xor    %eax,%eax
420548:	89 4d c8             	mov    %ecx,-0x38(%ebp)
42054b:	51                   	push   %ecx
42054c:	89 4d cc             	mov    %ecx,-0x34(%ebp)
42054f:	89 4d c8             	mov    %ecx,-0x38(%ebp)
420552:	8d 4d b8             	lea    -0x48(%ebp),%ecx
420555:	6a 01                	push   $0x1
420557:	c7 45 cc 07 00 00 00 	movl   $0x7,-0x34(%ebp)
42055e:	66 89 45 b8          	mov    %ax,-0x48(%ebp)
420562:	e8 ca f2 ff ff       	call   0x41f831
420567:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
42056e:	8d 45 a0             	lea    -0x60(%ebp),%eax
420571:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
420574:	50                   	push   %eax
420575:	e8 a1 08 00 00       	call   0x420e1b
42057a:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
42057e:	83 78 14 08          	cmpl   $0x8,0x14(%eax)
420582:	8b 48 10             	mov    0x10(%eax),%ecx
420585:	72 02                	jb     0x420589
420587:	8b 00                	mov    (%eax),%eax
420589:	51                   	push   %ecx
42058a:	50                   	push   %eax
42058b:	8d 4d b8             	lea    -0x48(%ebp),%ecx
42058e:	e8 10 f1 ff ff       	call   0x41f6a3
420593:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
420597:	8d 4d a0             	lea    -0x60(%ebp),%ecx
42059a:	e8 5b cd ff ff       	call   0x41d2fa
42059f:	6a 00                	push   $0x0
4205a1:	8d 4d b8             	lea    -0x48(%ebp),%ecx
4205a4:	e8 25 21 00 00       	call   0x4226ce
4205a9:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
4205ac:	8d 45 a0             	lea    -0x60(%ebp),%eax
4205af:	50                   	push   %eax
4205b0:	e8 e4 2d 00 00       	call   0x423399
4205b5:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
4205b9:	83 78 14 08          	cmpl   $0x8,0x14(%eax)
4205bd:	8b 48 10             	mov    0x10(%eax),%ecx
4205c0:	72 02                	jb     0x4205c4
4205c2:	8b 00                	mov    (%eax),%eax
4205c4:	51                   	push   %ecx
4205c5:	50                   	push   %eax
4205c6:	8d 4d b8             	lea    -0x48(%ebp),%ecx
4205c9:	e8 d5 f0 ff ff       	call   0x41f6a3
4205ce:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4205d2:	8d 4d a0             	lea    -0x60(%ebp),%ecx
4205d5:	e8 20 cd ff ff       	call   0x41d2fa
4205da:	83 7d cc 08          	cmpl   $0x8,-0x34(%ebp)
4205de:	8d 45 b8             	lea    -0x48(%ebp),%eax
4205e1:	0f 43 45 b8          	cmovae -0x48(%ebp),%eax
4205e5:	50                   	push   %eax
4205e6:	6a 02                	push   $0x2
4205e8:	8d 45 14             	lea    0x14(%ebp),%eax
4205eb:	50                   	push   %eax
4205ec:	8d 45 0c             	lea    0xc(%ebp),%eax
4205ef:	50                   	push   %eax
4205f0:	e8 7a 38 fe ff       	call   0x403e6f
4205f5:	33 c9                	xor    %ecx,%ecx
4205f7:	83 c4 10             	add    $0x10,%esp
4205fa:	2b c1                	sub    %ecx,%eax
4205fc:	74 14                	je     0x420612
4205fe:	83 e8 01             	sub    $0x1,%eax
420601:	74 0a                	je     0x42060d
420603:	88 0f                	mov    %cl,(%edi)
420605:	c7 06 02 00 00 00    	movl   $0x2,(%esi)
42060b:	eb 07                	jmp    0x420614
42060d:	c6 07 01             	movb   $0x1,(%edi)
420610:	eb 02                	jmp    0x420614
420612:	88 0f                	mov    %cl,(%edi)
420614:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
420618:	8d 4d b8             	lea    -0x48(%ebp),%ecx
42061b:	e8 da cc ff ff       	call   0x41d2fa
420620:	e9 8c 00 00 00       	jmp    0x4206b1
420625:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
420628:	51                   	push   %ecx
420629:	8b c8                	mov    %eax,%ecx
42062b:	e8 e6 16 00 00       	call   0x421d16
420630:	c7 45 fc 04 00 00 00 	movl   $0x4,-0x4(%ebp)
420637:	50                   	push   %eax
420638:	8b 45 9c             	mov    -0x64(%ebp),%eax
42063b:	ff 70 14             	push   0x14(%eax)
42063e:	8d 45 14             	lea    0x14(%ebp),%eax
420641:	50                   	push   %eax
420642:	8d 45 0c             	lea    0xc(%ebp),%eax
420645:	50                   	push   %eax
420646:	8d 45 d0             	lea    -0x30(%ebp),%eax
420649:	50                   	push   %eax
42064a:	ff 75 98             	push   -0x68(%ebp)
42064d:	e8 e1 a2 ff ff       	call   0x41a933
420652:	83 c4 18             	add    $0x18,%esp
420655:	89 45 98             	mov    %eax,-0x68(%ebp)
420658:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
42065c:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
42065f:	e8 83 ed fe ff       	call   0x40f3e7
420664:	80 7d d0 00          	cmpb   $0x0,-0x30(%ebp)
420668:	75 05                	jne    0x42066f
42066a:	c6 07 00             	movb   $0x0,(%edi)
42066d:	eb 3c                	jmp    0x4206ab
42066f:	8d 45 9c             	lea    -0x64(%ebp),%eax
420672:	50                   	push   %eax
420673:	ff 75 98             	push   -0x68(%ebp)
420676:	8d 45 98             	lea    -0x68(%ebp),%eax
420679:	50                   	push   %eax
42067a:	8d 45 d0             	lea    -0x30(%ebp),%eax
42067d:	50                   	push   %eax
42067e:	e8 5d 71 00 00       	call   0x4277e0
420683:	8b c8                	mov    %eax,%ecx
420685:	83 c4 10             	add    $0x10,%esp
420688:	8d 45 d0             	lea    -0x30(%ebp),%eax
42068b:	39 45 98             	cmp    %eax,-0x68(%ebp)
42068e:	74 18                	je     0x4206a8
420690:	83 7d 9c 00          	cmpl   $0x0,-0x64(%ebp)
420694:	75 12                	jne    0x4206a8
420696:	85 c9                	test   %ecx,%ecx
420698:	0f 95 c0             	setne  %al