40a8bc:	ff 75 18             	push   0x18(%ebp)
40a8bf:	ff 75 14             	push   0x14(%ebp)
40a8c2:	ff 75 10             	push   0x10(%ebp)
40a8c5:	ff 75 0c             	push   0xc(%ebp)
40a8c8:	ff 75 08             	push   0x8(%ebp)
40a8cb:	e8 d1 f2 ff ff       	call   0x409ba1
40a8d0:	8b 08                	mov    (%eax),%ecx
40a8d2:	ff 70 04             	push   0x4(%eax)
40a8d5:	83 c9 01             	or     $0x1,%ecx
40a8d8:	51                   	push   %ecx
40a8d9:	e8 43 ff ff ff       	call   0x40a821
40a8de:	83 c4 1c             	add    $0x1c,%esp
40a8e1:	85 c0                	test   %eax,%eax
40a8e3:	79 03                	jns    0x40a8e8
40a8e5:	83 c8 ff             	or     $0xffffffff,%eax
40a8e8:	5d                   	pop    %ebp
40a8e9:	c3                   	ret
40a8ea:	8b ff                	mov    %edi,%edi
40a8ec:	55                   	push   %ebp
40a8ed:	8b ec                	mov    %esp,%ebp
40a8ef:	ff 75 14             	push   0x14(%ebp)
40a8f2:	6a 00                	push   $0x0
40a8f4:	ff 75 10             	push   0x10(%ebp)
40a8f7:	ff 75 0c             	push   0xc(%ebp)
40a8fa:	ff 75 08             	push   0x8(%ebp)
40a8fd:	e8 b5 ff ff ff       	call   0x40a8b7
40a902:	83 c4 14             	add    $0x14,%esp
40a905:	5d                   	pop    %ebp
40a906:	c3                   	ret
40a907:	8b ff                	mov    %edi,%edi
40a909:	55                   	push   %ebp
40a90a:	8b ec                	mov    %esp,%ebp
40a90c:	ff 75 18             	push   0x18(%ebp)
40a90f:	ff 75 14             	push   0x14(%ebp)
40a912:	ff 75 10             	push   0x10(%ebp)
40a915:	ff 75 0c             	push   0xc(%ebp)
40a918:	ff 75 08             	push   0x8(%ebp)
40a91b:	e8 81 f2 ff ff       	call   0x409ba1
40a920:	ff 70 04             	push   0x4(%eax)
40a923:	ff 30                	push   (%eax)
40a925:	e8 fd fe ff ff       	call   0x40a827
40a92a:	83 c4 1c             	add    $0x1c,%esp
40a92d:	85 c0                	test   %eax,%eax
40a92f:	79 03                	jns    0x40a934
40a931:	83 c8 ff             	or     $0xffffffff,%eax
40a934:	5d                   	pop    %ebp
40a935:	c3                   	ret
40a936:	8b ff                	mov    %edi,%edi
40a938:	55                   	push   %ebp
40a939:	8b ec                	mov    %esp,%ebp
40a93b:	ff 75 14             	push   0x14(%ebp)
40a93e:	6a 00                	push   $0x0
40a940:	ff 75 10             	push   0x10(%ebp)
40a943:	ff 75 0c             	push   0xc(%ebp)
40a946:	ff 75 08             	push   0x8(%ebp)
40a949:	e8 b9 ff ff ff       	call   0x40a907
40a94e:	83 c4 14             	add    $0x14,%esp
40a951:	5d                   	pop    %ebp
40a952:	c3                   	ret
40a953:	8b ff                	mov    %edi,%edi
40a955:	55                   	push   %ebp
40a956:	8b ec                	mov    %esp,%ebp
40a958:	ff 75 14             	push   0x14(%ebp)
40a95b:	ff 75 10             	push   0x10(%ebp)
40a95e:	ff 75 0c             	push   0xc(%ebp)
40a961:	6a ff                	push   $0xffffffff
40a963:	ff 75 08             	push   0x8(%ebp)
40a966:	e8 64 f2 ff ff       	call   0x409bcf
40a96b:	8b 08                	mov    (%eax),%ecx
40a96d:	ff 70 04             	push   0x4(%eax)
40a970:	83 c9 01             	or     $0x1,%ecx
40a973:	51                   	push   %ecx
40a974:	e8 b4 fe ff ff       	call   0x40a82d
40a979:	83 c4 1c             	add    $0x1c,%esp
40a97c:	5d                   	pop    %ebp
40a97d:	c3                   	ret
40a97e:	8b ff                	mov    %edi,%edi
40a980:	55                   	push   %ebp
40a981:	8b ec                	mov    %esp,%ebp
40a983:	8d 45 10             	lea    0x10(%ebp),%eax
40a986:	50                   	push   %eax
40a987:	6a 00                	push   $0x0
40a989:	ff 75 0c             	push   0xc(%ebp)
40a98c:	ff 75 08             	push   0x8(%ebp)
40a98f:	e8 bf ff ff ff       	call   0x40a953
40a994:	83 c4 10             	add    $0x10,%esp
40a997:	5d                   	pop    %ebp
40a998:	c3                   	ret
40a999:	8b ff                	mov    %edi,%edi
40a99b:	55                   	push   %ebp
40a99c:	8b ec                	mov    %esp,%ebp
40a99e:	ff 75 1c             	push   0x1c(%ebp)
40a9a1:	ff 75 18             	push   0x18(%ebp)
40a9a4:	ff 75 14             	push   0x14(%ebp)
40a9a7:	ff 75 10             	push   0x10(%ebp)
40a9aa:	ff 75 0c             	push   0xc(%ebp)
40a9ad:	ff 75 08             	push   0x8(%ebp)
40a9b0:	e8 ec f1 ff ff       	call   0x409ba1
40a9b5:	ff 70 04             	push   0x4(%eax)
40a9b8:	ff 30                	push   (%eax)
40a9ba:	e8 5c fe ff ff       	call   0x40a81b
40a9bf:	83 c4 20             	add    $0x20,%esp
40a9c2:	85 c0                	test   %eax,%eax
40a9c4:	79 03                	jns    0x40a9c9
40a9c6:	83 c8 ff             	or     $0xffffffff,%eax
40a9c9:	5d                   	pop    %ebp
40a9ca:	c3                   	ret
40a9cb:	8b ff                	mov    %edi,%edi
40a9cd:	55                   	push   %ebp
40a9ce:	8b ec                	mov    %esp,%ebp
40a9d0:	ff 75 18             	push   0x18(%ebp)
40a9d3:	6a 00                	push   $0x0
40a9d5:	ff 75 14             	push   0x14(%ebp)
40a9d8:	ff 75 10             	push   0x10(%ebp)
40a9db:	ff 75 0c             	push   0xc(%ebp)
40a9de:	ff 75 08             	push   0x8(%ebp)
40a9e1:	e8 b3 ff ff ff       	call   0x40a999
40a9e6:	83 c4 18             	add    $0x18,%esp
40a9e9:	5d                   	pop    %ebp
40a9ea:	c3                   	ret
40a9eb:	cc                   	int3
40a9ec:	cc                   	int3
40a9ed:	cc                   	int3
40a9ee:	cc                   	int3
40a9ef:	cc                   	int3
40a9f0:	ff 25 10 e0 40 00    	jmp    *0x40e010
40a9f6:	8b ff                	mov    %edi,%edi
40a9f8:	55                   	push   %ebp
40a9f9:	8b ec                	mov    %esp,%ebp
40a9fb:	eb 0d                	jmp    0x40aa0a
40a9fd:	ff 75 08             	push   0x8(%ebp)
40aa00:	e8 2e fe ff ff       	call   0x40a833
40aa05:	59                   	pop    %ecx
40aa06:	85 c0                	test   %eax,%eax
40aa08:	74 0f                	je     0x40aa19
40aa0a:	ff 75 08             	push   0x8(%ebp)
40aa0d:	e8 8d fe ff ff       	call   0x40a89f
40aa12:	59                   	pop    %ecx
40aa13:	85 c0                	test   %eax,%eax
40aa15:	74 e6                	je     0x40a9fd
40aa17:	5d                   	pop    %ebp
40aa18:	c3                   	ret
40aa19:	83 7d 08 ff          	cmpl   $0xffffffff,0x8(%ebp)
40aa1d:	0f 84 f8 00 00 00    	je     0x40ab1b
40aa23:	e9 d4 00 00 00       	jmp    0x40aafc
40aa28:	cc                   	int3
40aa29:	cc                   	int3
40aa2a:	cc                   	int3
40aa2b:	cc                   	int3
40aa2c:	cc                   	int3
40aa2d:	cc                   	int3
40aa2e:	cc                   	int3
40aa2f:	cc                   	int3
40aa30:	8b ff                	mov    %edi,%edi
40aa32:	55                   	push   %ebp
40aa33:	8b ec                	mov    %esp,%ebp
40aa35:	56                   	push   %esi
40aa36:	ff 75 08             	push   0x8(%ebp)
40aa39:	8b f1                	mov    %ecx,%esi
40aa3b:	e8 00 7b ff ff       	call   0x402540
40aa40:	c7 06 20 10 40 00    	movl   $0x401020,(%esi)
40aa46:	8b c6                	mov    %esi,%eax
40aa48:	5e                   	pop    %esi
40aa49:	5d                   	pop    %ebp
40aa4a:	c2 04 00             	ret    $0x4
40aa4d:	83 61 04 00          	andl   $0x0,0x4(%ecx)
40aa51:	8b c1                	mov    %ecx,%eax
40aa53:	83 61 08 00          	andl   $0x0,0x8(%ecx)
40aa57:	c7 41 04 10 15 40 00 	movl   $0x401510,0x4(%ecx)
40aa5e:	c7 01 20 10 40 00    	movl   $0x401020,(%ecx)
40aa64:	c3                   	ret
40aa65:	cc                   	int3
40aa66:	cc                   	int3
40aa67:	cc                   	int3
40aa68:	cc                   	int3
40aa69:	cc                   	int3
40aa6a:	cc                   	int3
40aa6b:	cc                   	int3
40aa6c:	cc                   	int3
40aa6d:	cc                   	int3
40aa6e:	cc                   	int3
40aa6f:	cc                   	int3
40aa70:	8b ff                	mov    %edi,%edi
40aa72:	55                   	push   %ebp
40aa73:	8b ec                	mov    %esp,%ebp
40aa75:	56                   	push   %esi
40aa76:	ff 75 08             	push   0x8(%ebp)
40aa79:	8b f1                	mov    %ecx,%esi
40aa7b:	e8 c0 7a ff ff       	call   0x402540
40aa80:	c7 06 2c 10 40 00    	movl   $0x40102c,(%esi)
40aa86:	8b c6                	mov    %esi,%eax
40aa88:	5e                   	pop    %esi
40aa89:	5d                   	pop    %ebp
40aa8a:	c2 04 00             	ret    $0x4
40aa8d:	83 61 04 00          	andl   $0x0,0x4(%ecx)
40aa91:	8b c1                	mov    %ecx,%eax
40aa93:	83 61 08 00          	andl   $0x0,0x8(%ecx)
40aa97:	c7 41 04 20 15 40 00 	movl   $0x401520,0x4(%ecx)
40aa9e:	c7 01 2c 10 40 00    	movl   $0x40102c,(%ecx)
40aaa4:	c3                   	ret
40aaa5:	cc                   	int3
40aaa6:	cc                   	int3
40aaa7:	cc                   	int3
40aaa8:	cc                   	int3
40aaa9:	cc                   	int3
40aaaa:	cc                   	int3
40aaab:	cc                   	int3
40aaac:	cc                   	int3
40aaad:	cc                   	int3
40aaae:	cc                   	int3
40aaaf:	cc                   	int3
40aab0:	8d 41 04             	lea    0x4(%ecx),%eax
40aab3:	c7 01 14 10 40 00    	movl   $0x401014,(%ecx)
40aab9:	50                   	push   %eax
40aaba:	e8 56 fd ff ff       	call   0x40a815
40aabf:	59                   	pop    %ecx
40aac0:	c3                   	ret
40aac1:	cc                   	int3
40aac2:	cc                   	int3
40aac3:	cc                   	int3
40aac4:	cc                   	int3
40aac5:	cc                   	int3
40aac6:	cc                   	int3
40aac7:	cc                   	int3
40aac8:	cc                   	int3
40aac9:	cc                   	int3
40aaca:	cc                   	int3
40aacb:	cc                   	int3
40aacc:	cc                   	int3
40aacd:	cc                   	int3
40aace:	cc                   	int3
40aacf:	cc                   	int3
40aad0:	8b ff                	mov    %edi,%edi
40aad2:	55                   	push   %ebp
40aad3:	8b ec                	mov    %esp,%ebp
40aad5:	56                   	push   %esi
40aad6:	8b f1                	mov    %ecx,%esi
40aad8:	8d 46 04             	lea    0x4(%esi),%eax
40aadb:	c7 06 14 10 40 00    	movl   $0x401014,(%esi)
40aae1:	50                   	push   %eax
40aae2:	e8 2e fd ff ff       	call   0x40a815
40aae7:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
40aaeb:	59                   	pop    %ecx
40aaec:	74 07                	je     0x40aaf5
40aaee:	56                   	push   %esi
40aaef:	e8 e6 fc ff ff       	call   0x40a7da
40aaf4:	59                   	pop    %ecx
40aaf5:	8b c6                	mov    %esi,%eax
40aaf7:	5e                   	pop    %esi
40aaf8:	5d                   	pop    %ebp
40aaf9:	c2 04 00             	ret    $0x4
40aafc:	8b ff                	mov    %edi,%edi
40aafe:	55                   	push   %ebp
40aaff:	8b ec                	mov    %esp,%ebp
40ab01:	83 ec 0c             	sub    $0xc,%esp
40ab04:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40ab07:	e8 41 ff ff ff       	call   0x40aa4d
40ab0c:	68 bc c5 40 00       	push   $0x40c5bc
40ab11:	8d 45 f4             	lea    -0xc(%ebp),%eax
40ab14:	50                   	push   %eax
40ab15:	e8 20 00 00 00       	call   0x40ab3a
40ab1a:	cc                   	int3
40ab1b:	8b ff                	mov    %edi,%edi
40ab1d:	55                   	push   %ebp
40ab1e:	8b ec                	mov    %esp,%ebp
40ab20:	83 ec 0c             	sub    $0xc,%esp
40ab23:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40ab26:	e8 62 ff ff ff       	call   0x40aa8d
40ab2b:	68 f4 c5 40 00       	push   $0x40c5f4
40ab30:	8d 45 f4             	lea    -0xc(%ebp),%eax
40ab33:	50                   	push   %eax
40ab34:	e8 01 00 00 00       	call   0x40ab3a
40ab39:	cc                   	int3
40ab3a:	ff 25 a0 e1 40 00    	jmp    *0x40e1a0
40ab40:	8b ff                	mov    %edi,%edi
40ab42:	55                   	push   %ebp
40ab43:	8b ec                	mov    %esp,%ebp
40ab45:	51                   	push   %ecx
40ab46:	83 3d e4 d4 40 00 01 	cmpl   $0x1,0x40d4e4
40ab4d:	7c 66                	jl     0x40abb5
40ab4f:	81 7d 08 b4 02 00 c0 	cmpl   $0xc00002b4,0x8(%ebp)
40ab56:	74 09                	je     0x40ab61
40ab58:	81 7d 08 b5 02 00 c0 	cmpl   $0xc00002b5,0x8(%ebp)
40ab5f:	75 54                	jne    0x40abb5
40ab61:	0f ae 5d fc          	stmxcsr -0x4(%ebp)
40ab65:	8b 45 fc             	mov    -0x4(%ebp),%eax
40ab68:	83 f0 3f             	xor    $0x3f,%eax
40ab6b:	a8 81                	test   $0x81,%al
40ab6d:	74 3f                	je     0x40abae
40ab6f:	a9 04 02 00 00       	test   $0x204,%eax
40ab74:	75 07                	jne    0x40ab7d
40ab76:	b8 8e 00 00 c0       	mov    $0xc000008e,%eax
40ab7b:	c9                   	leave
40ab7c:	c3                   	ret
40ab7d:	a9 02 01 00 00       	test   $0x102,%eax
40ab82:	74 2a                	je     0x40abae
40ab84:	a9 08 04 00 00       	test   $0x408,%eax
40ab89:	75 07                	jne    0x40ab92
40ab8b:	b8 91 00 00 c0       	mov    $0xc0000091,%eax
40ab90:	c9                   	leave
40ab91:	c3                   	ret
40ab92:	a9 10 08 00 00       	test   $0x810,%eax
40ab97:	75 07                	jne    0x40aba0
40ab99:	b8 93 00 00 c0       	mov    $0xc0000093,%eax
40ab9e:	c9                   	leave
40ab9f:	c3                   	ret
40aba0:	a9 20 10 00 00       	test   $0x1020,%eax
40aba5:	75 0e                	jne    0x40abb5
40aba7:	b8 8f 00 00 c0       	mov    $0xc000008f,%eax
40abac:	c9                   	leave
40abad:	c3                   	ret
40abae:	b8 90 00 00 c0       	mov    $0xc0000090,%eax
40abb3:	c9                   	leave
40abb4:	c3                   	ret
40abb5:	8b 45 08             	mov    0x8(%ebp),%eax
40abb8:	c9                   	leave
40abb9:	c3                   	ret
40abba:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40abbd:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40abc4:	59                   	pop    %ecx
40abc5:	5f                   	pop    %edi
40abc6:	5f                   	pop    %edi
40abc7:	5e                   	pop    %esi
40abc8:	5b                   	pop    %ebx
40abc9:	8b e5                	mov    %ebp,%esp
40abcb:	5d                   	pop    %ebp
40abcc:	51                   	push   %ecx
40abcd:	f2 c3                	bnd ret
40abcf:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40abd2:	33 cd                	xor    %ebp,%ecx
40abd4:	f2 e8 86 f2 ff ff    	bnd call 0x409e60
40abda:	f2 e9 da ff ff ff    	bnd jmp 0x40abba
40abe0:	50                   	push   %eax
40abe1:	64 ff 35 00 00 00 00 	push   %fs:0x0
40abe8:	8d 44 24 0c          	lea    0xc(%esp),%eax
40abec:	2b 64 24 0c          	sub    0xc(%esp),%esp
40abf0:	53                   	push   %ebx
40abf1:	56                   	push   %esi
40abf2:	57                   	push   %edi
40abf3:	89 28                	mov    %ebp,(%eax)
40abf5:	8b e8                	mov    %eax,%ebp
40abf7:	a1 50 d1 40 00       	mov    0x40d150,%eax
40abfc:	33 c5                	xor    %ebp,%eax
40abfe:	50                   	push   %eax
40abff:	ff 75 fc             	push   -0x4(%ebp)
40ac02:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
40ac09:	8d 45 f4             	lea    -0xc(%ebp),%eax
40ac0c:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40ac12:	f2 c3                	bnd ret
40ac14:	50                   	push   %eax