4152a6:	5d                   	pop    %ebp
4152a7:	c2 04 00             	ret    $0x4
4152aa:	cc                   	int3
4152ab:	cc                   	int3
4152ac:	cc                   	int3
4152ad:	cc                   	int3
4152ae:	cc                   	int3
4152af:	cc                   	int3
4152b0:	8b ff                	mov    %edi,%edi
4152b2:	55                   	push   %ebp
4152b3:	8b ec                	mov    %esp,%ebp
4152b5:	56                   	push   %esi
4152b6:	57                   	push   %edi
4152b7:	85 d2                	test   %edx,%edx
4152b9:	74 29                	je     0x4152e4
4152bb:	8b 7d 0c             	mov    0xc(%ebp),%edi
4152be:	b8 fe ff ff 7f       	mov    $0x7ffffffe,%eax
4152c3:	2b f9                	sub    %ecx,%edi
4152c5:	85 c0                	test   %eax,%eax
4152c7:	74 17                	je     0x4152e0
4152c9:	0f b7 34 0f          	movzwl (%edi,%ecx,1),%esi
4152cd:	66 85 f6             	test   %si,%si
4152d0:	74 0e                	je     0x4152e0
4152d2:	66 89 31             	mov    %si,(%ecx)
4152d5:	48                   	dec    %eax
4152d6:	83 c1 02             	add    $0x2,%ecx
4152d9:	83 ea 01             	sub    $0x1,%edx
4152dc:	75 e7                	jne    0x4152c5
4152de:	eb 04                	jmp    0x4152e4
4152e0:	85 d2                	test   %edx,%edx
4152e2:	75 03                	jne    0x4152e7
4152e4:	83 e9 02             	sub    $0x2,%ecx
4152e7:	f7 da                	neg    %edx
4152e9:	5f                   	pop    %edi
4152ea:	1b d2                	sbb    %edx,%edx
4152ec:	81 e2 86 ff f8 7f    	and    $0x7ff8ff86,%edx
4152f2:	33 c0                	xor    %eax,%eax
4152f4:	66 89 01             	mov    %ax,(%ecx)
4152f7:	5e                   	pop    %esi
4152f8:	8d 82 7a 00 07 80    	lea    -0x7ff8ff86(%edx),%eax
4152fe:	5d                   	pop    %ebp
4152ff:	c2 0c 00             	ret    $0xc
415302:	cc                   	int3
415303:	cc                   	int3
415304:	cc                   	int3
415305:	cc                   	int3
415306:	cc                   	int3
415307:	cc                   	int3
415308:	cc                   	int3
415309:	cc                   	int3
41530a:	cc                   	int3
41530b:	cc                   	int3
41530c:	cc                   	int3
41530d:	cc                   	int3
41530e:	cc                   	int3
41530f:	cc                   	int3
415310:	8b ff                	mov    %edi,%edi
415312:	55                   	push   %ebp
415313:	8b ec                	mov    %esp,%ebp
415315:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
415319:	56                   	push   %esi
41531a:	8b f1                	mov    %ecx,%esi
41531c:	c7 06 3c 10 40 00    	movl   $0x40103c,(%esi)
415322:	74 19                	je     0x41533d
415324:	56                   	push   %esi
415325:	6a 00                	push   $0x0
415327:	ff 35 00 12 45 00    	push   0x451200
41532d:	ff 15 18 21 45 00    	call   *0x452118
415333:	85 c0                	test   %eax,%eax
415335:	75 06                	jne    0x41533d
415337:	ff 15 6c 20 45 00    	call   *0x45206c
41533d:	8b c6                	mov    %esi,%eax
41533f:	5e                   	pop    %esi
415340:	5d                   	pop    %ebp
415341:	c2 04 00             	ret    $0x4
415344:	cc                   	int3
415345:	cc                   	int3
415346:	cc                   	int3
415347:	cc                   	int3
415348:	cc                   	int3
415349:	cc                   	int3
41534a:	cc                   	int3
41534b:	cc                   	int3
41534c:	cc                   	int3
41534d:	cc                   	int3
41534e:	cc                   	int3
41534f:	cc                   	int3
415350:	c7 41 20 00 00 00 00 	movl   $0x0,0x20(%ecx)
415357:	c7 41 24 00 00 00 00 	movl   $0x0,0x24(%ecx)
41535e:	c7 41 08 ff ff ff ff 	movl   $0xffffffff,0x8(%ecx)
415365:	c7 41 0c ff ff ff ff 	movl   $0xffffffff,0xc(%ecx)
41536c:	c7 41 10 00 00 00 00 	movl   $0x0,0x10(%ecx)
415373:	c7 41 14 00 00 00 00 	movl   $0x0,0x14(%ecx)
41537a:	c7 41 18 00 00 00 00 	movl   $0x0,0x18(%ecx)
415381:	c7 41 1c 00 00 00 00 	movl   $0x0,0x1c(%ecx)
415388:	c3                   	ret
415389:	cc                   	int3
41538a:	cc                   	int3
41538b:	cc                   	int3
41538c:	cc                   	int3
41538d:	cc                   	int3
41538e:	cc                   	int3
41538f:	cc                   	int3
415390:	8b ff                	mov    %edi,%edi
415392:	55                   	push   %ebp
415393:	8b ec                	mov    %esp,%ebp
415395:	8b 55 0c             	mov    0xc(%ebp),%edx
415398:	8b 45 08             	mov    0x8(%ebp),%eax
41539b:	3b 51 0c             	cmp    0xc(%ecx),%edx
41539e:	77 0d                	ja     0x4153ad
4153a0:	72 05                	jb     0x4153a7
4153a2:	3b 41 08             	cmp    0x8(%ecx),%eax
4153a5:	73 06                	jae    0x4153ad
4153a7:	89 41 08             	mov    %eax,0x8(%ecx)
4153aa:	89 51 0c             	mov    %edx,0xc(%ecx)
4153ad:	3b 51 14             	cmp    0x14(%ecx),%edx
4153b0:	72 0d                	jb     0x4153bf
4153b2:	77 05                	ja     0x4153b9
4153b4:	3b 41 10             	cmp    0x10(%ecx),%eax
4153b7:	76 06                	jbe    0x4153bf
4153b9:	89 41 10             	mov    %eax,0x10(%ecx)
4153bc:	89 51 14             	mov    %edx,0x14(%ecx)
4153bf:	01 41 18             	add    %eax,0x18(%ecx)
4153c2:	11 51 1c             	adc    %edx,0x1c(%ecx)
4153c5:	83 41 20 01          	addl   $0x1,0x20(%ecx)
4153c9:	83 51 24 00          	adcl   $0x0,0x24(%ecx)
4153cd:	33 c0                	xor    %eax,%eax
4153cf:	5d                   	pop    %ebp
4153d0:	c2 08 00             	ret    $0x8
4153d3:	cc                   	int3
4153d4:	cc                   	int3
4153d5:	cc                   	int3
4153d6:	cc                   	int3
4153d7:	cc                   	int3
4153d8:	cc                   	int3
4153d9:	cc                   	int3
4153da:	cc                   	int3
4153db:	cc                   	int3
4153dc:	cc                   	int3
4153dd:	cc                   	int3
4153de:	cc                   	int3
4153df:	cc                   	int3
4153e0:	8b 41 20             	mov    0x20(%ecx),%eax
4153e3:	8b 51 24             	mov    0x24(%ecx),%edx
4153e6:	c3                   	ret
4153e7:	cc                   	int3
4153e8:	cc                   	int3
4153e9:	cc                   	int3
4153ea:	cc                   	int3
4153eb:	cc                   	int3
4153ec:	cc                   	int3
4153ed:	cc                   	int3
4153ee:	cc                   	int3
4153ef:	cc                   	int3
4153f0:	8b 41 08             	mov    0x8(%ecx),%eax
4153f3:	8b 51 0c             	mov    0xc(%ecx),%edx
4153f6:	c3                   	ret
4153f7:	cc                   	int3
4153f8:	cc                   	int3
4153f9:	cc                   	int3
4153fa:	cc                   	int3
4153fb:	cc                   	int3
4153fc:	cc                   	int3
4153fd:	cc                   	int3
4153fe:	cc                   	int3
4153ff:	cc                   	int3
415400:	8b 41 10             	mov    0x10(%ecx),%eax
415403:	8b 51 14             	mov    0x14(%ecx),%edx
415406:	c3                   	ret
415407:	cc                   	int3
415408:	cc                   	int3
415409:	cc                   	int3
41540a:	cc                   	int3
41540b:	cc                   	int3
41540c:	cc                   	int3
41540d:	cc                   	int3
41540e:	cc                   	int3
41540f:	cc                   	int3
415410:	8b 41 18             	mov    0x18(%ecx),%eax
415413:	8b 51 1c             	mov    0x1c(%ecx),%edx
415416:	c3                   	ret
415417:	cc                   	int3
415418:	cc                   	int3
415419:	cc                   	int3
41541a:	cc                   	int3
41541b:	cc                   	int3
41541c:	cc                   	int3
41541d:	cc                   	int3
41541e:	cc                   	int3
41541f:	cc                   	int3
415420:	8b 51 20             	mov    0x20(%ecx),%edx
415423:	8b c2                	mov    %edx,%eax
415425:	0b 41 24             	or     0x24(%ecx),%eax
415428:	74 10                	je     0x41543a
41542a:	ff 71 24             	push   0x24(%ecx)
41542d:	52                   	push   %edx
41542e:	ff 71 1c             	push   0x1c(%ecx)
415431:	ff 71 18             	push   0x18(%ecx)
415434:	e8 e7 84 03 00       	call   0x44d920
415439:	c3                   	ret
41543a:	33 c0                	xor    %eax,%eax
41543c:	33 d2                	xor    %edx,%edx
41543e:	c3                   	ret
41543f:	cc                   	int3
415440:	8b ff                	mov    %edi,%edi
415442:	55                   	push   %ebp
415443:	8b ec                	mov    %esp,%ebp
415445:	83 ec 10             	sub    $0x10,%esp
415448:	8b 51 20             	mov    0x20(%ecx),%edx
41544b:	8b 41 24             	mov    0x24(%ecx),%eax
41544e:	89 55 f0             	mov    %edx,-0x10(%ebp)
415451:	0b d0                	or     %eax,%edx
415453:	89 45 f4             	mov    %eax,-0xc(%ebp)
415456:	74 40                	je     0x415498
415458:	8b 41 18             	mov    0x18(%ecx),%eax
41545b:	8b 49 1c             	mov    0x1c(%ecx),%ecx
41545e:	89 45 f8             	mov    %eax,-0x8(%ebp)
415461:	8b c1                	mov    %ecx,%eax
415463:	81 e1 ff ff ff 7f    	and    $0x7fffffff,%ecx
415469:	25 00 00 00 80       	and    $0x80000000,%eax
41546e:	89 4d fc             	mov    %ecx,-0x4(%ebp)
415471:	df 6d f8             	fildll -0x8(%ebp)
415474:	89 45 fc             	mov    %eax,-0x4(%ebp)
415477:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
41547e:	df 6d f8             	fildll -0x8(%ebp)
415481:	d9 e0                	fchs
415483:	de c1                	faddp  %st,%st(1)
415485:	dd 5d f8             	fstpl  -0x8(%ebp)
415488:	dd 45 f8             	fldl   -0x8(%ebp)
41548b:	df 6d f0             	fildll -0x10(%ebp)
41548e:	dd 5d f0             	fstpl  -0x10(%ebp)
415491:	dc 75 f0             	fdivl  -0x10(%ebp)
415494:	8b e5                	mov    %ebp,%esp
415496:	5d                   	pop    %ebp
415497:	c3                   	ret
415498:	d9 ee                	fldz
41549a:	8b e5                	mov    %ebp,%esp
41549c:	5d                   	pop    %ebp
41549d:	c3                   	ret
41549e:	cc                   	int3
41549f:	cc                   	int3
4154a0:	b8 04 00 00 00       	mov    $0x4,%eax
4154a5:	c2 04 00             	ret    $0x4
4154a8:	cc                   	int3
4154a9:	cc                   	int3
4154aa:	cc                   	int3
4154ab:	cc                   	int3
4154ac:	cc                   	int3
4154ad:	cc                   	int3
4154ae:	cc                   	int3
4154af:	cc                   	int3
4154b0:	b8 04 00 00 00       	mov    $0x4,%eax
4154b5:	c2 0c 00             	ret    $0xc
4154b8:	cc                   	int3
4154b9:	cc                   	int3
4154ba:	cc                   	int3
4154bb:	cc                   	int3
4154bc:	cc                   	int3
4154bd:	cc                   	int3
4154be:	cc                   	int3
4154bf:	cc                   	int3
4154c0:	b8 04 00 00 00       	mov    $0x4,%eax
4154c5:	c2 08 00             	ret    $0x8
4154c8:	cc                   	int3
4154c9:	cc                   	int3
4154ca:	cc                   	int3
4154cb:	cc                   	int3
4154cc:	cc                   	int3
4154cd:	cc                   	int3
4154ce:	cc                   	int3
4154cf:	cc                   	int3
4154d0:	8b ff                	mov    %edi,%edi
4154d2:	55                   	push   %ebp
4154d3:	8b ec                	mov    %esp,%ebp
4154d5:	53                   	push   %ebx
4154d6:	8b 59 3c             	mov    0x3c(%ecx),%ebx
4154d9:	57                   	push   %edi
4154da:	8b 79 38             	mov    0x38(%ecx),%edi
4154dd:	8b c7                	mov    %edi,%eax
4154df:	0b c3                	or     %ebx,%eax
4154e1:	75 11                	jne    0x4154f4
4154e3:	8b 45 10             	mov    0x10(%ebp),%eax
4154e6:	5f                   	pop    %edi
4154e7:	5b                   	pop    %ebx
4154e8:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
4154ee:	33 c0                	xor    %eax,%eax
4154f0:	5d                   	pop    %ebp
4154f1:	c2 0c 00             	ret    $0xc
4154f4:	33 c0                	xor    %eax,%eax
4154f6:	56                   	push   %esi
4154f7:	85 db                	test   %ebx,%ebx
4154f9:	7c 2a                	jl     0x415525
4154fb:	7f 04                	jg     0x415501
4154fd:	85 ff                	test   %edi,%edi
4154ff:	74 24                	je     0x415525
415501:	8b 49 30             	mov    0x30(%ecx),%ecx
415504:	8b 71 04             	mov    0x4(%ecx),%esi
415507:	8b 11                	mov    (%ecx),%edx
415509:	39 75 0c             	cmp    %esi,0xc(%ebp)
41550c:	72 27                	jb     0x415535
41550e:	77 05                	ja     0x415515
415510:	39 55 08             	cmp    %edx,0x8(%ebp)
415513:	76 23                	jbe    0x415538
415515:	33 d2                	xor    %edx,%edx
415517:	40                   	inc    %eax
415518:	83 c1 08             	add    $0x8,%ecx
41551b:	3b d3                	cmp    %ebx,%edx
41551d:	7c e5                	jl     0x415504
41551f:	7f 04                	jg     0x415525
415521:	3b c7                	cmp    %edi,%eax
415523:	72 df                	jb     0x415504
415525:	8b 4d 10             	mov    0x10(%ebp),%ecx
415528:	33 d2                	xor    %edx,%edx
41552a:	5e                   	pop    %esi
41552b:	5f                   	pop    %edi
41552c:	5b                   	pop    %ebx
41552d:	89 01                	mov    %eax,(%ecx)
41552f:	8b c2                	mov    %edx,%eax
415531:	5d                   	pop    %ebp
415532:	c2 0c 00             	ret    $0xc
415535:	39 55 08             	cmp    %edx,0x8(%ebp)
415538:	75 eb                	jne    0x415525
41553a:	39 75 0c             	cmp    %esi,0xc(%ebp)
41553d:	75 e6                	jne    0x415525
41553f:	8b 4d 10             	mov    0x10(%ebp),%ecx
415542:	ba 01 00 00 00       	mov    $0x1,%edx
415547:	5e                   	pop    %esi
415548:	5f                   	pop    %edi
415549:	5b                   	pop    %ebx
41554a:	89 01                	mov    %eax,(%ecx)
41554c:	8b c2                	mov    %edx,%eax
41554e:	5d                   	pop    %ebp
41554f:	c2 0c 00             	ret    $0xc
415552:	cc                   	int3
415553:	cc                   	int3
415554:	cc                   	int3
415555:	cc                   	int3
415556:	cc                   	int3
415557:	cc                   	int3
415558:	cc                   	int3
415559:	cc                   	int3
41555a:	cc                   	int3
41555b:	cc                   	int3
41555c:	cc                   	int3
41555d:	cc                   	int3
41555e:	cc                   	int3
41555f:	cc                   	int3
415560:	8b ff                	mov    %edi,%edi
415562:	53                   	push   %ebx
415563:	8b d9                	mov    %ecx,%ebx