46307d:	ff 74 24 0c          	push   0xc(%esp)
463081:	8b f1                	mov    %ecx,%esi
463083:	e8 1b 4c ff ff       	call   0x457ca3
463088:	8b 44 24 08          	mov    0x8(%esp),%eax
46308c:	83 66 2c 00          	andl   $0x0,0x2c(%esi)
463090:	89 46 28             	mov    %eax,0x28(%esi)
463093:	c7 06 b4 02 49 00    	movl   $0x4902b4,(%esi)
463099:	c7 46 30 01 00 00 00 	movl   $0x1,0x30(%esi)
4630a0:	8b c6                	mov    %esi,%eax
4630a2:	5e                   	pop    %esi
4630a3:	c2 08 00             	ret    $0x8
4630a6:	b8 56 41 48 00       	mov    $0x484156,%eax
4630ab:	e8 cc 4b fb ff       	call   0x417c7c
4630b0:	51                   	push   %ecx
4630b1:	56                   	push   %esi
4630b2:	8b f1                	mov    %ecx,%esi
4630b4:	89 75 f0             	mov    %esi,-0x10(%ebp)
4630b7:	c7 06 b4 02 49 00    	movl   $0x4902b4,(%esi)
4630bd:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4630c1:	83 7e 20 00          	cmpl   $0x0,0x20(%esi)
4630c5:	74 05                	je     0x4630cc
4630c7:	e8 c5 4e ff ff       	call   0x457f91
4630cc:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4630d0:	8b ce                	mov    %esi,%ecx
4630d2:	e8 b9 4f ff ff       	call   0x458090
4630d7:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4630da:	5e                   	pop    %esi
4630db:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4630e2:	c9                   	leave
4630e3:	c3                   	ret
4630e4:	8b 44 24 04          	mov    0x4(%esp),%eax
4630e8:	85 c0                	test   %eax,%eax
4630ea:	56                   	push   %esi
4630eb:	8b f1                	mov    %ecx,%esi
4630ed:	75 05                	jne    0x4630f4
4630ef:	e8 57 23 fd ff       	call   0x43544b
4630f4:	50                   	push   %eax
4630f5:	89 46 2c             	mov    %eax,0x2c(%esi)
4630f8:	ff 15 40 03 4b 00    	call   *0x4b0340
4630fe:	ff 76 2c             	push   0x2c(%esi)
463101:	89 46 20             	mov    %eax,0x20(%esi)
463104:	ff 15 3c 03 4b 00    	call   *0x4b033c
46310a:	89 46 1c             	mov    %eax,0x1c(%esi)
46310d:	89 46 18             	mov    %eax,0x18(%esi)
463110:	8b 44 24 0c          	mov    0xc(%esp),%eax
463114:	89 46 30             	mov    %eax,0x30(%esi)
463117:	5e                   	pop    %esi
463118:	c2 08 00             	ret    $0x8
46311b:	56                   	push   %esi
46311c:	ff 74 24 08          	push   0x8(%esp)
463120:	8b f1                	mov    %ecx,%esi
463122:	ff 76 28             	push   0x28(%esi)
463125:	ff 15 58 03 4b 00    	call   *0x4b0358
46312b:	85 c0                	test   %eax,%eax
46312d:	89 46 2c             	mov    %eax,0x2c(%esi)
463130:	5e                   	pop    %esi
463131:	74 07                	je     0x46313a
463133:	50                   	push   %eax
463134:	ff 15 40 03 4b 00    	call   *0x4b0340
46313a:	c2 04 00             	ret    $0x4
46313d:	56                   	push   %esi
46313e:	8b f1                	mov    %ecx,%esi
463140:	83 7e 30 00          	cmpl   $0x0,0x30(%esi)
463144:	74 1d                	je     0x463163
463146:	ff 76 2c             	push   0x2c(%esi)
463149:	ff 15 44 03 4b 00    	call   *0x4b0344
46314f:	ff 76 28             	push   0x28(%esi)
463152:	ff 74 24 10          	push   0x10(%esp)
463156:	ff 76 2c             	push   0x2c(%esi)
463159:	ff 15 a0 02 4b 00    	call   *0x4b02a0
46315f:	85 c0                	test   %eax,%eax
463161:	75 04                	jne    0x463167
463163:	33 c0                	xor    %eax,%eax
463165:	eb 0a                	jmp    0x463171
463167:	50                   	push   %eax
463168:	89 46 2c             	mov    %eax,0x2c(%esi)
46316b:	ff 15 40 03 4b 00    	call   *0x4b0340
463171:	5e                   	pop    %esi
463172:	c2 08 00             	ret    $0x8
463175:	56                   	push   %esi
463176:	8b f1                	mov    %ecx,%esi
463178:	ff 76 2c             	push   0x2c(%esi)
46317b:	ff 15 44 03 4b 00    	call   *0x4b0344
463181:	ff 76 2c             	push   0x2c(%esi)
463184:	ff 15 5c 03 4b 00    	call   *0x4b035c
46318a:	5e                   	pop    %esi
46318b:	c2 04 00             	ret    $0x4
46318e:	56                   	push   %esi
46318f:	57                   	push   %edi
463190:	8b f1                	mov    %ecx,%esi
463192:	8b 7e 2c             	mov    0x2c(%esi),%edi
463195:	57                   	push   %edi
463196:	ff 15 44 03 4b 00    	call   *0x4b0344
46319c:	33 c0                	xor    %eax,%eax
46319e:	89 46 2c             	mov    %eax,0x2c(%esi)
4631a1:	89 46 20             	mov    %eax,0x20(%esi)
4631a4:	89 46 18             	mov    %eax,0x18(%esi)
4631a7:	8b c7                	mov    %edi,%eax
4631a9:	5f                   	pop    %edi
4631aa:	5e                   	pop    %esi
4631ab:	c3                   	ret
4631ac:	56                   	push   %esi
4631ad:	8b f1                	mov    %ecx,%esi
4631af:	e8 f2 fe ff ff       	call   0x4630a6
4631b4:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
4631b9:	74 07                	je     0x4631c2
4631bb:	56                   	push   %esi
4631bc:	e8 bf ce fd ff       	call   0x440080
4631c1:	59                   	pop    %ecx
4631c2:	8b c6                	mov    %esi,%eax
4631c4:	5e                   	pop    %esi
4631c5:	c2 04 00             	ret    $0x4
4631c8:	b8 04 05 49 00       	mov    $0x490504,%eax
4631cd:	c3                   	ret
4631ce:	b8 68 41 48 00       	mov    $0x484168,%eax
4631d3:	e8 a4 4a fb ff       	call   0x417c7c
4631d8:	51                   	push   %ecx
4631d9:	56                   	push   %esi
4631da:	57                   	push   %edi
4631db:	33 ff                	xor    %edi,%edi
4631dd:	57                   	push   %edi
4631de:	8b f1                	mov    %ecx,%esi
4631e0:	68 a0 f9 48 00       	push   $0x48f9a0
4631e5:	89 75 f0             	mov    %esi,-0x10(%ebp)
4631e8:	e8 d4 ef fe ff       	call   0x4521c1
4631ed:	8d 4e 68             	lea    0x68(%esi),%ecx
4631f0:	89 7d fc             	mov    %edi,-0x4(%ebp)
4631f3:	c7 06 84 07 49 00    	movl   $0x490784,(%esi)
4631f9:	e8 d5 a0 fd ff       	call   0x43d2d3
4631fe:	8b 4d f4             	mov    -0xc(%ebp),%ecx
463201:	89 7e 7c             	mov    %edi,0x7c(%esi)
463204:	89 be 80 00 00 00    	mov    %edi,0x80(%esi)
46320a:	89 7e 60             	mov    %edi,0x60(%esi)
46320d:	89 7e 64             	mov    %edi,0x64(%esi)
463210:	c7 46 5c 20 00 00 00 	movl   $0x20,0x5c(%esi)
463217:	5f                   	pop    %edi
463218:	8b c6                	mov    %esi,%eax
46321a:	5e                   	pop    %esi
46321b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
463222:	c9                   	leave
463223:	c3                   	ret
463224:	b8 85 41 48 00       	mov    $0x484185,%eax
463229:	e8 4e 4a fb ff       	call   0x417c7c
46322e:	51                   	push   %ecx
46322f:	56                   	push   %esi
463230:	8b f1                	mov    %ecx,%esi
463232:	89 75 f0             	mov    %esi,-0x10(%ebp)
463235:	c7 06 84 07 49 00    	movl   $0x490784,(%esi)
46323b:	ff 76 60             	push   0x60(%esi)
46323e:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
463245:	e8 36 ce fd ff       	call   0x440080
46324a:	59                   	pop    %ecx
46324b:	8d 4e 68             	lea    0x68(%esi),%ecx
46324e:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
463252:	e8 93 a0 fd ff       	call   0x43d2ea
463257:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
46325b:	8b ce                	mov    %esi,%ecx
46325d:	e8 49 ef fe ff       	call   0x4521ab
463262:	8b 4d f4             	mov    -0xc(%ebp),%ecx
463265:	5e                   	pop    %esi
463266:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
46326d:	c9                   	leave
46326e:	c3                   	ret
46326f:	c7 41 58 c4 01 b0 50 	movl   $0x50b001c4,0x58(%ecx)
463276:	e9 e6 ee fe ff       	jmp    0x452161
46327b:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
463280:	56                   	push   %esi
463281:	8b f1                	mov    %ecx,%esi
463283:	74 2c                	je     0x4632b1
463285:	e8 bc d9 fd ff       	call   0x440c46
46328a:	a9 00 00 20 00       	test   $0x200000,%eax
46328f:	8b 4c 24 08          	mov    0x8(%esp),%ecx
463293:	74 0a                	je     0x46329f
463295:	8b 15 d8 c3 4a 00    	mov    0x4ac3d8,%edx
46329b:	4a                   	dec    %edx
46329c:	01 51 08             	add    %edx,0x8(%ecx)
46329f:	a9 00 00 10 00       	test   $0x100000,%eax
4632a4:	74 2f                	je     0x4632d5
4632a6:	a1 dc c3 4a 00       	mov    0x4ac3dc,%eax
4632ab:	48                   	dec    %eax
4632ac:	01 41 0c             	add    %eax,0xc(%ecx)
4632af:	eb 24                	jmp    0x4632d5
4632b1:	e8 aa d9 fd ff       	call   0x440c60
4632b6:	25 ff fd ff ff       	and    $0xfffffdff,%eax
4632bb:	50                   	push   %eax
4632bc:	6a 00                	push   $0x0
4632be:	8b ce                	mov    %esi,%ecx
4632c0:	e8 81 d9 fd ff       	call   0x440c46
4632c5:	0d 00 00 80 00       	or     $0x800000,%eax
4632ca:	50                   	push   %eax
4632cb:	ff 74 24 14          	push   0x14(%esp)
4632cf:	ff 15 08 07 4b 00    	call   *0x4b0708
4632d5:	5e                   	pop    %esi
4632d6:	c2 08 00             	ret    $0x8
4632d9:	6a 00                	push   $0x0
4632db:	e8 ee d9 fd ff       	call   0x440cce
4632e0:	c3                   	ret
4632e1:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4632e5:	8b 44 24 0c          	mov    0xc(%esp),%eax
4632e9:	8b 54 24 08          	mov    0x8(%esp),%edx
4632ed:	03 c1                	add    %ecx,%eax
4632ef:	03 d1                	add    %ecx,%edx
4632f1:	eb 06                	jmp    0x4632f9
4632f3:	80 38 0d             	cmpb   $0xd,(%eax)
4632f6:	74 05                	je     0x4632fd
4632f8:	40                   	inc    %eax
4632f9:	3b c2                	cmp    %edx,%eax
4632fb:	72 f6                	jb     0x4632f3
4632fd:	2b c1                	sub    %ecx,%eax
4632ff:	c2 0c 00             	ret    $0xc
463302:	8b 4c 24 04          	mov    0x4(%esp),%ecx
463306:	8b 44 24 0c          	mov    0xc(%esp),%eax
46330a:	8b 54 24 08          	mov    0x8(%esp),%edx
46330e:	03 c1                	add    %ecx,%eax
463310:	03 d1                	add    %ecx,%edx
463312:	3b c2                	cmp    %edx,%eax
463314:	73 14                	jae    0x46332a
463316:	80 38 0d             	cmpb   $0xd,(%eax)
463319:	75 05                	jne    0x463320
46331b:	40                   	inc    %eax
46331c:	3b c2                	cmp    %edx,%eax
46331e:	72 f6                	jb     0x463316
463320:	3b c2                	cmp    %edx,%eax
463322:	73 06                	jae    0x46332a
463324:	80 38 0a             	cmpb   $0xa,(%eax)
463327:	75 01                	jne    0x46332a
463329:	40                   	inc    %eax
46332a:	2b c1                	sub    %ecx,%eax
46332c:	c2 0c 00             	ret    $0xc
46332f:	e9 ce b9 01 00       	jmp    0x47ed02
463334:	56                   	push   %esi
463335:	57                   	push   %edi
463336:	8b 7c 24 0c          	mov    0xc(%esp),%edi
46333a:	8b 37                	mov    (%edi),%esi
46333c:	6a 01                	push   $0x1
46333e:	ff 15 f4 05 4b 00    	call   *0x4b05f4
463344:	50                   	push   %eax
463345:	8b cf                	mov    %edi,%ecx
463347:	ff 16                	call   *(%esi)
463349:	5f                   	pop    %edi
46334a:	5e                   	pop    %esi
46334b:	c2 04 00             	ret    $0x4
46334e:	56                   	push   %esi
46334f:	57                   	push   %edi
463350:	8b 7c 24 0c          	mov    0xc(%esp),%edi
463354:	8b 37                	mov    (%edi),%esi
463356:	e8 ef e0 fd ff       	call   0x44144a
46335b:	f7 d8                	neg    %eax
46335d:	1b c0                	sbb    %eax,%eax
46335f:	f7 d8                	neg    %eax
463361:	50                   	push   %eax
463362:	8b cf                	mov    %edi,%ecx
463364:	ff 16                	call   *(%esi)
463366:	5f                   	pop    %edi
463367:	5e                   	pop    %esi
463368:	c2 04 00             	ret    $0x4
46336b:	6a 00                	push   $0x0
46336d:	ff 15 08 06 4b 00    	call   *0x4b0608
463373:	c2 04 00             	ret    $0x4
463376:	56                   	push   %esi
463377:	8b f1                	mov    %ecx,%esi
463379:	e8 a6 fe ff ff       	call   0x463224
46337e:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
463383:	74 07                	je     0x46338c
463385:	56                   	push   %esi
463386:	e8 f5 cc fd ff       	call   0x440080
46338b:	59                   	pop    %ecx
46338c:	8b c6                	mov    %esi,%eax
46338e:	5e                   	pop    %esi
46338f:	c2 04 00             	ret    $0x4
463392:	56                   	push   %esi
463393:	ff 74 24 08          	push   0x8(%esp)
463397:	8b f1                	mov    %ecx,%esi
463399:	e8 3d ea fe ff       	call   0x451ddb
46339e:	85 c0                	test   %eax,%eax
4633a0:	74 05                	je     0x4633a7
4633a2:	83 c8 ff             	or     $0xffffffff,%eax
4633a5:	eb 22                	jmp    0x4633c9
4633a7:	6a 00                	push   $0x0
4633a9:	68 ff ff 0f 00       	push   $0xfffff
4633ae:	68 c5 00 00 00       	push   $0xc5
4633b3:	ff 76 1c             	push   0x1c(%esi)
4633b6:	ff 15 98 08 4b 00    	call   *0x4b0898
4633bc:	8d 46 5c             	lea    0x5c(%esi),%eax
4633bf:	50                   	push   %eax
4633c0:	8b ce                	mov    %esi,%ecx
4633c2:	e8 0a 2c fb ff       	call   0x415fd1
4633c7:	33 c0                	xor    %eax,%eax
4633c9:	5e                   	pop    %esi
4633ca:	c2 04 00             	ret    $0x4
4633cd:	55                   	push   %ebp
4633ce:	8b ec                	mov    %esp,%ebp
4633d0:	53                   	push   %ebx
4633d1:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4633d4:	56                   	push   %esi
4633d5:	57                   	push   %edi
4633d6:	8d 43 01             	lea    0x1(%ebx),%eax
4633d9:	50                   	push   %eax
4633da:	6a 02                	push   $0x2
4633dc:	8b f1                	mov    %ecx,%esi
4633de:	ff 15 20 03 4b 00    	call   *0x4b0320
4633e4:	8b f8                	mov    %eax,%edi
4633e6:	85 ff                	test   %edi,%edi
4633e8:	74 7f                	je     0x463469
4633ea:	57                   	push   %edi
4633eb:	ff 15 f8 01 4b 00    	call   *0x4b01f8
4633f1:	8b 4d 08             	mov    0x8(%ebp),%ecx
4633f4:	53                   	push   %ebx
4633f5:	50                   	push   %eax
4633f6:	89 45 0c             	mov    %eax,0xc(%ebp)
4633f9:	e8 2b d3 fe ff       	call   0x450729
4633fe:	3b c3                	cmp    %ebx,%eax
463400:	74 17                	je     0x463419
463402:	57                   	push   %edi
463403:	ff 15 fc 01 4b 00    	call   *0x4b01fc
463409:	57                   	push   %edi
46340a:	ff 15 50 03 4b 00    	call   *0x4b0350
463410:	6a 00                	push   $0x0
463412:	6a 03                	push   $0x3
463414:	e8 42 dd fe ff       	call   0x45115b
463419:	8b 45 0c             	mov    0xc(%ebp),%eax
46341c:	c6 04 18 00          	movb   $0x0,(%eax,%ebx,1)
463420:	83 3d 2c c4 4a 00 00 	cmpl   $0x0,0x4ac42c
463427:	74 45                	je     0x46346e
463429:	50                   	push   %eax
46342a:	ff 76 1c             	push   0x1c(%esi)
46342d:	ff 15 10 08 4b 00    	call   *0x4b0810
463433:	57                   	push   %edi
463434:	89 45 0c             	mov    %eax,0xc(%ebp)
463437:	ff 15 fc 01 4b 00    	call   *0x4b01fc
46343d:	57                   	push   %edi
46343e:	ff 15 50 03 4b 00    	call   *0x4b0350
463444:	33 ff                	xor    %edi,%edi
463446:	39 7d 0c             	cmp    %edi,0xc(%ebp)
463449:	74 1e                	je     0x463469
46344b:	ff 76 1c             	push   0x1c(%esi)
46344e:	ff 15 cc 07 4b 00    	call   *0x4b07cc
463454:	3b c3                	cmp    %ebx,%eax
463456:	7c 11                	jl     0x463469
463458:	ff 76 60             	push   0x60(%esi)
46345b:	e8 20 cc fd ff       	call   0x440080
463460:	59                   	pop    %ecx
463461:	89 7e 60             	mov    %edi,0x60(%esi)
463464:	89 7e 64             	mov    %edi,0x64(%esi)
463467:	eb 2f                	jmp    0x463498
463469:	e8 a9 1f fd ff       	call   0x435417
46346e:	57                   	push   %edi
46346f:	ff 15 fc 01 4b 00    	call   *0x4b01fc
463475:	8b ce                	mov    %esi,%ecx
463477:	e8 c6 2a fb ff       	call   0x415f42