4770cb:	6a 00                	push   $0x0
4770cd:	6a fe                	push   $0xfffffffe
4770cf:	8b 06                	mov    (%esi),%eax
4770d1:	8b 48 04             	mov    0x4(%eax),%ecx
4770d4:	03 ce                	add    %esi,%ecx
4770d6:	e8 c8 f9 fd ff       	call   0x456aa3
4770db:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
4770df:	e8 8d e2 f8 ff       	call   0x405371
4770e4:	5f                   	pop    %edi
4770e5:	5e                   	pop    %esi
4770e6:	33 c0                	xor    %eax,%eax
4770e8:	5b                   	pop    %ebx
4770e9:	8b e5                	mov    %ebp,%esp
4770eb:	5d                   	pop    %ebp
4770ec:	c2 08 00             	ret    $0x8
4770ef:	55                   	push   %ebp
4770f0:	8b ec                	mov    %esp,%ebp
4770f2:	8b 45 08             	mov    0x8(%ebp),%eax
4770f5:	83 ec 14             	sub    $0x14,%esp
4770f8:	8b 40 04             	mov    0x4(%eax),%eax
4770fb:	53                   	push   %ebx
4770fc:	56                   	push   %esi
4770fd:	57                   	push   %edi
4770fe:	8b 30                	mov    (%eax),%esi
477100:	8b d9                	mov    %ecx,%ebx
477102:	83 7e 0c 05          	cmpl   $0x5,0xc(%esi)
477106:	74 1d                	je     0x477125
477108:	8b 75 0c             	mov    0xc(%ebp),%esi
47710b:	8b ce                	mov    %esi,%ecx
47710d:	e8 0e 29 f9 ff       	call   0x409a20
477112:	33 ff                	xor    %edi,%edi
477114:	57                   	push   %edi
477115:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
47711c:	89 3e                	mov    %edi,(%esi)
47711e:	6a fd                	push   $0xfffffffd
477120:	e9 1c 01 00 00       	jmp    0x477241
477125:	33 ff                	xor    %edi,%edi
477127:	83 7e 0c 05          	cmpl   $0x5,0xc(%esi)
47712b:	75 07                	jne    0x477134
47712d:	8b 36                	mov    (%esi),%esi
47712f:	89 75 fc             	mov    %esi,-0x4(%ebp)
477132:	eb 05                	jmp    0x477139
477134:	8b f7                	mov    %edi,%esi
477136:	89 7d fc             	mov    %edi,-0x4(%ebp)
477139:	57                   	push   %edi
47713a:	6a 01                	push   $0x1
47713c:	6a 01                	push   $0x1
47713e:	56                   	push   %esi
47713f:	e8 5c 1d f9 ff       	call   0x408ea0
477144:	83 c4 10             	add    $0x10,%esp
477147:	85 c0                	test   %eax,%eax
477149:	75 0c                	jne    0x477157
47714b:	8b 75 0c             	mov    0xc(%ebp),%esi
47714e:	8b ce                	mov    %esi,%ecx
477150:	e8 cb 28 f9 ff       	call   0x409a20
477155:	eb bd                	jmp    0x477114
477157:	8b c8                	mov    %eax,%ecx
477159:	e8 3e 2b f9 ff       	call   0x409c9c
47715e:	3d d1 94 b5 02       	cmp    $0x2b594d1,%eax
477163:	74 1b                	je     0x477180
477165:	8b 75 0c             	mov    0xc(%ebp),%esi
477168:	8b ce                	mov    %esi,%ecx
47716a:	e8 b1 28 f9 ff       	call   0x409a20
47716f:	57                   	push   %edi
477170:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
477177:	89 3e                	mov    %edi,(%esi)
477179:	6a fc                	push   $0xfffffffc
47717b:	e9 c1 00 00 00       	jmp    0x477241
477180:	6a 02                	push   $0x2
477182:	6a 01                	push   $0x1
477184:	6a 01                	push   $0x1
477186:	56                   	push   %esi
477187:	e8 14 1d f9 ff       	call   0x408ea0
47718c:	83 c4 10             	add    $0x10,%esp
47718f:	8b f0                	mov    %eax,%esi
477191:	8b ce                	mov    %esi,%ecx
477193:	e8 ff 27 f9 ff       	call   0x409997
477198:	8b 76 08             	mov    0x8(%esi),%esi
47719b:	6a 03                	push   $0x3
47719d:	6a 01                	push   $0x1
47719f:	6a 01                	push   $0x1
4771a1:	ff 75 fc             	push   -0x4(%ebp)
4771a4:	e8 f7 1c f9 ff       	call   0x408ea0
4771a9:	83 c4 10             	add    $0x10,%esp
4771ac:	8b c8                	mov    %eax,%ecx
4771ae:	e8 e9 2a f9 ff       	call   0x409c9c
4771b3:	50                   	push   %eax
4771b4:	56                   	push   %esi
4771b5:	8d 45 ec             	lea    -0x14(%ebp),%eax
4771b8:	8b cb                	mov    %ebx,%ecx
4771ba:	50                   	push   %eax
4771bb:	e8 e0 0e 00 00       	call   0x4780a0
4771c0:	84 c0                	test   %al,%al
4771c2:	75 12                	jne    0x4771d6
4771c4:	8b 75 0c             	mov    0xc(%ebp),%esi
4771c7:	8b ce                	mov    %esi,%ecx
4771c9:	e8 52 28 f9 ff       	call   0x409a20
4771ce:	83 0e ff             	orl    $0xffffffff,(%esi)
4771d1:	e9 83 00 00 00       	jmp    0x477259
4771d6:	6a 01                	push   $0x1
4771d8:	6a 01                	push   $0x1
4771da:	6a 01                	push   $0x1
4771dc:	ff 75 fc             	push   -0x4(%ebp)
4771df:	e8 bc 1c f9 ff       	call   0x408ea0
4771e4:	83 c4 10             	add    $0x10,%esp
4771e7:	8b c8                	mov    %eax,%ecx
4771e9:	e8 ae 2a f9 ff       	call   0x409c9c
4771ee:	8b f0                	mov    %eax,%esi
4771f0:	8b 45 08             	mov    0x8(%ebp),%eax
4771f3:	8b 48 04             	mov    0x4(%eax),%ecx
4771f6:	8b 49 04             	mov    0x4(%ecx),%ecx
4771f9:	e8 a1 17 ff ff       	call   0x46899f
4771fe:	8b d0                	mov    %eax,%edx
477200:	8b 45 08             	mov    0x8(%ebp),%eax
477203:	8b 48 04             	mov    0x4(%eax),%ecx
477206:	8b 49 04             	mov    0x4(%ecx),%ecx
477209:	e8 d4 17 ff ff       	call   0x4689e2
47720e:	6a 10                	push   $0x10
477210:	8d 4d ec             	lea    -0x14(%ebp),%ecx
477213:	51                   	push   %ecx
477214:	57                   	push   %edi
477215:	50                   	push   %eax
477216:	52                   	push   %edx
477217:	56                   	push   %esi
477218:	ff 15 0c f8 48 00    	call   *0x48f80c
47721e:	8b 75 0c             	mov    0xc(%ebp),%esi
477221:	8b ce                	mov    %esi,%ecx
477223:	89 45 08             	mov    %eax,0x8(%ebp)
477226:	83 f8 ff             	cmp    $0xffffffff,%eax
477229:	75 24                	jne    0x47724f
47722b:	e8 f0 27 f9 ff       	call   0x409a20
477230:	57                   	push   %edi
477231:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
477238:	89 3e                	mov    %edi,(%esi)
47723a:	ff 15 04 f8 48 00    	call   *0x48f804
477240:	50                   	push   %eax
477241:	8b 03                	mov    (%ebx),%eax
477243:	8b 48 04             	mov    0x4(%eax),%ecx
477246:	03 cb                	add    %ebx,%ecx
477248:	e8 56 f8 fd ff       	call   0x456aa3
47724d:	eb 11                	jmp    0x477260
47724f:	e8 cc 27 f9 ff       	call   0x409a20
477254:	8b 45 08             	mov    0x8(%ebp),%eax
477257:	89 06                	mov    %eax,(%esi)
477259:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
477260:	5f                   	pop    %edi
477261:	5e                   	pop    %esi
477262:	33 c0                	xor    %eax,%eax
477264:	5b                   	pop    %ebx
477265:	8b e5                	mov    %ebp,%esp
477267:	5d                   	pop    %ebp
477268:	c2 08 00             	ret    $0x8
47726b:	55                   	push   %ebp
47726c:	8b ec                	mov    %esp,%ebp
47726e:	8b 45 08             	mov    0x8(%ebp),%eax
477271:	8b 40 04             	mov    0x4(%eax),%eax
477274:	8b 00                	mov    (%eax),%eax
477276:	8b 40 0c             	mov    0xc(%eax),%eax
477279:	48                   	dec    %eax
47727a:	83 f8 0e             	cmp    $0xe,%eax
47727d:	77 70                	ja     0x4772ef
47727f:	ff 24 85 03 73 47 00 	jmp    *0x477303(,%eax,4)
477286:	68 a0 a9 4b 00       	push   $0x4ba9a0
47728b:	eb 67                	jmp    0x4772f4
47728d:	68 ac a9 4b 00       	push   $0x4ba9ac
477292:	eb 60                	jmp    0x4772f4
477294:	68 b8 a9 4b 00       	push   $0x4ba9b8
477299:	eb 59                	jmp    0x4772f4
47729b:	68 c8 a9 4b 00       	push   $0x4ba9c8
4772a0:	eb 52                	jmp    0x4772f4
4772a2:	68 d8 a9 4b 00       	push   $0x4ba9d8
4772a7:	eb 4b                	jmp    0x4772f4
4772a9:	68 e4 a9 4b 00       	push   $0x4ba9e4
4772ae:	eb 44                	jmp    0x4772f4
4772b0:	68 f8 a9 4b 00       	push   $0x4ba9f8
4772b5:	eb 3d                	jmp    0x4772f4
4772b7:	68 0c aa 4b 00       	push   $0x4baa0c
4772bc:	eb 36                	jmp    0x4772f4
4772be:	68 14 aa 4b 00       	push   $0x4baa14
4772c3:	eb 2f                	jmp    0x4772f4
4772c5:	68 24 aa 4b 00       	push   $0x4baa24
4772ca:	eb 28                	jmp    0x4772f4
4772cc:	68 30 aa 4b 00       	push   $0x4baa30
4772d1:	eb 21                	jmp    0x4772f4
4772d3:	68 40 aa 4b 00       	push   $0x4baa40
4772d8:	eb 1a                	jmp    0x4772f4
4772da:	68 50 aa 4b 00       	push   $0x4baa50
4772df:	eb 13                	jmp    0x4772f4
4772e1:	68 64 aa 4b 00       	push   $0x4baa64
4772e6:	eb 0c                	jmp    0x4772f4
4772e8:	68 80 aa 4b 00       	push   $0x4baa80
4772ed:	eb 05                	jmp    0x4772f4
4772ef:	68 34 a7 4b 00       	push   $0x4ba734
4772f4:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4772f7:	e8 fc 28 f9 ff       	call   0x409bf8
4772fc:	33 c0                	xor    %eax,%eax
4772fe:	5d                   	pop    %ebp
4772ff:	c2 08 00             	ret    $0x8
477302:	90                   	nop
477303:	86 72 47             	xchg   %dh,0x47(%edx)
477306:	00 8d 72 47 00 94    	add    %cl,-0x6bffb88e(%ebp)
47730c:	72 47                	jb     0x477355
47730e:	00 9b 72 47 00 a2    	add    %bl,-0x5dffb88e(%ebx)
477314:	72 47                	jb     0x47735d
477316:	00 b0 72 47 00 b7    	add    %dh,-0x48ffb88e(%eax)
47731c:	72 47                	jb     0x477365
47731e:	00 be 72 47 00 c5    	add    %bh,-0x3affb88e(%esi)
477324:	72 47                	jb     0x47736d
477326:	00 cc                	add    %cl,%ah
477328:	72 47                	jb     0x477371
47732a:	00 d3                	add    %dl,%bl
47732c:	72 47                	jb     0x477375
47732e:	00 a9 72 47 00 da    	add    %ch,-0x25ffb88e(%ecx)
477334:	72 47                	jb     0x47737d
477336:	00 e1                	add    %ah,%cl
477338:	72 47                	jb     0x477381
47733a:	00 e8                	add    %ch,%al
47733c:	72 47                	jb     0x477385
47733e:	00 55 8b             	add    %dl,-0x75(%ebp)
477341:	ec                   	in     (%dx),%al
477342:	8b 45 0c             	mov    0xc(%ebp),%eax
477345:	8a 4d 08             	mov    0x8(%ebp),%cl
477348:	3a 08                	cmp    (%eax),%cl
47734a:	72 0c                	jb     0x477358
47734c:	8b 45 10             	mov    0x10(%ebp),%eax
47734f:	3a 08                	cmp    (%eax),%cl
477351:	77 05                	ja     0x477358
477353:	33 c0                	xor    %eax,%eax
477355:	40                   	inc    %eax
477356:	eb 02                	jmp    0x47735a
477358:	33 c0                	xor    %eax,%eax
47735a:	5d                   	pop    %ebp
47735b:	c2 0c 00             	ret    $0xc
47735e:	55                   	push   %ebp
47735f:	8b ec                	mov    %esp,%ebp
477361:	8b d1                	mov    %ecx,%edx
477363:	56                   	push   %esi
477364:	8b 75 08             	mov    0x8(%ebp),%esi
477367:	8d 42 05             	lea    0x5(%edx),%eax
47736a:	50                   	push   %eax
47736b:	8d 42 04             	lea    0x4(%edx),%eax
47736e:	50                   	push   %eax
47736f:	0f b6 06             	movzbl (%esi),%eax
477372:	50                   	push   %eax
477373:	e8 c7 ff ff ff       	call   0x47733f
477378:	84 c0                	test   %al,%al
47737a:	74 2e                	je     0x4773aa
47737c:	8d 42 03             	lea    0x3(%edx),%eax
47737f:	50                   	push   %eax
477380:	8d 42 02             	lea    0x2(%edx),%eax
477383:	50                   	push   %eax
477384:	0f b6 46 01          	movzbl 0x1(%esi),%eax
477388:	50                   	push   %eax
477389:	e8 b1 ff ff ff       	call   0x47733f
47738e:	84 c0                	test   %al,%al
477390:	74 18                	je     0x4773aa
477392:	8d 42 01             	lea    0x1(%edx),%eax
477395:	50                   	push   %eax
477396:	0f b6 46 02          	movzbl 0x2(%esi),%eax
47739a:	52                   	push   %edx
47739b:	50                   	push   %eax
47739c:	e8 9e ff ff ff       	call   0x47733f
4773a1:	84 c0                	test   %al,%al
4773a3:	74 05                	je     0x4773aa
4773a5:	33 c0                	xor    %eax,%eax
4773a7:	40                   	inc    %eax
4773a8:	eb 02                	jmp    0x4773ac
4773aa:	33 c0                	xor    %eax,%eax
4773ac:	5e                   	pop    %esi
4773ad:	5d                   	pop    %ebp
4773ae:	c2 04 00             	ret    $0x4
4773b1:	55                   	push   %ebp
4773b2:	8b ec                	mov    %esp,%ebp
4773b4:	83 e4 f8             	and    $0xfffffff8,%esp
4773b7:	83 ec 2c             	sub    $0x2c,%esp
4773ba:	53                   	push   %ebx
4773bb:	56                   	push   %esi
4773bc:	57                   	push   %edi
4773bd:	8b f1                	mov    %ecx,%esi
4773bf:	ff 15 34 f7 48 00    	call   *0x48f734
4773c5:	50                   	push   %eax
4773c6:	8d 44 24 1c          	lea    0x1c(%esp),%eax
4773ca:	50                   	push   %eax
4773cb:	ff b6 00 01 00 00    	push   0x100(%esi)
4773d1:	e8 be c8 ff ff       	call   0x473c94
4773d6:	8b 75 08             	mov    0x8(%ebp),%esi
4773d9:	8d 44 24 28          	lea    0x28(%esp),%eax
4773dd:	8b 7d 0c             	mov    0xc(%ebp),%edi
4773e0:	03 74 24 18          	add    0x18(%esp),%esi
4773e4:	03 7c 24 1c          	add    0x1c(%esp),%edi
4773e8:	50                   	push   %eax
4773e9:	ff 15 44 f6 48 00    	call   *0x48f644
4773ef:	50                   	push   %eax
4773f0:	ff 15 94 f6 48 00    	call   *0x48f694
4773f6:	8d 46 01             	lea    0x1(%esi),%eax
4773f9:	8b 75 10             	mov    0x10(%ebp),%esi
4773fc:	c1 e0 10             	shl    $0x10,%eax
4773ff:	99                   	cltd
477400:	f7 7c 24 30          	idivl  0x30(%esp)
477404:	8d 58 ff             	lea    -0x1(%eax),%ebx
477407:	8d 47 01             	lea    0x1(%edi),%eax
47740a:	c1 e0 10             	shl    $0x10,%eax
47740d:	99                   	cltd
47740e:	f7 7c 24 34          	idivl  0x34(%esp)
477412:	8d 78 ff             	lea    -0x1(%eax),%edi
477415:	85 f6                	test   %esi,%esi
477417:	75 26                	jne    0x47743f
477419:	56                   	push   %esi
47741a:	56                   	push   %esi
47741b:	57                   	push   %edi
47741c:	53                   	push   %ebx
47741d:	68 01 80 00 00       	push   $0x8001
477422:	ff 15 98 f5 48 00    	call   *0x48f598
477428:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
47742c:	74 08                	je     0x477436
47742e:	6a 0a                	push   $0xa
477430:	59                   	pop    %ecx
477431:	e8 b0 e0 fe ff       	call   0x4654e6
477436:	5f                   	pop    %edi
477437:	5e                   	pop    %esi
477438:	5b                   	pop    %ebx
477439:	8b e5                	mov    %ebp,%esp
47743b:	5d                   	pop    %ebp
47743c:	c2 10 00             	ret    $0x10
47743f:	7e 05                	jle    0x477446
477441:	83 fe 64             	cmp    $0x64,%esi
477444:	7e 03                	jle    0x477449
477446:	6a 0a                	push   $0xa
477448:	5e                   	pop    %esi
477449:	8d 44 24 20          	lea    0x20(%esp),%eax
47744d:	50                   	push   %eax
47744e:	ff 15 bc f5 48 00    	call   *0x48f5bc
477454:	69 44 24 20 ff ff 00 	imul   $0xffff,0x20(%esp),%eax
47745b:	00
47745c:	8b 4c 24 30          	mov    0x30(%esp),%ecx
477460:	49                   	dec    %ecx
477461:	99                   	cltd
477462:	f7 f9                	idiv   %ecx
477464:	8b 4c 24 34          	mov    0x34(%esp),%ecx
477468:	40                   	inc    %eax
477469:	89 44 24 14          	mov    %eax,0x14(%esp)
47746d:	69 44 24 24 ff ff 00 	imul   $0xffff,0x24(%esp),%eax
477474:	00
477475:	49                   	dec    %ecx
477476:	99                   	cltd
477477:	f7 f9                	idiv   %ecx
477479:	40                   	inc    %eax
47747a:	89 44 24 10          	mov    %eax,0x10(%esp)
47747e:	8d 44 24 10          	lea    0x10(%esp),%eax
477482:	8b d7                	mov    %edi,%edx