405a6e:	ff 35 2c f0 40 00    	push   0x40f02c
405a74:	ff 35 cc 51 40 00    	push   0x4051cc
405a7a:	ff 75 08             	push   0x8(%ebp)
405a7d:	68 00 00 40 00       	push   $0x400000
405a82:	ff 15 34 f0 40 00    	call   *0x40f034
405a88:	5d                   	pop    %ebp
405a89:	c2 08 00             	ret    $0x8
405a8c:	cc                   	int3
405a8d:	cc                   	int3
405a8e:	cc                   	int3
405a8f:	cc                   	int3
405a90:	8b ff                	mov    %edi,%edi
405a92:	55                   	push   %ebp
405a93:	8b ec                	mov    %esp,%ebp
405a95:	81 ec 30 01 00 00    	sub    $0x130,%esp
405a9b:	a1 04 e0 40 00       	mov    0x40e004,%eax
405aa0:	33 c5                	xor    %ebp,%eax
405aa2:	89 45 fc             	mov    %eax,-0x4(%ebp)
405aa5:	53                   	push   %ebx
405aa6:	56                   	push   %esi
405aa7:	8b 75 08             	mov    0x8(%ebp),%esi
405aaa:	33 db                	xor    %ebx,%ebx
405aac:	b8 2f 00 00 00       	mov    $0x2f,%eax
405ab1:	89 b5 d0 fe ff ff    	mov    %esi,-0x130(%ebp)
405ab7:	57                   	push   %edi
405ab8:	89 85 d4 fe ff ff    	mov    %eax,-0x12c(%ebp)
405abe:	8b 36                	mov    (%esi),%esi
405ac0:	c7 85 d8 fe ff ff 80 	movl   $0x80,-0x128(%ebp)
405ac7:	00 00 00
405aca:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
405acd:	0f 84 40 2b 00 00    	je     0x408613
405ad3:	8b 3e                	mov    (%esi),%edi
405ad5:	f7 c7 00 01 00 00    	test   $0x100,%edi
405adb:	74 0b                	je     0x405ae8
405add:	bb 01 00 00 00       	mov    $0x1,%ebx
405ae2:	81 e7 ff fe ff ff    	and    $0xfffffeff,%edi
405ae8:	89 8d dc fe ff ff    	mov    %ecx,-0x124(%ebp)
405aee:	85 d2                	test   %edx,%edx
405af0:	0f 85 37 2b 00 00    	jne    0x40862d
405af6:	c7 85 e0 fe ff ff fc 	movl   $0x4012fc,-0x120(%ebp)
405afd:	12 40 00
405b00:	6a 10                	push   $0x10
405b02:	8d 45 e4             	lea    -0x1c(%ebp),%eax
405b05:	50                   	push   %eax
405b06:	ff 36                	push   (%esi)
405b08:	ff 15 20 f1 40 00    	call   *0x40f120
405b0e:	83 c4 0c             	add    $0xc,%esp
405b11:	8d 45 e4             	lea    -0x1c(%ebp),%eax
405b14:	89 85 e4 fe ff ff    	mov    %eax,-0x11c(%ebp)
405b1a:	83 ff 10             	cmp    $0x10,%edi
405b1d:	0f 85 22 2b 00 00    	jne    0x408645
405b23:	c7 85 e8 fe ff ff d4 	movl   $0x4012d4,-0x118(%ebp)
405b2a:	12 40 00
405b2d:	85 db                	test   %ebx,%ebx
405b2f:	0f 84 f1 2b 00 00    	je     0x408726
405b35:	c7 85 ec fe ff ff b8 	movl   $0x4012b8,-0x114(%ebp)
405b3c:	12 40 00
405b3f:	6a 10                	push   $0x10
405b41:	8d 45 cc             	lea    -0x34(%ebp),%eax
405b44:	50                   	push   %eax
405b45:	ff 76 04             	push   0x4(%esi)
405b48:	ff 15 20 f1 40 00    	call   *0x40f120
405b4e:	8d 45 cc             	lea    -0x34(%ebp),%eax
405b51:	83 c4 0c             	add    $0xc,%esp
405b54:	89 85 f0 fe ff ff    	mov    %eax,-0x110(%ebp)
405b5a:	8b 46 04             	mov    0x4(%esi),%eax
405b5d:	83 f8 04             	cmp    $0x4,%eax
405b60:	0f 85 cf 2b 00 00    	jne    0x408735
405b66:	c7 85 f4 fe ff ff a4 	movl   $0x4012a4,-0x10c(%ebp)
405b6d:	12 40 00
405b70:	83 7e 04 01          	cmpl   $0x1,0x4(%esi)
405b74:	0f 84 4f 2c 00 00    	je     0x4087c9
405b7a:	f6 46 08 01          	testb  $0x1,0x8(%esi)
405b7e:	0f 84 27 2c 00 00    	je     0x4087ab
405b84:	b8 90 12 40 00       	mov    $0x401290,%eax
405b89:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
405b8f:	f6 46 08 02          	testb  $0x2,0x8(%esi)
405b93:	0f 85 1c 2c 00 00    	jne    0x4087b5
405b99:	b8 74 12 40 00       	mov    $0x401274,%eax
405b9e:	89 85 fc fe ff ff    	mov    %eax,-0x104(%ebp)
405ba4:	f6 46 08 04          	testb  $0x4,0x8(%esi)
405ba8:	0f 85 11 2c 00 00    	jne    0x4087bf
405bae:	b8 50 12 40 00       	mov    $0x401250,%eax
405bb3:	f7 46 08 00 01 00 00 	testl  $0x100,0x8(%esi)
405bba:	74 05                	je     0x405bc1
405bbc:	b8 28 12 40 00       	mov    $0x401228,%eax
405bc1:	8b bd d4 fe ff ff    	mov    -0x12c(%ebp),%edi
405bc7:	89 85 00 ff ff ff    	mov    %eax,-0x100(%ebp)
405bcd:	6a 0a                	push   $0xa
405bcf:	8d 45 b4             	lea    -0x4c(%ebp),%eax
405bd2:	50                   	push   %eax
405bd3:	ff 76 0c             	push   0xc(%esi)
405bd6:	ff 15 20 f1 40 00    	call   *0x40f120
405bdc:	8d 45 b4             	lea    -0x4c(%ebp),%eax
405bdf:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
405be5:	8d 45 9c             	lea    -0x64(%ebp),%eax
405be8:	6a 10                	push   $0x10
405bea:	50                   	push   %eax
405beb:	ff 76 0c             	push   0xc(%esi)
405bee:	ff 15 20 f1 40 00    	call   *0x40f120
405bf4:	8d 45 9c             	lea    -0x64(%ebp),%eax
405bf7:	89 85 08 ff ff ff    	mov    %eax,-0xf8(%ebp)
405bfd:	8d 45 84             	lea    -0x7c(%ebp),%eax
405c00:	6a 0a                	push   $0xa
405c02:	50                   	push   %eax
405c03:	ff 76 10             	push   0x10(%esi)
405c06:	ff 15 20 f1 40 00    	call   *0x40f120
405c0c:	8d 45 84             	lea    -0x7c(%ebp),%eax
405c0f:	89 85 0c ff ff ff    	mov    %eax,-0xf4(%ebp)
405c15:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
405c1b:	6a 10                	push   $0x10
405c1d:	50                   	push   %eax
405c1e:	ff 76 10             	push   0x10(%esi)
405c21:	ff 15 20 f1 40 00    	call   *0x40f120
405c27:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
405c2d:	89 85 10 ff ff ff    	mov    %eax,-0xf0(%ebp)
405c33:	8d 85 54 ff ff ff    	lea    -0xac(%ebp),%eax
405c39:	6a 10                	push   $0x10
405c3b:	50                   	push   %eax
405c3c:	ff 76 14             	push   0x14(%esi)
405c3f:	ff 15 20 f1 40 00    	call   *0x40f120
405c45:	8d 85 54 ff ff ff    	lea    -0xac(%ebp),%eax
405c4b:	89 85 14 ff ff ff    	mov    %eax,-0xec(%ebp)
405c51:	8d 85 3c ff ff ff    	lea    -0xc4(%ebp),%eax
405c57:	6a 10                	push   $0x10
405c59:	50                   	push   %eax
405c5a:	ff 76 18             	push   0x18(%esi)
405c5d:	ff 15 20 f1 40 00    	call   *0x40f120
405c63:	83 c4 48             	add    $0x48,%esp
405c66:	8d 85 3c ff ff ff    	lea    -0xc4(%ebp),%eax
405c6c:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
405c70:	89 85 18 ff ff ff    	mov    %eax,-0xe8(%ebp)
405c76:	0f 84 58 2b 00 00    	je     0x4087d4
405c7c:	8d 85 dc fe ff ff    	lea    -0x124(%ebp),%eax
405c82:	50                   	push   %eax
405c83:	6a 02                	push   $0x2
405c85:	8d 85 d4 fe ff ff    	lea    -0x12c(%ebp),%eax
405c8b:	50                   	push   %eax
405c8c:	6a 00                	push   $0x0
405c8e:	57                   	push   %edi
405c8f:	6a 00                	push   $0x0
405c91:	68 00 29 00 00       	push   $0x2900
405c96:	ff 15 78 f0 40 00    	call   *0x40f078
405c9c:	85 c0                	test   %eax,%eax
405c9e:	0f 84 8d 00 00 00    	je     0x405d31
405ca4:	8b 35 c0 eb 40 00    	mov    0x40ebc0,%esi
405caa:	8b bd d4 fe ff ff    	mov    -0x12c(%ebp),%edi
405cb0:	56                   	push   %esi
405cb1:	89 85 d8 fe ff ff    	mov    %eax,-0x128(%ebp)
405cb7:	ff 15 50 f0 40 00    	call   *0x40f050
405cbd:	25 ff 7f ff ff       	and    $0xffff7fff,%eax
405cc2:	83 f8 02             	cmp    $0x2,%eax
405cc5:	0f 84 4f 2b 00 00    	je     0x40881a
405ccb:	8b 85 d8 fe ff ff    	mov    -0x128(%ebp),%eax
405cd1:	03 c0                	add    %eax,%eax
405cd3:	50                   	push   %eax
405cd4:	6a 00                	push   $0x0
405cd6:	ff 15 64 f0 40 00    	call   *0x40f064
405cdc:	8b f0                	mov    %eax,%esi
405cde:	85 f6                	test   %esi,%esi
405ce0:	74 43                	je     0x405d25
405ce2:	8b 95 d8 fe ff ff    	mov    -0x128(%ebp),%edx
405ce8:	6a 00                	push   $0x0
405cea:	6a 00                	push   $0x0
405cec:	8d 0c 12             	lea    (%edx,%edx,1),%ecx
405cef:	51                   	push   %ecx
405cf0:	56                   	push   %esi
405cf1:	52                   	push   %edx
405cf2:	57                   	push   %edi
405cf3:	6a 00                	push   $0x0
405cf5:	6a 01                	push   $0x1
405cf7:	ff 15 a8 f0 40 00    	call   *0x40f0a8
405cfd:	89 85 d8 fe ff ff    	mov    %eax,-0x128(%ebp)
405d03:	85 c0                	test   %eax,%eax
405d05:	74 17                	je     0x405d1e
405d07:	6a 00                	push   $0x0
405d09:	8d 8d d8 fe ff ff    	lea    -0x128(%ebp),%ecx
405d0f:	51                   	push   %ecx
405d10:	50                   	push   %eax
405d11:	56                   	push   %esi
405d12:	ff 35 c0 eb 40 00    	push   0x40ebc0
405d18:	ff 15 54 f0 40 00    	call   *0x40f054
405d1e:	56                   	push   %esi
405d1f:	ff 15 68 f0 40 00    	call   *0x40f068
405d25:	ff b5 d4 fe ff ff    	push   -0x12c(%ebp)
405d2b:	ff 15 68 f0 40 00    	call   *0x40f068
405d31:	8b 4d fc             	mov    -0x4(%ebp),%ecx
405d34:	5f                   	pop    %edi
405d35:	5e                   	pop    %esi
405d36:	33 cd                	xor    %ebp,%ecx
405d38:	5b                   	pop    %ebx
405d39:	e8 e2 02 00 00       	call   0x406020
405d3e:	8b e5                	mov    %ebp,%esp
405d40:	5d                   	pop    %ebp
405d41:	c2 08 00             	ret    $0x8
405d44:	cc                   	int3
405d45:	cc                   	int3
405d46:	cc                   	int3
405d47:	cc                   	int3
405d48:	cc                   	int3
405d49:	cc                   	int3
405d4a:	cc                   	int3
405d4b:	cc                   	int3
405d4c:	cc                   	int3
405d4d:	cc                   	int3
405d4e:	cc                   	int3
405d4f:	cc                   	int3
405d50:	e8 48 02 00 00       	call   0x405f9d
405d55:	6a 01                	push   $0x1
405d57:	a3 38 e0 40 00       	mov    %eax,0x40e038
405d5c:	e8 a7 05 00 00       	call   0x406308
405d61:	50                   	push   %eax
405d62:	ff 15 ec f0 40 00    	call   *0x40f0ec
405d68:	83 0d 90 e3 40 00 ff 	orl    $0xffffffff,0x40e390
405d6f:	83 0d 94 e3 40 00 ff 	orl    $0xffffffff,0x40e394
405d76:	59                   	pop    %ecx
405d77:	59                   	pop    %ecx
405d78:	ff 15 fc f0 40 00    	call   *0x40f0fc
405d7e:	8b 0d 68 e3 40 00    	mov    0x40e368,%ecx
405d84:	89 08                	mov    %ecx,(%eax)
405d86:	ff 15 cc f0 40 00    	call   *0x40f0cc
405d8c:	8b 0d 5c e3 40 00    	mov    0x40e35c,%ecx
405d92:	89 08                	mov    %ecx,(%eax)
405d94:	e8 b7 05 00 00       	call   0x406350
405d99:	83 3d 00 e0 40 00 00 	cmpl   $0x0,0x40e000
405da0:	75 0c                	jne    0x405dae
405da2:	68 50 63 40 00       	push   $0x406350
405da7:	ff 15 d8 f0 40 00    	call   *0x40f0d8
405dad:	59                   	pop    %ecx
405dae:	e8 8a 07 00 00       	call   0x40653d
405db3:	33 c0                	xor    %eax,%eax
405db5:	c3                   	ret
405db6:	cc                   	int3
405db7:	cc                   	int3
405db8:	cc                   	int3
405db9:	cc                   	int3
405dba:	cc                   	int3
405dbb:	cc                   	int3
405dbc:	cc                   	int3
405dbd:	cc                   	int3
405dbe:	cc                   	int3
405dbf:	cc                   	int3
405dc0:	a1 64 e3 40 00       	mov    0x40e364,%eax
405dc5:	68 3c e0 40 00       	push   $0x40e03c
405dca:	ff 35 60 e3 40 00    	push   0x40e360
405dd0:	a3 3c e0 40 00       	mov    %eax,0x40e03c
405dd5:	68 30 e0 40 00       	push   $0x40e030
405dda:	68 2c e0 40 00       	push   $0x40e02c
405ddf:	68 28 e0 40 00       	push   $0x40e028
405de4:	ff 15 f8 f0 40 00    	call   *0x40f0f8
405dea:	83 c4 14             	add    $0x14,%esp
405ded:	a3 34 e0 40 00       	mov    %eax,0x40e034
405df2:	c3                   	ret
405df3:	6a 0c                	push   $0xc
405df5:	68 18 ce 40 00       	push   $0x40ce18
405dfa:	e8 59 07 00 00       	call   0x406558
405dff:	33 db                	xor    %ebx,%ebx
405e01:	89 5d fc             	mov    %ebx,-0x4(%ebp)
405e04:	64 a1 18 00 00 00    	mov    %fs:0x18,%eax
405e0a:	8b 70 04             	mov    0x4(%eax),%esi
405e0d:	8b fb                	mov    %ebx,%edi
405e0f:	ba 98 e3 40 00       	mov    $0x40e398,%edx
405e14:	8b ce                	mov    %esi,%ecx
405e16:	33 c0                	xor    %eax,%eax
405e18:	f0 0f b1 0a          	lock cmpxchg %ecx,(%edx)
405e1c:	85 c0                	test   %eax,%eax
405e1e:	74 18                	je     0x405e38
405e20:	3b c6                	cmp    %esi,%eax
405e22:	75 07                	jne    0x405e2b
405e24:	33 f6                	xor    %esi,%esi
405e26:	46                   	inc    %esi
405e27:	8b fe                	mov    %esi,%edi
405e29:	eb 10                	jmp    0x405e3b
405e2b:	68 e8 03 00 00       	push   $0x3e8
405e30:	ff 15 b0 f0 40 00    	call   *0x40f0b0
405e36:	eb d7                	jmp    0x405e0f
405e38:	33 f6                	xor    %esi,%esi
405e3a:	46                   	inc    %esi
405e3b:	39 35 9c e3 40 00    	cmp    %esi,0x40e39c
405e41:	75 0a                	jne    0x405e4d
405e43:	6a 1f                	push   $0x1f
405e45:	e8 f4 04 00 00       	call   0x40633e
405e4a:	59                   	pop    %ecx
405e4b:	eb 3a                	jmp    0x405e87
405e4d:	39 1d 9c e3 40 00    	cmp    %ebx,0x40e39c
405e53:	75 2c                	jne    0x405e81
405e55:	89 35 9c e3 40 00    	mov    %esi,0x40e39c
405e5b:	68 34 11 40 00       	push   $0x401134
405e60:	68 28 11 40 00       	push   $0x401128
405e65:	e8 02 01 00 00       	call   0x405f6c
405e6a:	59                   	pop    %ecx
405e6b:	59                   	pop    %ecx
405e6c:	85 c0                	test   %eax,%eax
405e6e:	74 17                	je     0x405e87
405e70:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
405e77:	b8 ff 00 00 00       	mov    $0xff,%eax
405e7c:	e9 db 00 00 00       	jmp    0x405f5c
405e81:	89 35 24 e0 40 00    	mov    %esi,0x40e024
405e87:	39 35 9c e3 40 00    	cmp    %esi,0x40e39c
405e8d:	75 1b                	jne    0x405eaa
405e8f:	68 24 11 40 00       	push   $0x401124
405e94:	68 1c 11 40 00       	push   $0x40111c
405e99:	e8 b2 06 00 00       	call   0x406550
405e9e:	59                   	pop    %ecx
405e9f:	59                   	pop    %ecx
405ea0:	c7 05 9c e3 40 00 02 	movl   $0x2,0x40e39c
405ea7:	00 00 00
405eaa:	85 ff                	test   %edi,%edi
405eac:	75 09                	jne    0x405eb7
405eae:	33 c0                	xor    %eax,%eax
405eb0:	b9 98 e3 40 00       	mov    $0x40e398,%ecx
405eb5:	87 01                	xchg   %eax,(%ecx)
405eb7:	83 3d a0 e3 40 00 00 	cmpl   $0x0,0x40e3a0
405ebe:	74 23                	je     0x405ee3
405ec0:	68 a0 e3 40 00       	push   $0x40e3a0
405ec5:	e8 e6 04 00 00       	call   0x4063b0
405eca:	59                   	pop    %ecx
405ecb:	85 c0                	test   %eax,%eax
405ecd:	74 14                	je     0x405ee3
405ecf:	53                   	push   %ebx
405ed0:	6a 02                	push   $0x2
405ed2:	53                   	push   %ebx
405ed3:	8b 35 a0 e3 40 00    	mov    0x40e3a0,%esi
405ed9:	8b ce                	mov    %esi,%ecx
405edb:	ff 15 4c f1 40 00    	call   *0x40f14c
405ee1:	ff d6                	call   *%esi
405ee3:	ff 35 30 e0 40 00    	push   0x40e030
405ee9:	ff 35 2c e0 40 00    	push   0x40e02c
405eef:	ff 35 28 e0 40 00    	push   0x40e028
405ef5:	e8 46 f6 ff ff       	call   0x405540
405efa:	83 c4 0c             	add    $0xc,%esp
405efd:	a3 20 e0 40 00       	mov    %eax,0x40e020
405f02:	83 3d 38 e0 40 00 00 	cmpl   $0x0,0x40e038
405f09:	75 36                	jne    0x405f41
405f0b:	50                   	push   %eax
405f0c:	ff 15 d0 f0 40 00    	call   *0x40f0d0
405f12:	8b 4d ec             	mov    -0x14(%ebp),%ecx
405f15:	8b 01                	mov    (%ecx),%eax
405f17:	8b 00                	mov    (%eax),%eax
405f19:	89 45 e4             	mov    %eax,-0x1c(%ebp)
405f1c:	51                   	push   %ecx
405f1d:	50                   	push   %eax
405f1e:	e8 6b 03 00 00       	call   0x40628e
405f23:	59                   	pop    %ecx
405f24:	59                   	pop    %ecx
405f25:	c3                   	ret
405f26:	8b 65 e8             	mov    -0x18(%ebp),%esp
405f29:	8b 45 e4             	mov    -0x1c(%ebp),%eax
405f2c:	a3 20 e0 40 00       	mov    %eax,0x40e020
405f31:	83 3d 38 e0 40 00 00 	cmpl   $0x0,0x40e038