41e1a4:	83 c4 0c             	add    $0xc,%esp
41e1a7:	8b c3                	mov    %ebx,%eax
41e1a9:	e8 07 23 07 00       	call   0x4904b5
41e1ae:	c3                   	ret
41e1af:	cc                   	int3
41e1b0:	8b ff                	mov    %edi,%edi
41e1b2:	55                   	push   %ebp
41e1b3:	8b ec                	mov    %esp,%ebp
41e1b5:	56                   	push   %esi
41e1b6:	8b f1                	mov    %ecx,%esi
41e1b8:	e8 15 00 00 00       	call   0x41e1d2
41e1bd:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
41e1c1:	74 08                	je     0x41e1cb
41e1c3:	56                   	push   %esi
41e1c4:	ff 15 10 74 4a 00    	call   *0x4a7410
41e1ca:	59                   	pop    %ecx
41e1cb:	8b c6                	mov    %esi,%eax
41e1cd:	5e                   	pop    %esi
41e1ce:	5d                   	pop    %ebp
41e1cf:	c2 04 00             	ret    $0x4
41e1d2:	8b ff                	mov    %edi,%edi
41e1d4:	55                   	push   %ebp
41e1d5:	8b ec                	mov    %esp,%ebp
41e1d7:	6a ff                	push   $0xffffffff
41e1d9:	68 7b 13 49 00       	push   $0x49137b
41e1de:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
41e1e4:	50                   	push   %eax
41e1e5:	56                   	push   %esi
41e1e6:	57                   	push   %edi
41e1e7:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
41e1ec:	33 c5                	xor    %ebp,%eax
41e1ee:	50                   	push   %eax
41e1ef:	8d 45 f4             	lea    -0xc(%ebp),%eax
41e1f2:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
41e1f8:	8b f1                	mov    %ecx,%esi
41e1fa:	33 ff                	xor    %edi,%edi
41e1fc:	c7 06 ec 13 40 00    	movl   $0x4013ec,(%esi)
41e202:	57                   	push   %edi
41e203:	e8 93 00 00 00       	call   0x41e29b
41e208:	39 7e 30             	cmp    %edi,0x30(%esi)
41e20b:	74 07                	je     0x41e214
41e20d:	8b ce                	mov    %esi,%ecx
41e20f:	e8 ea 00 00 00       	call   0x41e2fe
41e214:	8b 4e 04             	mov    0x4(%esi),%ecx
41e217:	85 c9                	test   %ecx,%ecx
41e219:	74 05                	je     0x41e220
41e21b:	e8 8a ea 00 00       	call   0x42ccaa
41e220:	39 7e 3c             	cmp    %edi,0x3c(%esi)
41e223:	74 0c                	je     0x41e231
41e225:	ff 76 3c             	push   0x3c(%esi)
41e228:	ff 15 5c 72 4a 00    	call   *0x4a725c
41e22e:	89 7e 3c             	mov    %edi,0x3c(%esi)
41e231:	39 7e 44             	cmp    %edi,0x44(%esi)
41e234:	74 0c                	je     0x41e242
41e236:	ff 76 44             	push   0x44(%esi)
41e239:	ff 15 5c 72 4a 00    	call   *0x4a725c
41e23f:	89 7e 44             	mov    %edi,0x44(%esi)
41e242:	8d 46 48             	lea    0x48(%esi),%eax
41e245:	50                   	push   %eax
41e246:	6a 64                	push   $0x64
41e248:	ff 15 6c 7e 4a 00    	call   *0x4a7e6c
41e24e:	8d 8e 88 06 00 00    	lea    0x688(%esi),%ecx
41e254:	ff 15 40 75 4a 00    	call   *0x4a7540
41e25a:	c7 06 4c 14 40 00    	movl   $0x40144c,(%esi)
41e260:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41e263:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41e26a:	59                   	pop    %ecx
41e26b:	5f                   	pop    %edi
41e26c:	5e                   	pop    %esi
41e26d:	c9                   	leave
41e26e:	c3                   	ret
41e26f:	8b ff                	mov    %edi,%edi
41e271:	56                   	push   %esi
41e272:	57                   	push   %edi
41e273:	8d b1 88 06 00 00    	lea    0x688(%ecx),%esi
41e279:	bf 20 5d 4a 00       	mov    $0x4a5d20,%edi
41e27e:	6a 00                	push   $0x0
41e280:	57                   	push   %edi
41e281:	8b ce                	mov    %esi,%ecx
41e283:	ff 15 44 75 4a 00    	call   *0x4a7544
41e289:	85 c0                	test   %eax,%eax
41e28b:	75 09                	jne    0x41e296
41e28d:	57                   	push   %edi
41e28e:	8b ce                	mov    %esi,%ecx
41e290:	ff 15 48 75 4a 00    	call   *0x4a7548
41e296:	5f                   	pop    %edi
41e297:	5e                   	pop    %esi
41e298:	c2 04 00             	ret    $0x4
41e29b:	8b ff                	mov    %edi,%edi
41e29d:	55                   	push   %ebp
41e29e:	8b ec                	mov    %esp,%ebp
41e2a0:	51                   	push   %ecx
41e2a1:	56                   	push   %esi
41e2a2:	8b f1                	mov    %ecx,%esi
41e2a4:	8b 86 8c 06 00 00    	mov    0x68c(%esi),%eax
41e2aa:	89 45 fc             	mov    %eax,-0x4(%ebp)
41e2ad:	85 c0                	test   %eax,%eax
41e2af:	74 1d                	je     0x41e2ce
41e2b1:	8d 45 fc             	lea    -0x4(%ebp),%eax
41e2b4:	50                   	push   %eax
41e2b5:	e8 63 1a 00 00       	call   0x41fd1d
41e2ba:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
41e2be:	75 08                	jne    0x41e2c8
41e2c0:	8b 08                	mov    (%eax),%ecx
41e2c2:	56                   	push   %esi
41e2c3:	e8 0b 00 00 00       	call   0x41e2d3
41e2c8:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
41e2cc:	75 e3                	jne    0x41e2b1
41e2ce:	5e                   	pop    %esi
41e2cf:	c9                   	leave
41e2d0:	c2 04 00             	ret    $0x4
41e2d3:	8b ff                	mov    %edi,%edi
41e2d5:	55                   	push   %ebp
41e2d6:	8b ec                	mov    %esp,%ebp
41e2d8:	56                   	push   %esi
41e2d9:	6a 00                	push   $0x0
41e2db:	ff 75 08             	push   0x8(%ebp)
41e2de:	8d b1 88 06 00 00    	lea    0x688(%ecx),%esi
41e2e4:	8b ce                	mov    %esi,%ecx
41e2e6:	ff 15 44 75 4a 00    	call   *0x4a7544
41e2ec:	85 c0                	test   %eax,%eax
41e2ee:	74 09                	je     0x41e2f9
41e2f0:	50                   	push   %eax
41e2f1:	8b ce                	mov    %esi,%ecx
41e2f3:	ff 15 54 75 4a 00    	call   *0x4a7554
41e2f9:	5e                   	pop    %esi
41e2fa:	5d                   	pop    %ebp
41e2fb:	c2 04 00             	ret    $0x4
41e2fe:	8b ff                	mov    %edi,%edi
41e300:	56                   	push   %esi
41e301:	8b f1                	mov    %ecx,%esi
41e303:	83 7e 30 00          	cmpl   $0x0,0x30(%esi)
41e307:	74 11                	je     0x41e31a
41e309:	ff 76 30             	push   0x30(%esi)
41e30c:	ff 15 5c 72 4a 00    	call   *0x4a725c
41e312:	83 66 30 00          	andl   $0x0,0x30(%esi)
41e316:	83 66 38 00          	andl   $0x0,0x38(%esi)
41e31a:	5e                   	pop    %esi
41e31b:	c3                   	ret
41e31c:	8b 49 04             	mov    0x4(%ecx),%ecx
41e31f:	85 c9                	test   %ecx,%ecx
41e321:	74 08                	je     0x41e32b
41e323:	8b 41 38             	mov    0x38(%ecx),%eax
41e326:	0f af 41 34          	imul   0x34(%ecx),%eax
41e32a:	c3                   	ret
41e32b:	6a 18                	push   $0x18
41e32d:	58                   	pop    %eax
41e32e:	c3                   	ret
41e32f:	8b ff                	mov    %edi,%edi
41e331:	55                   	push   %ebp
41e332:	8b ec                	mov    %esp,%ebp
41e334:	51                   	push   %ecx
41e335:	56                   	push   %esi
41e336:	57                   	push   %edi
41e337:	6a 00                	push   $0x0
41e339:	8b f2                	mov    %edx,%esi
41e33b:	8b f9                	mov    %ecx,%edi
41e33d:	ff 15 dc 7d 4a 00    	call   *0x4a7ddc
41e343:	89 45 fc             	mov    %eax,-0x4(%ebp)
41e346:	db 45 fc             	fildl  -0x4(%ebp)
41e349:	d9 5d fc             	fstps  -0x4(%ebp)
41e34c:	d9 45 fc             	flds   -0x4(%ebp)
41e34f:	dc 0d 98 41 41 00    	fmull  0x414198
41e355:	e8 c7 2c 07 00       	call   0x491021
41e35a:	6a 01                	push   $0x1
41e35c:	89 07                	mov    %eax,(%edi)
41e35e:	ff 15 dc 7d 4a 00    	call   *0x4a7ddc
41e364:	89 45 fc             	mov    %eax,-0x4(%ebp)
41e367:	db 45 fc             	fildl  -0x4(%ebp)
41e36a:	d9 5d fc             	fstps  -0x4(%ebp)
41e36d:	d9 45 fc             	flds   -0x4(%ebp)
41e370:	dc 0d 98 41 41 00    	fmull  0x414198
41e376:	e8 a6 2c 07 00       	call   0x491021
41e37b:	6a 49                	push   $0x49
41e37d:	89 06                	mov    %eax,(%esi)
41e37f:	ff 15 dc 7d 4a 00    	call   *0x4a7ddc
41e385:	a8 02                	test   $0x2,%al
41e387:	74 0c                	je     0x41e395
41e389:	c7 07 40 01 00 00    	movl   $0x140,(%edi)
41e38f:	c7 06 f0 00 00 00    	movl   $0xf0,(%esi)
41e395:	5f                   	pop    %edi
41e396:	5e                   	pop    %esi
41e397:	c9                   	leave
41e398:	c3                   	ret
41e399:	8b ff                	mov    %edi,%edi
41e39b:	55                   	push   %ebp
41e39c:	8b ec                	mov    %esp,%ebp
41e39e:	83 ec 18             	sub    $0x18,%esp
41e3a1:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
41e3a6:	33 c5                	xor    %ebp,%eax
41e3a8:	89 45 fc             	mov    %eax,-0x4(%ebp)
41e3ab:	8b c1                	mov    %ecx,%eax
41e3ad:	56                   	push   %esi
41e3ae:	57                   	push   %edi
41e3af:	89 45 e8             	mov    %eax,-0x18(%ebp)
41e3b2:	8d 70 0c             	lea    0xc(%eax),%esi
41e3b5:	8d 78 08             	lea    0x8(%eax),%edi
41e3b8:	8b d6                	mov    %esi,%edx
41e3ba:	8b cf                	mov    %edi,%ecx
41e3bc:	e8 6e ff ff ff       	call   0x41e32f
41e3c1:	a1 d8 58 4a 00       	mov    0x4a58d8,%eax
41e3c6:	85 c0                	test   %eax,%eax
41e3c8:	74 12                	je     0x41e3dc
41e3ca:	83 3d dc 58 4a 00 00 	cmpl   $0x0,0x4a58dc
41e3d1:	74 09                	je     0x41e3dc
41e3d3:	89 07                	mov    %eax,(%edi)
41e3d5:	a1 dc 58 4a 00       	mov    0x4a58dc,%eax
41e3da:	89 06                	mov    %eax,(%esi)
41e3dc:	83 3d 1c 58 4a 00 00 	cmpl   $0x0,0x4a581c
41e3e3:	74 18                	je     0x41e3fd
41e3e5:	a1 28 59 4a 00       	mov    0x4a5928,%eax
41e3ea:	99                   	cltd
41e3eb:	2b c2                	sub    %edx,%eax
41e3ed:	d1 f8                	sar    $1,%eax
41e3ef:	89 07                	mov    %eax,(%edi)
41e3f1:	a1 2c 59 4a 00       	mov    0x4a592c,%eax
41e3f6:	99                   	cltd
41e3f7:	2b c2                	sub    %edx,%eax
41e3f9:	d1 f8                	sar    $1,%eax
41e3fb:	89 06                	mov    %eax,(%esi)
41e3fd:	8b 4d e8             	mov    -0x18(%ebp),%ecx
41e400:	8d 7d ec             	lea    -0x14(%ebp),%edi
41e403:	be 1c 38 41 00       	mov    $0x41381c,%esi
41e408:	33 c0                	xor    %eax,%eax
41e40a:	40                   	inc    %eax
41e40b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41e40c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41e40d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41e40e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41e40f:	8d 79 14             	lea    0x14(%ecx),%edi
41e412:	c7 41 10 04 00 00 00 	movl   $0x4,0x10(%ecx)
41e419:	8d 75 ec             	lea    -0x14(%ebp),%esi
41e41c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41e41d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41e41e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41e41f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41e420:	89 41 2c             	mov    %eax,0x2c(%ecx)
41e423:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41e426:	5f                   	pop    %edi
41e427:	33 cd                	xor    %ebp,%ecx
41e429:	5e                   	pop    %esi
41e42a:	e8 d1 1a 07 00       	call   0x48ff00
41e42f:	c9                   	leave
41e430:	c3                   	ret
41e431:	8b ff                	mov    %edi,%edi
41e433:	55                   	push   %ebp
41e434:	8b ec                	mov    %esp,%ebp
41e436:	83 e4 f8             	and    $0xfffffff8,%esp
41e439:	83 ec 20             	sub    $0x20,%esp
41e43c:	83 64 24 08 00       	andl   $0x0,0x8(%esp)
41e441:	83 64 24 04 00       	andl   $0x0,0x4(%esp)
41e446:	56                   	push   %esi
41e447:	57                   	push   %edi
41e448:	8b f9                	mov    %ecx,%edi
41e44a:	83 7f 30 00          	cmpl   $0x0,0x30(%edi)
41e44e:	74 11                	je     0x41e461
41e450:	ff 77 30             	push   0x30(%edi)
41e453:	ff 15 54 72 4a 00    	call   *0x4a7254
41e459:	8b f0                	mov    %eax,%esi
41e45b:	89 44 24 14          	mov    %eax,0x14(%esp)
41e45f:	eb 06                	jmp    0x41e467
41e461:	33 f6                	xor    %esi,%esi
41e463:	89 74 24 14          	mov    %esi,0x14(%esp)
41e467:	85 f6                	test   %esi,%esi
41e469:	74 30                	je     0x41e49b
41e46b:	83 3e 28             	cmpl   $0x28,(%esi)
41e46e:	72 19                	jb     0x41e489
41e470:	33 c0                	xor    %eax,%eax
41e472:	39 46 10             	cmp    %eax,0x10(%esi)
41e475:	0f 95 c0             	setne  %al
41e478:	89 47 24             	mov    %eax,0x24(%edi)
41e47b:	8b 46 18             	mov    0x18(%esi),%eax
41e47e:	89 44 24 10          	mov    %eax,0x10(%esp)
41e482:	8b 46 1c             	mov    0x1c(%esi),%eax
41e485:	89 44 24 0c          	mov    %eax,0xc(%esp)
41e489:	8b ce                	mov    %esi,%ecx
41e48b:	e8 31 f5 00 00       	call   0x42d9c1
41e490:	89 47 08             	mov    %eax,0x8(%edi)
41e493:	e8 3c f5 00 00       	call   0x42d9d4
41e498:	89 47 0c             	mov    %eax,0xc(%edi)
41e49b:	33 c0                	xor    %eax,%eax
41e49d:	39 47 10             	cmp    %eax,0x10(%edi)
41e4a0:	0f 94 c0             	sete   %al
41e4a3:	85 f6                	test   %esi,%esi
41e4a5:	74 04                	je     0x41e4ab
41e4a7:	33 d2                	xor    %edx,%edx
41e4a9:	eb 03                	jmp    0x41e4ae
41e4ab:	8b 57 0c             	mov    0xc(%edi),%edx
41e4ae:	85 f6                	test   %esi,%esi
41e4b0:	74 04                	je     0x41e4b6
41e4b2:	33 c9                	xor    %ecx,%ecx
41e4b4:	eb 03                	jmp    0x41e4b9
41e4b6:	8b 4f 08             	mov    0x8(%edi),%ecx
41e4b9:	51                   	push   %ecx
41e4ba:	ff 74 24 10          	push   0x10(%esp)
41e4be:	ff 74 24 18          	push   0x18(%esp)
41e4c2:	50                   	push   %eax
41e4c3:	50                   	push   %eax
41e4c4:	e8 3f e3 00 00       	call   0x42c808
41e4c9:	89 47 04             	mov    %eax,0x4(%edi)
41e4cc:	85 c0                	test   %eax,%eax
41e4ce:	0f 84 01 02 00 00    	je     0x41e6d5
41e4d4:	83 78 0c 00          	cmpl   $0x0,0xc(%eax)
41e4d8:	74 0b                	je     0x41e4e5
41e4da:	8b c8                	mov    %eax,%ecx
41e4dc:	85 f6                	test   %esi,%esi
41e4de:	75 13                	jne    0x41e4f3
41e4e0:	39 70 14             	cmp    %esi,0x14(%eax)
41e4e3:	75 0e                	jne    0x41e4f3
41e4e5:	50                   	push   %eax
41e4e6:	ff 15 10 74 4a 00    	call   *0x4a7410
41e4ec:	83 67 04 00          	andl   $0x0,0x4(%edi)
41e4f0:	59                   	pop    %ecx
41e4f1:	33 c9                	xor    %ecx,%ecx
41e4f3:	85 c9                	test   %ecx,%ecx
41e4f5:	0f 84 da 01 00 00    	je     0x41e6d5
41e4fb:	8b 15 40 47 4a 00    	mov    0x4a4740,%edx
41e501:	85 d2                	test   %edx,%edx
41e503:	74 14                	je     0x41e519
41e505:	6a 00                	push   $0x0
41e507:	8b cf                	mov    %edi,%ecx
41e509:	e8 0e fe ff ff       	call   0x41e31c
41e50e:	50                   	push   %eax
41e50f:	8b ca                	mov    %edx,%ecx
41e511:	e8 7d 6e 00 00       	call   0x425393
41e516:	8b 4f 04             	mov    0x4(%edi),%ecx
41e519:	8b 47 08             	mov    0x8(%edi),%eax
41e51c:	89 41 2c             	mov    %eax,0x2c(%ecx)
41e51f:	8b 4f 04             	mov    0x4(%edi),%ecx
41e522:	8b 47 0c             	mov    0xc(%edi),%eax
41e525:	89 41 30             	mov    %eax,0x30(%ecx)
41e528:	8b 47 04             	mov    0x4(%edi),%eax
41e52b:	89 78 04             	mov    %edi,0x4(%eax)
41e52e:	8b 4f 04             	mov    0x4(%edi),%ecx
41e531:	8b 47 2c             	mov    0x2c(%edi),%eax
41e534:	89 41 08             	mov    %eax,0x8(%ecx)
41e537:	85 f6                	test   %esi,%esi
41e539:	74 40                	je     0x41e57b
41e53b:	8b 47 04             	mov    0x4(%edi),%eax
41e53e:	8b ce                	mov    %esi,%ecx
41e540:	8b 57 34             	mov    0x34(%edi),%edx
41e543:	ff 70 0c             	push   0xc(%eax)
41e546:	e8 3d f6 00 00       	call   0x42db88
41e54b:	8b c8                	mov    %eax,%ecx
41e54d:	85 c9                	test   %ecx,%ecx
41e54f:	75 11                	jne    0x41e562
41e551:	6a 01                	push   $0x1
41e553:	b9 e0 55 4a 00       	mov    $0x4a55e0,%ecx
41e558:	e8 1c f7 02 00       	call   0x44dc79
41e55d:	e9 83 01 00 00       	jmp    0x41e6e5