403652:	6a 01                	push   $0x1
403654:	e8 e1 5c 00 00       	call   0x40933a
403659:	e8 af 05 00 00       	call   0x403c0d
40365e:	50                   	push   %eax
40365f:	e8 3d 67 00 00       	call   0x409da1
403664:	e8 9d 05 00 00       	call   0x403c06
403669:	8b f0                	mov    %eax,%esi
40366b:	e8 9a 69 00 00       	call   0x40a00a
403670:	6a 01                	push   $0x1
403672:	89 30                	mov    %esi,(%eax)
403674:	e8 53 03 00 00       	call   0x4039cc
403679:	83 c4 0c             	add    $0xc,%esp
40367c:	5e                   	pop    %esi
40367d:	84 c0                	test   %al,%al
40367f:	74 73                	je     0x4036f4
403681:	db e2                	fnclex
403683:	e8 bf 07 00 00       	call   0x403e47
403688:	68 73 3e 40 00       	push   $0x403e73
40368d:	e8 c7 04 00 00       	call   0x403b59
403692:	e8 72 05 00 00       	call   0x403c09
403697:	50                   	push   %eax
403698:	e8 68 60 00 00       	call   0x409705
40369d:	59                   	pop    %ecx
40369e:	59                   	pop    %ecx
40369f:	85 c0                	test   %eax,%eax
4036a1:	75 51                	jne    0x4036f4
4036a3:	e8 6b 05 00 00       	call   0x403c13
4036a8:	e8 bc 05 00 00       	call   0x403c69
4036ad:	85 c0                	test   %eax,%eax
4036af:	74 0b                	je     0x4036bc
4036b1:	68 06 3c 40 00       	push   $0x403c06
4036b6:	e8 0f 5d 00 00       	call   0x4093ca
4036bb:	59                   	pop    %ecx
4036bc:	e8 82 05 00 00       	call   0x403c43
4036c1:	e8 7d 05 00 00       	call   0x403c43
4036c6:	e8 57 05 00 00       	call   0x403c22
4036cb:	e8 36 05 00 00       	call   0x403c06
4036d0:	50                   	push   %eax
4036d1:	e8 9c 68 00 00       	call   0x409f72
4036d6:	59                   	pop    %ecx
4036d7:	e8 43 05 00 00       	call   0x403c1f
4036dc:	84 c0                	test   %al,%al
4036de:	74 05                	je     0x4036e5
4036e0:	e8 1a 63 00 00       	call   0x4099ff
4036e5:	e8 1c 05 00 00       	call   0x403c06
4036ea:	e8 a7 06 00 00       	call   0x403d96
4036ef:	85 c0                	test   %eax,%eax
4036f1:	75 01                	jne    0x4036f4
4036f3:	c3                   	ret
4036f4:	6a 07                	push   $0x7
4036f6:	e8 86 05 00 00       	call   0x403c81
4036fb:	cc                   	int3
4036fc:	e8 4b 05 00 00       	call   0x403c4c
403701:	33 c0                	xor    %eax,%eax
403703:	c3                   	ret
403704:	e8 d4 06 00 00       	call   0x403ddd
403709:	e8 f8 04 00 00       	call   0x403c06
40370e:	50                   	push   %eax
40370f:	e8 c7 68 00 00       	call   0x409fdb
403714:	59                   	pop    %ecx
403715:	c3                   	ret
403716:	6a 14                	push   $0x14
403718:	68 f8 fb 41 00       	push   $0x41fbf8
40371d:	e8 7e 07 00 00       	call   0x403ea0
403722:	6a 01                	push   $0x1
403724:	e8 6a 02 00 00       	call   0x403993
403729:	59                   	pop    %ecx
40372a:	84 c0                	test   %al,%al
40372c:	0f 84 50 01 00 00    	je     0x403882
403732:	32 db                	xor    %bl,%bl
403734:	88 5d e7             	mov    %bl,-0x19(%ebp)
403737:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40373b:	e8 21 02 00 00       	call   0x403961
403740:	88 45 dc             	mov    %al,-0x24(%ebp)
403743:	a1 30 1a 42 00       	mov    0x421a30,%eax
403748:	33 c9                	xor    %ecx,%ecx
40374a:	41                   	inc    %ecx
40374b:	3b c1                	cmp    %ecx,%eax
40374d:	0f 84 2f 01 00 00    	je     0x403882
403753:	85 c0                	test   %eax,%eax
403755:	75 49                	jne    0x4037a0
403757:	89 0d 30 1a 42 00    	mov    %ecx,0x421a30
40375d:	68 84 91 41 00       	push   $0x419184
403762:	68 68 91 41 00       	push   $0x419168
403767:	e8 c3 62 00 00       	call   0x409a2f
40376c:	59                   	pop    %ecx
40376d:	59                   	pop    %ecx
40376e:	85 c0                	test   %eax,%eax
403770:	74 11                	je     0x403783
403772:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
403779:	b8 ff 00 00 00       	mov    $0xff,%eax
40377e:	e9 ef 00 00 00       	jmp    0x403872
403783:	68 64 91 41 00       	push   $0x419164
403788:	68 5c 91 41 00       	push   $0x41915c
40378d:	e8 72 62 00 00       	call   0x409a04
403792:	59                   	pop    %ecx
403793:	59                   	pop    %ecx
403794:	c7 05 30 1a 42 00 02 	movl   $0x2,0x421a30
40379b:	00 00 00
40379e:	eb 05                	jmp    0x4037a5
4037a0:	8a d9                	mov    %cl,%bl
4037a2:	88 5d e7             	mov    %bl,-0x19(%ebp)
4037a5:	ff 75 dc             	push   -0x24(%ebp)
4037a8:	e8 3a 03 00 00       	call   0x403ae7
4037ad:	59                   	pop    %ecx
4037ae:	e8 c2 04 00 00       	call   0x403c75
4037b3:	8b f0                	mov    %eax,%esi
4037b5:	33 ff                	xor    %edi,%edi
4037b7:	39 3e                	cmp    %edi,(%esi)
4037b9:	74 1b                	je     0x4037d6
4037bb:	56                   	push   %esi
4037bc:	e8 92 02 00 00       	call   0x403a53
4037c1:	59                   	pop    %ecx
4037c2:	84 c0                	test   %al,%al
4037c4:	74 10                	je     0x4037d6
4037c6:	8b 36                	mov    (%esi),%esi
4037c8:	57                   	push   %edi
4037c9:	6a 02                	push   $0x2
4037cb:	57                   	push   %edi
4037cc:	8b ce                	mov    %esi,%ecx
4037ce:	ff 15 54 91 41 00    	call   *0x419154
4037d4:	ff d6                	call   *%esi
4037d6:	e8 a0 04 00 00       	call   0x403c7b
4037db:	8b f0                	mov    %eax,%esi
4037dd:	39 3e                	cmp    %edi,(%esi)
4037df:	74 13                	je     0x4037f4
4037e1:	56                   	push   %esi
4037e2:	e8 6c 02 00 00       	call   0x403a53
4037e7:	59                   	pop    %ecx
4037e8:	84 c0                	test   %al,%al
4037ea:	74 08                	je     0x4037f4
4037ec:	ff 36                	push   (%esi)
4037ee:	e8 45 65 00 00       	call   0x409d38
4037f3:	59                   	pop    %ecx
4037f4:	e8 f2 61 00 00       	call   0x4099eb
4037f9:	8b f8                	mov    %eax,%edi
4037fb:	e8 cc 66 00 00       	call   0x409ecc
403800:	8b 30                	mov    (%eax),%esi
403802:	e8 bf 66 00 00       	call   0x409ec6
403807:	57                   	push   %edi
403808:	56                   	push   %esi
403809:	ff 30                	push   (%eax)
40380b:	e8 00 e4 ff ff       	call   0x401c10
403810:	83 c4 0c             	add    $0xc,%esp
403813:	8b f0                	mov    %eax,%esi
403815:	e8 81 05 00 00       	call   0x403d9b
40381a:	84 c0                	test   %al,%al
40381c:	74 6b                	je     0x403889
40381e:	84 db                	test   %bl,%bl
403820:	75 05                	jne    0x403827
403822:	e8 ec 64 00 00       	call   0x409d13
403827:	6a 00                	push   $0x0
403829:	6a 01                	push   $0x1
40382b:	e8 d4 02 00 00       	call   0x403b04
403830:	59                   	pop    %ecx
403831:	59                   	pop    %ecx
403832:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
403839:	8b c6                	mov    %esi,%eax
40383b:	eb 35                	jmp    0x403872
40383d:	8b 4d ec             	mov    -0x14(%ebp),%ecx
403840:	8b 01                	mov    (%ecx),%eax
403842:	8b 00                	mov    (%eax),%eax
403844:	89 45 e0             	mov    %eax,-0x20(%ebp)
403847:	51                   	push   %ecx
403848:	50                   	push   %eax
403849:	e8 a0 59 00 00       	call   0x4091ee
40384e:	59                   	pop    %ecx
40384f:	59                   	pop    %ecx
403850:	c3                   	ret
403851:	8b 65 e8             	mov    -0x18(%ebp),%esp
403854:	e8 42 05 00 00       	call   0x403d9b
403859:	84 c0                	test   %al,%al
40385b:	74 32                	je     0x40388f
40385d:	80 7d e7 00          	cmpb   $0x0,-0x19(%ebp)
403861:	75 05                	jne    0x403868
403863:	e8 9c 64 00 00       	call   0x409d04
403868:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40386f:	8b 45 e0             	mov    -0x20(%ebp),%eax
403872:	8b 4d f0             	mov    -0x10(%ebp),%ecx
403875:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40387c:	59                   	pop    %ecx
40387d:	5f                   	pop    %edi
40387e:	5e                   	pop    %esi
40387f:	5b                   	pop    %ebx
403880:	c9                   	leave
403881:	c3                   	ret
403882:	6a 07                	push   $0x7
403884:	e8 f8 03 00 00       	call   0x403c81
403889:	56                   	push   %esi
40388a:	e8 cf 64 00 00       	call   0x409d5e
40388f:	ff 75 e0             	push   -0x20(%ebp)
403892:	e8 8b 64 00 00       	call   0x409d22
403897:	cc                   	int3
403898:	e8 1e 03 00 00       	call   0x403bbb
40389d:	e9 74 fe ff ff       	jmp    0x403716
4038a2:	83 61 04 00          	andl   $0x0,0x4(%ecx)
4038a6:	8b c1                	mov    %ecx,%eax
4038a8:	83 61 08 00          	andl   $0x0,0x8(%ecx)
4038ac:	c7 41 04 74 95 41 00 	movl   $0x419574,0x4(%ecx)
4038b3:	c7 01 68 94 41 00    	movl   $0x419468,(%ecx)
4038b9:	c3                   	ret
4038ba:	83 61 04 00          	andl   $0x0,0x4(%ecx)
4038be:	8b c1                	mov    %ecx,%eax
4038c0:	83 61 08 00          	andl   $0x0,0x8(%ecx)
4038c4:	c7 41 04 84 95 41 00 	movl   $0x419584,0x4(%ecx)
4038cb:	c7 01 80 93 41 00    	movl   $0x419380,(%ecx)
4038d1:	c3                   	ret
4038d2:	8d 41 04             	lea    0x4(%ecx),%eax
4038d5:	c7 01 88 94 41 00    	movl   $0x419488,(%ecx)
4038db:	50                   	push   %eax
4038dc:	e8 b8 13 00 00       	call   0x404c99
4038e1:	59                   	pop    %ecx
4038e2:	c3                   	ret
4038e3:	55                   	push   %ebp
4038e4:	8b ec                	mov    %esp,%ebp
4038e6:	83 ec 0c             	sub    $0xc,%esp
4038e9:	8d 4d f4             	lea    -0xc(%ebp),%ecx
4038ec:	e8 b1 ff ff ff       	call   0x4038a2
4038f1:	68 14 fc 41 00       	push   $0x41fc14
4038f6:	8d 45 f4             	lea    -0xc(%ebp),%eax
4038f9:	50                   	push   %eax
4038fa:	e8 cb 12 00 00       	call   0x404bca
4038ff:	cc                   	int3
403900:	55                   	push   %ebp
403901:	8b ec                	mov    %esp,%ebp
403903:	83 ec 0c             	sub    $0xc,%esp
403906:	8d 4d f4             	lea    -0xc(%ebp),%ecx
403909:	e8 ac ff ff ff       	call   0x4038ba
40390e:	68 dc f8 41 00       	push   $0x41f8dc
403913:	8d 45 f4             	lea    -0xc(%ebp),%eax
403916:	50                   	push   %eax
403917:	e8 ae 12 00 00       	call   0x404bca
40391c:	cc                   	int3
40391d:	55                   	push   %ebp
40391e:	8b ec                	mov    %esp,%ebp
403920:	8b 45 08             	mov    0x8(%ebp),%eax
403923:	56                   	push   %esi
403924:	8b 48 3c             	mov    0x3c(%eax),%ecx
403927:	03 c8                	add    %eax,%ecx
403929:	0f b7 41 14          	movzwl 0x14(%ecx),%eax
40392d:	8d 51 18             	lea    0x18(%ecx),%edx
403930:	03 d0                	add    %eax,%edx
403932:	0f b7 41 06          	movzwl 0x6(%ecx),%eax
403936:	6b f0 28             	imul   $0x28,%eax,%esi
403939:	03 f2                	add    %edx,%esi
40393b:	3b d6                	cmp    %esi,%edx
40393d:	74 19                	je     0x403958
40393f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
403942:	3b 4a 0c             	cmp    0xc(%edx),%ecx
403945:	72 0a                	jb     0x403951
403947:	8b 42 08             	mov    0x8(%edx),%eax
40394a:	03 42 0c             	add    0xc(%edx),%eax
40394d:	3b c8                	cmp    %eax,%ecx
40394f:	72 0c                	jb     0x40395d
403951:	83 c2 28             	add    $0x28,%edx
403954:	3b d6                	cmp    %esi,%edx
403956:	75 ea                	jne    0x403942
403958:	33 c0                	xor    %eax,%eax
40395a:	5e                   	pop    %esi
40395b:	5d                   	pop    %ebp
40395c:	c3                   	ret
40395d:	8b c2                	mov    %edx,%eax
40395f:	eb f9                	jmp    0x40395a
403961:	56                   	push   %esi
403962:	e8 55 07 00 00       	call   0x4040bc
403967:	85 c0                	test   %eax,%eax
403969:	74 20                	je     0x40398b
40396b:	64 a1 18 00 00 00    	mov    %fs:0x18,%eax
403971:	be 34 1a 42 00       	mov    $0x421a34,%esi
403976:	8b 50 04             	mov    0x4(%eax),%edx
403979:	eb 04                	jmp    0x40397f
40397b:	3b d0                	cmp    %eax,%edx
40397d:	74 10                	je     0x40398f
40397f:	33 c0                	xor    %eax,%eax
403981:	8b ca                	mov    %edx,%ecx
403983:	f0 0f b1 0e          	lock cmpxchg %ecx,(%esi)
403987:	85 c0                	test   %eax,%eax
403989:	75 f0                	jne    0x40397b
40398b:	32 c0                	xor    %al,%al
40398d:	5e                   	pop    %esi
40398e:	c3                   	ret
40398f:	b0 01                	mov    $0x1,%al
403991:	5e                   	pop    %esi
403992:	c3                   	ret
403993:	55                   	push   %ebp
403994:	8b ec                	mov    %esp,%ebp
403996:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40399a:	75 07                	jne    0x4039a3
40399c:	c6 05 38 1a 42 00 01 	movb   $0x1,0x421a38
4039a3:	e8 40 05 00 00       	call   0x403ee8
4039a8:	e8 61 18 00 00       	call   0x40520e
4039ad:	84 c0                	test   %al,%al
4039af:	75 04                	jne    0x4039b5
4039b1:	32 c0                	xor    %al,%al
4039b3:	5d                   	pop    %ebp
4039b4:	c3                   	ret
4039b5:	e8 93 6a 00 00       	call   0x40a44d
4039ba:	84 c0                	test   %al,%al
4039bc:	75 0a                	jne    0x4039c8
4039be:	6a 00                	push   $0x0
4039c0:	e8 68 18 00 00       	call   0x40522d
4039c5:	59                   	pop    %ecx
4039c6:	eb e9                	jmp    0x4039b1
4039c8:	b0 01                	mov    $0x1,%al
4039ca:	5d                   	pop    %ebp
4039cb:	c3                   	ret
4039cc:	55                   	push   %ebp
4039cd:	8b ec                	mov    %esp,%ebp
4039cf:	80 3d 39 1a 42 00 00 	cmpb   $0x0,0x421a39
4039d6:	74 04                	je     0x4039dc
4039d8:	b0 01                	mov    $0x1,%al
4039da:	5d                   	pop    %ebp
4039db:	c3                   	ret
4039dc:	56                   	push   %esi
4039dd:	8b 75 08             	mov    0x8(%ebp),%esi
4039e0:	85 f6                	test   %esi,%esi
4039e2:	74 05                	je     0x4039e9
4039e4:	83 fe 01             	cmp    $0x1,%esi
4039e7:	75 62                	jne    0x403a4b
4039e9:	e8 ce 06 00 00       	call   0x4040bc
4039ee:	85 c0                	test   %eax,%eax
4039f0:	74 26                	je     0x403a18
4039f2:	85 f6                	test   %esi,%esi
4039f4:	75 22                	jne    0x403a18
4039f6:	68 3c 1a 42 00       	push   $0x421a3c
4039fb:	e8 f6 68 00 00       	call   0x40a2f6
403a00:	59                   	pop    %ecx
403a01:	85 c0                	test   %eax,%eax
403a03:	75 0f                	jne    0x403a14
403a05:	68 48 1a 42 00       	push   $0x421a48
403a0a:	e8 e7 68 00 00       	call   0x40a2f6
403a0f:	59                   	pop    %ecx
403a10:	85 c0                	test   %eax,%eax
403a12:	74 2b                	je     0x403a3f
403a14:	32 c0                	xor    %al,%al
403a16:	eb 30                	jmp    0x403a48
403a18:	83 c9 ff             	or     $0xffffffff,%ecx
403a1b:	89 0d 3c 1a 42 00    	mov    %ecx,0x421a3c
403a21:	89 0d 40 1a 42 00    	mov    %ecx,0x421a40
403a27:	89 0d 44 1a 42 00    	mov    %ecx,0x421a44
403a2d:	89 0d 48 1a 42 00    	mov    %ecx,0x421a48
403a33:	89 0d 4c 1a 42 00    	mov    %ecx,0x421a4c
403a39:	89 0d 50 1a 42 00    	mov    %ecx,0x421a50
403a3f:	c6 05 39 1a 42 00 01 	movb   $0x1,0x421a39
403a46:	b0 01                	mov    $0x1,%al
403a48:	5e                   	pop    %esi
403a49:	5d                   	pop    %ebp
403a4a:	c3                   	ret
403a4b:	6a 05                	push   $0x5
403a4d:	e8 2f 02 00 00       	call   0x403c81