445229:	be 57 00 07 80       	mov    $0x80070057,%esi
44522e:	e9 ac 00 00 00       	jmp    0x4452df
445233:	83 3f 02             	cmpl   $0x2,(%edi)
445236:	75 f1                	jne    0x445229
445238:	8b 0c 8d b8 67 46 00 	mov    0x4667b8(,%ecx,4),%ecx
44523f:	8b 47 0c             	mov    0xc(%edi),%eax
445242:	c1 e9 03             	shr    $0x3,%ecx
445245:	40                   	inc    %eax
445246:	3b c1                	cmp    %ecx,%eax
445248:	72 25                	jb     0x44526f
44524a:	57                   	push   %edi
44524b:	e8 e5 fd ff ff       	call   0x445035
445250:	8b f0                	mov    %eax,%esi
445252:	81 fe da 10 07 80    	cmp    $0x800710da,%esi
445258:	75 11                	jne    0x44526b
44525a:	8b 57 08             	mov    0x8(%edi),%edx
44525d:	8b 4f 0c             	mov    0xc(%edi),%ecx
445260:	3b 0c 95 b8 67 46 00 	cmp    0x4667b8(,%edx,4),%ecx
445267:	73 76                	jae    0x4452df
445269:	33 f6                	xor    %esi,%esi
44526b:	85 f6                	test   %esi,%esi
44526d:	78 70                	js     0x4452df
44526f:	8d 45 fc             	lea    -0x4(%ebp),%eax
445272:	50                   	push   %eax
445273:	ff 75 0c             	push   0xc(%ebp)
445276:	8b 47 08             	mov    0x8(%edi),%eax
445279:	ff 77 14             	push   0x14(%edi)
44527c:	ff 34 85 b8 67 46 00 	push   0x4667b8(,%eax,4)
445283:	57                   	push   %edi
445284:	e8 6a fc ff ff       	call   0x444ef3
445289:	8b f0                	mov    %eax,%esi
44528b:	85 f6                	test   %esi,%esi
44528d:	78 50                	js     0x4452df
44528f:	8b 47 0c             	mov    0xc(%edi),%eax
445292:	8d 4f 18             	lea    0x18(%edi),%ecx
445295:	68 e8 03 00 00       	push   $0x3e8
44529a:	6a 04                	push   $0x4
44529c:	40                   	inc    %eax
44529d:	50                   	push   %eax
44529e:	51                   	push   %ecx
44529f:	e8 52 e6 fb ff       	call   0x4038f6
4452a4:	8b f0                	mov    %eax,%esi
4452a6:	85 f6                	test   %esi,%esi
4452a8:	78 35                	js     0x4452df
4452aa:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4452ad:	8b 47 14             	mov    0x14(%edi),%eax
4452b0:	ff 47 0c             	incl   0xc(%edi)
4452b3:	6a 00                	push   $0x0
4452b5:	ff 75 0c             	push   0xc(%ebp)
4452b8:	c1 e1 02             	shl    $0x2,%ecx
4452bb:	03 c1                	add    %ecx,%eax
4452bd:	89 4d 08             	mov    %ecx,0x8(%ebp)
4452c0:	50                   	push   %eax
4452c1:	e8 df ce fb ff       	call   0x4021a5
4452c6:	8b f0                	mov    %eax,%esi
4452c8:	85 f6                	test   %esi,%esi
4452ca:	78 13                	js     0x4452df
4452cc:	8b 47 14             	mov    0x14(%edi),%eax
4452cf:	8b 57 0c             	mov    0xc(%edi),%edx
4452d2:	8b 4f 18             	mov    0x18(%edi),%ecx
4452d5:	8b 7d 08             	mov    0x8(%ebp),%edi
4452d8:	8b 04 07             	mov    (%edi,%eax,1),%eax
4452db:	89 44 91 fc          	mov    %eax,-0x4(%ecx,%edx,4)
4452df:	5f                   	pop    %edi
4452e0:	8b c6                	mov    %esi,%eax
4452e2:	5e                   	pop    %esi
4452e3:	8b e5                	mov    %ebp,%esp
4452e5:	5d                   	pop    %ebp
4452e6:	c2 08 00             	ret    $0x8
4452e9:	55                   	push   %ebp
4452ea:	8b ec                	mov    %esp,%ebp
4452ec:	56                   	push   %esi
4452ed:	33 f6                	xor    %esi,%esi
4452ef:	57                   	push   %edi
4452f0:	39 75 10             	cmp    %esi,0x10(%ebp)
4452f3:	76 1b                	jbe    0x445310
4452f5:	8b 7d 0c             	mov    0xc(%ebp),%edi
4452f8:	ff 34 b7             	push   (%edi,%esi,4)
4452fb:	ff 75 08             	push   0x8(%ebp)
4452fe:	e8 a0 01 00 00       	call   0x4454a3
445303:	3d 90 04 07 80       	cmp    $0x80070490,%eax
445308:	75 11                	jne    0x44531b
44530a:	46                   	inc    %esi
44530b:	3b 75 10             	cmp    0x10(%ebp),%esi
44530e:	72 e8                	jb     0x4452f8
445310:	b8 91 04 07 80       	mov    $0x80070491,%eax
445315:	5f                   	pop    %edi
445316:	5e                   	pop    %esi
445317:	5d                   	pop    %ebp
445318:	c2 0c 00             	ret    $0xc
44531b:	85 c0                	test   %eax,%eax
44531d:	78 f6                	js     0x445315
44531f:	33 c0                	xor    %eax,%eax
445321:	eb f2                	jmp    0x445315
445323:	55                   	push   %ebp
445324:	8b ec                	mov    %esp,%ebp
445326:	53                   	push   %ebx
445327:	8b 5d 08             	mov    0x8(%ebp),%ebx
44532a:	56                   	push   %esi
44532b:	33 f6                	xor    %esi,%esi
44532d:	85 db                	test   %ebx,%ebx
44532f:	75 1a                	jne    0x44534b
445331:	be 57 00 07 80       	mov    $0x80070057,%esi
445336:	56                   	push   %esi
445337:	68 a9 00 00 00       	push   $0xa9
44533c:	68 e8 67 46 00       	push   $0x4667e8
445341:	e8 8d e4 fb ff       	call   0x4037d3
445346:	e9 88 00 00 00       	jmp    0x4453d3
44534b:	57                   	push   %edi
44534c:	56                   	push   %esi
44534d:	6a 20                	push   $0x20
44534f:	e8 80 e5 fb ff       	call   0x4038d4
445354:	8b f8                	mov    %eax,%edi
445356:	89 3b                	mov    %edi,(%ebx)
445358:	85 ff                	test   %edi,%edi
44535a:	75 0d                	jne    0x445369
44535c:	b8 0e 00 07 80       	mov    $0x8007000e,%eax
445361:	50                   	push   %eax
445362:	68 ad 00 00 00       	push   $0xad
445367:	eb 5d                	jmp    0x4453c6
445369:	8b 4d 0c             	mov    0xc(%ebp),%ecx
44536c:	8b 45 10             	mov    0x10(%ebp),%eax
44536f:	c7 07 02 00 00 00    	movl   $0x2,(%edi)
445375:	89 47 04             	mov    %eax,0x4(%edi)
445378:	89 77 10             	mov    %esi,0x10(%edi)
44537b:	89 77 08             	mov    %esi,0x8(%edi)
44537e:	89 77 0c             	mov    %esi,0xc(%edi)
445381:	89 77 18             	mov    %esi,0x18(%edi)
445384:	89 77 1c             	mov    %esi,0x1c(%edi)
445387:	c1 e1 03             	shl    $0x3,%ecx
44538a:	8b 47 08             	mov    0x8(%edi),%eax
44538d:	39 0c 85 b8 67 46 00 	cmp    %ecx,0x4667b8(,%eax,4)
445394:	73 09                	jae    0x44539f
445396:	40                   	inc    %eax
445397:	89 47 08             	mov    %eax,0x8(%edi)
44539a:	83 f8 0b             	cmp    $0xb,%eax
44539d:	72 eb                	jb     0x44538a
44539f:	8b 47 08             	mov    0x8(%edi),%eax
4453a2:	6a 01                	push   $0x1
4453a4:	8b 04 85 b8 67 46 00 	mov    0x4667b8(,%eax,4),%eax
4453ab:	c1 e0 02             	shl    $0x2,%eax
4453ae:	50                   	push   %eax
4453af:	e8 20 e5 fb ff       	call   0x4038d4
4453b4:	89 47 14             	mov    %eax,0x14(%edi)
4453b7:	85 c0                	test   %eax,%eax
4453b9:	75 17                	jne    0x4453d2
4453bb:	b8 0e 00 07 80       	mov    $0x8007000e,%eax
4453c0:	50                   	push   %eax
4453c1:	68 c6 00 00 00       	push   $0xc6
4453c6:	68 e8 67 46 00       	push   $0x4667e8
4453cb:	8b f0                	mov    %eax,%esi
4453cd:	e8 01 e4 fb ff       	call   0x4037d3
4453d2:	5f                   	pop    %edi
4453d3:	8b c6                	mov    %esi,%eax
4453d5:	5e                   	pop    %esi
4453d6:	5b                   	pop    %ebx
4453d7:	5d                   	pop    %ebp
4453d8:	c2 0c 00             	ret    $0xc
4453db:	55                   	push   %ebp
4453dc:	8b ec                	mov    %esp,%ebp
4453de:	51                   	push   %ecx
4453df:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4453e3:	8d 45 fc             	lea    -0x4(%ebp),%eax
4453e6:	53                   	push   %ebx
4453e7:	56                   	push   %esi
4453e8:	57                   	push   %edi
4453e9:	ff 75 14             	push   0x14(%ebp)
4453ec:	ff 75 10             	push   0x10(%ebp)
4453ef:	50                   	push   %eax
4453f0:	e8 2e ff ff ff       	call   0x445323
4453f5:	8b 75 fc             	mov    -0x4(%ebp),%esi
4453f8:	8b f8                	mov    %eax,%edi
4453fa:	85 ff                	test   %edi,%edi
4453fc:	78 3d                	js     0x44543b
4453fe:	33 db                	xor    %ebx,%ebx
445400:	39 5d 10             	cmp    %ebx,0x10(%ebp)
445403:	76 2f                	jbe    0x445434
445405:	8b 45 0c             	mov    0xc(%ebp),%eax
445408:	8b 04 98             	mov    (%eax,%ebx,4),%eax
44540b:	50                   	push   %eax
44540c:	56                   	push   %esi
44540d:	89 45 14             	mov    %eax,0x14(%ebp)
445410:	e8 8e 00 00 00       	call   0x4454a3
445415:	8b f8                	mov    %eax,%edi
445417:	81 ff 90 04 07 80    	cmp    $0x80070490,%edi
44541d:	75 0b                	jne    0x44542a
44541f:	ff 75 14             	push   0x14(%ebp)
445422:	56                   	push   %esi
445423:	e8 b9 fd ff ff       	call   0x4451e1
445428:	8b f8                	mov    %eax,%edi
44542a:	85 ff                	test   %edi,%edi
44542c:	78 0d                	js     0x44543b
44542e:	43                   	inc    %ebx
44542f:	3b 5d 10             	cmp    0x10(%ebp),%ebx
445432:	72 d1                	jb     0x445405
445434:	8b 45 08             	mov    0x8(%ebp),%eax
445437:	89 30                	mov    %esi,(%eax)
445439:	33 f6                	xor    %esi,%esi
44543b:	85 f6                	test   %esi,%esi
44543d:	74 06                	je     0x445445
44543f:	56                   	push   %esi
445440:	e8 0b 00 00 00       	call   0x445450
445445:	8b c7                	mov    %edi,%eax
445447:	5f                   	pop    %edi
445448:	5e                   	pop    %esi
445449:	5b                   	pop    %ebx
44544a:	8b e5                	mov    %ebp,%esp
44544c:	5d                   	pop    %ebp
44544d:	c2 10 00             	ret    $0x10
445450:	55                   	push   %ebp
445451:	8b ec                	mov    %esp,%ebp
445453:	56                   	push   %esi
445454:	8b 75 08             	mov    0x8(%ebp),%esi
445457:	83 3e 02             	cmpl   $0x2,(%esi)
44545a:	75 20                	jne    0x44547c
44545c:	57                   	push   %edi
44545d:	33 ff                	xor    %edi,%edi
44545f:	39 7e 0c             	cmp    %edi,0xc(%esi)
445462:	76 17                	jbe    0x44547b
445464:	8b 46 18             	mov    0x18(%esi),%eax
445467:	83 3c b8 00          	cmpl   $0x0,(%eax,%edi,4)
44546b:	74 08                	je     0x445475
44546d:	ff 34 b8             	push   (%eax,%edi,4)
445470:	e8 7a 00 00 00       	call   0x4454ef
445475:	47                   	inc    %edi
445476:	3b 7e 0c             	cmp    0xc(%esi),%edi
445479:	72 e9                	jb     0x445464
44547b:	5f                   	pop    %edi
44547c:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
445480:	74 08                	je     0x44548a
445482:	ff 76 18             	push   0x18(%esi)
445485:	e8 0f e5 fb ff       	call   0x403999
44548a:	83 7e 14 00          	cmpl   $0x0,0x14(%esi)
44548e:	74 08                	je     0x445498
445490:	ff 76 14             	push   0x14(%esi)
445493:	e8 01 e5 fb ff       	call   0x403999
445498:	56                   	push   %esi
445499:	e8 fb e4 fb ff       	call   0x403999
44549e:	5e                   	pop    %esi
44549f:	5d                   	pop    %ebp
4454a0:	c2 04 00             	ret    $0x4
4454a3:	55                   	push   %ebp
4454a4:	8b ec                	mov    %esp,%ebp
4454a6:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4454aa:	56                   	push   %esi
4454ab:	75 19                	jne    0x4454c6
4454ad:	b8 57 00 07 80       	mov    $0x80070057,%eax
4454b2:	50                   	push   %eax
4454b3:	68 a1 01 00 00       	push   $0x1a1
4454b8:	68 e8 67 46 00       	push   $0x4667e8
4454bd:	8b f0                	mov    %eax,%esi
4454bf:	e8 0f e3 fb ff       	call   0x4037d3
4454c4:	eb 22                	jmp    0x4454e8
4454c6:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
4454ca:	75 0d                	jne    0x4454d9
4454cc:	b8 57 00 07 80       	mov    $0x80070057,%eax
4454d1:	50                   	push   %eax
4454d2:	68 a2 01 00 00       	push   $0x1a2
4454d7:	eb df                	jmp    0x4454b8
4454d9:	6a 00                	push   $0x0
4454db:	ff 75 0c             	push   0xc(%ebp)
4454de:	ff 75 08             	push   0x8(%ebp)
4454e1:	e8 77 fa ff ff       	call   0x444f5d
4454e6:	8b f0                	mov    %eax,%esi
4454e8:	8b c6                	mov    %esi,%eax
4454ea:	5e                   	pop    %esi
4454eb:	5d                   	pop    %ebp
4454ec:	c2 08 00             	ret    $0x8
4454ef:	55                   	push   %ebp
4454f0:	8b ec                	mov    %esp,%ebp
4454f2:	5d                   	pop    %ebp
4454f3:	e9 a1 e4 fb ff       	jmp    0x403999
4454f8:	55                   	push   %ebp
4454f9:	8b ec                	mov    %esp,%ebp
4454fb:	51                   	push   %ecx
4454fc:	56                   	push   %esi
4454fd:	57                   	push   %edi
4454fe:	33 ff                	xor    %edi,%edi
445500:	8d 45 fc             	lea    -0x4(%ebp),%eax
445503:	57                   	push   %edi
445504:	ff 75 08             	push   0x8(%ebp)
445507:	89 7d fc             	mov    %edi,-0x4(%ebp)
44550a:	50                   	push   %eax
44550b:	e8 95 cc fb ff       	call   0x4021a5
445510:	8b f0                	mov    %eax,%esi
445512:	85 f6                	test   %esi,%esi
445514:	78 59                	js     0x44556f
445516:	be 05 40 00 80       	mov    $0x80004005,%esi
44551b:	3b 7d 24             	cmp    0x24(%ebp),%edi
44551e:	77 3b                	ja     0x44555b
445520:	85 ff                	test   %edi,%edi
445522:	74 09                	je     0x44552d
445524:	ff 75 28             	push   0x28(%ebp)
445527:	ff 15 08 b1 44 00    	call   *0x44b108
44552d:	ff 75 20             	push   0x20(%ebp)
445530:	ff 75 1c             	push   0x1c(%ebp)
445533:	ff 75 18             	push   0x18(%ebp)
445536:	ff 75 14             	push   0x14(%ebp)
445539:	ff 75 10             	push   0x10(%ebp)
44553c:	ff 75 0c             	push   0xc(%ebp)
44553f:	ff 75 fc             	push   -0x4(%ebp)
445542:	ff 15 50 b0 44 00    	call   *0x44b050
445548:	0f b7 f0             	movzwl %ax,%esi
44554b:	81 ce 00 00 07 80    	or     $0x80070000,%esi
445551:	85 c0                	test   %eax,%eax
445553:	0f 4e f0             	cmovle %eax,%esi
445556:	47                   	inc    %edi
445557:	85 f6                	test   %esi,%esi
445559:	78 c0                	js     0x44551b
44555b:	85 f6                	test   %esi,%esi
44555d:	79 10                	jns    0x44556f
44555f:	56                   	push   %esi
445560:	68 99 03 00 00       	push   $0x399
445565:	68 f8 67 46 00       	push   $0x4667f8
44556a:	e8 64 e2 fb ff       	call   0x4037d3
44556f:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
445573:	74 08                	je     0x44557d
445575:	ff 75 fc             	push   -0x4(%ebp)
445578:	e8 72 ff ff ff       	call   0x4454ef
44557d:	5f                   	pop    %edi
44557e:	8b c6                	mov    %esi,%eax
445580:	5e                   	pop    %esi
445581:	8b e5                	mov    %ebp,%esp
445583:	5d                   	pop    %ebp
445584:	c2 24 00             	ret    $0x24
445587:	55                   	push   %ebp
445588:	8b ec                	mov    %esp,%ebp
44558a:	51                   	push   %ecx
44558b:	56                   	push   %esi
44558c:	8d 45 fc             	lea    -0x4(%ebp),%eax
44558f:	33 f6                	xor    %esi,%esi
445591:	50                   	push   %eax
445592:	56                   	push   %esi
445593:	ff 75 0c             	push   0xc(%ebp)
445596:	89 75 fc             	mov    %esi,-0x4(%ebp)
445599:	ff 75 08             	push   0x8(%ebp)
44559c:	ff 15 38 a9 46 00    	call   *0x46a938
4455a2:	85 c0                	test   %eax,%eax
4455a4:	75 30                	jne    0x4455d6
4455a6:	ff 15 e8 b0 44 00    	call   *0x44b0e8
4455ac:	0f b7 f0             	movzwl %ax,%esi
4455af:	81 ce 00 00 07 80    	or     $0x80070000,%esi
4455b5:	85 c0                	test   %eax,%eax
4455b7:	0f 4e f0             	cmovle %eax,%esi
4455ba:	b8 05 40 00 80       	mov    $0x80004005,%eax
4455bf:	85 f6                	test   %esi,%esi
4455c1:	0f 49 f0             	cmovns %eax,%esi
4455c4:	56                   	push   %esi
4455c5:	6a 17                	push   $0x17
4455c7:	68 04 68 46 00       	push   $0x466804