450003:	50                   	push   %eax
450004:	8d 8b 94 01 00 00    	lea    0x194(%ebx),%ecx
45000a:	e8 d9 29 01 00       	call   0x4629e8
45000f:	eb 11                	jmp    0x450022
450011:	e8 d4 f4 fc ff       	call   0x41f4ea
450016:	59                   	pop    %ecx
450017:	8b 8b 98 01 00 00    	mov    0x198(%ebx),%ecx
45001d:	8b 0c b1             	mov    (%ecx,%esi,4),%ecx
450020:	89 01                	mov    %eax,(%ecx)
450022:	8b 83 98 01 00 00    	mov    0x198(%ebx),%eax
450028:	8b 4c 24 10          	mov    0x10(%esp),%ecx
45002c:	8b 04 b0             	mov    (%eax,%esi,4),%eax
45002f:	8b 00                	mov    (%eax),%eax
450031:	83 20 00             	andl   $0x0,(%eax)
450034:	8b 83 98 01 00 00    	mov    0x198(%ebx),%eax
45003a:	8b 04 b0             	mov    (%eax,%esi,4),%eax
45003d:	8b 00                	mov    (%eax),%eax
45003f:	89 48 04             	mov    %ecx,0x4(%eax)
450042:	8b cf                	mov    %edi,%ecx
450044:	e8 d7 2b fc ff       	call   0x412c20
450049:	8d 46 01             	lea    0x1(%esi),%eax
45004c:	89 07                	mov    %eax,(%edi)
45004e:	c7 47 0c 01 00 00 00 	movl   $0x1,0xc(%edi)
450055:	5f                   	pop    %edi
450056:	5e                   	pop    %esi
450057:	33 c0                	xor    %eax,%eax
450059:	5b                   	pop    %ebx
45005a:	8b e5                	mov    %ebp,%esp
45005c:	5d                   	pop    %ebp
45005d:	c2 08 00             	ret    $0x8
450060:	55                   	push   %ebp
450061:	8b ec                	mov    %esp,%ebp
450063:	8b 45 08             	mov    0x8(%ebp),%eax
450066:	6a 01                	push   $0x1
450068:	ff 70 08             	push   0x8(%eax)
45006b:	ff 75 0c             	push   0xc(%ebp)
45006e:	50                   	push   %eax
45006f:	e8 66 16 00 00       	call   0x4516da
450074:	5d                   	pop    %ebp
450075:	c2 08 00             	ret    $0x8
450078:	55                   	push   %ebp
450079:	8b ec                	mov    %esp,%ebp
45007b:	83 e4 f8             	and    $0xfffffff8,%esp
45007e:	83 ec 24             	sub    $0x24,%esp
450081:	53                   	push   %ebx
450082:	56                   	push   %esi
450083:	8b 75 0c             	mov    0xc(%ebp),%esi
450086:	8b d9                	mov    %ecx,%ebx
450088:	57                   	push   %edi
450089:	8b ce                	mov    %esi,%ecx
45008b:	e8 90 2b fc ff       	call   0x412c20
450090:	83 26 00             	andl   $0x0,(%esi)
450093:	8b 45 08             	mov    0x8(%ebp),%eax
450096:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
45009d:	8b 40 04             	mov    0x4(%eax),%eax
4500a0:	6a 04                	push   $0x4
4500a2:	8b 38                	mov    (%eax),%edi
4500a4:	8b cf                	mov    %edi,%ecx
4500a6:	e8 39 d5 fb ff       	call   0x40d5e4
4500ab:	84 c0                	test   %al,%al
4500ad:	74 5c                	je     0x45010b
4500af:	6a 38                	push   $0x38
4500b1:	e8 34 f4 fc ff       	call   0x41f4ea
4500b6:	59                   	pop    %ecx
4500b7:	85 c0                	test   %eax,%eax
4500b9:	74 0b                	je     0x4500c6
4500bb:	8b c8                	mov    %eax,%ecx
4500bd:	e8 f8 47 fb ff       	call   0x4048ba
4500c2:	8b f8                	mov    %eax,%edi
4500c4:	eb 02                	jmp    0x4500c8
4500c6:	33 ff                	xor    %edi,%edi
4500c8:	8b 45 08             	mov    0x8(%ebp),%eax
4500cb:	8b 40 04             	mov    0x4(%eax),%eax
4500ce:	8b 30                	mov    (%eax),%esi
4500d0:	8b ce                	mov    %esi,%ecx
4500d2:	e8 95 92 fb ff       	call   0x40936c
4500d7:	68 00 20 00 00       	push   $0x2000
4500dc:	ff 76 08             	push   0x8(%esi)
4500df:	8b cf                	mov    %edi,%ecx
4500e1:	e8 6a 44 fb ff       	call   0x404550
4500e6:	84 c0                	test   %al,%al
4500e8:	75 48                	jne    0x450132
4500ea:	85 ff                	test   %edi,%edi
4500ec:	74 08                	je     0x4500f6
4500ee:	51                   	push   %ecx
4500ef:	8b cf                	mov    %edi,%ecx
4500f1:	e8 45 44 fb ff       	call   0x40453b
4500f6:	8b 03                	mov    (%ebx),%eax
4500f8:	6a 00                	push   $0x0
4500fa:	8b 48 04             	mov    0x4(%eax),%ecx
4500fd:	6a 01                	push   $0x1
4500ff:	03 cb                	add    %ebx,%ecx
450101:	e8 46 ce ff ff       	call   0x44cf4c
450106:	e9 de 00 00 00       	jmp    0x4501e9
45010b:	6a 00                	push   $0x0
45010d:	57                   	push   %edi
45010e:	8d 44 24 14          	lea    0x14(%esp),%eax
450112:	50                   	push   %eax
450113:	8b cb                	mov    %ebx,%ecx
450115:	e8 f9 1f 00 00       	call   0x452113
45011a:	84 c0                	test   %al,%al
45011c:	74 d8                	je     0x4500f6
45011e:	8b 8b 98 01 00 00    	mov    0x198(%ebx),%ecx
450124:	8b 44 24 0c          	mov    0xc(%esp),%eax
450128:	8b 04 81             	mov    (%ecx,%eax,4),%eax
45012b:	8b 00                	mov    (%eax),%eax
45012d:	8b 78 04             	mov    0x4(%eax),%edi
450130:	eb 03                	jmp    0x450135
450132:	8b 75 0c             	mov    0xc(%ebp),%esi
450135:	68 00 01 00 00       	push   $0x100
45013a:	8d 4c 24 24          	lea    0x24(%esp),%ecx
45013e:	e8 cc 69 fb ff       	call   0x406b0f
450143:	33 c0                	xor    %eax,%eax
450145:	c7 44 24 10 04 dc 49 	movl   $0x49dc04,0x10(%esp)
45014c:	00
45014d:	89 44 24 14          	mov    %eax,0x14(%esp)
450151:	89 44 24 18          	mov    %eax,0x18(%esp)
450155:	89 44 24 1c          	mov    %eax,0x1c(%esp)
450159:	8d 44 24 20          	lea    0x20(%esp),%eax
45015d:	50                   	push   %eax
45015e:	8b cf                	mov    %edi,%ecx
450160:	e8 4a be fb ff       	call   0x40bfaf
450165:	84 c0                	test   %al,%al
450167:	74 10                	je     0x450179
450169:	8d 44 24 20          	lea    0x20(%esp),%eax
45016d:	50                   	push   %eax
45016e:	8d 4c 24 14          	lea    0x14(%esp),%ecx
450172:	e8 58 63 fb ff       	call   0x4064cf
450177:	eb e0                	jmp    0x450159
450179:	83 7c 24 18 00       	cmpl   $0x0,0x18(%esp)
45017e:	8b ce                	mov    %esi,%ecx
450180:	75 21                	jne    0x4501a3
450182:	e8 99 2a fc ff       	call   0x412c20
450187:	83 26 00             	andl   $0x0,(%esi)
45018a:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
450191:	8b 03                	mov    (%ebx),%eax
450193:	6a 00                	push   $0x0
450195:	8b 48 04             	mov    0x4(%eax),%ecx
450198:	6a 02                	push   $0x2
45019a:	03 cb                	add    %ebx,%ecx
45019c:	e8 ab cd ff ff       	call   0x44cf4c
4501a1:	eb 0a                	jmp    0x4501ad
4501a3:	8d 44 24 10          	lea    0x10(%esp),%eax
4501a7:	50                   	push   %eax
4501a8:	e8 93 29 fc ff       	call   0x412b40
4501ad:	8b 45 08             	mov    0x8(%ebp),%eax
4501b0:	6a 04                	push   $0x4
4501b2:	8b 48 04             	mov    0x4(%eax),%ecx
4501b5:	8b 09                	mov    (%ecx),%ecx
4501b7:	e8 28 d4 fb ff       	call   0x40d5e4
4501bc:	84 c0                	test   %al,%al
4501be:	74 17                	je     0x4501d7
4501c0:	8b cf                	mov    %edi,%ecx
4501c2:	e8 40 47 fb ff       	call   0x404907
4501c7:	83 67 2c 00          	andl   $0x0,0x2c(%edi)
4501cb:	83 67 30 00          	andl   $0x0,0x30(%edi)
4501cf:	51                   	push   %ecx
4501d0:	8b cf                	mov    %edi,%ecx
4501d2:	e8 64 43 fb ff       	call   0x40453b
4501d7:	8d 4c 24 10          	lea    0x10(%esp),%ecx
4501db:	e8 12 52 fb ff       	call   0x4053f2
4501e0:	8d 4c 24 20          	lea    0x20(%esp),%ecx
4501e4:	e8 4e c9 fb ff       	call   0x40cb37
4501e9:	5f                   	pop    %edi
4501ea:	5e                   	pop    %esi
4501eb:	33 c0                	xor    %eax,%eax
4501ed:	5b                   	pop    %ebx
4501ee:	8b e5                	mov    %ebp,%esp
4501f0:	5d                   	pop    %ebp
4501f1:	c2 08 00             	ret    $0x8
4501f4:	55                   	push   %ebp
4501f5:	8b ec                	mov    %esp,%ebp
4501f7:	81 ec 2c 02 00 00    	sub    $0x22c,%esp
4501fd:	8b 45 08             	mov    0x8(%ebp),%eax
450200:	56                   	push   %esi
450201:	8b 40 04             	mov    0x4(%eax),%eax
450204:	57                   	push   %edi
450205:	8b 30                	mov    (%eax),%esi
450207:	8b ce                	mov    %esi,%ecx
450209:	e8 5e 91 fb ff       	call   0x40936c
45020e:	8b 4e 08             	mov    0x8(%esi),%ecx
450211:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
450217:	8b 09                	mov    (%ecx),%ecx
450219:	50                   	push   %eax
45021a:	ba 04 01 00 00       	mov    $0x104,%edx
45021f:	e8 97 6c ff ff       	call   0x446ebb
450224:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
45022a:	50                   	push   %eax
45022b:	e8 ab 0a fd ff       	call   0x420cdb
450230:	59                   	pop    %ecx
450231:	59                   	pop    %ecx
450232:	33 c9                	xor    %ecx,%ecx
450234:	66 89 8c 45 d6 fd ff 	mov    %cx,-0x22a(%ebp,%eax,2)
45023b:	ff
45023c:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
450242:	6a 54                	push   $0x54
450244:	89 45 e8             	mov    %eax,-0x18(%ebp)
450247:	58                   	pop    %eax
450248:	33 ff                	xor    %edi,%edi
45024a:	66 89 45 f0          	mov    %ax,-0x10(%ebp)
45024e:	8d 45 e0             	lea    -0x20(%ebp),%eax
450251:	50                   	push   %eax
450252:	89 7d f6             	mov    %edi,-0xa(%ebp)
450255:	89 7d fa             	mov    %edi,-0x6(%ebp)
450258:	89 7d f2             	mov    %edi,-0xe(%ebp)
45025b:	89 7d e0             	mov    %edi,-0x20(%ebp)
45025e:	89 7d ec             	mov    %edi,-0x14(%ebp)
450261:	c7 45 e4 03 00 00 00 	movl   $0x3,-0x1c(%ebp)
450268:	ff 15 9c d4 48 00    	call   *0x48d49c
45026e:	85 c0                	test   %eax,%eax
450270:	74 13                	je     0x450285
450272:	8b 75 0c             	mov    0xc(%ebp),%esi
450275:	8b ce                	mov    %esi,%ecx
450277:	e8 a4 29 fc ff       	call   0x412c20
45027c:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
450283:	89 3e                	mov    %edi,(%esi)
450285:	5f                   	pop    %edi
450286:	33 c0                	xor    %eax,%eax
450288:	5e                   	pop    %esi
450289:	c9                   	leave
45028a:	c2 08 00             	ret    $0x8
45028d:	55                   	push   %ebp
45028e:	8b ec                	mov    %esp,%ebp
450290:	8b 4d 08             	mov    0x8(%ebp),%ecx
450293:	33 c0                	xor    %eax,%eax
450295:	56                   	push   %esi
450296:	39 41 08             	cmp    %eax,0x8(%ecx)
450299:	74 11                	je     0x4502ac
45029b:	8b 41 04             	mov    0x4(%ecx),%eax
45029e:	8b 30                	mov    (%eax),%esi
4502a0:	8b ce                	mov    %esi,%ecx
4502a2:	e8 c5 90 fb ff       	call   0x40936c
4502a7:	8b 46 08             	mov    0x8(%esi),%eax
4502aa:	8b 00                	mov    (%eax),%eax
4502ac:	6a 07                	push   $0x7
4502ae:	50                   	push   %eax
4502af:	6a 00                	push   $0x0
4502b1:	ff 15 80 d4 48 00    	call   *0x48d480
4502b7:	85 c0                	test   %eax,%eax
4502b9:	74 14                	je     0x4502cf
4502bb:	8b 75 0c             	mov    0xc(%ebp),%esi
4502be:	8b ce                	mov    %esi,%ecx
4502c0:	e8 5b 29 fc ff       	call   0x412c20
4502c5:	83 26 00             	andl   $0x0,(%esi)
4502c8:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
4502cf:	33 c0                	xor    %eax,%eax
4502d1:	5e                   	pop    %esi
4502d2:	5d                   	pop    %ebp
4502d3:	c2 08 00             	ret    $0x8
4502d6:	55                   	push   %ebp
4502d7:	8b ec                	mov    %esp,%ebp
4502d9:	8b 45 08             	mov    0x8(%ebp),%eax
4502dc:	6a 00                	push   $0x0
4502de:	ff 70 08             	push   0x8(%eax)
4502e1:	ff 75 0c             	push   0xc(%ebp)
4502e4:	50                   	push   %eax
4502e5:	e8 f0 13 00 00       	call   0x4516da
4502ea:	5d                   	pop    %ebp
4502eb:	c2 08 00             	ret    $0x8
4502ee:	55                   	push   %ebp
4502ef:	8b ec                	mov    %esp,%ebp
4502f1:	81 ec 50 02 00 00    	sub    $0x250,%esp
4502f7:	8b 45 08             	mov    0x8(%ebp),%eax
4502fa:	53                   	push   %ebx
4502fb:	8b d9                	mov    %ecx,%ebx
4502fd:	8b 48 08             	mov    0x8(%eax),%ecx
450300:	8b 40 04             	mov    0x4(%eax),%eax
450303:	89 4d f0             	mov    %ecx,-0x10(%ebp)
450306:	56                   	push   %esi
450307:	8b 30                	mov    (%eax),%esi
450309:	33 c9                	xor    %ecx,%ecx
45030b:	89 4d f4             	mov    %ecx,-0xc(%ebp)
45030e:	57                   	push   %edi
45030f:	8b ce                	mov    %esi,%ecx
450311:	bf 00 02 00 00       	mov    $0x200,%edi
450316:	e8 51 90 fb ff       	call   0x40936c
45031b:	8b 46 08             	mov    0x8(%esi),%eax
45031e:	8b 00                	mov    (%eax),%eax
450320:	89 45 e8             	mov    %eax,-0x18(%ebp)
450323:	8b 45 08             	mov    0x8(%ebp),%eax
450326:	8b 40 04             	mov    0x4(%eax),%eax
450329:	8b 70 04             	mov    0x4(%eax),%esi
45032c:	8b ce                	mov    %esi,%ecx
45032e:	e8 39 90 fb ff       	call   0x40936c
450333:	8b 46 08             	mov    0x8(%esi),%eax
450336:	8b 4d 0c             	mov    0xc(%ebp),%ecx
450339:	8b 00                	mov    (%eax),%eax
45033b:	68 00 dc 49 00       	push   $0x49dc00
450340:	89 45 ec             	mov    %eax,-0x14(%ebp)
450343:	e8 71 ca fb ff       	call   0x40cdb9
450348:	33 c0                	xor    %eax,%eax
45034a:	50                   	push   %eax
45034b:	ff 15 3c d8 48 00    	call   *0x48d83c
450351:	83 7d f0 03          	cmpl   $0x3,-0x10(%ebp)
450355:	8b 75 08             	mov    0x8(%ebp),%esi
450358:	72 36                	jb     0x450390
45035a:	8b 46 04             	mov    0x4(%esi),%eax
45035d:	8b 48 08             	mov    0x8(%eax),%ecx
450360:	e8 21 cf fb ff       	call   0x40d286
450365:	a8 01                	test   $0x1,%al
450367:	74 03                	je     0x45036c
450369:	6a 40                	push   $0x40
45036b:	5f                   	pop    %edi
45036c:	8b 46 04             	mov    0x4(%esi),%eax
45036f:	8b 48 08             	mov    0x8(%eax),%ecx
450372:	e8 0f cf fb ff       	call   0x40d286
450377:	a8 02                	test   $0x2,%al
450379:	74 03                	je     0x45037e
45037b:	83 cf 40             	or     $0x40,%edi
45037e:	8b 46 04             	mov    0x4(%esi),%eax
450381:	8b 48 08             	mov    0x8(%eax),%ecx
450384:	e8 fd ce fb ff       	call   0x40d286
450389:	a8 04                	test   $0x4,%al
45038b:	74 03                	je     0x450390
45038d:	83 cf 10             	or     $0x10,%edi
450390:	8d 4d d8             	lea    -0x28(%ebp),%ecx
450393:	e8 5f d4 fb ff       	call   0x40d7f7
450398:	8b 45 f0             	mov    -0x10(%ebp),%eax
45039b:	83 f8 04             	cmp    $0x4,%eax
45039e:	72 1d                	jb     0x4503bd
4503a0:	8b 46 04             	mov    0x4(%esi),%eax
4503a3:	8b 70 0c             	mov    0xc(%eax),%esi
4503a6:	8b ce                	mov    %esi,%ecx
4503a8:	e8 bf 8f fb ff       	call   0x40936c
4503ad:	8b 46 08             	mov    0x8(%esi),%eax
4503b0:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4503b3:	ff 30                	push   (%eax)
4503b5:	e8 a9 66 fb ff       	call   0x406a63
4503ba:	8b 45 f0             	mov    -0x10(%ebp),%eax
4503bd:	83 f8 05             	cmp    $0x5,%eax
4503c0:	72 11                	jb     0x4503d3
4503c2:	8b 45 08             	mov    0x8(%ebp),%eax
4503c5:	8b 40 04             	mov    0x4(%eax),%eax
4503c8:	8b 48 10             	mov    0x10(%eax),%ecx
4503cb:	e8 a7 b1 ff ff       	call   0x44b577
4503d0:	89 45 f4             	mov    %eax,-0xc(%ebp)
4503d3:	33 c9                	xor    %ecx,%ecx
4503d5:	8d 45 f8             	lea    -0x8(%ebp),%eax
4503d8:	50                   	push   %eax
4503d9:	51                   	push   %ecx
4503da:	51                   	push   %ecx
4503db:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4503de:	ff 15 94 d4 48 00    	call   *0x48d494
4503e4:	8b 75 ec             	mov    -0x14(%ebp),%esi
4503e7:	33 c0                	xor    %eax,%eax
4503e9:	66 39 06             	cmp    %ax,(%esi)
4503ec:	74 3d                	je     0x45042b
4503ee:	8d 45 08             	lea    0x8(%ebp),%eax
4503f1:	50                   	push   %eax
4503f2:	ff 15 90 d4 48 00    	call   *0x48d490