45917f:	5a                   	pop    %edx
459180:	8b c6                	mov    %esi,%eax
459182:	f7 e2                	mul    %edx
459184:	0f 90 c1             	seto   %cl
459187:	f7 d9                	neg    %ecx
459189:	0b c8                	or     %eax,%ecx
45918b:	51                   	push   %ecx
45918c:	e8 65 7e fc ff       	call   0x420ff6
459191:	59                   	pop    %ecx
459192:	50                   	push   %eax
459193:	89 45 f4             	mov    %eax,-0xc(%ebp)
459196:	8b 45 f0             	mov    -0x10(%ebp),%eax
459199:	56                   	push   %esi
45919a:	6a 0d                	push   $0xd
45919c:	ff 30                	push   (%eax)
45919e:	ff 15 88 f6 48 00    	call   *0x48f688
4591a4:	8b 75 f4             	mov    -0xc(%ebp),%esi
4591a7:	85 c0                	test   %eax,%eax
4591a9:	74 1e                	je     0x4591c9
4591ab:	8b 45 fc             	mov    -0x4(%ebp),%eax
4591ae:	3b c7                	cmp    %edi,%eax
4591b0:	74 06                	je     0x4591b8
4591b2:	33 c9                	xor    %ecx,%ecx
4591b4:	66 89 0c 46          	mov    %cx,(%esi,%eax,2)
4591b8:	8b 45 f8             	mov    -0x8(%ebp),%eax
4591bb:	8b 4d 08             	mov    0x8(%ebp),%ecx
4591be:	8d 04 46             	lea    (%esi,%eax,2),%eax
4591c1:	50                   	push   %eax
4591c2:	e8 65 eb fa ff       	call   0x407d2c
4591c7:	b3 01                	mov    $0x1,%bl
4591c9:	56                   	push   %esi
4591ca:	e8 9d 7e fc ff       	call   0x42106c
4591cf:	59                   	pop    %ecx
4591d0:	8a c3                	mov    %bl,%al
4591d2:	eb 02                	jmp    0x4591d6
4591d4:	32 c0                	xor    %al,%al
4591d6:	5b                   	pop    %ebx
4591d7:	5f                   	pop    %edi
4591d8:	5e                   	pop    %esi
4591d9:	8b e5                	mov    %ebp,%esp
4591db:	5d                   	pop    %ebp
4591dc:	c2 04 00             	ret    $0x4
4591df:	55                   	push   %ebp
4591e0:	8b ec                	mov    %esp,%ebp
4591e2:	83 ec 14             	sub    $0x14,%esp
4591e5:	53                   	push   %ebx
4591e6:	56                   	push   %esi
4591e7:	8b f1                	mov    %ecx,%esi
4591e9:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4591ec:	68 64 95 4b 00       	push   $0x4b9564
4591f1:	e8 4b ed fa ff       	call   0x407f41
4591f6:	51                   	push   %ecx
4591f7:	8d 45 ec             	lea    -0x14(%ebp),%eax
4591fa:	8b ce                	mov    %esi,%ecx
4591fc:	50                   	push   %eax
4591fd:	e8 c2 1e 00 00       	call   0x45b0c4
459202:	8d 4d ec             	lea    -0x14(%ebp),%ecx
459205:	8a d8                	mov    %al,%bl
459207:	e8 58 c8 fa ff       	call   0x405a64
45920c:	84 db                	test   %bl,%bl
45920e:	74 07                	je     0x459217
459210:	b9 43 01 00 00       	mov    $0x143,%ecx
459215:	eb 2c                	jmp    0x459243
459217:	68 78 95 4b 00       	push   $0x4b9578
45921c:	8d 4d ec             	lea    -0x14(%ebp),%ecx
45921f:	e8 1d ed fa ff       	call   0x407f41
459224:	51                   	push   %ecx
459225:	8d 45 ec             	lea    -0x14(%ebp),%eax
459228:	8b ce                	mov    %esi,%ecx
45922a:	50                   	push   %eax
45922b:	e8 94 1e 00 00       	call   0x45b0c4
459230:	8d 4d ec             	lea    -0x14(%ebp),%ecx
459233:	8a d8                	mov    %al,%bl
459235:	e8 2a c8 fa ff       	call   0x405a64
45923a:	84 db                	test   %bl,%bl
45923c:	74 1c                	je     0x45925a
45923e:	b9 80 01 00 00       	mov    $0x180,%ecx
459243:	8b 45 08             	mov    0x8(%ebp),%eax
459246:	ff 30                	push   (%eax)
459248:	6a 00                	push   $0x0
45924a:	51                   	push   %ecx
45924b:	ff 36                	push   (%esi)
45924d:	ff 15 88 f6 48 00    	call   *0x48f688
459253:	85 c0                	test   %eax,%eax
459255:	0f 95 c0             	setne  %al
459258:	eb 02                	jmp    0x45925c
45925a:	32 c0                	xor    %al,%al
45925c:	5e                   	pop    %esi
45925d:	5b                   	pop    %ebx
45925e:	8b e5                	mov    %ebp,%esp
459260:	5d                   	pop    %ebp
459261:	c2 04 00             	ret    $0x4
459264:	55                   	push   %ebp
459265:	8b ec                	mov    %esp,%ebp
459267:	83 ec 14             	sub    $0x14,%esp
45926a:	53                   	push   %ebx
45926b:	56                   	push   %esi
45926c:	8b f1                	mov    %ecx,%esi
45926e:	8d 4d ec             	lea    -0x14(%ebp),%ecx
459271:	68 64 95 4b 00       	push   $0x4b9564
459276:	e8 c6 ec fa ff       	call   0x407f41
45927b:	51                   	push   %ecx
45927c:	8d 45 ec             	lea    -0x14(%ebp),%eax
45927f:	8b ce                	mov    %esi,%ecx
459281:	50                   	push   %eax
459282:	e8 3d 1e 00 00       	call   0x45b0c4
459287:	8d 4d ec             	lea    -0x14(%ebp),%ecx
45928a:	8a d8                	mov    %al,%bl
45928c:	e8 d3 c7 fa ff       	call   0x405a64
459291:	84 db                	test   %bl,%bl
459293:	74 07                	je     0x45929c
459295:	b8 44 01 00 00       	mov    $0x144,%eax
45929a:	eb 2c                	jmp    0x4592c8
45929c:	68 78 95 4b 00       	push   $0x4b9578
4592a1:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4592a4:	e8 98 ec fa ff       	call   0x407f41
4592a9:	51                   	push   %ecx
4592aa:	8d 45 ec             	lea    -0x14(%ebp),%eax
4592ad:	8b ce                	mov    %esi,%ecx
4592af:	50                   	push   %eax
4592b0:	e8 0f 1e 00 00       	call   0x45b0c4
4592b5:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4592b8:	8a d8                	mov    %al,%bl
4592ba:	e8 a5 c7 fa ff       	call   0x405a64
4592bf:	84 db                	test   %bl,%bl
4592c1:	74 1a                	je     0x4592dd
4592c3:	b8 82 01 00 00       	mov    $0x182,%eax
4592c8:	6a 00                	push   $0x0
4592ca:	ff 75 08             	push   0x8(%ebp)
4592cd:	50                   	push   %eax
4592ce:	ff 36                	push   (%esi)
4592d0:	ff 15 88 f6 48 00    	call   *0x48f688
4592d6:	85 c0                	test   %eax,%eax
4592d8:	0f 95 c0             	setne  %al
4592db:	eb 02                	jmp    0x4592df
4592dd:	32 c0                	xor    %al,%al
4592df:	5e                   	pop    %esi
4592e0:	5b                   	pop    %ebx
4592e1:	8b e5                	mov    %ebp,%esp
4592e3:	5d                   	pop    %ebp
4592e4:	c2 04 00             	ret    $0x4
4592e7:	55                   	push   %ebp
4592e8:	8b ec                	mov    %esp,%ebp
4592ea:	83 ec 10             	sub    $0x10,%esp
4592ed:	53                   	push   %ebx
4592ee:	56                   	push   %esi
4592ef:	8b f1                	mov    %ecx,%esi
4592f1:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4592f4:	68 64 95 4b 00       	push   $0x4b9564
4592f9:	e8 43 ec fa ff       	call   0x407f41
4592fe:	51                   	push   %ecx
4592ff:	8d 45 f0             	lea    -0x10(%ebp),%eax
459302:	8b ce                	mov    %esi,%ecx
459304:	50                   	push   %eax
459305:	e8 ba 1d 00 00       	call   0x45b0c4
45930a:	8d 4d f0             	lea    -0x10(%ebp),%ecx
45930d:	8a d8                	mov    %al,%bl
45930f:	e8 50 c7 fa ff       	call   0x405a64
459314:	84 db                	test   %bl,%bl
459316:	74 07                	je     0x45931f
459318:	b9 58 01 00 00       	mov    $0x158,%ecx
45931d:	eb 2c                	jmp    0x45934b
45931f:	68 78 95 4b 00       	push   $0x4b9578
459324:	8d 4d f0             	lea    -0x10(%ebp),%ecx
459327:	e8 15 ec fa ff       	call   0x407f41
45932c:	51                   	push   %ecx
45932d:	8d 45 f0             	lea    -0x10(%ebp),%eax
459330:	8b ce                	mov    %esi,%ecx
459332:	50                   	push   %eax
459333:	e8 8c 1d 00 00       	call   0x45b0c4
459338:	8d 4d f0             	lea    -0x10(%ebp),%ecx
45933b:	8a d8                	mov    %al,%bl
45933d:	e8 22 c7 fa ff       	call   0x405a64
459342:	84 db                	test   %bl,%bl
459344:	74 22                	je     0x459368
459346:	b9 a2 01 00 00       	mov    $0x1a2,%ecx
45934b:	8b 45 08             	mov    0x8(%ebp),%eax
45934e:	ff 30                	push   (%eax)
459350:	6a ff                	push   $0xffffffff
459352:	51                   	push   %ecx
459353:	ff 36                	push   (%esi)
459355:	ff 15 88 f6 48 00    	call   *0x48f688
45935b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
45935e:	83 f8 ff             	cmp    $0xffffffff,%eax
459361:	89 01                	mov    %eax,(%ecx)
459363:	0f 95 c0             	setne  %al
459366:	eb 02                	jmp    0x45936a
459368:	32 c0                	xor    %al,%al
45936a:	5e                   	pop    %esi
45936b:	5b                   	pop    %ebx
45936c:	8b e5                	mov    %ebp,%esp
45936e:	5d                   	pop    %ebp
45936f:	c2 08 00             	ret    $0x8
459372:	55                   	push   %ebp
459373:	8b ec                	mov    %esp,%ebp
459375:	83 ec 20             	sub    $0x20,%esp
459378:	53                   	push   %ebx
459379:	56                   	push   %esi
45937a:	57                   	push   %edi
45937b:	8b f1                	mov    %ecx,%esi
45937d:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
459380:	68 64 95 4b 00       	push   $0x4b9564
459385:	e8 b7 eb fa ff       	call   0x407f41
45938a:	51                   	push   %ecx
45938b:	8d 45 e4             	lea    -0x1c(%ebp),%eax
45938e:	8b ce                	mov    %esi,%ecx
459390:	50                   	push   %eax
459391:	e8 2e 1d 00 00       	call   0x45b0c4
459396:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
459399:	8a d8                	mov    %al,%bl
45939b:	e8 c4 c6 fa ff       	call   0x405a64
4593a0:	84 db                	test   %bl,%bl
4593a2:	74 11                	je     0x4593b5
4593a4:	b8 47 01 00 00       	mov    $0x147,%eax
4593a9:	c7 45 f8 48 01 00 00 	movl   $0x148,-0x8(%ebp)
4593b0:	8d 78 02             	lea    0x2(%eax),%edi
4593b3:	eb 3a                	jmp    0x4593ef
4593b5:	68 78 95 4b 00       	push   $0x4b9578
4593ba:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4593bd:	e8 7f eb fa ff       	call   0x407f41
4593c2:	51                   	push   %ecx
4593c3:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4593c6:	8b ce                	mov    %esi,%ecx
4593c8:	50                   	push   %eax
4593c9:	e8 f6 1c 00 00       	call   0x45b0c4
4593ce:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4593d1:	8a d8                	mov    %al,%bl
4593d3:	e8 8c c6 fa ff       	call   0x405a64
4593d8:	84 db                	test   %bl,%bl
4593da:	0f 84 86 00 00 00    	je     0x459466
4593e0:	b8 88 01 00 00       	mov    $0x188,%eax
4593e5:	c7 45 f8 89 01 00 00 	movl   $0x189,-0x8(%ebp)
4593ec:	8d 78 02             	lea    0x2(%eax),%edi
4593ef:	33 db                	xor    %ebx,%ebx
4593f1:	53                   	push   %ebx
4593f2:	53                   	push   %ebx
4593f3:	50                   	push   %eax
4593f4:	ff 36                	push   (%esi)
4593f6:	ff 15 88 f6 48 00    	call   *0x48f688
4593fc:	89 45 f4             	mov    %eax,-0xc(%ebp)
4593ff:	83 f8 ff             	cmp    $0xffffffff,%eax
459402:	74 62                	je     0x459466
459404:	53                   	push   %ebx
459405:	50                   	push   %eax
459406:	57                   	push   %edi
459407:	ff 36                	push   (%esi)
459409:	ff 15 88 f6 48 00    	call   *0x48f688
45940f:	83 f8 ff             	cmp    $0xffffffff,%eax
459412:	74 52                	je     0x459466
459414:	33 c9                	xor    %ecx,%ecx
459416:	05 01 01 00 00       	add    $0x101,%eax
45941b:	6a 02                	push   $0x2
45941d:	5a                   	pop    %edx
45941e:	f7 e2                	mul    %edx
459420:	0f 90 c1             	seto   %cl
459423:	f7 d9                	neg    %ecx
459425:	0b c8                	or     %eax,%ecx
459427:	51                   	push   %ecx
459428:	e8 c9 7b fc ff       	call   0x420ff6
45942d:	59                   	pop    %ecx
45942e:	8b f8                	mov    %eax,%edi
459430:	57                   	push   %edi
459431:	ff 75 f4             	push   -0xc(%ebp)
459434:	ff 75 f8             	push   -0x8(%ebp)
459437:	ff 36                	push   (%esi)
459439:	ff 15 88 f6 48 00    	call   *0x48f688
45943f:	8b 4d 08             	mov    0x8(%ebp),%ecx
459442:	83 f8 ff             	cmp    $0xffffffff,%eax
459445:	75 0c                	jne    0x459453
459447:	68 10 f9 48 00       	push   $0x48f910
45944c:	e8 db e8 fa ff       	call   0x407d2c
459451:	eb 08                	jmp    0x45945b
459453:	57                   	push   %edi
459454:	e8 d3 e8 fa ff       	call   0x407d2c
459459:	b3 01                	mov    $0x1,%bl
45945b:	57                   	push   %edi
45945c:	e8 0b 7c fc ff       	call   0x42106c
459461:	59                   	pop    %ecx
459462:	8a c3                	mov    %bl,%al
459464:	eb 02                	jmp    0x459468
459466:	32 c0                	xor    %al,%al
459468:	5f                   	pop    %edi
459469:	5e                   	pop    %esi
45946a:	5b                   	pop    %ebx
45946b:	8b e5                	mov    %ebp,%esp
45946d:	5d                   	pop    %ebp
45946e:	c2 04 00             	ret    $0x4
459471:	55                   	push   %ebp
459472:	8b ec                	mov    %esp,%ebp
459474:	83 ec 1c             	sub    $0x1c,%esp
459477:	53                   	push   %ebx
459478:	57                   	push   %edi
459479:	8b f9                	mov    %ecx,%edi
45947b:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
45947e:	68 64 95 4b 00       	push   $0x4b9564
459483:	89 7d f4             	mov    %edi,-0xc(%ebp)
459486:	e8 b6 ea fa ff       	call   0x407f41
45948b:	51                   	push   %ecx
45948c:	8d 45 e4             	lea    -0x1c(%ebp),%eax
45948f:	8b cf                	mov    %edi,%ecx
459491:	50                   	push   %eax
459492:	e8 2d 1c 00 00       	call   0x45b0c4
459497:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
45949a:	8a d8                	mov    %al,%bl
45949c:	e8 c3 c5 fa ff       	call   0x405a64
4594a1:	84 db                	test   %bl,%bl
4594a3:	74 0e                	je     0x4594b3
4594a5:	b9 4d 01 00 00       	mov    $0x14d,%ecx
4594aa:	c7 45 f8 09 00 00 00 	movl   $0x9,-0x8(%ebp)
4594b1:	eb 33                	jmp    0x4594e6
4594b3:	68 78 95 4b 00       	push   $0x4b9578
4594b8:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4594bb:	e8 81 ea fa ff       	call   0x407f41
4594c0:	51                   	push   %ecx
4594c1:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4594c4:	8b cf                	mov    %edi,%ecx
4594c6:	50                   	push   %eax
4594c7:	e8 f8 1b 00 00       	call   0x45b0c4
4594cc:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4594cf:	8a d8                	mov    %al,%bl
4594d1:	e8 8e c5 fa ff       	call   0x405a64
4594d6:	84 db                	test   %bl,%bl
4594d8:	74 78                	je     0x459552
4594da:	b9 8c 01 00 00       	mov    $0x18c,%ecx
4594df:	c7 45 f8 02 00 00 00 	movl   $0x2,-0x8(%ebp)
4594e6:	8b 45 08             	mov    0x8(%ebp),%eax
4594e9:	8b 1d 88 f6 48 00    	mov    0x48f688,%ebx
4594ef:	ff 30                	push   (%eax)
4594f1:	6a ff                	push   $0xffffffff
4594f3:	51                   	push   %ecx
4594f4:	ff 37                	push   (%edi)
4594f6:	ff d3                	call   *%ebx
4594f8:	83 f8 ff             	cmp    $0xffffffff,%eax
4594fb:	74 55                	je     0x459552
4594fd:	ff 37                	push   (%edi)
4594ff:	ff 37                	push   (%edi)
459501:	ff 15 84 f6 48 00    	call   *0x48f684
459507:	0f b7 c0             	movzwl %ax,%eax
45950a:	0d 00 00 01 00       	or     $0x10000,%eax
45950f:	50                   	push   %eax
459510:	68 11 01 00 00       	push   $0x111
459515:	ff 37                	push   (%edi)
459517:	8b 3d 80 f6 48 00    	mov    0x48f680,%edi
45951d:	ff d7                	call   *%edi
45951f:	50                   	push   %eax
459520:	ff d3                	call   *%ebx
459522:	8b 5d f4             	mov    -0xc(%ebp),%ebx
459525:	ff 33                	push   (%ebx)
459527:	ff 33                	push   (%ebx)
459529:	ff 15 84 f6 48 00    	call   *0x48f684