45019d:	ff 76 0c             	push   0xc(%esi)
4501a0:	e8 ab 34 00 00       	call   0x453650
4501a5:	8b 56 08             	mov    0x8(%esi),%edx
4501a8:	8b cf                	mov    %edi,%ecx
4501aa:	2b ca                	sub    %edx,%ecx
4501ac:	89 46 0c             	mov    %eax,0xc(%esi)
4501af:	c1 e1 02             	shl    $0x2,%ecx
4501b2:	51                   	push   %ecx
4501b3:	8d 04 90             	lea    (%eax,%edx,4),%eax
4501b6:	6a 00                	push   $0x0
4501b8:	50                   	push   %eax
4501b9:	e8 f2 b9 01 00       	call   0x46bbb0
4501be:	83 c4 0c             	add    $0xc,%esp
4501c1:	89 7e 08             	mov    %edi,0x8(%esi)
4501c4:	8b cf                	mov    %edi,%ecx
4501c6:	8b 46 0c             	mov    0xc(%esi),%eax
4501c9:	d1 e9                	shr    $1,%ecx
4501cb:	c7 04 88 01 00 00 00 	movl   $0x1,(%eax,%ecx,4)
4501d2:	8b c6                	mov    %esi,%eax
4501d4:	5f                   	pop    %edi
4501d5:	5e                   	pop    %esi
4501d6:	5b                   	pop    %ebx
4501d7:	c3                   	ret
4501d8:	8d 41 ff             	lea    -0x1(%ecx),%eax
4501db:	89 03                	mov    %eax,(%ebx)
4501dd:	3b c1                	cmp    %ecx,%eax
4501df:	76 21                	jbe    0x450202
4501e1:	ba 01 00 00 00       	mov    $0x1,%edx
4501e6:	3b fa                	cmp    %edx,%edi
4501e8:	76 18                	jbe    0x450202
4501ea:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
4501f0:	8b 0c 93             	mov    (%ebx,%edx,4),%ecx
4501f3:	8d 41 ff             	lea    -0x1(%ecx),%eax
4501f6:	89 04 93             	mov    %eax,(%ebx,%edx,4)
4501f9:	85 c9                	test   %ecx,%ecx
4501fb:	75 05                	jne    0x450202
4501fd:	42                   	inc    %edx
4501fe:	3b d7                	cmp    %edi,%edx
450200:	72 ee                	jb     0x4501f0
450202:	8b 4e 08             	mov    0x8(%esi),%ecx
450205:	85 c9                	test   %ecx,%ecx
450207:	74 16                	je     0x45021f
450209:	8b 46 0c             	mov    0xc(%esi),%eax
45020c:	8d 04 88             	lea    (%eax,%ecx,4),%eax
45020f:	83 c0 fc             	add    $0xfffffffc,%eax
450212:	83 38 00             	cmpl   $0x0,(%eax)
450215:	75 15                	jne    0x45022c
450217:	83 e8 04             	sub    $0x4,%eax
45021a:	83 e9 01             	sub    $0x1,%ecx
45021d:	75 f3                	jne    0x450212
45021f:	e8 8c 36 00 00       	call   0x4538b0
450224:	50                   	push   %eax
450225:	8b ce                	mov    %esi,%ecx
450227:	e8 04 e4 ff ff       	call   0x44e630
45022c:	5f                   	pop    %edi
45022d:	8b c6                	mov    %esi,%eax
45022f:	5e                   	pop    %esi
450230:	5b                   	pop    %ebx
450231:	c3                   	ret
450232:	cc                   	int3
450233:	cc                   	int3
450234:	cc                   	int3
450235:	cc                   	int3
450236:	cc                   	int3
450237:	cc                   	int3
450238:	cc                   	int3
450239:	cc                   	int3
45023a:	cc                   	int3
45023b:	cc                   	int3
45023c:	cc                   	int3
45023d:	cc                   	int3
45023e:	cc                   	int3
45023f:	cc                   	int3
450240:	55                   	push   %ebp
450241:	8b ec                	mov    %esp,%ebp
450243:	6a ff                	push   $0xffffffff
450245:	68 fd ad 49 00       	push   $0x49adfd
45024a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
450250:	50                   	push   %eax
450251:	83 ec 14             	sub    $0x14,%esp
450254:	53                   	push   %ebx
450255:	56                   	push   %esi
450256:	57                   	push   %edi
450257:	a1 14 40 4c 00       	mov    0x4c4014,%eax
45025c:	33 c5                	xor    %ebp,%eax
45025e:	50                   	push   %eax
45025f:	8d 45 f4             	lea    -0xc(%ebp),%eax
450262:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
450268:	8b f1                	mov    %ecx,%esi
45026a:	83 7e 10 01          	cmpl   $0x1,0x10(%esi)
45026e:	8b 5e 0c             	mov    0xc(%esi),%ebx
450271:	8b 7e 08             	mov    0x8(%esi),%edi
450274:	8b 0b                	mov    (%ebx),%ecx
450276:	75 7e                	jne    0x4502f6
450278:	8d 41 01             	lea    0x1(%ecx),%eax
45027b:	89 03                	mov    %eax,(%ebx)
45027d:	3b c1                	cmp    %ecx,%eax
45027f:	0f 83 e6 00 00 00    	jae    0x45036b
450285:	b9 01 00 00 00       	mov    $0x1,%ecx
45028a:	3b f9                	cmp    %ecx,%edi
45028c:	76 11                	jbe    0x45029f
45028e:	66 90                	xchg   %ax,%ax
450290:	83 04 8b 01          	addl   $0x1,(%ebx,%ecx,4)
450294:	0f 85 d1 00 00 00    	jne    0x45036b
45029a:	41                   	inc    %ecx
45029b:	3b cf                	cmp    %edi,%ecx
45029d:	72 f1                	jb     0x450290
45029f:	8b 4e 08             	mov    0x8(%esi),%ecx
4502a2:	8d 3c 09             	lea    (%ecx,%ecx,1),%edi
4502a5:	3b f9                	cmp    %ecx,%edi
4502a7:	76 2d                	jbe    0x4502d6
4502a9:	6a 01                	push   $0x1
4502ab:	57                   	push   %edi
4502ac:	51                   	push   %ecx
4502ad:	ff 76 0c             	push   0xc(%esi)
4502b0:	e8 9b 33 00 00       	call   0x453650
4502b5:	8b 56 08             	mov    0x8(%esi),%edx
4502b8:	8b cf                	mov    %edi,%ecx
4502ba:	2b ca                	sub    %edx,%ecx
4502bc:	89 46 0c             	mov    %eax,0xc(%esi)
4502bf:	c1 e1 02             	shl    $0x2,%ecx
4502c2:	51                   	push   %ecx
4502c3:	8d 04 90             	lea    (%eax,%edx,4),%eax
4502c6:	6a 00                	push   $0x0
4502c8:	50                   	push   %eax
4502c9:	e8 e2 b8 01 00       	call   0x46bbb0
4502ce:	83 c4 0c             	add    $0xc,%esp
4502d1:	89 7e 08             	mov    %edi,0x8(%esi)
4502d4:	8b cf                	mov    %edi,%ecx
4502d6:	8b 46 0c             	mov    0xc(%esi),%eax
4502d9:	d1 e9                	shr    $1,%ecx
4502db:	c7 04 88 01 00 00 00 	movl   $0x1,(%eax,%ecx,4)
4502e2:	8b c6                	mov    %esi,%eax
4502e4:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4502e7:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4502ee:	59                   	pop    %ecx
4502ef:	5f                   	pop    %edi
4502f0:	5e                   	pop    %esi
4502f1:	5b                   	pop    %ebx
4502f2:	8b e5                	mov    %ebp,%esp
4502f4:	5d                   	pop    %ebp
4502f5:	c3                   	ret
4502f6:	8d 41 ff             	lea    -0x1(%ecx),%eax
4502f9:	89 03                	mov    %eax,(%ebx)
4502fb:	3b c1                	cmp    %ecx,%eax
4502fd:	76 6c                	jbe    0x45036b
4502ff:	ba 01 00 00 00       	mov    $0x1,%edx
450304:	3b fa                	cmp    %edx,%edi
450306:	76 1a                	jbe    0x450322
450308:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
45030f:	00
450310:	8b 0c 93             	mov    (%ebx,%edx,4),%ecx
450313:	8d 41 ff             	lea    -0x1(%ecx),%eax
450316:	89 04 93             	mov    %eax,(%ebx,%edx,4)
450319:	85 c9                	test   %ecx,%ecx
45031b:	75 4e                	jne    0x45036b
45031d:	42                   	inc    %edx
45031e:	3b d7                	cmp    %edi,%edx
450320:	72 ee                	jb     0x450310
450322:	e8 a9 36 00 00       	call   0x4539d0
450327:	8d 4d e0             	lea    -0x20(%ebp),%ecx
45032a:	51                   	push   %ecx
45032b:	8b c8                	mov    %eax,%ecx
45032d:	e8 ce e3 ff ff       	call   0x44e700
450332:	50                   	push   %eax
450333:	8b ce                	mov    %esi,%ecx
450335:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
45033c:	e8 ef e2 ff ff       	call   0x44e630
450341:	8b 55 e8             	mov    -0x18(%ebp),%edx
450344:	33 c0                	xor    %eax,%eax
450346:	8b 5d ec             	mov    -0x14(%ebp),%ebx
450349:	8b ca                	mov    %edx,%ecx
45034b:	8b fb                	mov    %ebx,%edi
45034d:	f3 ab                	rep stos %eax,%es:(%edi)
45034f:	8d 04 95 00 00 00 00 	lea    0x0(,%edx,4),%eax
450356:	53                   	push   %ebx
450357:	83 f8 10             	cmp    $0x10,%eax
45035a:	72 07                	jb     0x450363
45035c:	e8 ff 5b 04 00       	call   0x495f60
450361:	eb 05                	jmp    0x450368
450363:	e8 1a 93 02 00       	call   0x479682
450368:	83 c4 04             	add    $0x4,%esp
45036b:	8b c6                	mov    %esi,%eax
45036d:	8b 4d f4             	mov    -0xc(%ebp),%ecx
450370:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
450377:	59                   	pop    %ecx
450378:	5f                   	pop    %edi
450379:	5e                   	pop    %esi
45037a:	5b                   	pop    %ebx
45037b:	8b e5                	mov    %ebp,%esp
45037d:	5d                   	pop    %ebp
45037e:	c3                   	ret
45037f:	cc                   	int3
450380:	83 ec 10             	sub    $0x10,%esp
450383:	53                   	push   %ebx
450384:	55                   	push   %ebp
450385:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
450389:	8b da                	mov    %edx,%ebx
45038b:	56                   	push   %esi
45038c:	57                   	push   %edi
45038d:	8b f9                	mov    %ecx,%edi
45038f:	8b 43 08             	mov    0x8(%ebx),%eax
450392:	8b 55 0c             	mov    0xc(%ebp),%edx
450395:	8b 4d 08             	mov    0x8(%ebp),%ecx
450398:	8b 73 0c             	mov    0xc(%ebx),%esi
45039b:	89 44 24 18          	mov    %eax,0x18(%esp)
45039f:	8b 47 0c             	mov    0xc(%edi),%eax
4503a2:	39 4c 24 18          	cmp    %ecx,0x18(%esp)
4503a6:	52                   	push   %edx
4503a7:	56                   	push   %esi
4503a8:	8b 35 58 4e 4c 00    	mov    0x4c4e58,%esi
4503ae:	89 4c 24 24          	mov    %ecx,0x24(%esp)
4503b2:	8b ce                	mov    %esi,%ecx
4503b4:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4503b8:	75 23                	jne    0x4503dd
4503ba:	ff 15 d4 e2 49 00    	call   *0x49e2d4
4503c0:	8b 54 24 1c          	mov    0x1c(%esp),%edx
4503c4:	8b 4c 24 20          	mov    0x20(%esp),%ecx
4503c8:	ff d6                	call   *%esi
4503ca:	85 c0                	test   %eax,%eax
4503cc:	0f 85 ff 00 00 00    	jne    0x4504d1
4503d2:	89 47 10             	mov    %eax,0x10(%edi)
4503d5:	5f                   	pop    %edi
4503d6:	5e                   	pop    %esi
4503d7:	5d                   	pop    %ebp
4503d8:	5b                   	pop    %ebx
4503d9:	83 c4 10             	add    $0x10,%esp
4503dc:	c3                   	ret
4503dd:	0f 86 7e 00 00 00    	jbe    0x450461
4503e3:	ff 15 d4 e2 49 00    	call   *0x49e2d4
4503e9:	8b 54 24 1c          	mov    0x1c(%esp),%edx
4503ed:	8b 4c 24 24          	mov    0x24(%esp),%ecx
4503f1:	ff d6                	call   *%esi
4503f3:	8b 53 0c             	mov    0xc(%ebx),%edx
4503f6:	8b 77 0c             	mov    0xc(%edi),%esi
4503f9:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4503fd:	8b 45 08             	mov    0x8(%ebp),%eax
450400:	8d 0c 85 00 00 00 00 	lea    0x0(,%eax,4),%ecx
450407:	03 d1                	add    %ecx,%edx
450409:	03 f1                	add    %ecx,%esi
45040b:	3b f2                	cmp    %edx,%esi
45040d:	74 14                	je     0x450423
45040f:	8b 43 08             	mov    0x8(%ebx),%eax
450412:	2b 45 08             	sub    0x8(%ebp),%eax
450415:	c1 e0 02             	shl    $0x2,%eax
450418:	50                   	push   %eax
450419:	52                   	push   %edx
45041a:	56                   	push   %esi
45041b:	e8 00 b2 01 00       	call   0x46b620
450420:	83 c4 0c             	add    $0xc,%esp
450423:	8b 4d 08             	mov    0x8(%ebp),%ecx
450426:	8b 47 0c             	mov    0xc(%edi),%eax
450429:	8b 53 08             	mov    0x8(%ebx),%edx
45042c:	2b d1                	sub    %ecx,%edx
45042e:	8d 34 88             	lea    (%eax,%ecx,4),%esi
450431:	8b 44 24 1c          	mov    0x1c(%esp),%eax
450435:	8b 0e                	mov    (%esi),%ecx
450437:	03 c1                	add    %ecx,%eax
450439:	89 06                	mov    %eax,(%esi)
45043b:	3b c1                	cmp    %ecx,%eax
45043d:	0f 83 d1 00 00 00    	jae    0x450514
450443:	b9 01 00 00 00       	mov    $0x1,%ecx
450448:	3b d1                	cmp    %ecx,%edx
45044a:	0f 86 81 00 00 00    	jbe    0x4504d1
450450:	83 04 8e 01          	addl   $0x1,(%esi,%ecx,4)
450454:	0f 85 ba 00 00 00    	jne    0x450514
45045a:	41                   	inc    %ecx
45045b:	3b ca                	cmp    %edx,%ecx
45045d:	72 f1                	jb     0x450450
45045f:	eb 70                	jmp    0x4504d1
450461:	ff 15 d4 e2 49 00    	call   *0x49e2d4
450467:	8b 54 24 1c          	mov    0x1c(%esp),%edx
45046b:	8b 4c 24 20          	mov    0x20(%esp),%ecx
45046f:	ff d6                	call   *%esi
450471:	8b 55 0c             	mov    0xc(%ebp),%edx
450474:	8b 77 0c             	mov    0xc(%edi),%esi
450477:	89 44 24 1c          	mov    %eax,0x1c(%esp)
45047b:	8b 43 08             	mov    0x8(%ebx),%eax
45047e:	8d 0c 85 00 00 00 00 	lea    0x0(,%eax,4),%ecx
450485:	03 d1                	add    %ecx,%edx
450487:	03 f1                	add    %ecx,%esi
450489:	3b f2                	cmp    %edx,%esi
45048b:	74 14                	je     0x4504a1
45048d:	8b 45 08             	mov    0x8(%ebp),%eax
450490:	2b 43 08             	sub    0x8(%ebx),%eax
450493:	c1 e0 02             	shl    $0x2,%eax
450496:	50                   	push   %eax
450497:	52                   	push   %edx
450498:	56                   	push   %esi
450499:	e8 82 b1 01 00       	call   0x46b620
45049e:	83 c4 0c             	add    $0xc,%esp
4504a1:	8b 4b 08             	mov    0x8(%ebx),%ecx
4504a4:	8b 47 0c             	mov    0xc(%edi),%eax
4504a7:	8b 55 08             	mov    0x8(%ebp),%edx
4504aa:	2b d1                	sub    %ecx,%edx
4504ac:	8d 34 88             	lea    (%eax,%ecx,4),%esi
4504af:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4504b3:	8b 0e                	mov    (%esi),%ecx
4504b5:	03 c1                	add    %ecx,%eax
4504b7:	89 06                	mov    %eax,(%esi)
4504b9:	3b c1                	cmp    %ecx,%eax
4504bb:	73 57                	jae    0x450514
4504bd:	b9 01 00 00 00       	mov    $0x1,%ecx
4504c2:	3b d1                	cmp    %ecx,%edx
4504c4:	76 0b                	jbe    0x4504d1
4504c6:	83 04 8e 01          	addl   $0x1,(%esi,%ecx,4)
4504ca:	75 48                	jne    0x450514
4504cc:	41                   	inc    %ecx
4504cd:	3b ca                	cmp    %edx,%ecx
4504cf:	72 f5                	jb     0x4504c6
4504d1:	8b 4f 08             	mov    0x8(%edi),%ecx
4504d4:	8d 34 09             	lea    (%ecx,%ecx,1),%esi
4504d7:	3b f1                	cmp    %ecx,%esi
4504d9:	76 2d                	jbe    0x450508
4504db:	6a 01                	push   $0x1
4504dd:	56                   	push   %esi
4504de:	51                   	push   %ecx
4504df:	ff 77 0c             	push   0xc(%edi)
4504e2:	e8 69 31 00 00       	call   0x453650
4504e7:	8b 57 08             	mov    0x8(%edi),%edx
4504ea:	8b ce                	mov    %esi,%ecx
4504ec:	2b ca                	sub    %edx,%ecx
4504ee:	89 47 0c             	mov    %eax,0xc(%edi)
4504f1:	c1 e1 02             	shl    $0x2,%ecx
4504f4:	51                   	push   %ecx
4504f5:	8d 04 90             	lea    (%eax,%edx,4),%eax
4504f8:	6a 00                	push   $0x0
4504fa:	50                   	push   %eax
4504fb:	e8 b0 b6 01 00       	call   0x46bbb0
450500:	83 c4 0c             	add    $0xc,%esp
450503:	89 77 08             	mov    %esi,0x8(%edi)
450506:	8b ce                	mov    %esi,%ecx
450508:	8b 47 0c             	mov    0xc(%edi),%eax
45050b:	d1 e9                	shr    $1,%ecx
45050d:	c7 04 88 01 00 00 00 	movl   $0x1,(%eax,%ecx,4)
450514:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
45051b:	5f                   	pop    %edi
45051c:	5e                   	pop    %esi
45051d:	5d                   	pop    %ebp
45051e:	5b                   	pop    %ebx
45051f:	83 c4 10             	add    $0x10,%esp
450522:	c3                   	ret
450523:	cc                   	int3
450524:	cc                   	int3
450525:	cc                   	int3
450526:	cc                   	int3
450527:	cc                   	int3
450528:	cc                   	int3
450529:	cc                   	int3
45052a:	cc                   	int3