455112:	8b c1                	mov    %ecx,%eax
455114:	8b bd a0 fb ff ff    	mov    -0x460(%ebp),%edi
45511a:	83 e0 02             	and    $0x2,%eax
45511d:	89 85 8c fb ff ff    	mov    %eax,-0x474(%ebp)
455123:	0b c2                	or     %edx,%eax
455125:	89 bd 90 fb ff ff    	mov    %edi,-0x470(%ebp)
45512b:	89 9d 94 fb ff ff    	mov    %ebx,-0x46c(%ebp)
455131:	89 95 98 fb ff ff    	mov    %edx,-0x468(%ebp)
455137:	75 0a                	jne    0x455143
455139:	88 95 9c fb ff ff    	mov    %dl,-0x464(%ebp)
45513f:	85 ff                	test   %edi,%edi
455141:	75 07                	jne    0x45514a
455143:	c6 85 9c fb ff ff 01 	movb   $0x1,-0x464(%ebp)
45514a:	ff 75 20             	push   0x20(%ebp)
45514d:	8d 85 90 fb ff ff    	lea    -0x470(%ebp),%eax
455153:	89 85 a0 fb ff ff    	mov    %eax,-0x460(%ebp)
455159:	8d 85 80 fb ff ff    	lea    -0x480(%ebp),%eax
45515f:	50                   	push   %eax
455160:	ff 75 18             	push   0x18(%ebp)
455163:	8d 85 a0 fb ff ff    	lea    -0x460(%ebp),%eax
455169:	ff 75 0c             	push   0xc(%ebp)
45516c:	51                   	push   %ecx
45516d:	50                   	push   %eax
45516e:	8d 8d a4 fb ff ff    	lea    -0x45c(%ebp),%ecx
455174:	e8 f1 41 00 00       	call   0x45936a
455179:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
45517d:	8d 8d a4 fb ff ff    	lea    -0x45c(%ebp),%ecx
455183:	e8 95 68 00 00       	call   0x45ba1d
455188:	8b f0                	mov    %eax,%esi
45518a:	85 ff                	test   %edi,%edi
45518c:	74 51                	je     0x4551df
45518e:	8b 45 08             	mov    0x8(%ebp),%eax
455191:	83 e0 01             	and    $0x1,%eax
455194:	83 c8 00             	or     $0x0,%eax
455197:	74 1c                	je     0x4551b5
455199:	85 db                	test   %ebx,%ebx
45519b:	75 04                	jne    0x4551a1
45519d:	85 f6                	test   %esi,%esi
45519f:	75 76                	jne    0x455217
4551a1:	8b 85 98 fb ff ff    	mov    -0x468(%ebp),%eax
4551a7:	3b c3                	cmp    %ebx,%eax
4551a9:	75 2e                	jne    0x4551d9
4551ab:	85 f6                	test   %esi,%esi
4551ad:	78 30                	js     0x4551df
4551af:	3b f3                	cmp    %ebx,%esi
4551b1:	76 2c                	jbe    0x4551df
4551b3:	eb 62                	jmp    0x455217
4551b5:	8b 85 8c fb ff ff    	mov    -0x474(%ebp),%eax
4551bb:	83 c8 00             	or     $0x0,%eax
4551be:	74 53                	je     0x455213
4551c0:	85 db                	test   %ebx,%ebx
4551c2:	74 1b                	je     0x4551df
4551c4:	85 f6                	test   %esi,%esi
4551c6:	79 07                	jns    0x4551cf
4551c8:	33 c0                	xor    %eax,%eax
4551ca:	66 89 07             	mov    %ax,(%edi)
4551cd:	eb 10                	jmp    0x4551df
4551cf:	8b 85 98 fb ff ff    	mov    -0x468(%ebp),%eax
4551d5:	3b c3                	cmp    %ebx,%eax
4551d7:	74 50                	je     0x455229
4551d9:	33 c9                	xor    %ecx,%ecx
4551db:	66 89 0c 47          	mov    %cx,(%edi,%eax,2)
4551df:	8d 8d e4 fb ff ff    	lea    -0x41c(%ebp),%ecx
4551e5:	e8 5d 45 00 00       	call   0x459747
4551ea:	80 bd 88 fb ff ff 00 	cmpb   $0x0,-0x478(%ebp)
4551f1:	74 0d                	je     0x455200
4551f3:	8b 8d 7c fb ff ff    	mov    -0x484(%ebp),%ecx
4551f9:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
455200:	5f                   	pop    %edi
455201:	8b c6                	mov    %esi,%eax
455203:	5e                   	pop    %esi
455204:	8b 4d fc             	mov    -0x4(%ebp),%ecx
455207:	33 cd                	xor    %ebp,%ecx
455209:	5b                   	pop    %ebx
45520a:	e8 f3 a7 fe ff       	call   0x43fa02
45520f:	8b e5                	mov    %ebp,%esp
455211:	5d                   	pop    %ebp
455212:	c3                   	ret
455213:	85 db                	test   %ebx,%ebx
455215:	75 05                	jne    0x45521c
455217:	83 ce ff             	or     $0xffffffff,%esi
45521a:	eb c3                	jmp    0x4551df
45521c:	8b 85 98 fb ff ff    	mov    -0x468(%ebp),%eax
455222:	3b c3                	cmp    %ebx,%eax
455224:	75 b3                	jne    0x4551d9
455226:	6a fe                	push   $0xfffffffe
455228:	5e                   	pop    %esi
455229:	33 c0                	xor    %eax,%eax
45522b:	66 89 44 5f fe       	mov    %ax,-0x2(%edi,%ebx,2)
455230:	eb ad                	jmp    0x4551df
455232:	8b ff                	mov    %edi,%edi
455234:	55                   	push   %ebp
455235:	8b ec                	mov    %esp,%ebp
455237:	81 ec f0 0a 00 00    	sub    $0xaf0,%esp
45523d:	a1 94 80 4b 00       	mov    0x4b8094,%eax
455242:	33 c5                	xor    %ebp,%eax
455244:	89 45 fc             	mov    %eax,-0x4(%ebp)
455247:	8b 45 10             	mov    0x10(%ebp),%eax
45524a:	53                   	push   %ebx
45524b:	8b 5d 14             	mov    0x14(%ebp),%ebx
45524e:	56                   	push   %esi
45524f:	8b 75 18             	mov    0x18(%ebp),%esi
455252:	89 85 48 f5 ff ff    	mov    %eax,-0xab8(%ebp)
455258:	85 f6                	test   %esi,%esi
45525a:	75 18                	jne    0x455274
45525c:	e8 ce 7b ff ff       	call   0x44ce2f
455261:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
455267:	e8 6a 7a ff ff       	call   0x44ccd6
45526c:	83 c8 ff             	or     $0xffffffff,%eax
45526f:	e9 44 01 00 00       	jmp    0x4553b8
455274:	85 db                	test   %ebx,%ebx
455276:	74 04                	je     0x45527c
455278:	85 c0                	test   %eax,%eax
45527a:	74 e0                	je     0x45525c
45527c:	57                   	push   %edi
45527d:	ff 75 1c             	push   0x1c(%ebp)
455280:	8d 8d 10 f5 ff ff    	lea    -0xaf0(%ebp),%ecx
455286:	e8 7d 9d ff ff       	call   0x44f008
45528b:	8b 4d 08             	mov    0x8(%ebp),%ecx
45528e:	8d bd 38 f5 ff ff    	lea    -0xac8(%ebp),%edi
455294:	33 c0                	xor    %eax,%eax
455296:	33 d2                	xor    %edx,%edx
455298:	ab                   	stos   %eax,%es:(%edi)
455299:	ab                   	stos   %eax,%es:(%edi)
45529a:	ab                   	stos   %eax,%es:(%edi)
45529b:	ab                   	stos   %eax,%es:(%edi)
45529c:	8b c1                	mov    %ecx,%eax
45529e:	8b bd 48 f5 ff ff    	mov    -0xab8(%ebp),%edi
4552a4:	83 e0 02             	and    $0x2,%eax
4552a7:	89 85 28 f5 ff ff    	mov    %eax,-0xad8(%ebp)
4552ad:	0b c2                	or     %edx,%eax
4552af:	89 bd 38 f5 ff ff    	mov    %edi,-0xac8(%ebp)
4552b5:	89 9d 3c f5 ff ff    	mov    %ebx,-0xac4(%ebp)
4552bb:	89 95 40 f5 ff ff    	mov    %edx,-0xac0(%ebp)
4552c1:	75 0a                	jne    0x4552cd
4552c3:	88 95 44 f5 ff ff    	mov    %dl,-0xabc(%ebp)
4552c9:	85 ff                	test   %edi,%edi
4552cb:	75 07                	jne    0x4552d4
4552cd:	c6 85 44 f5 ff ff 01 	movb   $0x1,-0xabc(%ebp)
4552d4:	8d 85 38 f5 ff ff    	lea    -0xac8(%ebp),%eax
4552da:	89 8d 20 f5 ff ff    	mov    %ecx,-0xae0(%ebp)
4552e0:	89 85 2c f5 ff ff    	mov    %eax,-0xad4(%ebp)
4552e6:	8d 8d 4c f5 ff ff    	lea    -0xab4(%ebp),%ecx
4552ec:	8b 45 20             	mov    0x20(%ebp),%eax
4552ef:	89 85 48 f5 ff ff    	mov    %eax,-0xab8(%ebp)
4552f5:	8d 85 14 f5 ff ff    	lea    -0xaec(%ebp),%eax
4552fb:	89 85 34 f5 ff ff    	mov    %eax,-0xacc(%ebp)
455301:	8b 45 0c             	mov    0xc(%ebp),%eax
455304:	89 85 24 f5 ff ff    	mov    %eax,-0xadc(%ebp)
45530a:	8d 85 48 f5 ff ff    	lea    -0xab8(%ebp),%eax
455310:	50                   	push   %eax
455311:	8d 85 34 f5 ff ff    	lea    -0xacc(%ebp),%eax
455317:	89 b5 30 f5 ff ff    	mov    %esi,-0xad0(%ebp)
45531d:	50                   	push   %eax
45531e:	8d 85 30 f5 ff ff    	lea    -0xad0(%ebp),%eax
455324:	50                   	push   %eax
455325:	8d 85 20 f5 ff ff    	lea    -0xae0(%ebp),%eax
45532b:	50                   	push   %eax
45532c:	8d 85 2c f5 ff ff    	lea    -0xad4(%ebp),%eax
455332:	50                   	push   %eax
455333:	e8 d0 f3 ff ff       	call   0x454708
455338:	8d 8d 4c f5 ff ff    	lea    -0xab4(%ebp),%ecx
45533e:	e8 b2 60 00 00       	call   0x45b3f5
455343:	8b f0                	mov    %eax,%esi
455345:	85 ff                	test   %edi,%edi
455347:	74 4b                	je     0x455394
455349:	8b 45 08             	mov    0x8(%ebp),%eax
45534c:	33 c9                	xor    %ecx,%ecx
45534e:	83 e0 01             	and    $0x1,%eax
455351:	0b c1                	or     %ecx,%eax
455353:	74 1c                	je     0x455371
455355:	85 db                	test   %ebx,%ebx
455357:	75 04                	jne    0x45535d
455359:	85 f6                	test   %esi,%esi
45535b:	75 6f                	jne    0x4553cc
45535d:	8b 85 40 f5 ff ff    	mov    -0xac0(%ebp),%eax
455363:	3b c3                	cmp    %ebx,%eax
455365:	75 2a                	jne    0x455391
455367:	85 f6                	test   %esi,%esi
455369:	78 29                	js     0x455394
45536b:	3b f3                	cmp    %ebx,%esi
45536d:	76 25                	jbe    0x455394
45536f:	eb 5b                	jmp    0x4553cc
455371:	8b 85 28 f5 ff ff    	mov    -0xad8(%ebp),%eax
455377:	0b c1                	or     %ecx,%eax
455379:	74 4d                	je     0x4553c8
45537b:	85 db                	test   %ebx,%ebx
45537d:	74 15                	je     0x455394
45537f:	85 f6                	test   %esi,%esi
455381:	79 04                	jns    0x455387
455383:	88 0f                	mov    %cl,(%edi)
455385:	eb 0d                	jmp    0x455394
455387:	8b 85 40 f5 ff ff    	mov    -0xac0(%ebp),%eax
45538d:	3b c3                	cmp    %ebx,%eax
45538f:	74 4d                	je     0x4553de
455391:	88 0c 07             	mov    %cl,(%edi,%eax,1)
455394:	8d 8d 8c f5 ff ff    	lea    -0xa74(%ebp),%ecx
45539a:	e8 a8 43 00 00       	call   0x459747
45539f:	80 bd 1c f5 ff ff 00 	cmpb   $0x0,-0xae4(%ebp)
4553a6:	5f                   	pop    %edi
4553a7:	74 0d                	je     0x4553b6
4553a9:	8b 8d 10 f5 ff ff    	mov    -0xaf0(%ebp),%ecx
4553af:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
4553b6:	8b c6                	mov    %esi,%eax
4553b8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4553bb:	5e                   	pop    %esi
4553bc:	33 cd                	xor    %ebp,%ecx
4553be:	5b                   	pop    %ebx
4553bf:	e8 3e a6 fe ff       	call   0x43fa02
4553c4:	8b e5                	mov    %ebp,%esp
4553c6:	5d                   	pop    %ebp
4553c7:	c3                   	ret
4553c8:	85 db                	test   %ebx,%ebx
4553ca:	75 05                	jne    0x4553d1
4553cc:	83 ce ff             	or     $0xffffffff,%esi
4553cf:	eb c3                	jmp    0x455394
4553d1:	8b 85 40 f5 ff ff    	mov    -0xac0(%ebp),%eax
4553d7:	3b c3                	cmp    %ebx,%eax
4553d9:	75 b6                	jne    0x455391
4553db:	6a fe                	push   $0xfffffffe
4553dd:	5e                   	pop    %esi
4553de:	88 4c 1f ff          	mov    %cl,-0x1(%edi,%ebx,1)
4553e2:	eb b0                	jmp    0x455394
4553e4:	8b ff                	mov    %edi,%edi
4553e6:	55                   	push   %ebp
4553e7:	8b ec                	mov    %esp,%ebp
4553e9:	81 ec f0 0a 00 00    	sub    $0xaf0,%esp
4553ef:	a1 94 80 4b 00       	mov    0x4b8094,%eax
4553f4:	33 c5                	xor    %ebp,%eax
4553f6:	89 45 fc             	mov    %eax,-0x4(%ebp)
4553f9:	8b 45 10             	mov    0x10(%ebp),%eax
4553fc:	53                   	push   %ebx
4553fd:	8b 5d 14             	mov    0x14(%ebp),%ebx
455400:	56                   	push   %esi
455401:	8b 75 18             	mov    0x18(%ebp),%esi
455404:	89 85 48 f5 ff ff    	mov    %eax,-0xab8(%ebp)
45540a:	85 f6                	test   %esi,%esi
45540c:	75 18                	jne    0x455426
45540e:	e8 1c 7a ff ff       	call   0x44ce2f
455413:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
455419:	e8 b8 78 ff ff       	call   0x44ccd6
45541e:	83 c8 ff             	or     $0xffffffff,%eax
455421:	e9 4a 01 00 00       	jmp    0x455570
455426:	85 db                	test   %ebx,%ebx
455428:	74 04                	je     0x45542e
45542a:	85 c0                	test   %eax,%eax
45542c:	74 e0                	je     0x45540e
45542e:	57                   	push   %edi
45542f:	ff 75 1c             	push   0x1c(%ebp)
455432:	8d 8d 10 f5 ff ff    	lea    -0xaf0(%ebp),%ecx
455438:	e8 cb 9b ff ff       	call   0x44f008
45543d:	8b 4d 08             	mov    0x8(%ebp),%ecx
455440:	8d bd 38 f5 ff ff    	lea    -0xac8(%ebp),%edi
455446:	33 c0                	xor    %eax,%eax
455448:	33 d2                	xor    %edx,%edx
45544a:	ab                   	stos   %eax,%es:(%edi)
45544b:	ab                   	stos   %eax,%es:(%edi)
45544c:	ab                   	stos   %eax,%es:(%edi)
45544d:	ab                   	stos   %eax,%es:(%edi)
45544e:	8b c1                	mov    %ecx,%eax
455450:	8b bd 48 f5 ff ff    	mov    -0xab8(%ebp),%edi
455456:	83 e0 02             	and    $0x2,%eax
455459:	89 85 28 f5 ff ff    	mov    %eax,-0xad8(%ebp)
45545f:	0b c2                	or     %edx,%eax
455461:	89 bd 38 f5 ff ff    	mov    %edi,-0xac8(%ebp)
455467:	89 9d 3c f5 ff ff    	mov    %ebx,-0xac4(%ebp)
45546d:	89 95 40 f5 ff ff    	mov    %edx,-0xac0(%ebp)
455473:	75 0a                	jne    0x45547f
455475:	88 95 44 f5 ff ff    	mov    %dl,-0xabc(%ebp)
45547b:	85 ff                	test   %edi,%edi
45547d:	75 07                	jne    0x455486
45547f:	c6 85 44 f5 ff ff 01 	movb   $0x1,-0xabc(%ebp)
455486:	8d 85 38 f5 ff ff    	lea    -0xac8(%ebp),%eax
45548c:	89 8d 20 f5 ff ff    	mov    %ecx,-0xae0(%ebp)
455492:	89 85 2c f5 ff ff    	mov    %eax,-0xad4(%ebp)
455498:	8d 8d 4c f5 ff ff    	lea    -0xab4(%ebp),%ecx
45549e:	8b 45 20             	mov    0x20(%ebp),%eax
4554a1:	89 85 48 f5 ff ff    	mov    %eax,-0xab8(%ebp)
4554a7:	8d 85 14 f5 ff ff    	lea    -0xaec(%ebp),%eax
4554ad:	89 85 34 f5 ff ff    	mov    %eax,-0xacc(%ebp)
4554b3:	8b 45 0c             	mov    0xc(%ebp),%eax
4554b6:	89 85 24 f5 ff ff    	mov    %eax,-0xadc(%ebp)
4554bc:	8d 85 48 f5 ff ff    	lea    -0xab8(%ebp),%eax
4554c2:	50                   	push   %eax
4554c3:	8d 85 34 f5 ff ff    	lea    -0xacc(%ebp),%eax
4554c9:	89 b5 30 f5 ff ff    	mov    %esi,-0xad0(%ebp)
4554cf:	50                   	push   %eax
4554d0:	8d 85 30 f5 ff ff    	lea    -0xad0(%ebp),%eax
4554d6:	50                   	push   %eax
4554d7:	8d 85 20 f5 ff ff    	lea    -0xae0(%ebp),%eax
4554dd:	50                   	push   %eax
4554de:	8d 85 2c f5 ff ff    	lea    -0xad4(%ebp),%eax
4554e4:	50                   	push   %eax
4554e5:	e8 be f2 ff ff       	call   0x4547a8
4554ea:	8d 8d 4c f5 ff ff    	lea    -0xab4(%ebp),%ecx
4554f0:	e8 58 66 00 00       	call   0x45bb4d
4554f5:	8b f0                	mov    %eax,%esi
4554f7:	85 ff                	test   %edi,%edi
4554f9:	74 51                	je     0x45554c
4554fb:	8b 45 08             	mov    0x8(%ebp),%eax
4554fe:	83 e0 01             	and    $0x1,%eax
455501:	83 c8 00             	or     $0x0,%eax
455504:	74 1c                	je     0x455522
455506:	85 db                	test   %ebx,%ebx
455508:	75 04                	jne    0x45550e
45550a:	85 f6                	test   %esi,%esi
45550c:	75 76                	jne    0x455584
45550e:	8b 85 40 f5 ff ff    	mov    -0xac0(%ebp),%eax
455514:	3b c3                	cmp    %ebx,%eax
455516:	75 2e                	jne    0x455546
455518:	85 f6                	test   %esi,%esi
45551a:	78 30                	js     0x45554c
45551c:	3b f3                	cmp    %ebx,%esi
45551e:	76 2c                	jbe    0x45554c
455520:	eb 62                	jmp    0x455584
455522:	8b 85 28 f5 ff ff    	mov    -0xad8(%ebp),%eax
455528:	83 c8 00             	or     $0x0,%eax
45552b:	74 53                	je     0x455580
45552d:	85 db                	test   %ebx,%ebx
45552f:	74 1b                	je     0x45554c
455531:	85 f6                	test   %esi,%esi
455533:	79 07                	jns    0x45553c
455535:	33 c0                	xor    %eax,%eax
455537:	66 89 07             	mov    %ax,(%edi)
45553a:	eb 10                	jmp    0x45554c
45553c:	8b 85 40 f5 ff ff    	mov    -0xac0(%ebp),%eax
455542:	3b c3                	cmp    %ebx,%eax
455544:	74 50                	je     0x455596
455546:	33 c9                	xor    %ecx,%ecx
455548:	66 89 0c 47          	mov    %cx,(%edi,%eax,2)
45554c:	8d 8d 8c f5 ff ff    	lea    -0xa74(%ebp),%ecx
455552:	e8 f0 41 00 00       	call   0x459747
455557:	80 bd 1c f5 ff ff 00 	cmpb   $0x0,-0xae4(%ebp)
45555e:	5f                   	pop    %edi
45555f:	74 0d                	je     0x45556e
455561:	8b 8d 10 f5 ff ff    	mov    -0xaf0(%ebp),%ecx
455567:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
45556e:	8b c6                	mov    %esi,%eax
455570:	8b 4d fc             	mov    -0x4(%ebp),%ecx
455573:	5e                   	pop    %esi
455574:	33 cd                	xor    %ebp,%ecx
455576:	5b                   	pop    %ebx
455577:	e8 86 a4 fe ff       	call   0x43fa02
45557c:	8b e5                	mov    %ebp,%esp
45557e:	5d                   	pop    %ebp
45557f:	c3                   	ret
455580:	85 db                	test   %ebx,%ebx
455582:	75 05                	jne    0x455589
455584:	83 ce ff             	or     $0xffffffff,%esi
455587:	eb c3                	jmp    0x45554c