48512f:	e8 68 4b f8 ff       	call   0x409c9c
485134:	8b d8                	mov    %eax,%ebx
485136:	eb 05                	jmp    0x48513d
485138:	bb f4 01 00 00       	mov    $0x1f4,%ebx
48513d:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
485141:	8d 0c 4d fe ff ff ff 	lea    -0x2(,%ecx,2),%ecx
485148:	83 f9 01             	cmp    $0x1,%ecx
48514b:	7e 1d                	jle    0x48516a
48514d:	8d 79 ff             	lea    -0x1(%ecx),%edi
485150:	8b 86 f0 01 00 00    	mov    0x1f0(%esi),%eax
485156:	6a 01                	push   $0x1
485158:	ff 30                	push   (%eax)
48515a:	ff 15 18 f5 48 00    	call   *0x48f518
485160:	8b cb                	mov    %ebx,%ecx
485162:	e8 7f 03 fe ff       	call   0x4654e6
485167:	4f                   	dec    %edi
485168:	75 e6                	jne    0x485150
48516a:	5f                   	pop    %edi
48516b:	5e                   	pop    %esi
48516c:	33 c0                	xor    %eax,%eax
48516e:	5b                   	pop    %ebx
48516f:	8b e5                	mov    %ebp,%esp
485171:	5d                   	pop    %ebp
485172:	c2 08 00             	ret    $0x8
485175:	55                   	push   %ebp
485176:	8b ec                	mov    %esp,%ebp
485178:	83 ec 24             	sub    $0x24,%esp
48517b:	53                   	push   %ebx
48517c:	56                   	push   %esi
48517d:	8b f1                	mov    %ecx,%esi
48517f:	57                   	push   %edi
485180:	8b 3d 34 f7 48 00    	mov    0x48f734,%edi
485186:	89 75 fc             	mov    %esi,-0x4(%ebp)
485189:	ff d7                	call   *%edi
48518b:	8b d8                	mov    %eax,%ebx
48518d:	b2 01                	mov    $0x1,%dl
48518f:	8b cb                	mov    %ebx,%ecx
485191:	e8 e7 e6 fd ff       	call   0x46387d
485196:	8d 45 f4             	lea    -0xc(%ebp),%eax
485199:	50                   	push   %eax
48519a:	ff 15 00 f5 48 00    	call   *0x48f500
4851a0:	85 c0                	test   %eax,%eax
4851a2:	75 2c                	jne    0x4851d0
4851a4:	8b 75 0c             	mov    0xc(%ebp),%esi
4851a7:	8b ce                	mov    %esi,%ecx
4851a9:	e8 72 48 f8 ff       	call   0x409a20
4851ae:	8b 55 fc             	mov    -0x4(%ebp),%edx
4851b1:	33 ff                	xor    %edi,%edi
4851b3:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
4851ba:	89 3e                	mov    %edi,(%esi)
4851bc:	57                   	push   %edi
4851bd:	8b 02                	mov    (%edx),%eax
4851bf:	6a 01                	push   $0x1
4851c1:	8b 48 04             	mov    0x4(%eax),%ecx
4851c4:	03 ca                	add    %edx,%ecx
4851c6:	e8 d8 18 fd ff       	call   0x456aa3
4851cb:	e9 8b 00 00 00       	jmp    0x48525b
4851d0:	8d 45 f4             	lea    -0xc(%ebp),%eax
4851d3:	50                   	push   %eax
4851d4:	53                   	push   %ebx
4851d5:	ff 15 e0 f4 48 00    	call   *0x48f4e0
4851db:	ff d7                	call   *%edi
4851dd:	50                   	push   %eax
4851de:	8d 45 ec             	lea    -0x14(%ebp),%eax
4851e1:	50                   	push   %eax
4851e2:	ff b6 08 01 00 00    	push   0x108(%esi)
4851e8:	e8 a7 ea fe ff       	call   0x473c94
4851ed:	8b 45 ec             	mov    -0x14(%ebp),%eax
4851f0:	29 45 f4             	sub    %eax,-0xc(%ebp)
4851f3:	8b 45 f0             	mov    -0x10(%ebp),%eax
4851f6:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4851f9:	29 45 f8             	sub    %eax,-0x8(%ebp)
4851fc:	e8 2d 42 f8 ff       	call   0x40942e
485201:	6a 02                	push   $0x2
485203:	8b f0                	mov    %eax,%esi
485205:	6a 01                	push   $0x1
485207:	56                   	push   %esi
485208:	e8 a3 3f f8 ff       	call   0x4091b0
48520d:	8b 4d f4             	mov    -0xc(%ebp),%ecx
485210:	33 c0                	xor    %eax,%eax
485212:	33 ff                	xor    %edi,%edi
485214:	89 4d dc             	mov    %ecx,-0x24(%ebp)
485217:	40                   	inc    %eax
485218:	89 7d e4             	mov    %edi,-0x1c(%ebp)
48521b:	57                   	push   %edi
48521c:	50                   	push   %eax
48521d:	89 45 e8             	mov    %eax,-0x18(%ebp)
485220:	8d 45 dc             	lea    -0x24(%ebp),%eax
485223:	50                   	push   %eax
485224:	56                   	push   %esi
485225:	e8 16 3e f8 ff       	call   0x409040
48522a:	83 c4 1c             	add    $0x1c,%esp
48522d:	8d 4d dc             	lea    -0x24(%ebp),%ecx
485230:	e8 eb 47 f8 ff       	call   0x409a20
485235:	8b 45 f8             	mov    -0x8(%ebp),%eax
485238:	89 45 dc             	mov    %eax,-0x24(%ebp)
48523b:	33 c0                	xor    %eax,%eax
48523d:	40                   	inc    %eax
48523e:	89 7d e4             	mov    %edi,-0x1c(%ebp)
485241:	50                   	push   %eax
485242:	50                   	push   %eax
485243:	89 45 e8             	mov    %eax,-0x18(%ebp)
485246:	8d 45 dc             	lea    -0x24(%ebp),%eax
485249:	50                   	push   %eax
48524a:	56                   	push   %esi
48524b:	e8 f0 3d f8 ff       	call   0x409040
485250:	83 c4 10             	add    $0x10,%esp
485253:	8d 4d dc             	lea    -0x24(%ebp),%ecx
485256:	e8 c5 47 f8 ff       	call   0x409a20
48525b:	32 d2                	xor    %dl,%dl
48525d:	8b cb                	mov    %ebx,%ecx
48525f:	e8 19 e6 fd ff       	call   0x46387d
485264:	5f                   	pop    %edi
485265:	5e                   	pop    %esi
485266:	33 c0                	xor    %eax,%eax
485268:	5b                   	pop    %ebx
485269:	8b e5                	mov    %ebp,%esp
48526b:	5d                   	pop    %ebp
48526c:	c2 08 00             	ret    $0x8
48526f:	55                   	push   %ebp
485270:	8b ec                	mov    %esp,%ebp
485272:	83 e4 f8             	and    $0xfffffff8,%esp
485275:	83 ec 14             	sub    $0x14,%esp
485278:	56                   	push   %esi
485279:	ff 75 08             	push   0x8(%ebp)
48527c:	8b f1                	mov    %ecx,%esi
48527e:	e8 2a 67 f8 ff       	call   0x40b9ad
485283:	6a 01                	push   $0x1
485285:	8b ce                	mov    %esi,%ecx
485287:	e8 b1 66 f8 ff       	call   0x40b93d
48528c:	85 c0                	test   %eax,%eax
48528e:	7f 26                	jg     0x4852b6
485290:	6a 00                	push   $0x0
485292:	79 05                	jns    0x485299
485294:	f7 d8                	neg    %eax
485296:	50                   	push   %eax
485297:	eb 02                	jmp    0x48529b
485299:	6a 01                	push   $0x1
48529b:	8b 06                	mov    (%esi),%eax
48529d:	8b 48 04             	mov    0x4(%eax),%ecx
4852a0:	03 ce                	add    %esi,%ecx
4852a2:	e8 fc 17 fd ff       	call   0x456aa3
4852a7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4852aa:	68 10 f9 48 00       	push   $0x48f910
4852af:	e8 44 49 f8 ff       	call   0x409bf8
4852b4:	eb 30                	jmp    0x4852e6
4852b6:	8d 4c 24 08          	lea    0x8(%esp),%ecx
4852ba:	e8 08 25 f8 ff       	call   0x4077c7
4852bf:	8b 8e f0 01 00 00    	mov    0x1f0(%esi),%ecx
4852c5:	8d 54 24 08          	lea    0x8(%esp),%edx
4852c9:	8b 09                	mov    (%ecx),%ecx
4852cb:	e8 48 f3 fd ff       	call   0x464618
4852d0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4852d3:	8d 44 24 08          	lea    0x8(%esp),%eax
4852d7:	50                   	push   %eax
4852d8:	e8 bf 48 f8 ff       	call   0x409b9c
4852dd:	8d 4c 24 08          	lea    0x8(%esp),%ecx
4852e1:	e8 7e 07 f8 ff       	call   0x405a64
4852e6:	33 c0                	xor    %eax,%eax
4852e8:	5e                   	pop    %esi
4852e9:	8b e5                	mov    %ebp,%esp
4852eb:	5d                   	pop    %ebp
4852ec:	c2 08 00             	ret    $0x8
4852ef:	55                   	push   %ebp
4852f0:	8b ec                	mov    %esp,%ebp
4852f2:	83 e4 f8             	and    $0xfffffff8,%esp
4852f5:	83 ec 24             	sub    $0x24,%esp
4852f8:	53                   	push   %ebx
4852f9:	56                   	push   %esi
4852fa:	57                   	push   %edi
4852fb:	ff 75 08             	push   0x8(%ebp)
4852fe:	8b f1                	mov    %ecx,%esi
485300:	e8 a8 66 f8 ff       	call   0x40b9ad
485305:	8b 7d 0c             	mov    0xc(%ebp),%edi
485308:	8b cf                	mov    %edi,%ecx
48530a:	e8 11 47 f8 ff       	call   0x409a20
48530f:	83 27 00             	andl   $0x0,(%edi)
485312:	33 db                	xor    %ebx,%ebx
485314:	43                   	inc    %ebx
485315:	8b ce                	mov    %esi,%ecx
485317:	53                   	push   %ebx
485318:	89 5f 0c             	mov    %ebx,0xc(%edi)
48531b:	e8 1d 66 f8 ff       	call   0x40b93d
485320:	85 c0                	test   %eax,%eax
485322:	7f 10                	jg     0x485334
485324:	6a 00                	push   $0x0
485326:	0f 89 95 00 00 00    	jns    0x4853c1
48532c:	f7 d8                	neg    %eax
48532e:	50                   	push   %eax
48532f:	e9 8e 00 00 00       	jmp    0x4853c2
485334:	8b 86 f0 01 00 00    	mov    0x1f0(%esi),%eax
48533a:	8d 4c 24 20          	lea    0x20(%esp),%ecx
48533e:	51                   	push   %ecx
48533f:	ff 30                	push   (%eax)
485341:	ff 15 34 f6 48 00    	call   *0x48f634
485347:	85 c0                	test   %eax,%eax
485349:	74 74                	je     0x4853bf
48534b:	8b cf                	mov    %edi,%ecx
48534d:	e8 dc 40 f8 ff       	call   0x40942e
485352:	6a 02                	push   $0x2
485354:	8b f0                	mov    %eax,%esi
485356:	53                   	push   %ebx
485357:	56                   	push   %esi
485358:	e8 53 3e f8 ff       	call   0x4091b0
48535d:	8b 4c 24 34          	mov    0x34(%esp),%ecx
485361:	8d 44 24 1c          	lea    0x1c(%esp),%eax
485365:	2b 4c 24 2c          	sub    0x2c(%esp),%ecx
485369:	83 c4 0c             	add    $0xc,%esp
48536c:	83 64 24 18 00       	andl   $0x0,0x18(%esp)
485371:	89 4c 24 10          	mov    %ecx,0x10(%esp)
485375:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
485379:	6a 00                	push   $0x0
48537b:	53                   	push   %ebx
48537c:	50                   	push   %eax
48537d:	56                   	push   %esi
48537e:	e8 bd 3c f8 ff       	call   0x409040
485383:	83 c4 10             	add    $0x10,%esp
485386:	8d 4c 24 10          	lea    0x10(%esp),%ecx
48538a:	e8 91 46 f8 ff       	call   0x409a20
48538f:	8b 44 24 2c          	mov    0x2c(%esp),%eax
485393:	2b 44 24 24          	sub    0x24(%esp),%eax
485397:	83 64 24 18 00       	andl   $0x0,0x18(%esp)
48539c:	53                   	push   %ebx
48539d:	89 44 24 14          	mov    %eax,0x14(%esp)
4853a1:	8d 44 24 14          	lea    0x14(%esp),%eax
4853a5:	53                   	push   %ebx
4853a6:	50                   	push   %eax
4853a7:	56                   	push   %esi
4853a8:	89 5c 24 2c          	mov    %ebx,0x2c(%esp)
4853ac:	e8 8f 3c f8 ff       	call   0x409040
4853b1:	83 c4 10             	add    $0x10,%esp
4853b4:	8d 4c 24 10          	lea    0x10(%esp),%ecx
4853b8:	e8 63 46 f8 ff       	call   0x409a20
4853bd:	eb 0f                	jmp    0x4853ce
4853bf:	6a 00                	push   $0x0
4853c1:	53                   	push   %ebx
4853c2:	8b 06                	mov    (%esi),%eax
4853c4:	8b 48 04             	mov    0x4(%eax),%ecx
4853c7:	03 ce                	add    %esi,%ecx
4853c9:	e8 d5 16 fd ff       	call   0x456aa3
4853ce:	5f                   	pop    %edi
4853cf:	5e                   	pop    %esi
4853d0:	33 c0                	xor    %eax,%eax
4853d2:	5b                   	pop    %ebx
4853d3:	8b e5                	mov    %ebp,%esp
4853d5:	5d                   	pop    %ebp
4853d6:	c2 08 00             	ret    $0x8
4853d9:	55                   	push   %ebp
4853da:	8b ec                	mov    %esp,%ebp
4853dc:	56                   	push   %esi
4853dd:	ff 75 08             	push   0x8(%ebp)
4853e0:	8b f1                	mov    %ecx,%esi
4853e2:	e8 c6 65 f8 ff       	call   0x40b9ad
4853e7:	6a 01                	push   $0x1
4853e9:	8b ce                	mov    %esi,%ecx
4853eb:	e8 4d 65 f8 ff       	call   0x40b93d
4853f0:	85 c0                	test   %eax,%eax
4853f2:	7f 26                	jg     0x48541a
4853f4:	6a 00                	push   $0x0
4853f6:	79 05                	jns    0x4853fd
4853f8:	f7 d8                	neg    %eax
4853fa:	50                   	push   %eax
4853fb:	eb 02                	jmp    0x4853ff
4853fd:	6a 01                	push   $0x1
4853ff:	8b 06                	mov    (%esi),%eax
485401:	8b 48 04             	mov    0x4(%eax),%ecx
485404:	03 ce                	add    %esi,%ecx
485406:	e8 98 16 fd ff       	call   0x456aa3
48540b:	8b 75 0c             	mov    0xc(%ebp),%esi
48540e:	8b ce                	mov    %esi,%ecx
485410:	e8 0b 46 f8 ff       	call   0x409a20
485415:	83 26 00             	andl   $0x0,(%esi)
485418:	eb 16                	jmp    0x485430
48541a:	8b 86 f0 01 00 00    	mov    0x1f0(%esi),%eax
485420:	8b 75 0c             	mov    0xc(%ebp),%esi
485423:	8b ce                	mov    %esi,%ecx
485425:	57                   	push   %edi
485426:	8b 38                	mov    (%eax),%edi
485428:	e8 f3 45 f8 ff       	call   0x409a20
48542d:	89 3e                	mov    %edi,(%esi)
48542f:	5f                   	pop    %edi
485430:	c7 46 0c 07 00 00 00 	movl   $0x7,0xc(%esi)
485437:	33 c0                	xor    %eax,%eax
485439:	5e                   	pop    %esi
48543a:	5d                   	pop    %ebp
48543b:	c2 08 00             	ret    $0x8
48543e:	55                   	push   %ebp
48543f:	8b ec                	mov    %esp,%ebp
485441:	83 e4 f8             	and    $0xfffffff8,%esp
485444:	83 ec 24             	sub    $0x24,%esp
485447:	53                   	push   %ebx
485448:	56                   	push   %esi
485449:	57                   	push   %edi
48544a:	ff 75 08             	push   0x8(%ebp)
48544d:	8b f1                	mov    %ecx,%esi
48544f:	e8 59 65 f8 ff       	call   0x40b9ad
485454:	33 db                	xor    %ebx,%ebx
485456:	8b ce                	mov    %esi,%ecx
485458:	43                   	inc    %ebx
485459:	53                   	push   %ebx
48545a:	e8 de 64 f8 ff       	call   0x40b93d
48545f:	85 c0                	test   %eax,%eax
485461:	7f 2e                	jg     0x485491
485463:	79 08                	jns    0x48546d
485465:	33 ff                	xor    %edi,%edi
485467:	f7 d8                	neg    %eax
485469:	57                   	push   %edi
48546a:	50                   	push   %eax
48546b:	eb 04                	jmp    0x485471
48546d:	33 ff                	xor    %edi,%edi
48546f:	57                   	push   %edi
485470:	53                   	push   %ebx
485471:	8b 06                	mov    (%esi),%eax
485473:	8b 48 04             	mov    0x4(%eax),%ecx
485476:	03 ce                	add    %esi,%ecx
485478:	e8 26 16 fd ff       	call   0x456aa3
48547d:	8b 75 0c             	mov    0xc(%ebp),%esi
485480:	8b ce                	mov    %esi,%ecx
485482:	e8 99 45 f8 ff       	call   0x409a20
485487:	89 5e 0c             	mov    %ebx,0xc(%esi)
48548a:	89 3e                	mov    %edi,(%esi)
48548c:	e9 d7 00 00 00       	jmp    0x485568
485491:	8b 8e f0 01 00 00    	mov    0x1f0(%esi),%ecx
485497:	8d 44 24 10          	lea    0x10(%esp),%eax
48549b:	33 ff                	xor    %edi,%edi
48549d:	57                   	push   %edi
48549e:	50                   	push   %eax
48549f:	e8 c6 5a fd ff       	call   0x45af6a
4854a4:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4854a7:	e8 82 3f f8 ff       	call   0x40942e
4854ac:	6a 04                	push   $0x4
4854ae:	8b f0                	mov    %eax,%esi
4854b0:	53                   	push   %ebx
4854b1:	56                   	push   %esi
4854b2:	e8 f9 3c f8 ff       	call   0x4091b0
4854b7:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
4854bb:	8d 44 24 2c          	lea    0x2c(%esp),%eax
4854bf:	83 c4 0c             	add    $0xc,%esp
4854c2:	89 4c 24 20          	mov    %ecx,0x20(%esp)
4854c6:	89 7c 24 28          	mov    %edi,0x28(%esp)
4854ca:	89 5c 24 2c          	mov    %ebx,0x2c(%esp)
4854ce:	57                   	push   %edi
4854cf:	53                   	push   %ebx
4854d0:	50                   	push   %eax
4854d1:	56                   	push   %esi
4854d2:	e8 69 3b f8 ff       	call   0x409040
4854d7:	83 c4 10             	add    $0x10,%esp
4854da:	8d 4c 24 20          	lea    0x20(%esp),%ecx
4854de:	e8 3d 45 f8 ff       	call   0x409a20
4854e3:	8b 44 24 14          	mov    0x14(%esp),%eax