4b02ec:	8b c2                	mov    %edx,%eax
4b02ee:	c1 e8 1f             	shr    $0x1f,%eax
4b02f1:	03 c2                	add    %edx,%eax
4b02f3:	50                   	push   %eax
4b02f4:	ff 37                	push   (%edi)
4b02f6:	e8 a8 53 f7 ff       	call   0x4256a3
4b02fb:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
4b0301:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
4b0308:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
4b030f:	5f                   	pop    %edi
4b0310:	59                   	pop    %ecx
4b0311:	c3                   	ret
4b0312:	cc                   	int3
4b0313:	cc                   	int3
4b0314:	cc                   	int3
4b0315:	cc                   	int3
4b0316:	cc                   	int3
4b0317:	cc                   	int3
4b0318:	cc                   	int3
4b0319:	cc                   	int3
4b031a:	cc                   	int3
4b031b:	cc                   	int3
4b031c:	cc                   	int3
4b031d:	cc                   	int3
4b031e:	cc                   	int3
4b031f:	cc                   	int3
4b0320:	cc                   	int3
4b0321:	cc                   	int3
4b0322:	cc                   	int3
4b0323:	cc                   	int3
4b0324:	cc                   	int3
4b0325:	cc                   	int3
4b0326:	cc                   	int3
4b0327:	cc                   	int3
4b0328:	cc                   	int3
4b0329:	cc                   	int3
4b032a:	cc                   	int3
4b032b:	cc                   	int3
4b032c:	cc                   	int3
4b032d:	cc                   	int3
4b032e:	cc                   	int3
4b032f:	cc                   	int3
4b0330:	53                   	push   %ebx
4b0331:	8b d9                	mov    %ecx,%ebx
4b0333:	56                   	push   %esi
4b0334:	8b 33                	mov    (%ebx),%esi
4b0336:	85 f6                	test   %esi,%esi
4b0338:	74 5c                	je     0x4b0396
4b033a:	57                   	push   %edi
4b033b:	8b 7b 04             	mov    0x4(%ebx),%edi
4b033e:	3b f7                	cmp    %edi,%esi
4b0340:	74 1c                	je     0x4b035e
4b0342:	8d 8e c4 00 00 00    	lea    0xc4(%esi),%ecx
4b0348:	e8 ab e1 f5 ff       	call   0x40e4f8
4b034d:	8b ce                	mov    %esi,%ecx
4b034f:	e8 9f 61 f8 ff       	call   0x4364f3
4b0354:	81 c6 d4 01 00 00    	add    $0x1d4,%esi
4b035a:	3b f7                	cmp    %edi,%esi
4b035c:	75 e4                	jne    0x4b0342
4b035e:	8b 33                	mov    (%ebx),%esi
4b0360:	b8 8d c0 08 8c       	mov    $0x8c08c08d,%eax
4b0365:	8b 4b 08             	mov    0x8(%ebx),%ecx
4b0368:	2b ce                	sub    %esi,%ecx
4b036a:	f7 e9                	imul   %ecx
4b036c:	03 d1                	add    %ecx,%edx
4b036e:	8b cb                	mov    %ebx,%ecx
4b0370:	c1 fa 08             	sar    $0x8,%edx
4b0373:	8b c2                	mov    %edx,%eax
4b0375:	c1 e8 1f             	shr    $0x1f,%eax
4b0378:	03 c2                	add    %edx,%eax
4b037a:	50                   	push   %eax
4b037b:	56                   	push   %esi
4b037c:	e8 a8 51 f5 ff       	call   0x405529
4b0381:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
4b0387:	c7 43 04 00 00 00 00 	movl   $0x0,0x4(%ebx)
4b038e:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%ebx)
4b0395:	5f                   	pop    %edi
4b0396:	5e                   	pop    %esi
4b0397:	5b                   	pop    %ebx
4b0398:	c3                   	ret
4b0399:	cc                   	int3
4b039a:	cc                   	int3
4b039b:	cc                   	int3
4b039c:	cc                   	int3
4b039d:	cc                   	int3
4b039e:	cc                   	int3
4b039f:	cc                   	int3
4b03a0:	cc                   	int3
4b03a1:	cc                   	int3
4b03a2:	cc                   	int3
4b03a3:	cc                   	int3
4b03a4:	cc                   	int3
4b03a5:	cc                   	int3
4b03a6:	cc                   	int3
4b03a7:	cc                   	int3
4b03a8:	cc                   	int3
4b03a9:	cc                   	int3
4b03aa:	cc                   	int3
4b03ab:	cc                   	int3
4b03ac:	cc                   	int3
4b03ad:	cc                   	int3
4b03ae:	cc                   	int3
4b03af:	cc                   	int3
4b03b0:	cc                   	int3
4b03b1:	cc                   	int3
4b03b2:	cc                   	int3
4b03b3:	cc                   	int3
4b03b4:	cc                   	int3
4b03b5:	cc                   	int3
4b03b6:	cc                   	int3
4b03b7:	cc                   	int3
4b03b8:	cc                   	int3
4b03b9:	cc                   	int3
4b03ba:	cc                   	int3
4b03bb:	cc                   	int3
4b03bc:	cc                   	int3
4b03bd:	cc                   	int3
4b03be:	cc                   	int3
4b03bf:	cc                   	int3
4b03c0:	51                   	push   %ecx
4b03c1:	57                   	push   %edi
4b03c2:	8b f9                	mov    %ecx,%edi
4b03c4:	8b 07                	mov    (%edi),%eax
4b03c6:	85 c0                	test   %eax,%eax
4b03c8:	74 45                	je     0x4b040f
4b03ca:	ff 74 24 04          	push   0x4(%esp)
4b03ce:	57                   	push   %edi
4b03cf:	ff 77 04             	push   0x4(%edi)
4b03d2:	50                   	push   %eax
4b03d3:	e8 a0 95 f8 ff       	call   0x439978
4b03d8:	8b 4f 08             	mov    0x8(%edi),%ecx
4b03db:	b8 67 66 66 66       	mov    $0x66666667,%eax
4b03e0:	2b 0f                	sub    (%edi),%ecx
4b03e2:	83 c4 10             	add    $0x10,%esp
4b03e5:	f7 e9                	imul   %ecx
4b03e7:	8b cf                	mov    %edi,%ecx
4b03e9:	c1 fa 06             	sar    $0x6,%edx
4b03ec:	8b c2                	mov    %edx,%eax
4b03ee:	c1 e8 1f             	shr    $0x1f,%eax
4b03f1:	03 c2                	add    %edx,%eax
4b03f3:	50                   	push   %eax
4b03f4:	ff 37                	push   (%edi)
4b03f6:	e8 01 a8 f8 ff       	call   0x43abfc
4b03fb:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
4b0401:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
4b0408:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
4b040f:	5f                   	pop    %edi
4b0410:	59                   	pop    %ecx
4b0411:	c3                   	ret
4b0412:	cc                   	int3
4b0413:	cc                   	int3
4b0414:	cc                   	int3
4b0415:	cc                   	int3
4b0416:	cc                   	int3
4b0417:	cc                   	int3
4b0418:	cc                   	int3
4b0419:	cc                   	int3
4b041a:	cc                   	int3
4b041b:	cc                   	int3
4b041c:	cc                   	int3
4b041d:	cc                   	int3
4b041e:	cc                   	int3
4b041f:	cc                   	int3
4b0420:	cc                   	int3
4b0421:	cc                   	int3
4b0422:	cc                   	int3
4b0423:	cc                   	int3
4b0424:	cc                   	int3
4b0425:	cc                   	int3
4b0426:	cc                   	int3
4b0427:	cc                   	int3
4b0428:	cc                   	int3
4b0429:	cc                   	int3
4b042a:	cc                   	int3
4b042b:	cc                   	int3
4b042c:	cc                   	int3
4b042d:	cc                   	int3
4b042e:	cc                   	int3
4b042f:	cc                   	int3
4b0430:	53                   	push   %ebx
4b0431:	8b d9                	mov    %ecx,%ebx
4b0433:	56                   	push   %esi
4b0434:	8b 33                	mov    (%ebx),%esi
4b0436:	85 f6                	test   %esi,%esi
4b0438:	74 5a                	je     0x4b0494
4b043a:	57                   	push   %edi
4b043b:	8b 7b 04             	mov    0x4(%ebx),%edi
4b043e:	3b f7                	cmp    %edi,%esi
4b0440:	74 1c                	je     0x4b045e
4b0442:	8d 8e 9c 00 00 00    	lea    0x9c(%esi),%ecx
4b0448:	e8 ab e0 f5 ff       	call   0x40e4f8
4b044d:	8b ce                	mov    %esi,%ecx
4b044f:	e8 a9 62 f6 ff       	call   0x4166fd
4b0454:	81 c6 ac 01 00 00    	add    $0x1ac,%esi
4b045a:	3b f7                	cmp    %edi,%esi
4b045c:	75 e4                	jne    0x4b0442
4b045e:	8b 33                	mov    (%ebx),%esi
4b0460:	b8 29 8d 8f 4c       	mov    $0x4c8f8d29,%eax
4b0465:	8b 4b 08             	mov    0x8(%ebx),%ecx
4b0468:	2b ce                	sub    %esi,%ecx
4b046a:	f7 e9                	imul   %ecx
4b046c:	8b cb                	mov    %ebx,%ecx
4b046e:	c1 fa 07             	sar    $0x7,%edx
4b0471:	8b c2                	mov    %edx,%eax
4b0473:	c1 e8 1f             	shr    $0x1f,%eax
4b0476:	03 c2                	add    %edx,%eax
4b0478:	50                   	push   %eax
4b0479:	56                   	push   %esi
4b047a:	e8 7e 77 f5 ff       	call   0x407bfd
4b047f:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
4b0485:	c7 43 04 00 00 00 00 	movl   $0x0,0x4(%ebx)
4b048c:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%ebx)
4b0493:	5f                   	pop    %edi
4b0494:	5e                   	pop    %esi
4b0495:	5b                   	pop    %ebx
4b0496:	c3                   	ret
4b0497:	cc                   	int3
4b0498:	cc                   	int3
4b0499:	cc                   	int3
4b049a:	cc                   	int3
4b049b:	cc                   	int3
4b049c:	cc                   	int3
4b049d:	cc                   	int3
4b049e:	cc                   	int3
4b049f:	cc                   	int3
4b04a0:	cc                   	int3
4b04a1:	cc                   	int3
4b04a2:	cc                   	int3
4b04a3:	cc                   	int3
4b04a4:	cc                   	int3
4b04a5:	cc                   	int3
4b04a6:	cc                   	int3
4b04a7:	cc                   	int3
4b04a8:	cc                   	int3
4b04a9:	cc                   	int3
4b04aa:	cc                   	int3
4b04ab:	cc                   	int3
4b04ac:	cc                   	int3
4b04ad:	cc                   	int3
4b04ae:	cc                   	int3
4b04af:	cc                   	int3
4b04b0:	56                   	push   %esi
4b04b1:	8b f1                	mov    %ecx,%esi
4b04b3:	8b 0e                	mov    (%esi),%ecx
4b04b5:	85 c9                	test   %ecx,%ecx
4b04b7:	74 33                	je     0x4b04ec
4b04b9:	8b 56 08             	mov    0x8(%esi),%edx
4b04bc:	b8 31 0c c3 30       	mov    $0x30c30c31,%eax
4b04c1:	2b d1                	sub    %ecx,%edx
4b04c3:	f7 ea                	imul   %edx
4b04c5:	c1 fa 05             	sar    $0x5,%edx
4b04c8:	8b c2                	mov    %edx,%eax
4b04ca:	c1 e8 1f             	shr    $0x1f,%eax
4b04cd:	03 c2                	add    %edx,%eax
4b04cf:	50                   	push   %eax
4b04d0:	51                   	push   %ecx
4b04d1:	8b ce                	mov    %esi,%ecx
4b04d3:	e8 c0 99 f6 ff       	call   0x419e98
4b04d8:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
4b04de:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
4b04e5:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
4b04ec:	5e                   	pop    %esi
4b04ed:	c3                   	ret
4b04ee:	cc                   	int3
4b04ef:	cc                   	int3
4b04f0:	cc                   	int3
4b04f1:	cc                   	int3
4b04f2:	cc                   	int3
4b04f3:	cc                   	int3
4b04f4:	cc                   	int3
4b04f5:	cc                   	int3
4b04f6:	cc                   	int3
4b04f7:	cc                   	int3
4b04f8:	cc                   	int3
4b04f9:	cc                   	int3
4b04fa:	cc                   	int3
4b04fb:	cc                   	int3
4b04fc:	cc                   	int3
4b04fd:	cc                   	int3
4b04fe:	cc                   	int3
4b04ff:	cc                   	int3
4b0500:	51                   	push   %ecx
4b0501:	57                   	push   %edi
4b0502:	8b f9                	mov    %ecx,%edi
4b0504:	8b 07                	mov    (%edi),%eax
4b0506:	85 c0                	test   %eax,%eax
4b0508:	74 45                	je     0x4b054f
4b050a:	ff 74 24 04          	push   0x4(%esp)
4b050e:	57                   	push   %edi
4b050f:	ff 77 04             	push   0x4(%edi)
4b0512:	50                   	push   %eax
4b0513:	e8 f0 f1 f6 ff       	call   0x41f708
4b0518:	8b 4f 08             	mov    0x8(%edi),%ecx
4b051b:	b8 53 d9 de 75       	mov    $0x75ded953,%eax
4b0520:	2b 0f                	sub    (%edi),%ecx
4b0522:	83 c4 10             	add    $0x10,%esp
4b0525:	f7 e9                	imul   %ecx
4b0527:	8b cf                	mov    %edi,%ecx
4b0529:	c1 fa 08             	sar    $0x8,%edx
4b052c:	8b c2                	mov    %edx,%eax
4b052e:	c1 e8 1f             	shr    $0x1f,%eax
4b0531:	03 c2                	add    %edx,%eax
4b0533:	50                   	push   %eax
4b0534:	ff 37                	push   (%edi)
4b0536:	e8 fe 53 f5 ff       	call   0x405939
4b053b:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
4b0541:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
4b0548:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
4b054f:	5f                   	pop    %edi
4b0550:	59                   	pop    %ecx
4b0551:	c3                   	ret
4b0552:	cc                   	int3
4b0553:	cc                   	int3
4b0554:	cc                   	int3
4b0555:	cc                   	int3
4b0556:	cc                   	int3
4b0557:	cc                   	int3
4b0558:	cc                   	int3
4b0559:	cc                   	int3
4b055a:	cc                   	int3
4b055b:	cc                   	int3
4b055c:	cc                   	int3
4b055d:	cc                   	int3
4b055e:	cc                   	int3
4b055f:	cc                   	int3
4b0560:	cc                   	int3
4b0561:	cc                   	int3
4b0562:	cc                   	int3
4b0563:	cc                   	int3
4b0564:	cc                   	int3
4b0565:	cc                   	int3
4b0566:	cc                   	int3
4b0567:	cc                   	int3
4b0568:	cc                   	int3
4b0569:	cc                   	int3
4b056a:	cc                   	int3
4b056b:	cc                   	int3
4b056c:	cc                   	int3
4b056d:	cc                   	int3
4b056e:	cc                   	int3
4b056f:	cc                   	int3
4b0570:	56                   	push   %esi
4b0571:	8b f1                	mov    %ecx,%esi
4b0573:	8b 0e                	mov    (%esi),%ecx
4b0575:	85 c9                	test   %ecx,%ecx
4b0577:	74 25                	je     0x4b059e
4b0579:	8b 46 08             	mov    0x8(%esi),%eax
4b057c:	2b c1                	sub    %ecx,%eax
4b057e:	c1 f8 02             	sar    $0x2,%eax
4b0581:	50                   	push   %eax