462237:	56                   	push   %esi
462238:	89 4d f0             	mov    %ecx,-0x10(%ebp)
46223b:	57                   	push   %edi
46223c:	8d 4d d0             	lea    -0x30(%ebp),%ecx
46223f:	e8 b3 b5 fa ff       	call   0x40d7f7
462244:	33 c9                	xor    %ecx,%ecx
462246:	6a 3c                	push   $0x3c
462248:	51                   	push   %ecx
462249:	8d 45 94             	lea    -0x6c(%ebp),%eax
46224c:	50                   	push   %eax
46224d:	89 4d fc             	mov    %ecx,-0x4(%ebp)
462250:	89 4d f8             	mov    %ecx,-0x8(%ebp)
462253:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
46225a:	e8 f1 ea fb ff       	call   0x420d50
46225f:	8b 5d 10             	mov    0x10(%ebp),%ebx
462262:	8b 7d 0c             	mov    0xc(%ebp),%edi
462265:	83 c4 0c             	add    $0xc,%esp
462268:	83 fb 02             	cmp    $0x2,%ebx
46226b:	72 33                	jb     0x4622a0
46226d:	8b 47 04             	mov    0x4(%edi),%eax
462270:	8b 70 04             	mov    0x4(%eax),%esi
462273:	8b ce                	mov    %esi,%ecx
462275:	e8 f2 70 fa ff       	call   0x40936c
46227a:	8b 46 08             	mov    0x8(%esi),%eax
46227d:	33 c9                	xor    %ecx,%ecx
46227f:	8b 00                	mov    (%eax),%eax
462281:	66 39 08             	cmp    %cx,(%eax)
462284:	74 1a                	je     0x4622a0
462286:	8b 47 04             	mov    0x4(%edi),%eax
462289:	8b 70 04             	mov    0x4(%eax),%esi
46228c:	8b ce                	mov    %esi,%ecx
46228e:	e8 d9 70 fa ff       	call   0x40936c
462293:	8b 46 08             	mov    0x8(%esi),%eax
462296:	8b 08                	mov    (%eax),%ecx
462298:	e8 57 a4 fb ff       	call   0x41c6f4
46229d:	89 45 fc             	mov    %eax,-0x4(%ebp)
4622a0:	83 fb 03             	cmp    $0x3,%ebx
4622a3:	72 1a                	jb     0x4622bf
4622a5:	8b 4f 04             	mov    0x4(%edi),%ecx
4622a8:	8b 71 08             	mov    0x8(%ecx),%esi
4622ab:	8b ce                	mov    %esi,%ecx
4622ad:	e8 ba 70 fa ff       	call   0x40936c
4622b2:	8b 46 08             	mov    0x8(%esi),%eax
4622b5:	8b 08                	mov    (%eax),%ecx
4622b7:	e8 38 a4 fb ff       	call   0x41c6f4
4622bc:	89 45 f8             	mov    %eax,-0x8(%ebp)
4622bf:	83 fb 04             	cmp    $0x4,%ebx
4622c2:	72 3e                	jb     0x462302
4622c4:	8b 4f 04             	mov    0x4(%edi),%ecx
4622c7:	8b 71 0c             	mov    0xc(%ecx),%esi
4622ca:	8b ce                	mov    %esi,%ecx
4622cc:	e8 9b 70 fa ff       	call   0x40936c
4622d1:	8b 46 08             	mov    0x8(%esi),%eax
4622d4:	33 f6                	xor    %esi,%esi
4622d6:	8b 00                	mov    (%eax),%eax
4622d8:	66 39 30             	cmp    %si,(%eax)
4622db:	74 27                	je     0x462304
4622dd:	8b 47 04             	mov    0x4(%edi),%eax
4622e0:	6a 29                	push   $0x29
4622e2:	8b 70 0c             	mov    0xc(%eax),%esi
4622e5:	8b ce                	mov    %esi,%ecx
4622e7:	e8 00 f9 f9 ff       	call   0x401bec
4622ec:	84 c0                	test   %al,%al
4622ee:	75 12                	jne    0x462302
4622f0:	8b ce                	mov    %esi,%ecx
4622f2:	e8 75 70 fa ff       	call   0x40936c
4622f7:	ff 76 08             	push   0x8(%esi)
4622fa:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4622fd:	e8 eb 4b fa ff       	call   0x406eed
462302:	33 f6                	xor    %esi,%esi
462304:	83 fb 05             	cmp    $0x5,%ebx
462307:	72 11                	jb     0x46231a
462309:	8b 47 04             	mov    0x4(%edi),%eax
46230c:	8b 48 10             	mov    0x10(%eax),%ecx
46230f:	e8 72 af fa ff       	call   0x40d286
462314:	0f b7 c0             	movzwl %ax,%eax
462317:	89 45 f4             	mov    %eax,-0xc(%ebp)
46231a:	6a 3c                	push   $0x3c
46231c:	5b                   	pop    %ebx
46231d:	53                   	push   %ebx
46231e:	8d 45 94             	lea    -0x6c(%ebp),%eax
462321:	56                   	push   %esi
462322:	50                   	push   %eax
462323:	e8 28 ea fb ff       	call   0x420d50
462328:	8b 45 d0             	mov    -0x30(%ebp),%eax
46232b:	89 45 a0             	mov    %eax,-0x60(%ebp)
46232e:	8b 47 04             	mov    0x4(%edi),%eax
462331:	89 5d 94             	mov    %ebx,-0x6c(%ebp)
462334:	c7 45 98 40 00 00 00 	movl   $0x40,-0x68(%ebp)
46233b:	89 75 9c             	mov    %esi,-0x64(%ebp)
46233e:	8b 30                	mov    (%eax),%esi
462340:	83 c4 0c             	add    $0xc,%esp
462343:	8b ce                	mov    %esi,%ecx
462345:	e8 22 70 fa ff       	call   0x40936c
46234a:	8b 46 08             	mov    0x8(%esi),%eax
46234d:	8b 75 fc             	mov    -0x4(%ebp),%esi
462350:	8b 00                	mov    (%eax),%eax
462352:	8b 5d f8             	mov    -0x8(%ebp),%ebx
462355:	89 45 a4             	mov    %eax,-0x5c(%ebp)
462358:	8b 45 f4             	mov    -0xc(%ebp),%eax
46235b:	89 45 b0             	mov    %eax,-0x50(%ebp)
46235e:	8d 45 94             	lea    -0x6c(%ebp),%eax
462361:	50                   	push   %eax
462362:	89 75 a8             	mov    %esi,-0x58(%ebp)
462365:	89 5d ac             	mov    %ebx,-0x54(%ebp)
462368:	ff 15 78 d4 48 00    	call   *0x48d478
46236e:	8b f8                	mov    %eax,%edi
462370:	85 f6                	test   %esi,%esi
462372:	74 07                	je     0x46237b
462374:	56                   	push   %esi
462375:	e8 e4 d1 fb ff       	call   0x41f55e
46237a:	59                   	pop    %ecx
46237b:	85 db                	test   %ebx,%ebx
46237d:	74 07                	je     0x462386
46237f:	53                   	push   %ebx
462380:	e8 d9 d1 fb ff       	call   0x41f55e
462385:	59                   	pop    %ecx
462386:	85 ff                	test   %edi,%edi
462388:	75 28                	jne    0x4623b2
46238a:	8b 55 f0             	mov    -0x10(%ebp),%edx
46238d:	33 db                	xor    %ebx,%ebx
46238f:	8b 02                	mov    (%edx),%eax
462391:	53                   	push   %ebx
462392:	8b 48 04             	mov    0x4(%eax),%ecx
462395:	47                   	inc    %edi
462396:	57                   	push   %edi
462397:	03 ca                	add    %edx,%ecx
462399:	e8 ae ab fe ff       	call   0x44cf4c
46239e:	8b 75 14             	mov    0x14(%ebp),%esi
4623a1:	8b ce                	mov    %esi,%ecx
4623a3:	e8 78 08 fb ff       	call   0x412c20
4623a8:	89 7e 0c             	mov    %edi,0xc(%esi)
4623ab:	89 1e                	mov    %ebx,(%esi)
4623ad:	e9 92 00 00 00       	jmp    0x462444
4623b2:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
4623b6:	74 0e                	je     0x4623c6
4623b8:	8b 55 f0             	mov    -0x10(%ebp),%edx
4623bb:	8b 45 cc             	mov    -0x34(%ebp),%eax
4623be:	89 82 70 04 00 00    	mov    %eax,0x470(%edx)
4623c4:	eb 7e                	jmp    0x462444
4623c6:	8b 75 14             	mov    0x14(%ebp),%esi
4623c9:	8b ce                	mov    %esi,%ecx
4623cb:	e8 50 08 fb ff       	call   0x412c20
4623d0:	83 0e ff             	orl    $0xffffffff,(%esi)
4623d3:	33 ff                	xor    %edi,%edi
4623d5:	47                   	inc    %edi
4623d6:	83 7d cc 00          	cmpl   $0x0,-0x34(%ebp)
4623da:	89 7e 0c             	mov    %edi,0xc(%esi)
4623dd:	74 65                	je     0x462444
4623df:	33 c0                	xor    %eax,%eax
4623e1:	8d 4d e0             	lea    -0x20(%ebp),%ecx
4623e4:	89 45 e0             	mov    %eax,-0x20(%ebp)
4623e7:	89 45 e8             	mov    %eax,-0x18(%ebp)
4623ea:	e8 04 fe ff ff       	call   0x4621f3
4623ef:	84 c0                	test   %al,%al
4623f1:	74 39                	je     0x46242c
4623f3:	ff 75 cc             	push   -0x34(%ebp)
4623f6:	8d 4d e0             	lea    -0x20(%ebp),%ecx
4623f9:	e8 5a d4 ff ff       	call   0x45f858
4623fe:	ff d0                	call   *%eax
462400:	89 45 08             	mov    %eax,0x8(%ebp)
462403:	db 45 08             	fildl  0x8(%ebp)
462406:	85 c0                	test   %eax,%eax
462408:	79 06                	jns    0x462410
46240a:	dc 05 00 6a 4b 00    	faddl  0x4b6a00
462410:	dd 5d ec             	fstpl  -0x14(%ebp)
462413:	8b ce                	mov    %esi,%ecx
462415:	dd 45 ec             	fldl   -0x14(%ebp)
462418:	dd 5d ec             	fstpl  -0x14(%ebp)
46241b:	e8 00 08 fb ff       	call   0x412c20
462420:	dd 45 ec             	fldl   -0x14(%ebp)
462423:	c7 46 0c 03 00 00 00 	movl   $0x3,0xc(%esi)
46242a:	dd 1e                	fstpl  (%esi)
46242c:	ff 75 cc             	push   -0x34(%ebp)
46242f:	ff 15 0c d3 48 00    	call   *0x48d30c
462435:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
462439:	74 09                	je     0x462444
46243b:	ff 75 e0             	push   -0x20(%ebp)
46243e:	ff 15 88 d1 48 00    	call   *0x48d188
462444:	8d 4d d0             	lea    -0x30(%ebp),%ecx
462447:	e8 eb a6 fa ff       	call   0x40cb37
46244c:	5f                   	pop    %edi
46244d:	5e                   	pop    %esi
46244e:	33 c0                	xor    %eax,%eax
462450:	5b                   	pop    %ebx
462451:	c9                   	leave
462452:	c2 10 00             	ret    $0x10
462455:	55                   	push   %ebp
462456:	8b ec                	mov    %esp,%ebp
462458:	53                   	push   %ebx
462459:	8b 5d 08             	mov    0x8(%ebp),%ebx
46245c:	56                   	push   %esi
46245d:	8b 43 04             	mov    0x4(%ebx),%eax
462460:	57                   	push   %edi
462461:	8b 30                	mov    (%eax),%esi
462463:	8b f9                	mov    %ecx,%edi
462465:	8b ce                	mov    %esi,%ecx
462467:	e8 22 b0 fa ff       	call   0x40d48e
46246c:	84 c0                	test   %al,%al
46246e:	74 0f                	je     0x46247f
462470:	8b ce                	mov    %esi,%ecx
462472:	e8 0f ae fa ff       	call   0x40d286
462477:	85 c0                	test   %eax,%eax
462479:	75 04                	jne    0x46247f
46247b:	32 c0                	xor    %al,%al
46247d:	eb 4e                	jmp    0x4624cd
46247f:	8b 43 04             	mov    0x4(%ebx),%eax
462482:	8b 30                	mov    (%eax),%esi
462484:	8b ce                	mov    %esi,%ecx
462486:	e8 e1 6e fa ff       	call   0x40936c
46248b:	ff 76 08             	push   0x8(%esi)
46248e:	8d 8f 58 04 00 00    	lea    0x458(%edi),%ecx
462494:	e8 54 4a fa ff       	call   0x406eed
462499:	83 7d 0c 02          	cmpl   $0x2,0xc(%ebp)
46249d:	75 19                	jne    0x4624b8
46249f:	8b 43 04             	mov    0x4(%ebx),%eax
4624a2:	8b 48 04             	mov    0x4(%eax),%ecx
4624a5:	e8 dc ad fa ff       	call   0x40d286
4624aa:	69 c0 e8 03 00 00    	imul   $0x3e8,%eax,%eax
4624b0:	89 87 68 04 00 00    	mov    %eax,0x468(%edi)
4624b6:	eb 07                	jmp    0x4624bf
4624b8:	83 a7 68 04 00 00 00 	andl   $0x0,0x468(%edi)
4624bf:	ff 15 a0 d7 48 00    	call   *0x48d7a0
4624c5:	89 87 6c 04 00 00    	mov    %eax,0x46c(%edi)
4624cb:	b0 01                	mov    $0x1,%al
4624cd:	5f                   	pop    %edi
4624ce:	5e                   	pop    %esi
4624cf:	5b                   	pop    %ebx
4624d0:	5d                   	pop    %ebp
4624d1:	c2 08 00             	ret    $0x8
4624d4:	55                   	push   %ebp
4624d5:	8b ec                	mov    %esp,%ebp
4624d7:	83 e4 f8             	and    $0xfffffff8,%esp
4624da:	81 ec ac 00 00 00    	sub    $0xac,%esp
4624e0:	53                   	push   %ebx
4624e1:	56                   	push   %esi
4624e2:	57                   	push   %edi
4624e3:	6a 44                	push   $0x44
4624e5:	5e                   	pop    %esi
4624e6:	56                   	push   %esi
4624e7:	33 db                	xor    %ebx,%ebx
4624e9:	8d 44 24 74          	lea    0x74(%esp),%eax
4624ed:	8b f9                	mov    %ecx,%edi
4624ef:	53                   	push   %ebx
4624f0:	50                   	push   %eax
4624f1:	89 7c 24 40          	mov    %edi,0x40(%esp)
4624f5:	e8 56 e8 fb ff       	call   0x420d50
4624fa:	33 c0                	xor    %eax,%eax
4624fc:	40                   	inc    %eax
4624fd:	89 84 24 a8 00 00 00 	mov    %eax,0xa8(%esp)
462504:	66 89 84 24 ac 00 00 	mov    %ax,0xac(%esp)
46250b:	00
46250c:	8a 45 0c             	mov    0xc(%ebp),%al
46250f:	83 c4 0c             	add    $0xc,%esp
462512:	89 74 24 70          	mov    %esi,0x70(%esp)
462516:	89 5c 24 14          	mov    %ebx,0x14(%esp)
46251a:	89 5c 24 0c          	mov    %ebx,0xc(%esp)
46251e:	89 5c 24 10          	mov    %ebx,0x10(%esp)
462522:	89 5c 24 28          	mov    %ebx,0x28(%esp)
462526:	8b f3                	mov    %ebx,%esi
462528:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
46252c:	89 5c 24 24          	mov    %ebx,0x24(%esp)
462530:	8b 5d 10             	mov    0x10(%ebp),%ebx
462533:	84 c0                	test   %al,%al
462535:	74 2a                	je     0x462561
462537:	8b 43 04             	mov    0x4(%ebx),%eax
46253a:	8b 48 0c             	mov    0xc(%eax),%ecx
46253d:	e8 44 ad fa ff       	call   0x40d286
462542:	83 7b 08 07          	cmpl   $0x7,0x8(%ebx)
462546:	89 44 24 28          	mov    %eax,0x28(%esp)
46254a:	76 4b                	jbe    0x462597
46254c:	8b 43 04             	mov    0x4(%ebx),%eax
46254f:	8b 48 1c             	mov    0x1c(%eax),%ecx
462552:	e8 2f ad fa ff       	call   0x40d286
462557:	8b f0                	mov    %eax,%esi
462559:	8b 43 04             	mov    0x4(%ebx),%eax
46255c:	8b 48 1c             	mov    0x1c(%eax),%ecx
46255f:	eb 19                	jmp    0x46257a
462561:	83 7b 08 03          	cmpl   $0x3,0x8(%ebx)
462565:	76 45                	jbe    0x4625ac
462567:	8b 43 04             	mov    0x4(%ebx),%eax
46256a:	8b 48 0c             	mov    0xc(%eax),%ecx
46256d:	e8 14 ad fa ff       	call   0x40d286
462572:	8b f0                	mov    %eax,%esi
462574:	8b 43 04             	mov    0x4(%ebx),%eax
462577:	8b 48 0c             	mov    0xc(%eax),%ecx
46257a:	81 e6 00 00 ff ff    	and    $0xffff0000,%esi
462580:	e8 01 ad fa ff       	call   0x40d286
462585:	25 ff ff 00 00       	and    $0xffff,%eax
46258a:	89 44 24 1c          	mov    %eax,0x1c(%esp)
46258e:	8a 45 0c             	mov    0xc(%ebp),%al
462591:	84 c0                	test   %al,%al
462593:	74 17                	je     0x4625ac
462595:	eb 03                	jmp    0x46259a
462597:	8a 45 0c             	mov    0xc(%ebp),%al
46259a:	83 7b 08 06          	cmpl   $0x6,0x8(%ebx)
46259e:	76 08                	jbe    0x4625a8
4625a0:	8b 43 04             	mov    0x4(%ebx),%eax
4625a3:	8b 48 18             	mov    0x18(%eax),%ecx
4625a6:	eb 12                	jmp    0x4625ba
4625a8:	84 c0                	test   %al,%al
4625aa:	75 1b                	jne    0x4625c7
4625ac:	6a 02                	push   $0x2
4625ae:	58                   	pop    %eax
4625af:	39 43 08             	cmp    %eax,0x8(%ebx)
4625b2:	76 13                	jbe    0x4625c7
4625b4:	8b 43 04             	mov    0x4(%ebx),%eax
4625b7:	8b 48 08             	mov    0x8(%eax),%ecx
4625ba:	e8 c7 ac fa ff       	call   0x40d286
4625bf:	66 89 84 24 a0 00 00 	mov    %ax,0xa0(%esp)
4625c6:	00
4625c7:	f7 c6 00 00 01 00    	test   $0x10000,%esi
4625cd:	74 08                	je     0x4625d7
4625cf:	c7 44 24 24 10 00 00 	movl   $0x10,0x24(%esp)
4625d6:	00
4625d7:	8b 43 04             	mov    0x4(%ebx),%eax
4625da:	8b 30                	mov    (%eax),%esi
4625dc:	8b ce                	mov    %esi,%ecx
4625de:	e8 89 6d fa ff       	call   0x40936c
4625e3:	8b 46 08             	mov    0x8(%esi),%eax
4625e6:	8b 08                	mov    (%eax),%ecx
4625e8:	e8 07 a1 fb ff       	call   0x41c6f4
4625ed:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
4625f1:	0f 84 b9 00 00 00    	je     0x4626b0
4625f7:	8b 4b 04             	mov    0x4(%ebx),%ecx
4625fa:	89 44 24 14          	mov    %eax,0x14(%esp)
4625fe:	8b 71 04             	mov    0x4(%ecx),%esi
462601:	8b ce                	mov    %esi,%ecx
462603:	e8 64 6d fa ff       	call   0x40936c
462608:	8b 4e 08             	mov    0x8(%esi),%ecx
46260b:	8b 09                	mov    (%ecx),%ecx
46260d:	e8 e2 a0 fb ff       	call   0x41c6f4
462612:	8b 4b 04             	mov    0x4(%ebx),%ecx
462615:	89 44 24 0c          	mov    %eax,0xc(%esp)
462619:	8b 71 08             	mov    0x8(%ecx),%esi
46261c:	8b ce                	mov    %esi,%ecx
46261e:	e8 49 6d fa ff       	call   0x40936c
462623:	8b 4e 08             	mov    0x8(%esi),%ecx
462626:	8b 09                	mov    (%ecx),%ecx
462628:	e8 c7 a0 fb ff       	call   0x41c6f4
46262d:	8b 4b 04             	mov    0x4(%ebx),%ecx
462630:	89 44 24 10          	mov    %eax,0x10(%esp)
462634:	8b 71 10             	mov    0x10(%ecx),%esi
462637:	8b ce                	mov    %esi,%ecx
462639:	e8 2e 6d fa ff       	call   0x40936c
46263e:	8b 4e 08             	mov    0x8(%esi),%ecx
462641:	8b 09                	mov    (%ecx),%ecx
462643:	e8 ac a0 fb ff       	call   0x41c6f4
462648:	83 7b 08 05          	cmpl   $0x5,0x8(%ebx)
46264c:	89 44 24 18          	mov    %eax,0x18(%esp)