531265:	ff 75 18             	push   0x18(%ebp)
531268:	8b 75 08             	mov    0x8(%ebp),%esi
53126b:	68 00 00 02 00       	push   $0x20000
531270:	ff 75 14             	push   0x14(%ebp)
531273:	6a 00                	push   $0x0
531275:	6a 00                	push   $0x0
531277:	ff 75 10             	push   0x10(%ebp)
53127a:	57                   	push   %edi
53127b:	6a 00                	push   $0x0
53127d:	56                   	push   %esi
53127e:	e8 dd b1 00 00       	call   0x53c460
531283:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
531286:	8b f8                	mov    %eax,%edi
531288:	8d 45 e8             	lea    -0x18(%ebp),%eax
53128b:	c6 45 e8 0c          	movb   $0xc,-0x18(%ebp)
53128f:	50                   	push   %eax
531290:	57                   	push   %edi
531291:	56                   	push   %esi
531292:	89 4d ec             	mov    %ecx,-0x14(%ebp)
531295:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
53129c:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
5312a3:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
5312aa:	e8 f1 87 00 00       	call   0x539aa0
5312af:	83 c4 30             	add    $0x30,%esp
5312b2:	85 ff                	test   %edi,%edi
5312b4:	74 0c                	je     0x5312c2
5312b6:	6a 01                	push   $0x1
5312b8:	57                   	push   %edi
5312b9:	53                   	push   %ebx
5312ba:	e8 31 7b fc ff       	call   0x4f8df0
5312bf:	83 c4 0c             	add    $0xc,%esp
5312c2:	5f                   	pop    %edi
5312c3:	5e                   	pop    %esi
5312c4:	5b                   	pop    %ebx
5312c5:	8b e5                	mov    %ebp,%esp
5312c7:	5d                   	pop    %ebp
5312c8:	c3                   	ret
5312c9:	cc                   	int3
5312ca:	cc                   	int3
5312cb:	cc                   	int3
5312cc:	cc                   	int3
5312cd:	cc                   	int3
5312ce:	cc                   	int3
5312cf:	cc                   	int3
5312d0:	55                   	push   %ebp
5312d1:	8b ec                	mov    %esp,%ebp
5312d3:	53                   	push   %ebx
5312d4:	56                   	push   %esi
5312d5:	8b 75 08             	mov    0x8(%ebp),%esi
5312d8:	57                   	push   %edi
5312d9:	8b 7d 0c             	mov    0xc(%ebp),%edi
5312dc:	0f b7 4e 08          	movzwl 0x8(%esi),%ecx
5312e0:	8b d9                	mov    %ecx,%ebx
5312e2:	0f b7 47 08          	movzwl 0x8(%edi),%eax
5312e6:	8b d0                	mov    %eax,%edx
5312e8:	89 45 08             	mov    %eax,0x8(%ebp)
5312eb:	8b c1                	mov    %ecx,%eax
5312ed:	8b ca                	mov    %edx,%ecx
5312ef:	0b c8                	or     %eax,%ecx
5312f1:	f6 c1 01             	test   $0x1,%cl
5312f4:	74 0f                	je     0x531305
5312f6:	83 e3 01             	and    $0x1,%ebx
5312f9:	83 e2 01             	and    $0x1,%edx
5312fc:	5f                   	pop    %edi
5312fd:	2b d3                	sub    %ebx,%edx
5312ff:	5e                   	pop    %esi
531300:	8b c2                	mov    %edx,%eax
531302:	5b                   	pop    %ebx
531303:	5d                   	pop    %ebp
531304:	c3                   	ret
531305:	f6 c1 2c             	test   $0x2c,%cl
531308:	0f 84 d7 00 00 00    	je     0x5313e5
53130e:	8b c2                	mov    %edx,%eax
531310:	23 c3                	and    %ebx,%eax
531312:	a8 24                	test   $0x24,%al
531314:	74 37                	je     0x53134d
531316:	8b 0e                	mov    (%esi),%ecx
531318:	8b 76 04             	mov    0x4(%esi),%esi
53131b:	8b 57 04             	mov    0x4(%edi),%edx
53131e:	8b 07                	mov    (%edi),%eax
531320:	3b f2                	cmp    %edx,%esi
531322:	7f 18                	jg     0x53133c
531324:	7c 04                	jl     0x53132a
531326:	3b c8                	cmp    %eax,%ecx
531328:	73 08                	jae    0x531332
53132a:	5f                   	pop    %edi
53132b:	5e                   	pop    %esi
53132c:	83 c8 ff             	or     $0xffffffff,%eax
53132f:	5b                   	pop    %ebx
531330:	5d                   	pop    %ebp
531331:	c3                   	ret
531332:	3b f2                	cmp    %edx,%esi
531334:	7c 10                	jl     0x531346
531336:	7f 04                	jg     0x53133c
531338:	3b c8                	cmp    %eax,%ecx
53133a:	76 0a                	jbe    0x531346
53133c:	5f                   	pop    %edi
53133d:	5e                   	pop    %esi
53133e:	b8 01 00 00 00       	mov    $0x1,%eax
531343:	5b                   	pop    %ebx
531344:	5d                   	pop    %ebp
531345:	c3                   	ret
531346:	5f                   	pop    %edi
531347:	5e                   	pop    %esi
531348:	33 c0                	xor    %eax,%eax
53134a:	5b                   	pop    %ebx
53134b:	5d                   	pop    %ebp
53134c:	c3                   	ret
53134d:	a8 08                	test   $0x8,%al
53134f:	74 1c                	je     0x53136d
531351:	f2 0f 10 0e          	movsd  (%esi),%xmm1
531355:	f2 0f 10 07          	movsd  (%edi),%xmm0
531359:	66 0f 2f c1          	comisd %xmm1,%xmm0
53135d:	77 cb                	ja     0x53132a
53135f:	33 c0                	xor    %eax,%eax
531361:	66 0f 2f c8          	comisd %xmm0,%xmm1
531365:	5f                   	pop    %edi
531366:	5e                   	pop    %esi
531367:	5b                   	pop    %ebx
531368:	0f 97 c0             	seta   %al
53136b:	5d                   	pop    %ebp
53136c:	c3                   	ret
53136d:	f6 c3 24             	test   $0x24,%bl
531370:	74 45                	je     0x5313b7
531372:	f6 c2 08             	test   $0x8,%dl
531375:	74 1e                	je     0x531395
531377:	f2 0f 10 07          	movsd  (%edi),%xmm0
53137b:	83 ec 08             	sub    $0x8,%esp
53137e:	f2 0f 11 04 24       	movsd  %xmm0,(%esp)
531383:	ff 76 04             	push   0x4(%esi)
531386:	ff 36                	push   (%esi)
531388:	e8 43 e4 ff ff       	call   0x52f7d0
53138d:	83 c4 10             	add    $0x10,%esp
531390:	5f                   	pop    %edi
531391:	5e                   	pop    %esi
531392:	5b                   	pop    %ebx
531393:	5d                   	pop    %ebp
531394:	c3                   	ret
531395:	f6 c2 24             	test   $0x24,%dl
531398:	74 90                	je     0x53132a
53139a:	8b 0e                	mov    (%esi),%ecx
53139c:	8b 76 04             	mov    0x4(%esi),%esi
53139f:	8b 57 04             	mov    0x4(%edi),%edx
5313a2:	8b 07                	mov    (%edi),%eax
5313a4:	3b f2                	cmp    %edx,%esi
5313a6:	7f 94                	jg     0x53133c
5313a8:	7c 80                	jl     0x53132a
5313aa:	3b c8                	cmp    %eax,%ecx
5313ac:	0f 82 78 ff ff ff    	jb     0x53132a
5313b2:	e9 7b ff ff ff       	jmp    0x531332
5313b7:	f6 c3 08             	test   $0x8,%bl
5313ba:	74 80                	je     0x53133c
5313bc:	f6 c2 24             	test   $0x24,%dl
5313bf:	0f 84 65 ff ff ff    	je     0x53132a
5313c5:	f2 0f 10 06          	movsd  (%esi),%xmm0
5313c9:	83 ec 08             	sub    $0x8,%esp
5313cc:	f2 0f 11 04 24       	movsd  %xmm0,(%esp)
5313d1:	ff 77 04             	push   0x4(%edi)
5313d4:	ff 37                	push   (%edi)
5313d6:	e8 f5 e3 ff ff       	call   0x52f7d0
5313db:	83 c4 10             	add    $0x10,%esp
5313de:	f7 d8                	neg    %eax
5313e0:	5f                   	pop    %edi
5313e1:	5e                   	pop    %esi
5313e2:	5b                   	pop    %ebx
5313e3:	5d                   	pop    %ebp
5313e4:	c3                   	ret
5313e5:	f6 c1 02             	test   $0x2,%cl
5313e8:	74 2b                	je     0x531415
5313ea:	f6 c3 02             	test   $0x2,%bl
5313ed:	0f 84 49 ff ff ff    	je     0x53133c
5313f3:	f6 c2 02             	test   $0x2,%dl
5313f6:	0f 84 2e ff ff ff    	je     0x53132a
5313fc:	8b 45 10             	mov    0x10(%ebp),%eax
5313ff:	85 c0                	test   %eax,%eax
531401:	74 12                	je     0x531415
531403:	6a 00                	push   $0x0
531405:	50                   	push   %eax
531406:	57                   	push   %edi
531407:	56                   	push   %esi
531408:	e8 33 92 02 00       	call   0x55a640
53140d:	83 c4 10             	add    $0x10,%esp
531410:	5f                   	pop    %edi
531411:	5e                   	pop    %esi
531412:	5b                   	pop    %ebx
531413:	5d                   	pop    %ebp
531414:	c3                   	ret
531415:	57                   	push   %edi
531416:	56                   	push   %esi
531417:	e8 c4 95 fe ff       	call   0x51a9e0
53141c:	83 c4 08             	add    $0x8,%esp
53141f:	5f                   	pop    %edi
531420:	5e                   	pop    %esi
531421:	5b                   	pop    %ebx
531422:	5d                   	pop    %ebp
531423:	c3                   	ret
531424:	cc                   	int3
531425:	cc                   	int3
531426:	cc                   	int3
531427:	cc                   	int3
531428:	cc                   	int3
531429:	cc                   	int3
53142a:	cc                   	int3
53142b:	cc                   	int3
53142c:	cc                   	int3
53142d:	cc                   	int3
53142e:	cc                   	int3
53142f:	cc                   	int3
531430:	55                   	push   %ebp
531431:	8b ec                	mov    %esp,%ebp
531433:	56                   	push   %esi
531434:	8b 75 08             	mov    0x8(%ebp),%esi
531437:	6a 48                	push   $0x48
531439:	6a 00                	push   $0x0
53143b:	56                   	push   %esi
53143c:	e8 bf 25 0b 00       	call   0x5e3a00
531441:	83 c4 0c             	add    $0xc,%esp
531444:	c7 46 04 fc 03 00 00 	movl   $0x3fc,0x4(%esi)
53144b:	c7 06 d8 26 6b 00    	movl   $0x6b26d8,(%esi)
531451:	c7 46 08 ff ff ff ff 	movl   $0xffffffff,0x8(%esi)
531458:	c7 46 38 00 00 00 00 	movl   $0x0,0x38(%esi)
53145f:	c7 46 40 00 00 00 00 	movl   $0x0,0x40(%esi)
531466:	c7 46 3c 00 00 00 00 	movl   $0x0,0x3c(%esi)
53146d:	5e                   	pop    %esi
53146e:	5d                   	pop    %ebp
53146f:	c3                   	ret
531470:	55                   	push   %ebp
531471:	8b ec                	mov    %esp,%ebp
531473:	68 fc c4 6b 00       	push   $0x6bc4fc
531478:	ff 75 08             	push   0x8(%ebp)
53147b:	68 a8 c4 6b 00       	push   $0x6bc4a8
531480:	68 78 c4 6b 00       	push   $0x6bc478
531485:	6a 15                	push   $0x15
531487:	e8 54 eb fa ff       	call   0x4dffe0
53148c:	83 c4 14             	add    $0x14,%esp
53148f:	b8 15 00 00 00       	mov    $0x15,%eax
531494:	5d                   	pop    %ebp
531495:	c3                   	ret
531496:	cc                   	int3
531497:	cc                   	int3
531498:	cc                   	int3
531499:	cc                   	int3
53149a:	cc                   	int3
53149b:	cc                   	int3
53149c:	cc                   	int3
53149d:	cc                   	int3
53149e:	cc                   	int3
53149f:	cc                   	int3
5314a0:	55                   	push   %ebp
5314a1:	8b ec                	mov    %esp,%ebp
5314a3:	51                   	push   %ecx
5314a4:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
5314a8:	8b 45 08             	mov    0x8(%ebp),%eax
5314ab:	53                   	push   %ebx
5314ac:	56                   	push   %esi
5314ad:	57                   	push   %edi
5314ae:	8b 30                	mov    (%eax),%esi
5314b0:	8b 58 04             	mov    0x4(%eax),%ebx
5314b3:	8b 7d 0c             	mov    0xc(%ebp),%edi
5314b6:	7c 4e                	jl     0x531506
5314b8:	7f 04                	jg     0x5314be
5314ba:	85 ff                	test   %edi,%edi
5314bc:	74 48                	je     0x531506
5314be:	ff 75 10             	push   0x10(%ebp)
5314c1:	57                   	push   %edi
5314c2:	68 ff ff ff 7f       	push   $0x7fffffff
5314c7:	6a ff                	push   $0xffffffff
5314c9:	e8 72 06 0b 00       	call   0x5e1b40
5314ce:	3b da                	cmp    %edx,%ebx
5314d0:	7c 06                	jl     0x5314d8
5314d2:	7f 26                	jg     0x5314fa
5314d4:	3b f0                	cmp    %eax,%esi
5314d6:	77 22                	ja     0x5314fa
5314d8:	ff 75 10             	push   0x10(%ebp)
5314db:	57                   	push   %edi
5314dc:	68 00 00 00 80       	push   $0x80000000
5314e1:	6a 00                	push   $0x0
5314e3:	e8 58 06 0b 00       	call   0x5e1b40
5314e8:	3b da                	cmp    %edx,%ebx
5314ea:	0f 8f ae 00 00 00    	jg     0x53159e
5314f0:	7c 08                	jl     0x5314fa
5314f2:	3b f0                	cmp    %eax,%esi
5314f4:	0f 83 a4 00 00 00    	jae    0x53159e
5314fa:	5f                   	pop    %edi
5314fb:	5e                   	pop    %esi
5314fc:	b8 01 00 00 00       	mov    $0x1,%eax
531501:	5b                   	pop    %ebx
531502:	8b e5                	mov    %ebp,%esp
531504:	5d                   	pop    %ebp
531505:	c3                   	ret
531506:	8b 45 10             	mov    0x10(%ebp),%eax
531509:	85 c0                	test   %eax,%eax
53150b:	0f 8f 90 00 00 00    	jg     0x5315a1
531511:	7c 08                	jl     0x53151b
531513:	85 ff                	test   %edi,%edi
531515:	0f 83 86 00 00 00    	jae    0x5315a1
53151b:	85 db                	test   %ebx,%ebx
53151d:	7c 39                	jl     0x531558
53151f:	7f 04                	jg     0x531525
531521:	85 f6                	test   %esi,%esi
531523:	74 29                	je     0x53154e
531525:	53                   	push   %ebx
531526:	56                   	push   %esi
531527:	68 00 00 00 80       	push   $0x80000000
53152c:	6a 00                	push   $0x0
53152e:	e8 0d 06 0b 00       	call   0x5e1b40
531533:	8b c8                	mov    %eax,%ecx
531535:	8b 45 10             	mov    0x10(%ebp),%eax
531538:	3b c2                	cmp    %edx,%eax
53153a:	7f 65                	jg     0x5315a1
53153c:	7c bc                	jl     0x5314fa
53153e:	3b f9                	cmp    %ecx,%edi
531540:	73 5f                	jae    0x5315a1
531542:	5f                   	pop    %edi
531543:	5e                   	pop    %esi
531544:	b8 01 00 00 00       	mov    $0x1,%eax
531549:	5b                   	pop    %ebx
53154a:	8b e5                	mov    %ebp,%esp
53154c:	5d                   	pop    %ebp
53154d:	c3                   	ret
53154e:	85 db                	test   %ebx,%ebx
531550:	7f 4f                	jg     0x5315a1
531552:	7c 04                	jl     0x531558
531554:	85 f6                	test   %esi,%esi
531556:	73 49                	jae    0x5315a1
531558:	85 ff                	test   %edi,%edi
53155a:	75 07                	jne    0x531563
53155c:	3d 00 00 00 80       	cmp    $0x80000000,%eax
531561:	74 97                	je     0x5314fa
531563:	85 f6                	test   %esi,%esi
531565:	75 08                	jne    0x53156f
531567:	81 fb 00 00 00 80    	cmp    $0x80000000,%ebx
53156d:	74 8b                	je     0x5314fa
53156f:	50                   	push   %eax
531570:	57                   	push   %edi
531571:	68 00 00 00 80       	push   $0x80000000
531576:	6a 01                	push   $0x1
531578:	e8 c3 05 0b 00       	call   0x5e1b40
53157d:	8b ce                	mov    %esi,%ecx
53157f:	f7 d9                	neg    %ecx
531581:	89 4d fc             	mov    %ecx,-0x4(%ebp)
531584:	8b cb                	mov    %ebx,%ecx
531586:	83 d1 00             	adc    $0x0,%ecx
531589:	f7 d9                	neg    %ecx
53158b:	3b ca                	cmp    %edx,%ecx
53158d:	7c 0f                	jl     0x53159e
53158f:	0f 8f 65 ff ff ff    	jg     0x5314fa
531595:	39 45 fc             	cmp    %eax,-0x4(%ebp)
531598:	0f 87 5c ff ff ff    	ja     0x5314fa
53159e:	8b 45 10             	mov    0x10(%ebp),%eax