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
401642:	52                   	push   %edx
401643:	50                   	push   %eax
401644:	ff 15 c8 c1 41 00    	call   *0x41c1c8
40164a:	6a 04                	push   $0x4
40164c:	59                   	pop    %ecx
40164d:	52                   	push   %edx
40164e:	50                   	push   %eax
40164f:	6a 23                	push   $0x23
401651:	8d 85 e0 fe ff ff    	lea    -0x120(%ebp),%eax
401657:	c7 85 e4 fe ff ff 05 	movl   $0x5,-0x11c(%ebp)
40165e:	00 00 00
401661:	50                   	push   %eax
401662:	89 b5 e8 fe ff ff    	mov    %esi,-0x118(%ebp)
401668:	66 89 4d f4          	mov    %cx,-0xc(%ebp)
40166c:	ff 15 d0 c1 41 00    	call   *0x41c1d0
401672:	8b 4d fc             	mov    -0x4(%ebp),%ecx
401675:	85 c0                	test   %eax,%eax
401677:	5e                   	pop    %esi
401678:	0f 95 c0             	setne  %al
40167b:	33 cd                	xor    %ebp,%ecx
40167d:	e8 73 75 00 00       	call   0x408bf5
401682:	c9                   	leave
401683:	c3                   	ret
401684:	55                   	push   %ebp
401685:	8b ec                	mov    %esp,%ebp
401687:	51                   	push   %ecx
401688:	51                   	push   %ecx
401689:	a1 18 60 42 00       	mov    0x426018,%eax
40168e:	33 c5                	xor    %ebp,%eax
401690:	89 45 fc             	mov    %eax,-0x4(%ebp)
401693:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
401697:	56                   	push   %esi
401698:	57                   	push   %edi
401699:	8b 7d 08             	mov    0x8(%ebp),%edi
40169c:	e8 8a fc ff ff       	call   0x40132b
4016a1:	50                   	push   %eax
4016a2:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4016a5:	e8 52 24 00 00       	call   0x403afc
4016aa:	8b 75 0c             	mov    0xc(%ebp),%esi
4016ad:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4016b0:	68 ff 7f 00 00       	push   $0x7fff
4016b5:	e8 26 20 00 00       	call   0x4036e0
4016ba:	8d 4d 10             	lea    0x10(%ebp),%ecx
4016bd:	ba fe 7f 00 00       	mov    $0x7ffe,%edx
4016c2:	51                   	push   %ecx
4016c3:	56                   	push   %esi
4016c4:	8b c8                	mov    %eax,%ecx
4016c6:	e8 87 f9 ff ff       	call   0x401052
4016cb:	6a ff                	push   $0xffffffff
4016cd:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4016d0:	e8 df 1f 00 00       	call   0x4036b4
4016d5:	8b 45 f8             	mov    -0x8(%ebp),%eax
4016d8:	8b cf                	mov    %edi,%ecx
4016da:	ff 70 f4             	push   -0xc(%eax)
4016dd:	50                   	push   %eax
4016de:	e8 89 23 00 00       	call   0x403a6c
4016e3:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4016e6:	8d 49 f0             	lea    -0x10(%ecx),%ecx
4016e9:	e8 14 fc ff ff       	call   0x401302
4016ee:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4016f1:	5f                   	pop    %edi
4016f2:	33 cd                	xor    %ebp,%ecx
4016f4:	5e                   	pop    %esi
4016f5:	e8 fb 74 00 00       	call   0x408bf5
4016fa:	c9                   	leave
4016fb:	c3                   	ret
4016fc:	55                   	push   %ebp
4016fd:	8b ec                	mov    %esp,%ebp
4016ff:	51                   	push   %ecx
401700:	53                   	push   %ebx
401701:	8b d9                	mov    %ecx,%ebx
401703:	57                   	push   %edi
401704:	33 ff                	xor    %edi,%edi
401706:	89 7d fc             	mov    %edi,-0x4(%ebp)
401709:	83 7b 04 ff          	cmpl   $0xffffffff,0x4(%ebx)
40170d:	74 71                	je     0x401780
40170f:	8d 45 fc             	lea    -0x4(%ebp),%eax
401712:	50                   	push   %eax
401713:	57                   	push   %edi
401714:	ff 73 0c             	push   0xc(%ebx)
401717:	e8 48 2e 00 00       	call   0x404564
40171c:	84 c0                	test   %al,%al
40171e:	74 60                	je     0x401780
401720:	8b 45 fc             	mov    -0x4(%ebp),%eax
401723:	85 c0                	test   %eax,%eax
401725:	74 59                	je     0x401780
401727:	3d 00 00 01 00       	cmp    $0x10000,%eax
40172c:	73 52                	jae    0x401780
40172e:	56                   	push   %esi
40172f:	68 e9 12 42 00       	push   $0x4212e9
401734:	50                   	push   %eax
401735:	e8 b2 7f 01 00       	call   0x4196ec
40173a:	8b f0                	mov    %eax,%esi
40173c:	59                   	pop    %ecx
40173d:	59                   	pop    %ecx
40173e:	85 f6                	test   %esi,%esi
401740:	74 39                	je     0x40177b
401742:	83 7b 04 ff          	cmpl   $0xffffffff,0x4(%ebx)
401746:	74 2c                	je     0x401774
401748:	8d 45 fc             	lea    -0x4(%ebp),%eax
40174b:	8b cb                	mov    %ebx,%ecx
40174d:	50                   	push   %eax
40174e:	56                   	push   %esi
40174f:	ff 73 0c             	push   0xc(%ebx)
401752:	e8 0d 2e 00 00       	call   0x404564
401757:	84 c0                	test   %al,%al
401759:	74 19                	je     0x401774
40175b:	8a 06                	mov    (%esi),%al
40175d:	8b ce                	mov    %esi,%ecx
40175f:	eb 07                	jmp    0x401768
401761:	3c 22                	cmp    $0x22,%al
401763:	74 0b                	je     0x401770
401765:	41                   	inc    %ecx
401766:	8a 01                	mov    (%ecx),%al
401768:	84 c0                	test   %al,%al
40176a:	75 f5                	jne    0x401761
40176c:	8b fe                	mov    %esi,%edi
40176e:	eb 0b                	jmp    0x40177b
401770:	85 f6                	test   %esi,%esi
401772:	74 07                	je     0x40177b
401774:	56                   	push   %esi
401775:	e8 77 7d 01 00       	call   0x4194f1
40177a:	59                   	pop    %ecx
40177b:	8b c7                	mov    %edi,%eax
40177d:	5e                   	pop    %esi
40177e:	eb 02                	jmp    0x401782
401780:	33 c0                	xor    %eax,%eax
401782:	5f                   	pop    %edi
401783:	5b                   	pop    %ebx
401784:	c9                   	leave
401785:	c3                   	ret
401786:	55                   	push   %ebp
401787:	8b ec                	mov    %esp,%ebp
401789:	83 ec 20             	sub    $0x20,%esp
40178c:	a1 18 60 42 00       	mov    0x426018,%eax
401791:	33 c5                	xor    %ebp,%eax
401793:	89 45 fc             	mov    %eax,-0x4(%ebp)
401796:	85 c9                	test   %ecx,%ecx
401798:	75 04                	jne    0x40179e
40179a:	33 c0                	xor    %eax,%eax
40179c:	eb 4d                	jmp    0x4017eb
40179e:	83 4d e4 ff          	orl    $0xffffffff,-0x1c(%ebp)
4017a2:	56                   	push   %esi
4017a3:	57                   	push   %edi
4017a4:	33 f6                	xor    %esi,%esi
4017a6:	bf c4 33 42 00       	mov    $0x4233c4,%edi
4017ab:	51                   	push   %ecx
4017ac:	8d 4d e0             	lea    -0x20(%ebp),%ecx
4017af:	89 7d e0             	mov    %edi,-0x20(%ebp)
4017b2:	89 75 e8             	mov    %esi,-0x18(%ebp)
4017b5:	89 75 ec             	mov    %esi,-0x14(%ebp)
4017b8:	89 75 f0             	mov    %esi,-0x10(%ebp)
4017bb:	89 75 f4             	mov    %esi,-0xc(%ebp)
4017be:	89 75 f8             	mov    %esi,-0x8(%ebp)
4017c1:	e8 42 2c 00 00       	call   0x404408
4017c6:	84 c0                	test   %al,%al
4017c8:	74 12                	je     0x4017dc
4017ca:	8d 4d e0             	lea    -0x20(%ebp),%ecx
4017cd:	e8 2a ff ff ff       	call   0x4016fc
4017d2:	8d 4d e0             	lea    -0x20(%ebp),%ecx
4017d5:	8b f0                	mov    %eax,%esi
4017d7:	e8 d2 2c 00 00       	call   0x4044ae
4017dc:	8d 4d e0             	lea    -0x20(%ebp),%ecx
4017df:	89 7d e0             	mov    %edi,-0x20(%ebp)
4017e2:	e8 c7 2c 00 00       	call   0x4044ae
4017e7:	5f                   	pop    %edi
4017e8:	8b c6                	mov    %esi,%eax
4017ea:	5e                   	pop    %esi
4017eb:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4017ee:	33 cd                	xor    %ebp,%ecx
4017f0:	e8 00 74 00 00       	call   0x408bf5
4017f5:	c9                   	leave
4017f6:	c3                   	ret
4017f7:	55                   	push   %ebp
4017f8:	8b ec                	mov    %esp,%ebp