407531:	89 4c 05 f8          	mov    %ecx,-0x8(%ebp,%eax,1)
407535:	68 d4 51 42 00       	push   $0x4251d4
40753a:	e8 e0 fe ff ff       	call   0x40741f
40753f:	c9                   	leave
407540:	c3                   	ret
407541:	55                   	push   %ebp
407542:	8b ec                	mov    %esp,%ebp
407544:	6a 08                	push   $0x8
407546:	e8 02 00 00 00       	call   0x40754d
40754b:	5d                   	pop    %ebp
40754c:	c3                   	ret
40754d:	55                   	push   %ebp
40754e:	8b ec                	mov    %esp,%ebp
407550:	81 ec 1c 03 00 00    	sub    $0x31c,%esp
407556:	6a 17                	push   $0x17
407558:	ff 15 70 40 42 00    	call   *0x424070
40755e:	85 c0                	test   %eax,%eax
407560:	74 05                	je     0x407567
407562:	8b 4d 08             	mov    0x8(%ebp),%ecx
407565:	cd 29                	int    $0x29
407567:	a3 08 43 43 00       	mov    %eax,0x434308
40756c:	89 0d 04 43 43 00    	mov    %ecx,0x434304
407572:	89 15 00 43 43 00    	mov    %edx,0x434300
407578:	89 1d fc 42 43 00    	mov    %ebx,0x4342fc
40757e:	89 35 f8 42 43 00    	mov    %esi,0x4342f8
407584:	89 3d f4 42 43 00    	mov    %edi,0x4342f4
40758a:	66 8c 15 20 43 43 00 	data16 mov %ss,0x434320
407591:	66 8c 0d 14 43 43 00 	data16 mov %cs,0x434314
407598:	66 8c 1d f0 42 43 00 	data16 mov %ds,0x4342f0
40759f:	66 8c 05 ec 42 43 00 	data16 mov %es,0x4342ec
4075a6:	66 8c 25 e8 42 43 00 	data16 mov %fs,0x4342e8
4075ad:	66 8c 2d e4 42 43 00 	data16 mov %gs,0x4342e4
4075b4:	9c                   	pushf
4075b5:	8f 05 18 43 43 00    	pop    0x434318
4075bb:	8b 45 00             	mov    0x0(%ebp),%eax
4075be:	a3 0c 43 43 00       	mov    %eax,0x43430c
4075c3:	8b 45 04             	mov    0x4(%ebp),%eax
4075c6:	a3 10 43 43 00       	mov    %eax,0x434310
4075cb:	8d 45 08             	lea    0x8(%ebp),%eax
4075ce:	a3 1c 43 43 00       	mov    %eax,0x43431c
4075d3:	8b 85 e4 fc ff ff    	mov    -0x31c(%ebp),%eax
4075d9:	a1 10 43 43 00       	mov    0x434310,%eax
4075de:	a3 14 42 43 00       	mov    %eax,0x434214
4075e3:	c7 05 08 42 43 00 09 	movl   $0xc0000409,0x434208
4075ea:	04 00 c0
4075ed:	c7 05 0c 42 43 00 01 	movl   $0x1,0x43420c
4075f4:	00 00 00
4075f7:	c7 05 18 42 43 00 01 	movl   $0x1,0x434218
4075fe:	00 00 00
407601:	6a 04                	push   $0x4
407603:	58                   	pop    %eax
407604:	6b c0 00             	imul   $0x0,%eax,%eax
407607:	8b 4d 08             	mov    0x8(%ebp),%ecx
40760a:	89 88 1c 42 43 00    	mov    %ecx,0x43421c(%eax)
407610:	68 d4 51 42 00       	push   $0x4251d4
407615:	e8 05 fe ff ff       	call   0x40741f
40761a:	c9                   	leave
40761b:	c3                   	ret
40761c:	55                   	push   %ebp
40761d:	8b ec                	mov    %esp,%ebp
40761f:	eb 0d                	jmp    0x40762e
407621:	ff 75 08             	push   0x8(%ebp)
407624:	e8 24 84 00 00       	call   0x40fa4d
407629:	59                   	pop    %ecx
40762a:	85 c0                	test   %eax,%eax
40762c:	74 0f                	je     0x40763d
40762e:	ff 75 08             	push   0x8(%ebp)
407631:	e8 47 6e 00 00       	call   0x40e47d
407636:	59                   	pop    %ecx
407637:	85 c0                	test   %eax,%eax
407639:	74 e6                	je     0x407621
40763b:	5d                   	pop    %ebp
40763c:	c3                   	ret
40763d:	83 7d 08 ff          	cmpl   $0xffffffff,0x8(%ebp)
407641:	0f 84 99 9c ff ff    	je     0x4012e0
407647:	e9 5f df ff ff       	jmp    0x4055ab
40764c:	55                   	push   %ebp
40764d:	8b ec                	mov    %esp,%ebp
40764f:	ff 75 08             	push   0x8(%ebp)
407652:	e8 f9 05 00 00       	call   0x407c50
407657:	59                   	pop    %ecx
407658:	5d                   	pop    %ebp
407659:	c3                   	ret
40765a:	55                   	push   %ebp
40765b:	8b ec                	mov    %esp,%ebp
40765d:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
407661:	56                   	push   %esi
407662:	8b f1                	mov    %ecx,%esi
407664:	c7 06 e0 51 42 00    	movl   $0x4251e0,(%esi)
40766a:	74 0a                	je     0x407676
40766c:	6a 0c                	push   $0xc
40766e:	56                   	push   %esi
40766f:	e8 d8 ff ff ff       	call   0x40764c
407674:	59                   	pop    %ecx
407675:	59                   	pop    %ecx
407676:	8b c6                	mov    %esi,%eax
407678:	5e                   	pop    %esi
407679:	5d                   	pop    %ebp
40767a:	c2 04 00             	ret    $0x4
40767d:	56                   	push   %esi
40767e:	6a 02                	push   $0x2
407680:	e8 af 85 00 00       	call   0x40fc34
407685:	e8 63 06 00 00       	call   0x407ced
40768a:	50                   	push   %eax
40768b:	e8 1e 8f 00 00       	call   0x4105ae
407690:	e8 b4 ec ff ff       	call   0x406349
407695:	8b f0                	mov    %eax,%esi
407697:	e8 7c a7 00 00       	call   0x411e18
40769c:	6a 01                	push   $0x1
40769e:	89 30                	mov    %esi,(%eax)
4076a0:	e8 d2 02 00 00       	call   0x407977
4076a5:	83 c4 0c             	add    $0xc,%esp
4076a8:	5e                   	pop    %esi
4076a9:	84 c0                	test   %al,%al
4076ab:	74 73                	je     0x407720
4076ad:	db e2                	fnclex
4076af:	e8 a5 08 00 00       	call   0x407f59
4076b4:	68 85 7f 40 00       	push   $0x407f85
4076b9:	e8 46 04 00 00       	call   0x407b04
4076be:	e8 ef e7 ff ff       	call   0x405eb2
4076c3:	50                   	push   %eax
4076c4:	e8 19 89 00 00       	call   0x40ffe2
4076c9:	59                   	pop    %ecx
4076ca:	59                   	pop    %ecx
4076cb:	85 c0                	test   %eax,%eax
4076cd:	75 51                	jne    0x407720
4076cf:	e8 1f 06 00 00       	call   0x407cf3
4076d4:	e8 6a 06 00 00       	call   0x407d43
4076d9:	85 c0                	test   %eax,%eax
4076db:	74 0b                	je     0x4076e8
4076dd:	68 49 63 40 00       	push   $0x406349
4076e2:	e8 d4 85 00 00       	call   0x40fcbb
4076e7:	59                   	pop    %ecx
4076e8:	e8 ed e6 ff ff       	call   0x405dda
4076ed:	e8 e8 e6 ff ff       	call   0x405dda
4076f2:	e8 08 06 00 00       	call   0x407cff
4076f7:	e8 4d ec ff ff       	call   0x406349
4076fc:	50                   	push   %eax
4076fd:	e8 65 95 00 00       	call   0x410c67
407702:	59                   	pop    %ecx
407703:	e8 a7 e7 ff ff       	call   0x405eaf
407708:	84 c0                	test   %al,%al
40770a:	74 05                	je     0x407711
40770c:	e8 fc 8a 00 00       	call   0x41020d
407711:	e8 33 ec ff ff       	call   0x406349
407716:	e8 8c 07 00 00       	call   0x407ea7
40771b:	85 c0                	test   %eax,%eax
40771d:	75 01                	jne    0x407720
40771f:	c3                   	ret
407720:	6a 07                	push   $0x7
407722:	e8 34 06 00 00       	call   0x407d5b
407727:	cc                   	int3
407728:	e8 f9 05 00 00       	call   0x407d26
40772d:	33 c0                	xor    %eax,%eax
40772f:	c3                   	ret
407730:	e8 ba 07 00 00       	call   0x407eef
407735:	e8 0f ec ff ff       	call   0x406349
40773a:	50                   	push   %eax
40773b:	e8 a9 a6 00 00       	call   0x411de9
407740:	59                   	pop    %ecx
407741:	c3                   	ret
407742:	6a 14                	push   $0x14
407744:	68 18 13 43 00       	push   $0x431318
407749:	e8 72 08 00 00       	call   0x407fc0
40774e:	6a 01                	push   $0x1
407750:	e8 e9 01 00 00       	call   0x40793e
407755:	59                   	pop    %ecx
407756:	84 c0                	test   %al,%al
407758:	0f 84 4a 01 00 00    	je     0x4078a8
40775e:	32 db                	xor    %bl,%bl
407760:	88 5d e7             	mov    %bl,-0x19(%ebp)
407763:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
407767:	e8 a0 01 00 00       	call   0x40790c
40776c:	88 45 dc             	mov    %al,-0x24(%ebp)
40776f:	a1 24 45 43 00       	mov    0x434524,%eax
407774:	33 c9                	xor    %ecx,%ecx
407776:	41                   	inc    %ecx
407777:	3b c1                	cmp    %ecx,%eax
407779:	0f 84 29 01 00 00    	je     0x4078a8
40777f:	85 c0                	test   %eax,%eax
407781:	75 49                	jne    0x4077cc
407783:	89 0d 24 45 43 00    	mov    %ecx,0x434524
407789:	68 ac 41 42 00       	push   $0x4241ac
40778e:	68 8c 41 42 00       	push   $0x42418c
407793:	e8 09 8b 00 00       	call   0x4102a1
407798:	59                   	pop    %ecx
407799:	59                   	pop    %ecx
40779a:	85 c0                	test   %eax,%eax
40779c:	74 11                	je     0x4077af
40779e:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4077a5:	b8 ff 00 00 00       	mov    $0xff,%eax
4077aa:	e9 e9 00 00 00       	jmp    0x407898
4077af:	68 88 41 42 00       	push   $0x424188
4077b4:	68 58 41 42 00       	push   $0x424158
4077b9:	e8 9e 8a 00 00       	call   0x41025c
4077be:	59                   	pop    %ecx
4077bf:	59                   	pop    %ecx
4077c0:	c7 05 24 45 43 00 02 	movl   $0x2,0x434524
4077c7:	00 00 00
4077ca:	eb 05                	jmp    0x4077d1
4077cc:	8a d9                	mov    %cl,%bl
4077ce:	88 5d e7             	mov    %bl,-0x19(%ebp)
4077d1:	ff 75 dc             	push   -0x24(%ebp)
4077d4:	e8 b9 02 00 00       	call   0x407a92
4077d9:	59                   	pop    %ecx
4077da:	e8 70 05 00 00       	call   0x407d4f
4077df:	8b f0                	mov    %eax,%esi
4077e1:	33 ff                	xor    %edi,%edi
4077e3:	39 3e                	cmp    %edi,(%esi)
4077e5:	74 1b                	je     0x407802
4077e7:	56                   	push   %esi
4077e8:	e8 11 02 00 00       	call   0x4079fe
4077ed:	59                   	pop    %ecx
4077ee:	84 c0                	test   %al,%al
4077f0:	74 10                	je     0x407802
4077f2:	8b 36                	mov    (%esi),%esi
4077f4:	57                   	push   %edi
4077f5:	6a 02                	push   $0x2
4077f7:	57                   	push   %edi
4077f8:	8b ce                	mov    %esi,%ecx
4077fa:	ff 15 54 41 42 00    	call   *0x424154
407800:	ff d6                	call   *%esi
407802:	e8 4e 05 00 00       	call   0x407d55
407807:	8b f0                	mov    %eax,%esi
407809:	39 3e                	cmp    %edi,(%esi)
40780b:	74 13                	je     0x407820
40780d:	56                   	push   %esi
40780e:	e8 eb 01 00 00       	call   0x4079fe
407813:	59                   	pop    %ecx
407814:	84 c0                	test   %al,%al
407816:	74 08                	je     0x407820
407818:	ff 36                	push   (%esi)
40781a:	e8 26 8d 00 00       	call   0x410545
40781f:	59                   	pop    %ecx
407820:	e8 51 06 00 00       	call   0x407e76
407825:	0f b7 f0             	movzwl %ax,%esi
407828:	e8 e5 89 00 00       	call   0x410212
40782d:	56                   	push   %esi
40782e:	50                   	push   %eax
40782f:	57                   	push   %edi
407830:	68 00 00 40 00       	push   $0x400000
407835:	e8 26 ac ff ff       	call   0x402460
40783a:	8b f0                	mov    %eax,%esi
40783c:	e8 6b 06 00 00       	call   0x407eac
407841:	84 c0                	test   %al,%al
407843:	74 6a                	je     0x4078af
407845:	84 db                	test   %bl,%bl
407847:	75 05                	jne    0x40784e
407849:	e8 d2 8c 00 00       	call   0x410520
40784e:	57                   	push   %edi
40784f:	6a 01                	push   $0x1
407851:	e8 59 02 00 00       	call   0x407aaf
407856:	59                   	pop    %ecx
407857:	59                   	pop    %ecx
407858:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40785f:	8b c6                	mov    %esi,%eax
407861:	eb 35                	jmp    0x407898
407863:	8b 4d ec             	mov    -0x14(%ebp),%ecx
407866:	8b 01                	mov    (%ecx),%eax
407868:	8b 00                	mov    (%eax),%eax
40786a:	89 45 e0             	mov    %eax,-0x20(%ebp)
40786d:	51                   	push   %ecx
40786e:	50                   	push   %eax
40786f:	e8 62 82 00 00       	call   0x40fad6
407874:	59                   	pop    %ecx
407875:	59                   	pop    %ecx
407876:	c3                   	ret
407877:	8b 65 e8             	mov    -0x18(%ebp),%esp
40787a:	e8 2d 06 00 00       	call   0x407eac
40787f:	84 c0                	test   %al,%al
407881:	74 32                	je     0x4078b5
407883:	80 7d e7 00          	cmpb   $0x0,-0x19(%ebp)
407887:	75 05                	jne    0x40788e
407889:	e8 83 8c 00 00       	call   0x410511
40788e:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
407895:	8b 45 e0             	mov    -0x20(%ebp),%eax
407898:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40789b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4078a2:	59                   	pop    %ecx
4078a3:	5f                   	pop    %edi
4078a4:	5e                   	pop    %esi
4078a5:	5b                   	pop    %ebx
4078a6:	c9                   	leave
4078a7:	c3                   	ret
4078a8:	6a 07                	push   $0x7
4078aa:	e8 ac 04 00 00       	call   0x407d5b
4078af:	56                   	push   %esi
4078b0:	e8 b6 8c 00 00       	call   0x41056b
4078b5:	ff 75 e0             	push   -0x20(%ebp)
4078b8:	e8 72 8c 00 00       	call   0x41052f
4078bd:	cc                   	int3
4078be:	e8 df 03 00 00       	call   0x407ca2
4078c3:	e9 7a fe ff ff       	jmp    0x407742
4078c8:	55                   	push   %ebp
4078c9:	8b ec                	mov    %esp,%ebp
4078cb:	8b 45 08             	mov    0x8(%ebp),%eax
4078ce:	56                   	push   %esi
4078cf:	8b 48 3c             	mov    0x3c(%eax),%ecx
4078d2:	03 c8                	add    %eax,%ecx
4078d4:	0f b7 41 14          	movzwl 0x14(%ecx),%eax
4078d8:	8d 51 18             	lea    0x18(%ecx),%edx
4078db:	03 d0                	add    %eax,%edx
4078dd:	0f b7 41 06          	movzwl 0x6(%ecx),%eax
4078e1:	6b f0 28             	imul   $0x28,%eax,%esi
4078e4:	03 f2                	add    %edx,%esi
4078e6:	3b d6                	cmp    %esi,%edx
4078e8:	74 19                	je     0x407903
4078ea:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4078ed:	3b 4a 0c             	cmp    0xc(%edx),%ecx
4078f0:	72 0a                	jb     0x4078fc
4078f2:	8b 42 08             	mov    0x8(%edx),%eax
4078f5:	03 42 0c             	add    0xc(%edx),%eax
4078f8:	3b c8                	cmp    %eax,%ecx
4078fa:	72 0c                	jb     0x407908
4078fc:	83 c2 28             	add    $0x28,%edx
4078ff:	3b d6                	cmp    %esi,%edx
407901:	75 ea                	jne    0x4078ed
407903:	33 c0                	xor    %eax,%eax
407905:	5e                   	pop    %esi
407906:	5d                   	pop    %ebp
407907:	c3                   	ret
407908:	8b c2                	mov    %edx,%eax
40790a:	eb f9                	jmp    0x407905
40790c:	56                   	push   %esi
40790d:	e8 c4 08 00 00       	call   0x4081d6
407912:	85 c0                	test   %eax,%eax
407914:	74 20                	je     0x407936
407916:	64 a1 18 00 00 00    	mov    %fs:0x18,%eax
40791c:	be 28 45 43 00       	mov    $0x434528,%esi
407921:	8b 50 04             	mov    0x4(%eax),%edx
407924:	eb 04                	jmp    0x40792a
407926:	3b d0                	cmp    %eax,%edx
407928:	74 10                	je     0x40793a
40792a:	33 c0                	xor    %eax,%eax
40792c:	8b ca                	mov    %edx,%ecx
40792e:	f0 0f b1 0e          	lock cmpxchg %ecx,(%esi)
407932:	85 c0                	test   %eax,%eax
407934:	75 f0                	jne    0x407926
407936:	32 c0                	xor    %al,%al
407938:	5e                   	pop    %esi
407939:	c3                   	ret
40793a:	b0 01                	mov    $0x1,%al
40793c:	5e                   	pop    %esi
40793d:	c3                   	ret
40793e:	55                   	push   %ebp
40793f:	8b ec                	mov    %esp,%ebp
407941:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
407945:	75 07                	jne    0x40794e
407947:	c6 05 2c 45 43 00 01 	movb   $0x1,0x43452c
40794e:	e8 b2 06 00 00       	call   0x408005