4012f4:	e8 f7 7e 01 00       	call   0x4191f0
4012f9:	59                   	pop    %ecx
4012fa:	59                   	pop    %ecx
4012fb:	8b c6                	mov    %esi,%eax
4012fd:	5e                   	pop    %esi
4012fe:	5d                   	pop    %ebp
4012ff:	c2 04 00             	ret    $0x4
401302:	83 c8 ff             	or     $0xffffffff,%eax
401305:	f0 0f c1 41 0c       	lock xadd %eax,0xc(%ecx)
40130a:	48                   	dec    %eax
40130b:	85 c0                	test   %eax,%eax
40130d:	7f 1b                	jg     0x40132a
40130f:	56                   	push   %esi
401310:	0f ae e8             	lfence
401313:	57                   	push   %edi
401314:	8b 39                	mov    (%ecx),%edi
401316:	51                   	push   %ecx
401317:	8b 07                	mov    (%edi),%eax
401319:	8b 70 04             	mov    0x4(%eax),%esi
40131c:	8b ce                	mov    %esi,%ecx
40131e:	ff 15 50 c2 41 00    	call   *0x41c250
401324:	8b cf                	mov    %edi,%ecx
401326:	ff d6                	call   *%esi
401328:	5f                   	pop    %edi
401329:	5e                   	pop    %esi
40132a:	c3                   	ret
40132b:	64 a1 2c 00 00 00    	mov    %fs:0x2c,%eax
401331:	56                   	push   %esi
401332:	57                   	push   %edi
401333:	8b 30                	mov    (%eax),%esi
401335:	a1 e8 73 42 00       	mov    0x4273e8,%eax
40133a:	3b 86 04 00 00 00    	cmp    0x4(%esi),%eax
401340:	7f 17                	jg     0x401359
401342:	a1 d8 73 42 00       	mov    0x4273d8,%eax
401347:	bf fc 73 42 00       	mov    $0x4273fc,%edi
40134c:	3b 86 04 00 00 00    	cmp    0x4(%esi),%eax
401352:	7f 58                	jg     0x4013ac
401354:	8b c7                	mov    %edi,%eax
401356:	5f                   	pop    %edi
401357:	5e                   	pop    %esi
401358:	c3                   	ret
401359:	68 e8 73 42 00       	push   $0x4273e8
40135e:	e8 b3 82 01 00       	call   0x419616
401363:	59                   	pop    %ecx
401364:	83 3d e8 73 42 00 ff 	cmpl   $0xffffffff,0x4273e8
40136b:	75 d5                	jne    0x401342
40136d:	bf ec 73 42 00       	mov    $0x4273ec,%edi
401372:	33 c0                	xor    %eax,%eax
401374:	ab                   	stos   %eax,%es:(%edi)
401375:	ab                   	stos   %eax,%es:(%edi)
401376:	ab                   	stos   %eax,%es:(%edi)
401377:	ff 15 e0 c0 41 00    	call   *0x41c0e0
40137d:	68 d0 be 41 00       	push   $0x41bed0
401382:	c7 05 ec 73 42 00 40 	movl   $0x422940,0x4273ec
401389:	29 42 00
40138c:	a3 f0 73 42 00       	mov    %eax,0x4273f0
401391:	c6 05 f4 73 42 00 00 	movb   $0x0,0x4273f4
401398:	e8 99 72 00 00       	call   0x408636
40139d:	c7 04 24 e8 73 42 00 	movl   $0x4273e8,(%esp)
4013a4:	e8 23 82 01 00       	call   0x4195cc
4013a9:	59                   	pop    %ecx
4013aa:	eb 96                	jmp    0x401342
4013ac:	be d8 73 42 00       	mov    $0x4273d8,%esi
4013b1:	56                   	push   %esi
4013b2:	e8 5f 82 01 00       	call   0x419616
4013b7:	83 3d d8 73 42 00 ff 	cmpl   $0xffffffff,0x4273d8
4013be:	59                   	pop    %ecx
4013bf:	75 93                	jne    0x401354
4013c1:	83 25 08 74 42 00 00 	andl   $0x0,0x427408
4013c8:	33 c0                	xor    %eax,%eax
4013ca:	83 25 0c 74 42 00 00 	andl   $0x0,0x42740c
4013d1:	68 c0 be 41 00       	push   $0x41bec0
4013d6:	c7 05 fc 73 42 00 9c 	movl   $0x42339c,0x4273fc
4013dd:	33 42 00
4013e0:	c7 05 00 74 42 00 ec 	movl   $0x4273ec,0x427400
4013e7:	73 42 00
4013ea:	c7 05 10 74 42 00 02 	movl   $0x2,0x427410
4013f1:	00 00 00
4013f4:	a3 14 74 42 00       	mov    %eax,0x427414
4013f9:	89 3d 04 74 42 00    	mov    %edi,0x427404
4013ff:	e8 32 72 00 00       	call   0x408636
401404:	56                   	push   %esi
401405:	e8 c2 81 01 00       	call   0x4195cc
40140a:	59                   	pop    %ecx
40140b:	59                   	pop    %ecx
40140c:	e9 43 ff ff ff       	jmp    0x401354
401411:	cc                   	int3
401412:	cc                   	int3
401413:	cc                   	int3
401414:	cc                   	int3
401415:	cc                   	int3
401416:	cc                   	int3
401417:	cc                   	int3
401418:	cc                   	int3
401419:	cc                   	int3
40141a:	cc                   	int3
40141b:	cc                   	int3
40141c:	cc                   	int3
40141d:	cc                   	int3
40141e:	cc                   	int3
40141f:	cc                   	int3
401420:	55                   	push   %ebp
401421:	8b ec                	mov    %esp,%ebp
401423:	51                   	push   %ecx
401424:	8b 55 08             	mov    0x8(%ebp),%edx
401427:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40142a:	53                   	push   %ebx
40142b:	85 d2                	test   %edx,%edx
40142d:	78 63                	js     0x401492
40142f:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
401434:	2b c2                	sub    %edx,%eax
401436:	83 f8 01             	cmp    $0x1,%eax
401439:	7c 57                	jl     0x401492
40143b:	42                   	inc    %edx
40143c:	8d 5a 07             	lea    0x7(%edx),%ebx
40143f:	83 e3 f8             	and    $0xfffffff8,%ebx
401442:	3b d3                	cmp    %ebx,%edx
401444:	7f 4c                	jg     0x401492
401446:	8b c3                	mov    %ebx,%eax
401448:	f7 65 0c             	mull   0xc(%ebp)
40144b:	85 d2                	test   %edx,%edx
40144d:	77 43                	ja     0x401492
40144f:	72 05                	jb     0x401456
401451:	83 f8 ff             	cmp    $0xffffffff,%eax
401454:	77 3c                	ja     0x401492
401456:	83 f8 ef             	cmp    $0xffffffef,%eax
401459:	77 37                	ja     0x401492
40145b:	56                   	push   %esi
40145c:	57                   	push   %edi
40145d:	8b 79 04             	mov    0x4(%ecx),%edi
401460:	8d 50 10             	lea    0x10(%eax),%edx
401463:	52                   	push   %edx
401464:	8b 07                	mov    (%edi),%eax
401466:	8b 30                	mov    (%eax),%esi
401468:	8b ce                	mov    %esi,%ecx
40146a:	ff 15 50 c2 41 00    	call   *0x41c250
401470:	8b cf                	mov    %edi,%ecx
401472:	ff d6                	call   *%esi
401474:	5f                   	pop    %edi
401475:	5e                   	pop    %esi
401476:	85 c0                	test   %eax,%eax
401478:	74 18                	je     0x401492
40147a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40147d:	83 60 04 00          	andl   $0x0,0x4(%eax)
401481:	89 08                	mov    %ecx,(%eax)
401483:	8d 4b ff             	lea    -0x1(%ebx),%ecx
401486:	c7 40 0c 01 00 00 00 	movl   $0x1,0xc(%eax)
40148d:	89 48 08             	mov    %ecx,0x8(%eax)
401490:	eb 02                	jmp    0x401494
401492:	33 c0                	xor    %eax,%eax
401494:	5b                   	pop    %ebx
401495:	c9                   	leave
401496:	c2 08 00             	ret    $0x8
401499:	cc                   	int3
40149a:	cc                   	int3
40149b:	cc                   	int3
40149c:	cc                   	int3
40149d:	cc                   	int3
40149e:	cc                   	int3
40149f:	cc                   	int3
4014a0:	55                   	push   %ebp
4014a1:	8b ec                	mov    %esp,%ebp
4014a3:	56                   	push   %esi
4014a4:	57                   	push   %edi
4014a5:	8b 79 04             	mov    0x4(%ecx),%edi
4014a8:	ff 75 08             	push   0x8(%ebp)
4014ab:	8b 07                	mov    (%edi),%eax
4014ad:	8b 70 04             	mov    0x4(%eax),%esi
4014b0:	8b ce                	mov    %esi,%ecx
4014b2:	ff 15 50 c2 41 00    	call   *0x41c250
4014b8:	8b cf                	mov    %edi,%ecx
4014ba:	ff d6                	call   *%esi
4014bc:	5f                   	pop    %edi
4014bd:	5e                   	pop    %esi
4014be:	5d                   	pop    %ebp
4014bf:	c2 04 00             	ret    $0x4
4014c2:	cc                   	int3
4014c3:	cc                   	int3
4014c4:	cc                   	int3
4014c5:	cc                   	int3
4014c6:	cc                   	int3
4014c7:	cc                   	int3
4014c8:	cc                   	int3
4014c9:	cc                   	int3
4014ca:	cc                   	int3
4014cb:	cc                   	int3
4014cc:	cc                   	int3
4014cd:	cc                   	int3
4014ce:	cc                   	int3
4014cf:	cc                   	int3
4014d0:	55                   	push   %ebp
4014d1:	8b ec                	mov    %esp,%ebp
4014d3:	51                   	push   %ecx
4014d4:	8b 55 0c             	mov    0xc(%ebp),%edx
4014d7:	8b 45 08             	mov    0x8(%ebp),%eax
4014da:	89 45 fc             	mov    %eax,-0x4(%ebp)
4014dd:	53                   	push   %ebx
4014de:	85 d2                	test   %edx,%edx
4014e0:	78 57                	js     0x401539
4014e2:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
4014e7:	2b c2                	sub    %edx,%eax
4014e9:	83 f8 01             	cmp    $0x1,%eax
4014ec:	7c 4b                	jl     0x401539
4014ee:	42                   	inc    %edx
4014ef:	8d 5a 07             	lea    0x7(%edx),%ebx
4014f2:	83 e3 f8             	and    $0xfffffff8,%ebx
4014f5:	3b d3                	cmp    %ebx,%edx
4014f7:	7f 40                	jg     0x401539
4014f9:	8b c3                	mov    %ebx,%eax
4014fb:	f7 65 10             	mull   0x10(%ebp)
4014fe:	85 d2                	test   %edx,%edx
401500:	77 37                	ja     0x401539
401502:	72 05                	jb     0x401509
401504:	83 f8 ff             	cmp    $0xffffffff,%eax
401507:	77 30                	ja     0x401539
401509:	83 f8 ef             	cmp    $0xffffffef,%eax
40150c:	77 2b                	ja     0x401539
40150e:	56                   	push   %esi
40150f:	57                   	push   %edi
401510:	8b 79 04             	mov    0x4(%ecx),%edi
401513:	8d 50 10             	lea    0x10(%eax),%edx
401516:	52                   	push   %edx
401517:	ff 75 fc             	push   -0x4(%ebp)
40151a:	8b 07                	mov    (%edi),%eax
40151c:	8b 70 08             	mov    0x8(%eax),%esi
40151f:	8b ce                	mov    %esi,%ecx
401521:	ff 15 50 c2 41 00    	call   *0x41c250
401527:	8b cf                	mov    %edi,%ecx
401529:	ff d6                	call   *%esi
40152b:	5f                   	pop    %edi
40152c:	5e                   	pop    %esi
40152d:	85 c0                	test   %eax,%eax
40152f:	74 08                	je     0x401539
401531:	8d 4b ff             	lea    -0x1(%ebx),%ecx
401534:	89 48 08             	mov    %ecx,0x8(%eax)
401537:	eb 02                	jmp    0x40153b
401539:	33 c0                	xor    %eax,%eax
40153b:	5b                   	pop    %ebx
40153c:	c9                   	leave
40153d:	c2 0c 00             	ret    $0xc
401540:	f0 ff 41 14          	lock incl 0x14(%ecx)
401544:	8d 41 08             	lea    0x8(%ecx),%eax
401547:	c3                   	ret
401548:	cc                   	int3
401549:	cc                   	int3
40154a:	cc                   	int3
40154b:	cc                   	int3
40154c:	cc                   	int3
40154d:	cc                   	int3
40154e:	cc                   	int3
40154f:	cc                   	int3
401550:	8b c1                	mov    %ecx,%eax
401552:	c3                   	ret
401553:	cc                   	int3
401554:	cc                   	int3
401555:	cc                   	int3
401556:	cc                   	int3
401557:	cc                   	int3
401558:	cc                   	int3
401559:	cc                   	int3
40155a:	cc                   	int3
40155b:	cc                   	int3
40155c:	cc                   	int3
40155d:	cc                   	int3
40155e:	cc                   	int3
40155f:	cc                   	int3
401560:	55                   	push   %ebp
401561:	8b ec                	mov    %esp,%ebp
401563:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
401567:	56                   	push   %esi
401568:	8b f1                	mov    %ecx,%esi
40156a:	c7 06 9c 33 42 00    	movl   $0x42339c,(%esi)
401570:	74 0a                	je     0x40157c
401572:	6a 1c                	push   $0x1c
401574:	56                   	push   %esi
401575:	e8 76 7c 01 00       	call   0x4191f0
40157a:	59                   	pop    %ecx
40157b:	59                   	pop    %ecx
40157c:	8b c6                	mov    %esi,%eax
40157e:	5e                   	pop    %esi
40157f:	5d                   	pop    %ebp
401580:	c2 04 00             	ret    $0x4
401583:	55                   	push   %ebp
401584:	8b ec                	mov    %esp,%ebp
401586:	56                   	push   %esi
401587:	8b f2                	mov    %edx,%esi
401589:	b8 01 04 00 00       	mov    $0x401,%eax
40158e:	3b f0                	cmp    %eax,%esi
401590:	77 02                	ja     0x401594
401592:	8b c6                	mov    %esi,%eax
401594:	ff 75 0c             	push   0xc(%ebp)
401597:	6a 00                	push   $0x0
401599:	ff 75 08             	push   0x8(%ebp)
40159c:	50                   	push   %eax
40159d:	51                   	push   %ecx
40159e:	e8 7d fa ff ff       	call   0x401020
4015a3:	ff 70 04             	push   0x4(%eax)
4015a6:	ff 30                	push   (%eax)
4015a8:	e8 34 c5 00 00       	call   0x40dae1
4015ad:	83 c4 1c             	add    $0x1c,%esp
4015b0:	85 c0                	test   %eax,%eax
4015b2:	79 0f                	jns    0x4015c3
4015b4:	83 c8 ff             	or     $0xffffffff,%eax
4015b7:	3b c6                	cmp    %esi,%eax
4015b9:	5e                   	pop    %esi
4015ba:	72 10                	jb     0x4015cc
4015bc:	68 57 00 07 80       	push   $0x80070057
4015c1:	eb 13                	jmp    0x4015d6
4015c3:	3d 00 04 00 00       	cmp    $0x400,%eax
4015c8:	7f 07                	jg     0x4015d1
4015ca:	eb eb                	jmp    0x4015b7
4015cc:	0f ae e8             	lfence
4015cf:	5d                   	pop    %ebp
4015d0:	c3                   	ret
4015d1:	68 05 40 00 80       	push   $0x80004005
4015d6:	e8 e4 fa ff ff       	call   0x4010bf
4015db:	cc                   	int3
4015dc:	55                   	push   %ebp
4015dd:	8b ec                	mov    %esp,%ebp
4015df:	81 ec 20 01 00 00    	sub    $0x120,%esp
4015e5:	a1 18 60 42 00       	mov    0x426018,%eax
4015ea:	33 c5                	xor    %ebp,%eax
4015ec:	89 45 fc             	mov    %eax,-0x4(%ebp)
4015ef:	56                   	push   %esi
4015f0:	33 f6                	xor    %esi,%esi
4015f2:	c7 85 e0 fe ff ff 1c 	movl   $0x11c,-0x120(%ebp)
4015f9:	01 00 00
4015fc:	68 00 01 00 00       	push   $0x100
401601:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
401607:	89 b5 ec fe ff ff    	mov    %esi,-0x114(%ebp)
40160d:	56                   	push   %esi
40160e:	50                   	push   %eax
40160f:	89 b5 f0 fe ff ff    	mov    %esi,-0x110(%ebp)
401615:	e8 f6 7a 00 00       	call   0x409110
40161a:	83 c4 0c             	add    $0xc,%esp
40161d:	89 75 f8             	mov    %esi,-0x8(%ebp)
401620:	33 c0                	xor    %eax,%eax
401622:	66 89 45 f6          	mov    %ax,-0xa(%ebp)
401626:	6a 03                	push   $0x3
401628:	6a 20                	push   $0x20
40162a:	6a 03                	push   $0x3
40162c:	6a 01                	push   $0x1
40162e:	6a 03                	push   $0x3
401630:	6a 02                	push   $0x2
401632:	56                   	push   %esi
401633:	56                   	push   %esi
401634:	ff 15 c8 c1 41 00    	call   *0x41c1c8
40163a:	52                   	push   %edx
40163b:	50                   	push   %eax
40163c:	ff 15 c8 c1 41 00    	call   *0x41c1c8