446154:	8b f9                	mov    %ecx,%edi
446156:	8b 85 08 f2 ff ff    	mov    -0xdf8(%ebp),%eax
44615c:	be 00 00 00 10       	mov    $0x10000000,%esi
446161:	89 85 98 f1 ff ff    	mov    %eax,-0xe68(%ebp)
446167:	eb 0d                	jmp    0x446176
446169:	8b bd 88 f1 ff ff    	mov    -0xe78(%ebp),%edi
44616f:	be 01 00 00 d0       	mov    $0xd0000001,%esi
446174:	33 c9                	xor    %ecx,%ecx
446176:	89 b5 20 f2 ff ff    	mov    %esi,-0xde0(%ebp)
44617c:	85 ff                	test   %edi,%edi
44617e:	74 0f                	je     0x44618f
446180:	57                   	push   %edi
446181:	51                   	push   %ecx
446182:	ff 15 74 72 4a 00    	call   *0x4a7274
446188:	50                   	push   %eax
446189:	ff 15 94 72 4a 00    	call   *0x4a7294
44618f:	85 f6                	test   %esi,%esi
446191:	0f 88 5d 01 00 00    	js     0x4462f4
446197:	8b 95 98 f1 ff ff    	mov    -0xe68(%ebp),%edx
44619d:	83 fa 04             	cmp    $0x4,%edx
4461a0:	73 0a                	jae    0x4461ac
4461a2:	be 3e 00 00 c0       	mov    $0xc000003e,%esi
4461a7:	e9 3c 01 00 00       	jmp    0x4462e8
4461ac:	8b b5 00 f2 ff ff    	mov    -0xe00(%ebp),%esi
4461b2:	8b 06                	mov    (%esi),%eax
4461b4:	8d 4e 04             	lea    0x4(%esi),%ecx
4461b7:	89 85 d0 f1 ff ff    	mov    %eax,-0xe30(%ebp)
4461bd:	3b ce                	cmp    %esi,%ecx
4461bf:	0f 82 1e 01 00 00    	jb     0x4462e3
4461c5:	8d 42 fc             	lea    -0x4(%edx),%eax
4461c8:	83 f8 04             	cmp    $0x4,%eax
4461cb:	72 d5                	jb     0x4461a2
4461cd:	8b 39                	mov    (%ecx),%edi
4461cf:	8d 71 04             	lea    0x4(%ecx),%esi
4461d2:	3b f1                	cmp    %ecx,%esi
4461d4:	0f 82 09 01 00 00    	jb     0x4462e3
4461da:	8b 8d 98 f1 ff ff    	mov    -0xe68(%ebp),%ecx
4461e0:	8d 41 f8             	lea    -0x8(%ecx),%eax
4461e3:	3b c7                	cmp    %edi,%eax
4461e5:	72 bb                	jb     0x4461a2
4461e7:	8d 47 08             	lea    0x8(%edi),%eax
4461ea:	83 f8 08             	cmp    $0x8,%eax
4461ed:	0f 82 f0 00 00 00    	jb     0x4462e3
4461f3:	8b 85 00 f2 ff ff    	mov    -0xe00(%ebp),%eax
4461f9:	8d 14 37             	lea    (%edi,%esi,1),%edx
4461fc:	03 c1                	add    %ecx,%eax
4461fe:	3b c2                	cmp    %edx,%eax
446200:	72 a0                	jb     0x4461a2
446202:	2b cf                	sub    %edi,%ecx
446204:	2b ce                	sub    %esi,%ecx
446206:	03 8d 00 f2 ff ff    	add    -0xe00(%ebp),%ecx
44620c:	83 f9 08             	cmp    $0x8,%ecx
44620f:	73 91                	jae    0x4461a2
446211:	33 c9                	xor    %ecx,%ecx
446213:	89 8d 88 f1 ff ff    	mov    %ecx,-0xe78(%ebp)
446219:	8b c1                	mov    %ecx,%eax
44621b:	89 85 98 f1 ff ff    	mov    %eax,-0xe68(%ebp)
446221:	85 f6                	test   %esi,%esi
446223:	74 49                	je     0x44626e
446225:	8b ce                	mov    %esi,%ecx
446227:	3b d6                	cmp    %esi,%edx
446229:	0f 82 b4 00 00 00    	jb     0x4462e3
44622f:	76 39                	jbe    0x44626a
446231:	8d 41 04             	lea    0x4(%ecx),%eax
446234:	3b c1                	cmp    %ecx,%eax
446236:	0f 82 a7 00 00 00    	jb     0x4462e3
44623c:	3b c2                	cmp    %edx,%eax
44623e:	77 53                	ja     0x446293
446240:	8b 01                	mov    (%ecx),%eax
446242:	83 c0 04             	add    $0x4,%eax
446245:	83 f8 04             	cmp    $0x4,%eax
446248:	72 50                	jb     0x44629a
44624a:	03 c1                	add    %ecx,%eax
44624c:	3b c1                	cmp    %ecx,%eax
44624e:	0f 82 8f 00 00 00    	jb     0x4462e3
446254:	8b c8                	mov    %eax,%ecx
446256:	3b ca                	cmp    %edx,%ecx
446258:	77 39                	ja     0x446293
44625a:	ff 85 88 f1 ff ff    	incl   -0xe78(%ebp)
446260:	3b ca                	cmp    %edx,%ecx
446262:	72 cd                	jb     0x446231
446264:	8b 85 98 f1 ff ff    	mov    -0xe68(%ebp),%eax
44626a:	3b ca                	cmp    %edx,%ecx
44626c:	75 25                	jne    0x446293
44626e:	85 ff                	test   %edi,%edi
446270:	74 2f                	je     0x4462a1
446272:	57                   	push   %edi
446273:	6a 08                	push   $0x8
446275:	ff 15 74 72 4a 00    	call   *0x4a7274
44627b:	50                   	push   %eax
44627c:	ff 15 84 72 4a 00    	call   *0x4a7284
446282:	89 85 98 f1 ff ff    	mov    %eax,-0xe68(%ebp)
446288:	85 c0                	test   %eax,%eax
44628a:	75 15                	jne    0x4462a1
44628c:	be 17 00 00 c0       	mov    $0xc0000017,%esi
446291:	eb 39                	jmp    0x4462cc
446293:	be 0d 00 00 c0       	mov    $0xc000000d,%esi
446298:	eb 4e                	jmp    0x4462e8
44629a:	be 95 00 00 c0       	mov    $0xc0000095,%esi
44629f:	eb 2b                	jmp    0x4462cc
4462a1:	85 f6                	test   %esi,%esi
4462a3:	74 11                	je     0x4462b6
4462a5:	57                   	push   %edi
4462a6:	56                   	push   %esi
4462a7:	50                   	push   %eax
4462a8:	e8 80 ad 04 00       	call   0x49102d
4462ad:	8b 85 98 f1 ff ff    	mov    -0xe68(%ebp),%eax
4462b3:	83 c4 0c             	add    $0xc,%esp
4462b6:	89 85 50 f1 ff ff    	mov    %eax,-0xeb0(%ebp)
4462bc:	8b 85 88 f1 ff ff    	mov    -0xe78(%ebp),%eax
4462c2:	89 85 48 f1 ff ff    	mov    %eax,-0xeb8(%ebp)
4462c8:	33 c0                	xor    %eax,%eax
4462ca:	8b f0                	mov    %eax,%esi
4462cc:	85 f6                	test   %esi,%esi
4462ce:	78 18                	js     0x4462e8
4462d0:	8b 85 d0 f1 ff ff    	mov    -0xe30(%ebp),%eax
4462d6:	3b 85 48 f1 ff ff    	cmp    -0xeb8(%ebp),%eax
4462dc:	74 0a                	je     0x4462e8
4462de:	e9 bf fe ff ff       	jmp    0x4461a2
4462e3:	be 95 00 00 c0       	mov    $0xc0000095,%esi
4462e8:	81 ce 00 00 00 10    	or     $0x10000000,%esi
4462ee:	89 b5 20 f2 ff ff    	mov    %esi,-0xde0(%ebp)
4462f4:	8b 85 c0 f1 ff ff    	mov    -0xe40(%ebp),%eax
4462fa:	85 c0                	test   %eax,%eax
4462fc:	74 11                	je     0x44630f
4462fe:	50                   	push   %eax
4462ff:	33 c0                	xor    %eax,%eax
446301:	50                   	push   %eax
446302:	ff 15 74 72 4a 00    	call   *0x4a7274
446308:	50                   	push   %eax
446309:	ff 15 94 72 4a 00    	call   *0x4a7294
44630f:	8b bd 0c f2 ff ff    	mov    -0xdf4(%ebp),%edi
446315:	85 ff                	test   %edi,%edi
446317:	74 64                	je     0x44637d
446319:	33 c0                	xor    %eax,%eax
44631b:	39 47 04             	cmp    %eax,0x4(%edi)
44631e:	74 16                	je     0x446336
446320:	ff 77 04             	push   0x4(%edi)
446323:	50                   	push   %eax
446324:	ff 15 74 72 4a 00    	call   *0x4a7274
44632a:	50                   	push   %eax
44632b:	ff 15 94 72 4a 00    	call   *0x4a7294
446331:	33 c0                	xor    %eax,%eax
446333:	89 47 04             	mov    %eax,0x4(%edi)
446336:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
44633a:	74 16                	je     0x446352
44633c:	ff 77 0c             	push   0xc(%edi)
44633f:	50                   	push   %eax
446340:	ff 15 74 72 4a 00    	call   *0x4a7274
446346:	50                   	push   %eax
446347:	ff 15 94 72 4a 00    	call   *0x4a7294
44634d:	33 c0                	xor    %eax,%eax
44634f:	89 47 0c             	mov    %eax,0xc(%edi)
446352:	83 7f 14 00          	cmpl   $0x0,0x14(%edi)
446356:	74 16                	je     0x44636e
446358:	ff 77 14             	push   0x14(%edi)
44635b:	50                   	push   %eax
44635c:	ff 15 74 72 4a 00    	call   *0x4a7274
446362:	50                   	push   %eax
446363:	ff 15 94 72 4a 00    	call   *0x4a7294
446369:	33 c0                	xor    %eax,%eax
44636b:	89 47 14             	mov    %eax,0x14(%edi)
44636e:	57                   	push   %edi
44636f:	50                   	push   %eax
446370:	ff 15 74 72 4a 00    	call   *0x4a7274
446376:	50                   	push   %eax
446377:	ff 15 94 72 4a 00    	call   *0x4a7294
44637d:	8b 85 b4 f1 ff ff    	mov    -0xe4c(%ebp),%eax
446383:	85 c0                	test   %eax,%eax
446385:	74 11                	je     0x446398
446387:	50                   	push   %eax
446388:	33 c0                	xor    %eax,%eax
44638a:	50                   	push   %eax
44638b:	ff 15 74 72 4a 00    	call   *0x4a7274
446391:	50                   	push   %eax
446392:	ff 15 94 72 4a 00    	call   *0x4a7294
446398:	8b 85 80 f1 ff ff    	mov    -0xe80(%ebp),%eax
44639e:	85 c0                	test   %eax,%eax
4463a0:	74 11                	je     0x4463b3
4463a2:	50                   	push   %eax
4463a3:	33 c0                	xor    %eax,%eax
4463a5:	50                   	push   %eax
4463a6:	ff 15 74 72 4a 00    	call   *0x4a7274
4463ac:	50                   	push   %eax
4463ad:	ff 15 94 72 4a 00    	call   *0x4a7294
4463b3:	8b bd dc f1 ff ff    	mov    -0xe24(%ebp),%edi
4463b9:	85 ff                	test   %edi,%edi
4463bb:	74 64                	je     0x446421
4463bd:	33 c0                	xor    %eax,%eax
4463bf:	39 47 04             	cmp    %eax,0x4(%edi)
4463c2:	74 16                	je     0x4463da
4463c4:	ff 77 04             	push   0x4(%edi)
4463c7:	50                   	push   %eax
4463c8:	ff 15 74 72 4a 00    	call   *0x4a7274
4463ce:	50                   	push   %eax
4463cf:	ff 15 94 72 4a 00    	call   *0x4a7294
4463d5:	33 c0                	xor    %eax,%eax
4463d7:	89 47 04             	mov    %eax,0x4(%edi)
4463da:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
4463de:	74 16                	je     0x4463f6
4463e0:	ff 77 0c             	push   0xc(%edi)
4463e3:	50                   	push   %eax
4463e4:	ff 15 74 72 4a 00    	call   *0x4a7274
4463ea:	50                   	push   %eax
4463eb:	ff 15 94 72 4a 00    	call   *0x4a7294
4463f1:	33 c0                	xor    %eax,%eax
4463f3:	89 47 0c             	mov    %eax,0xc(%edi)
4463f6:	83 7f 14 00          	cmpl   $0x0,0x14(%edi)
4463fa:	74 16                	je     0x446412
4463fc:	ff 77 14             	push   0x14(%edi)
4463ff:	50                   	push   %eax
446400:	ff 15 74 72 4a 00    	call   *0x4a7274
446406:	50                   	push   %eax
446407:	ff 15 94 72 4a 00    	call   *0x4a7294
44640d:	33 c0                	xor    %eax,%eax
44640f:	89 47 14             	mov    %eax,0x14(%edi)
446412:	57                   	push   %edi
446413:	50                   	push   %eax
446414:	ff 15 74 72 4a 00    	call   *0x4a7274
44641a:	50                   	push   %eax
44641b:	ff 15 94 72 4a 00    	call   *0x4a7294
446421:	8b 85 00 f2 ff ff    	mov    -0xe00(%ebp),%eax
446427:	85 c0                	test   %eax,%eax
446429:	74 11                	je     0x44643c
44642b:	50                   	push   %eax
44642c:	33 c0                	xor    %eax,%eax
44642e:	50                   	push   %eax
44642f:	ff 15 74 72 4a 00    	call   *0x4a7274
446435:	50                   	push   %eax
446436:	ff 15 94 72 4a 00    	call   *0x4a7294
44643c:	85 f6                	test   %esi,%esi
44643e:	0f 88 c5 df ff ff    	js     0x444409
446444:	33 ff                	xor    %edi,%edi
446446:	47                   	inc    %edi
446447:	39 bd 48 f1 ff ff    	cmp    %edi,-0xeb8(%ebp)
44644d:	73 0a                	jae    0x446459
44644f:	be 01 d5 04 c0       	mov    $0xc004d501,%esi
446454:	e9 aa df ff ff       	jmp    0x444403
446459:	83 bd 50 f1 ff ff 00 	cmpl   $0x0,-0xeb0(%ebp)
446460:	75 63                	jne    0x4464c5
446462:	be 0d 00 00 c0       	mov    $0xc000000d,%esi
446467:	89 b5 20 f2 ff ff    	mov    %esi,-0xde0(%ebp)
44646d:	8b 85 7c f1 ff ff    	mov    -0xe84(%ebp),%eax
446473:	85 f6                	test   %esi,%esi
446475:	0f 88 8e df ff ff    	js     0x444409
44647b:	3d 23 00 00 d0       	cmp    $0xd0000023,%eax
446480:	75 0b                	jne    0x44648d
446482:	b8 7a 00 07 80       	mov    $0x8007007a,%eax
446487:	89 85 7c f1 ff ff    	mov    %eax,-0xe84(%ebp)
44648d:	3d 7a 00 07 80       	cmp    $0x8007007a,%eax
446492:	74 10                	je     0x4464a4
446494:	8b f0                	mov    %eax,%esi
446496:	89 b5 20 f2 ff ff    	mov    %esi,-0xde0(%ebp)
44649c:	85 c0                	test   %eax,%eax
44649e:	0f 88 65 df ff ff    	js     0x444409
4464a4:	83 bd 48 f1 ff ff 06 	cmpl   $0x6,-0xeb8(%ebp)
4464ab:	75 a2                	jne    0x44644f
4464ad:	83 bd 50 f1 ff ff 00 	cmpl   $0x0,-0xeb0(%ebp)
4464b4:	75 73                	jne    0x446529
4464b6:	be 0d 00 00 c0       	mov    $0xc000000d,%esi
4464bb:	bf 95 00 00 c0       	mov    $0xc0000095,%edi
4464c0:	e9 03 01 00 00       	jmp    0x4465c8
4464c5:	83 bd 48 f1 ff ff 00 	cmpl   $0x0,-0xeb8(%ebp)
4464cc:	76 94                	jbe    0x446462
4464ce:	8b 85 50 f1 ff ff    	mov    -0xeb0(%ebp),%eax
4464d4:	8b 10                	mov    (%eax),%edx
4464d6:	8d 48 04             	lea    0x4(%eax),%ecx
4464d9:	3b c8                	cmp    %eax,%ecx
4464db:	72 06                	jb     0x4464e3
4464dd:	33 c0                	xor    %eax,%eax
4464df:	8b f0                	mov    %eax,%esi
4464e1:	eb 08                	jmp    0x4464eb
4464e3:	83 c9 ff             	or     $0xffffffff,%ecx
4464e6:	be 95 00 00 c0       	mov    $0xc0000095,%esi
4464eb:	89 b5 20 f2 ff ff    	mov    %esi,-0xde0(%ebp)
4464f1:	85 f6                	test   %esi,%esi
4464f3:	78 0a                	js     0x4464ff
4464f5:	8b c2                	mov    %edx,%eax
4464f7:	f7 d8                	neg    %eax
4464f9:	1b c0                	sbb    %eax,%eax
4464fb:	23 c1                	and    %ecx,%eax
4464fd:	eb 0c                	jmp    0x44650b
4464ff:	8b 95 40 f0 ff ff    	mov    -0xfc0(%ebp),%edx
446505:	8b 85 44 f0 ff ff    	mov    -0xfbc(%ebp),%eax
44650b:	85 f6                	test   %esi,%esi
44650d:	0f 88 5a ff ff ff    	js     0x44646d
446513:	83 fa 04             	cmp    $0x4,%edx
446516:	0f 85 f6 e0 ff ff    	jne    0x444612
44651c:	8b 00                	mov    (%eax),%eax
44651e:	89 85 7c f1 ff ff    	mov    %eax,-0xe84(%ebp)
446524:	e9 4a ff ff ff       	jmp    0x446473
446529:	8b 85 50 f1 ff ff    	mov    -0xeb0(%ebp),%eax
44652f:	33 c9                	xor    %ecx,%ecx
446531:	8b d1                	mov    %ecx,%edx
446533:	8b 30                	mov    (%eax),%esi
446535:	8d 48 04             	lea    0x4(%eax),%ecx
446538:	3b c8                	cmp    %eax,%ecx
44653a:	0f 82 81 00 00 00    	jb     0x4465c1
446540:	8d 04 0e             	lea    (%esi,%ecx,1),%eax
446543:	3b c1                	cmp    %ecx,%eax
446545:	72 7a                	jb     0x4465c1
446547:	42                   	inc    %edx
446548:	3b d7                	cmp    %edi,%edx
44654a:	72 e7                	jb     0x446533
44654c:	8b 08                	mov    (%eax),%ecx
44654e:	8d 50 04             	lea    0x4(%eax),%edx
446551:	89 8d e8 f1 ff ff    	mov    %ecx,-0xe18(%ebp)
446557:	3b d0                	cmp    %eax,%edx
446559:	72 08                	jb     0x446563
44655b:	89 95 08 f2 ff ff    	mov    %edx,-0xdf8(%ebp)
446561:	eb 07                	jmp    0x44656a
446563:	83 8d 08 f2 ff ff ff 	orl    $0xffffffff,-0xdf8(%ebp)
44656a:	3b d0                	cmp    %eax,%edx
44656c:	bf 95 00 00 c0       	mov    $0xc0000095,%edi
446571:	1b f6                	sbb    %esi,%esi
446573:	23 f7                	and    %edi,%esi
446575:	89 b5 20 f2 ff ff    	mov    %esi,-0xde0(%ebp)
44657b:	3b d0                	cmp    %eax,%edx
44657d:	72 0c                	jb     0x44658b
44657f:	f7 d9                	neg    %ecx
446581:	1b c9                	sbb    %ecx,%ecx
446583:	23 8d 08 f2 ff ff    	and    -0xdf8(%ebp),%ecx
446589:	eb 12                	jmp    0x44659d
44658b:	8b 8d 48 f0 ff ff    	mov    -0xfb8(%ebp),%ecx
446591:	89 8d e8 f1 ff ff    	mov    %ecx,-0xe18(%ebp)
446597:	8b 8d 4c f0 ff ff    	mov    -0xfb4(%ebp),%ecx
44659d:	3b d0                	cmp    %eax,%edx
44659f:	72 2d                	jb     0x4465ce
4465a1:	83 bd e8 f1 ff ff 08 	cmpl   $0x8,-0xe18(%ebp)
4465a8:	0f 85 64 e0 ff ff    	jne    0x444612
4465ae:	8b 01                	mov    (%ecx),%eax
4465b0:	89 85 c4 f0 ff ff    	mov    %eax,-0xf3c(%ebp)
4465b6:	8b 41 04             	mov    0x4(%ecx),%eax
4465b9:	89 85 c8 f0 ff ff    	mov    %eax,-0xf38(%ebp)
4465bf:	eb 0d                	jmp    0x4465ce
4465c1:	bf 95 00 00 c0       	mov    $0xc0000095,%edi
4465c6:	8b f7                	mov    %edi,%esi
4465c8:	89 b5 20 f2 ff ff    	mov    %esi,-0xde0(%ebp)
4465ce:	85 f6                	test   %esi,%esi
4465d0:	0f 88 33 de ff ff    	js     0x444409
4465d6:	83 bd 50 f1 ff ff 00 	cmpl   $0x0,-0xeb0(%ebp)
4465dd:	75 0a                	jne    0x4465e9
4465df:	be 0d 00 00 c0       	mov    $0xc000000d,%esi
4465e4:	e9 83 00 00 00       	jmp    0x44666c
4465e9:	8b 85 50 f1 ff ff    	mov    -0xeb0(%ebp),%eax
4465ef:	33 c9                	xor    %ecx,%ecx
4465f1:	8b d1                	mov    %ecx,%edx
4465f3:	8b 30                	mov    (%eax),%esi
4465f5:	8d 48 04             	lea    0x4(%eax),%ecx
4465f8:	3b c8                	cmp    %eax,%ecx