455321:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
455327:	50                   	push   %eax
455328:	8d 55 84             	lea    -0x7c(%ebp),%edx
45532b:	51                   	push   %ecx
45532c:	8d 45 94             	lea    -0x6c(%ebp),%eax
45532f:	52                   	push   %edx
455330:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
455333:	50                   	push   %eax
455334:	8d 55 b4             	lea    -0x4c(%ebp),%edx
455337:	51                   	push   %ecx
455338:	52                   	push   %edx
455339:	6a 07                	push   $0x7
45533b:	ff 15 a0 10 40 00    	call   *0x4010a0
455341:	83 c4 20             	add    $0x20,%esp
455344:	c3                   	ret
455345:	c3                   	ret
455346:	8b 4d f0             	mov    -0x10(%ebp),%ecx
455349:	66 8b 45 e4          	mov    -0x1c(%ebp),%ax
45534d:	5f                   	pop    %edi
45534e:	5e                   	pop    %esi
45534f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
455356:	5b                   	pop    %ebx
455357:	8b e5                	mov    %ebp,%esp
455359:	5d                   	pop    %ebp
45535a:	c2 04 00             	ret    $0x4
45535d:	ff 15 7c 11 40 00    	call   *0x40117c
455363:	90                   	nop
455364:	90                   	nop
455365:	90                   	nop
455366:	90                   	nop
455367:	90                   	nop
455368:	90                   	nop
455369:	90                   	nop
45536a:	90                   	nop
45536b:	90                   	nop
45536c:	90                   	nop
45536d:	90                   	nop
45536e:	90                   	nop
45536f:	90                   	nop
455370:	51                   	push   %ecx
455371:	53                   	push   %ebx
455372:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
455376:	56                   	push   %esi
455377:	57                   	push   %edi
455378:	53                   	push   %ebx
455379:	c7 44 24 10 00 00 00 	movl   $0x0,0x10(%esp)
455380:	00
455381:	ff 15 2c 10 40 00    	call   *0x40102c
455387:	8b f0                	mov    %eax,%esi
455389:	56                   	push   %esi
45538a:	6a 00                	push   $0x0
45538c:	ff 15 28 10 40 00    	call   *0x401028
455392:	8b f8                	mov    %eax,%edi
455394:	8d 44 24 0c          	lea    0xc(%esp),%eax
455398:	50                   	push   %eax
455399:	6a 00                	push   $0x0
45539b:	56                   	push   %esi
45539c:	57                   	push   %edi
45539d:	56                   	push   %esi
45539e:	53                   	push   %ebx
45539f:	6a 00                	push   $0x0
4553a1:	6a 00                	push   $0x0
4553a3:	c7 44 24 2c 00 00 00 	movl   $0x0,0x2c(%esp)
4553aa:	00
4553ab:	ff 15 48 10 40 00    	call   *0x401048
4553b1:	8b c7                	mov    %edi,%eax
4553b3:	5f                   	pop    %edi
4553b4:	5e                   	pop    %esi
4553b5:	5b                   	pop    %ebx
4553b6:	59                   	pop    %ecx
4553b7:	c2 04 00             	ret    $0x4
4553ba:	90                   	nop
4553bb:	90                   	nop
4553bc:	90                   	nop
4553bd:	90                   	nop
4553be:	90                   	nop
4553bf:	90                   	nop
4553c0:	55                   	push   %ebp
4553c1:	8b ec                	mov    %esp,%ebp
4553c3:	83 ec 08             	sub    $0x8,%esp
4553c6:	68 d6 15 40 00       	push   $0x4015d6
4553cb:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4553d1:	50                   	push   %eax
4553d2:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
4553d9:	83 ec 38             	sub    $0x38,%esp
4553dc:	53                   	push   %ebx
4553dd:	56                   	push   %esi
4553de:	57                   	push   %edi
4553df:	89 65 f8             	mov    %esp,-0x8(%ebp)
4553e2:	c7 45 fc c0 15 40 00 	movl   $0x4015c0,-0x4(%ebp)
4553e9:	33 c0                	xor    %eax,%eax
4553eb:	6a 31                	push   $0x31
4553ed:	89 45 dc             	mov    %eax,-0x24(%ebp)
4553f0:	89 45 cc             	mov    %eax,-0x34(%ebp)
4553f3:	89 45 c4             	mov    %eax,-0x3c(%ebp)
4553f6:	8d 45 dc             	lea    -0x24(%ebp),%eax
4553f9:	50                   	push   %eax
4553fa:	c7 45 bc 02 00 00 00 	movl   $0x2,-0x44(%ebp)
455401:	ff 15 5c 11 40 00    	call   *0x40115c
455407:	8d 4d bc             	lea    -0x44(%ebp),%ecx
45540a:	8d 55 dc             	lea    -0x24(%ebp),%edx
45540d:	51                   	push   %ecx
45540e:	8d 45 cc             	lea    -0x34(%ebp),%eax
455411:	52                   	push   %edx
455412:	50                   	push   %eax
455413:	ff 15 b8 11 40 00    	call   *0x4011b8
455419:	50                   	push   %eax
45541a:	ff 15 f0 10 40 00    	call   *0x4010f0
455420:	8d 4d cc             	lea    -0x34(%ebp),%ecx
455423:	8d 55 dc             	lea    -0x24(%ebp),%edx
455426:	51                   	push   %ecx
455427:	52                   	push   %edx
455428:	6a 02                	push   $0x2
45542a:	89 45 ec             	mov    %eax,-0x14(%ebp)
45542d:	ff 15 a0 10 40 00    	call   *0x4010a0
455433:	83 c4 0c             	add    $0xc,%esp
455436:	68 52 54 45 00       	push   $0x455452
45543b:	eb 14                	jmp    0x455451
45543d:	8d 45 cc             	lea    -0x34(%ebp),%eax
455440:	8d 4d dc             	lea    -0x24(%ebp),%ecx
455443:	50                   	push   %eax
455444:	51                   	push   %ecx
455445:	6a 02                	push   $0x2
455447:	ff 15 a0 10 40 00    	call   *0x4010a0
45544d:	83 c4 0c             	add    $0xc,%esp
455450:	c3                   	ret
455451:	c3                   	ret
455452:	8b 4d f0             	mov    -0x10(%ebp),%ecx
455455:	66 8b 45 ec          	mov    -0x14(%ebp),%ax
455459:	5f                   	pop    %edi
45545a:	5e                   	pop    %esi
45545b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
455462:	5b                   	pop    %ebx
455463:	8b e5                	mov    %ebp,%esp
455465:	5d                   	pop    %ebp
455466:	c2 04 00             	ret    $0x4
455469:	90                   	nop
45546a:	90                   	nop
45546b:	90                   	nop
45546c:	90                   	nop
45546d:	90                   	nop
45546e:	90                   	nop
45546f:	90                   	nop
455470:	66 33 c0             	xor    %ax,%ax
455473:	c3                   	ret
455474:	90                   	nop
455475:	90                   	nop
455476:	90                   	nop
455477:	90                   	nop
455478:	90                   	nop
455479:	90                   	nop
45547a:	90                   	nop
45547b:	90                   	nop
45547c:	90                   	nop
45547d:	90                   	nop
45547e:	90                   	nop
45547f:	90                   	nop
455480:	81 ec fc 00 00 00    	sub    $0xfc,%esp
455486:	56                   	push   %esi
455487:	8b b4 24 04 01 00 00 	mov    0x104(%esp),%esi
45548e:	57                   	push   %edi
45548f:	b9 3e 00 00 00       	mov    $0x3e,%ecx
455494:	33 c0                	xor    %eax,%eax
455496:	8d 7c 24 0c          	lea    0xc(%esp),%edi
45549a:	f3 ab                	rep stos %eax,%es:(%edi)
45549c:	89 44 24 08          	mov    %eax,0x8(%esp)
4554a0:	8d 44 24 0c          	lea    0xc(%esp),%eax
4554a4:	50                   	push   %eax
4554a5:	56                   	push   %esi
4554a6:	e8 c5 0a 00 00       	call   0x455f70
4554ab:	85 c0                	test   %eax,%eax
4554ad:	75 1d                	jne    0x4554cc
4554af:	8b 8c 24 10 01 00 00 	mov    0x110(%esp),%ecx
4554b6:	6a 01                	push   $0x1
4554b8:	51                   	push   %ecx
4554b9:	e8 42 0c 00 00       	call   0x456100
4554be:	5f                   	pop    %edi
4554bf:	66 33 c0             	xor    %ax,%ax
4554c2:	5e                   	pop    %esi
4554c3:	81 c4 fc 00 00 00    	add    $0xfc,%esp
4554c9:	c2 0c 00             	ret    $0xc
4554cc:	0f bf 44 24 22       	movswl 0x22(%esp),%eax
4554d1:	8b d0                	mov    %eax,%edx
4554d3:	d1 ea                	shr    $1,%edx
4554d5:	c1 e8 08             	shr    $0x8,%eax
4554d8:	23 d0                	and    %eax,%edx
4554da:	33 c0                	xor    %eax,%eax
4554dc:	83 e2 01             	and    $0x1,%edx
4554df:	66 81 7c 24 10 4c 01 	cmpw   $0x14c,0x10(%esp)
4554e6:	0f 94 c0             	sete   %al
4554e9:	84 d0                	test   %dl,%al
4554eb:	0f 84 31 01 00 00    	je     0x455622
4554f1:	8d 4c 24 08          	lea    0x8(%esp),%ecx
4554f5:	51                   	push   %ecx
4554f6:	56                   	push   %esi
4554f7:	e8 34 08 00 00       	call   0x455d30
4554fc:	85 c0                	test   %eax,%eax
4554fe:	74 1c                	je     0x45551c
455500:	8b 94 24 10 01 00 00 	mov    0x110(%esp),%edx
455507:	50                   	push   %eax
455508:	52                   	push   %edx
455509:	e8 f2 0b 00 00       	call   0x456100
45550e:	5f                   	pop    %edi
45550f:	66 33 c0             	xor    %ax,%ax
455512:	5e                   	pop    %esi
455513:	81 c4 fc 00 00 00    	add    $0xfc,%esp
455519:	c2 0c 00             	ret    $0xc
45551c:	8b 44 24 08          	mov    0x8(%esp),%eax
455520:	50                   	push   %eax
455521:	56                   	push   %esi
455522:	e8 b9 08 00 00       	call   0x455de0
455527:	85 c0                	test   %eax,%eax
455529:	74 1c                	je     0x455547
45552b:	8b 8c 24 10 01 00 00 	mov    0x110(%esp),%ecx
455532:	50                   	push   %eax
455533:	51                   	push   %ecx
455534:	e8 c7 0b 00 00       	call   0x456100
455539:	5f                   	pop    %edi
45553a:	66 33 c0             	xor    %ax,%ax
45553d:	5e                   	pop    %esi
45553e:	81 c4 fc 00 00 00    	add    $0xfc,%esp
455544:	c2 0c 00             	ret    $0xc
455547:	8b 54 24 08          	mov    0x8(%esp),%edx
45554b:	52                   	push   %edx
45554c:	e8 ef 00 00 00       	call   0x455640
455551:	85 c0                	test   %eax,%eax
455553:	74 1c                	je     0x455571
455555:	50                   	push   %eax
455556:	8b 84 24 14 01 00 00 	mov    0x114(%esp),%eax
45555d:	50                   	push   %eax
45555e:	e8 9d 0b 00 00       	call   0x456100
455563:	5f                   	pop    %edi
455564:	66 33 c0             	xor    %ax,%ax
455567:	5e                   	pop    %esi
455568:	81 c4 fc 00 00 00    	add    $0xfc,%esp
45556e:	c2 0c 00             	ret    $0xc
455571:	8b 4c 24 08          	mov    0x8(%esp),%ecx
455575:	51                   	push   %ecx
455576:	e8 d5 03 00 00       	call   0x455950
45557b:	85 c0                	test   %eax,%eax
45557d:	74 1c                	je     0x45559b
45557f:	8b 94 24 10 01 00 00 	mov    0x110(%esp),%edx
455586:	50                   	push   %eax
455587:	52                   	push   %edx
455588:	e8 73 0b 00 00       	call   0x456100
45558d:	5f                   	pop    %edi
45558e:	66 33 c0             	xor    %ax,%ax
455591:	5e                   	pop    %esi
455592:	81 c4 fc 00 00 00    	add    $0xfc,%esp
455598:	c2 0c 00             	ret    $0xc
45559b:	8b 44 24 08          	mov    0x8(%esp),%eax
45559f:	50                   	push   %eax
4555a0:	e8 ab 05 00 00       	call   0x455b50
4555a5:	85 c0                	test   %eax,%eax
4555a7:	74 1c                	je     0x4555c5
4555a9:	8b 8c 24 10 01 00 00 	mov    0x110(%esp),%ecx
4555b0:	50                   	push   %eax
4555b1:	51                   	push   %ecx
4555b2:	e8 49 0b 00 00       	call   0x456100
4555b7:	5f                   	pop    %edi
4555b8:	66 33 c0             	xor    %ax,%ax
4555bb:	5e                   	pop    %esi
4555bc:	81 c4 fc 00 00 00    	add    $0xfc,%esp
4555c2:	c2 0c 00             	ret    $0xc
4555c5:	8b 54 24 08          	mov    0x8(%esp),%edx
4555c9:	52                   	push   %edx
4555ca:	e8 11 02 00 00       	call   0x4557e0
4555cf:	85 c0                	test   %eax,%eax
4555d1:	74 1c                	je     0x4555ef
4555d3:	50                   	push   %eax
4555d4:	8b 84 24 14 01 00 00 	mov    0x114(%esp),%eax
4555db:	50                   	push   %eax
4555dc:	e8 1f 0b 00 00       	call   0x456100
4555e1:	5f                   	pop    %edi
4555e2:	66 33 c0             	xor    %ax,%ax
4555e5:	5e                   	pop    %esi
4555e6:	81 c4 fc 00 00 00    	add    $0xfc,%esp
4555ec:	c2 0c 00             	ret    $0xc
4555ef:	8b 84 24 10 01 00 00 	mov    0x110(%esp),%eax
4555f6:	85 c0                	test   %eax,%eax
4555f8:	74 0d                	je     0x455607
4555fa:	68 00 80 00 00       	push   $0x8000
4555ff:	6a 00                	push   $0x0
455601:	50                   	push   %eax
455602:	e8 89 0b 00 00       	call   0x456190
455607:	8b 4c 24 34          	mov    0x34(%esp),%ecx
45560b:	8b 74 24 08          	mov    0x8(%esp),%esi
45560f:	03 ce                	add    %esi,%ecx
455611:	70 1d                	jo     0x455630
455613:	51                   	push   %ecx
455614:	e8 47 0b 00 00       	call   0x456160
455619:	6a 00                	push   $0x0
45561b:	6a 00                	push   $0x0
45561d:	e8 de 0a 00 00       	call   0x456100
455622:	5f                   	pop    %edi
455623:	66 33 c0             	xor    %ax,%ax
455626:	5e                   	pop    %esi
455627:	81 c4 fc 00 00 00    	add    $0xfc,%esp
45562d:	c2 0c 00             	ret    $0xc
455630:	ff 15 7c 11 40 00    	call   *0x40117c
455636:	90                   	nop
455637:	90                   	nop
455638:	90                   	nop
455639:	90                   	nop
45563a:	90                   	nop
45563b:	90                   	nop
45563c:	90                   	nop
45563d:	90                   	nop
45563e:	90                   	nop
45563f:	90                   	nop
455640:	81 ec 9c 00 00 00    	sub    $0x9c,%esp
455646:	33 c0                	xor    %eax,%eax
455648:	53                   	push   %ebx
455649:	89 44 24 08          	mov    %eax,0x8(%esp)
45564d:	56                   	push   %esi
45564e:	89 44 24 10          	mov    %eax,0x10(%esp)
455652:	57                   	push   %edi
455653:	89 44 24 18          	mov    %eax,0x18(%esp)
455657:	b9 06 00 00 00       	mov    $0x6,%ecx
45565c:	89 44 24 1c          	mov    %eax,0x1c(%esp)
455660:	8d 7c 24 24          	lea    0x24(%esp),%edi
455664:	f3 ab                	rep stos %eax,%es:(%edi)
455666:	b9 09 00 00 00       	mov    $0x9,%ecx
45566b:	8d 7c 24 3c          	lea    0x3c(%esp),%edi
45566f:	f3 ab                	rep stos %eax,%es:(%edi)
455671:	b9 12 00 00 00       	mov    $0x12,%ecx
455676:	8d 7c 24 60          	lea    0x60(%esp),%edi
45567a:	f3 ab                	rep stos %eax,%es:(%edi)
45567c:	33 f6                	xor    %esi,%esi
45567e:	33 db                	xor    %ebx,%ebx
455680:	89 44 24 20          	mov    %eax,0x20(%esp)
455684:	89 44 24 0c          	mov    %eax,0xc(%esp)
455688:	e8 a3 0b 00 00       	call   0x456230
45568d:	8d 4c 24 24          	lea    0x24(%esp),%ecx
455691:	8b f8                	mov    %eax,%edi
455693:	51                   	push   %ecx
455694:	e8 c7 0b 00 00       	call   0x456260
455699:	8d 54 24 0c          	lea    0xc(%esp),%edx
45569d:	52                   	push   %edx
45569e:	6a 18                	push   $0x18
4556a0:	50                   	push   %eax
4556a1:	53                   	push   %ebx
4556a2:	57                   	push   %edi
4556a3:	e8 98 0b 00 00       	call   0x456240
4556a8:	3d 04 00 00 c0       	cmp    $0xc0000004,%eax
4556ad:	75 56                	jne    0x455705
4556af:	8b 44 24 0c          	mov    0xc(%esp),%eax
4556b3:	6b c0 02             	imul   $0x2,%eax,%eax
4556b6:	0f 80 10 01 00 00    	jo     0x4557cc
4556bc:	85 f6                	test   %esi,%esi