409c7b:	74 05                	je     0x409c82
409c7d:	e8 e7 0b 00 00       	call   0x40a869
409c82:	e8 89 06 00 00       	call   0x40a310
409c87:	e8 0d 08 00 00       	call   0x40a499
409c8c:	85 c0                	test   %eax,%eax
409c8e:	75 01                	jne    0x409c91
409c90:	c3                   	ret
409c91:	6a 07                	push   $0x7
409c93:	e8 e4 06 00 00       	call   0x40a37c
409c98:	cc                   	int3
409c99:	cc                   	int3
409c9a:	cc                   	int3
409c9b:	cc                   	int3
409c9c:	cc                   	int3
409c9d:	cc                   	int3
409c9e:	cc                   	int3
409c9f:	cc                   	int3
409ca0:	e8 ae 06 00 00       	call   0x40a353
409ca5:	33 c0                	xor    %eax,%eax
409ca7:	c3                   	ret
409ca8:	cc                   	int3
409ca9:	cc                   	int3
409caa:	cc                   	int3
409cab:	cc                   	int3
409cac:	cc                   	int3
409cad:	cc                   	int3
409cae:	cc                   	int3
409caf:	cc                   	int3
409cb0:	e8 2c 08 00 00       	call   0x40a4e1
409cb5:	e8 56 06 00 00       	call   0x40a310
409cba:	50                   	push   %eax
409cbb:	e8 cd 0b 00 00       	call   0x40a88d
409cc0:	59                   	pop    %ecx
409cc1:	c3                   	ret
409cc2:	6a 14                	push   $0x14
409cc4:	68 80 c5 40 00       	push   $0x40c580
409cc9:	e8 d2 08 00 00       	call   0x40a5a0
409cce:	6a 01                	push   $0x1
409cd0:	e8 60 03 00 00       	call   0x40a035
409cd5:	59                   	pop    %ecx
409cd6:	84 c0                	test   %al,%al
409cd8:	0f 84 50 01 00 00    	je     0x409e2e
409cde:	32 db                	xor    %bl,%bl
409ce0:	88 5d e7             	mov    %bl,-0x19(%ebp)
409ce3:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
409ce7:	e8 15 03 00 00       	call   0x40a001
409cec:	88 45 dc             	mov    %al,-0x24(%ebp)
409cef:	a1 b0 d4 40 00       	mov    0x40d4b0,%eax
409cf4:	33 c9                	xor    %ecx,%ecx
409cf6:	41                   	inc    %ecx
409cf7:	3b c1                	cmp    %ecx,%eax
409cf9:	0f 84 2f 01 00 00    	je     0x409e2e
409cff:	85 c0                	test   %eax,%eax
409d01:	75 49                	jne    0x409d4c
409d03:	89 0d b0 d4 40 00    	mov    %ecx,0x40d4b0
409d09:	68 d0 13 40 00       	push   $0x4013d0
409d0e:	68 b8 13 40 00       	push   $0x4013b8
409d13:	e8 cd 0a 00 00       	call   0x40a7e5
409d18:	59                   	pop    %ecx
409d19:	59                   	pop    %ecx
409d1a:	85 c0                	test   %eax,%eax
409d1c:	74 11                	je     0x409d2f
409d1e:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
409d25:	b8 ff 00 00 00       	mov    $0xff,%eax
409d2a:	e9 ef 00 00 00       	jmp    0x409e1e
409d2f:	68 b4 13 40 00       	push   $0x4013b4
409d34:	68 90 13 40 00       	push   $0x401390
409d39:	e8 a1 0a 00 00       	call   0x40a7df
409d3e:	59                   	pop    %ecx
409d3f:	59                   	pop    %ecx
409d40:	c7 05 b0 d4 40 00 02 	movl   $0x2,0x40d4b0
409d47:	00 00 00
409d4a:	eb 05                	jmp    0x409d51
409d4c:	8a d9                	mov    %cl,%bl
409d4e:	88 5d e7             	mov    %bl,-0x19(%ebp)
409d51:	ff 75 dc             	push   -0x24(%ebp)
409d54:	e8 49 04 00 00       	call   0x40a1a2
409d59:	59                   	pop    %ecx
409d5a:	e8 11 06 00 00       	call   0x40a370
409d5f:	8b f0                	mov    %eax,%esi
409d61:	33 ff                	xor    %edi,%edi
409d63:	39 3e                	cmp    %edi,(%esi)
409d65:	74 1b                	je     0x409d82
409d67:	56                   	push   %esi
409d68:	e8 a1 03 00 00       	call   0x40a10e
409d6d:	59                   	pop    %ecx
409d6e:	84 c0                	test   %al,%al
409d70:	74 10                	je     0x409d82
409d72:	8b 36                	mov    (%esi),%esi
409d74:	57                   	push   %edi
409d75:	6a 02                	push   $0x2
409d77:	57                   	push   %edi
409d78:	8b ce                	mov    %esi,%ecx
409d7a:	ff 15 f0 e1 40 00    	call   *0x40e1f0
409d80:	ff d6                	call   *%esi
409d82:	e8 ef 05 00 00       	call   0x40a376
409d87:	8b f0                	mov    %eax,%esi
409d89:	39 3e                	cmp    %edi,(%esi)
409d8b:	74 13                	je     0x409da0
409d8d:	56                   	push   %esi
409d8e:	e8 7b 03 00 00       	call   0x40a10e
409d93:	59                   	pop    %ecx
409d94:	84 c0                	test   %al,%al
409d96:	74 08                	je     0x409da0
409d98:	ff 36                	push   (%esi)
409d9a:	e8 52 0a 00 00       	call   0x40a7f1
409d9f:	59                   	pop    %ecx
409da0:	e8 b8 0a 00 00       	call   0x40a85d
409da5:	8b f8                	mov    %eax,%edi
409da7:	e8 57 0a 00 00       	call   0x40a803
409dac:	8b 30                	mov    (%eax),%esi
409dae:	e8 4a 0a 00 00       	call   0x40a7fd
409db3:	57                   	push   %edi
409db4:	56                   	push   %esi
409db5:	ff 30                	push   (%eax)
409db7:	e8 d6 a3 ff ff       	call   0x404192
409dbc:	83 c4 0c             	add    $0xc,%esp
409dbf:	8b f0                	mov    %eax,%esi
409dc1:	e8 d8 06 00 00       	call   0x40a49e
409dc6:	84 c0                	test   %al,%al
409dc8:	74 6b                	je     0x409e35
409dca:	84 db                	test   %bl,%bl
409dcc:	75 05                	jne    0x409dd3
409dce:	e8 66 0a 00 00       	call   0x40a839
409dd3:	6a 00                	push   $0x0
409dd5:	6a 01                	push   $0x1
409dd7:	e8 e5 03 00 00       	call   0x40a1c1
409ddc:	59                   	pop    %ecx
409ddd:	59                   	pop    %ecx
409dde:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
409de5:	8b c6                	mov    %esi,%eax
409de7:	eb 35                	jmp    0x409e1e
409de9:	8b 4d ec             	mov    -0x14(%ebp),%ecx
409dec:	8b 01                	mov    (%ecx),%eax
409dee:	8b 00                	mov    (%eax),%eax
409df0:	89 45 e0             	mov    %eax,-0x20(%ebp)
409df3:	51                   	push   %ecx
409df4:	50                   	push   %eax
409df5:	e8 81 0a 00 00       	call   0x40a87b
409dfa:	59                   	pop    %ecx
409dfb:	59                   	pop    %ecx
409dfc:	c3                   	ret
409dfd:	8b 65 e8             	mov    -0x18(%ebp),%esp
409e00:	e8 99 06 00 00       	call   0x40a49e
409e05:	84 c0                	test   %al,%al
409e07:	74 32                	je     0x409e3b
409e09:	80 7d e7 00          	cmpb   $0x0,-0x19(%ebp)
409e0d:	75 05                	jne    0x409e14
409e0f:	e8 d7 09 00 00       	call   0x40a7eb
409e14:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
409e1b:	8b 45 e0             	mov    -0x20(%ebp),%eax
409e1e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
409e21:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
409e28:	59                   	pop    %ecx
409e29:	5f                   	pop    %edi
409e2a:	5e                   	pop    %esi
409e2b:	5b                   	pop    %ebx
409e2c:	c9                   	leave
409e2d:	c3                   	ret
409e2e:	6a 07                	push   $0x7
409e30:	e8 47 05 00 00       	call   0x40a37c
409e35:	56                   	push   %esi
409e36:	e8 58 0a 00 00       	call   0x40a893
409e3b:	ff 75 e0             	push   -0x20(%ebp)
409e3e:	e8 14 0a 00 00       	call   0x40a857
409e43:	cc                   	int3
409e44:	cc                   	int3
409e45:	cc                   	int3
409e46:	cc                   	int3
409e47:	cc                   	int3
409e48:	cc                   	int3
409e49:	cc                   	int3
409e4a:	cc                   	int3
409e4b:	cc                   	int3
409e4c:	cc                   	int3
409e4d:	cc                   	int3
409e4e:	cc                   	int3
409e4f:	cc                   	int3
409e50:	e8 6c 04 00 00       	call   0x40a2c1
409e55:	e9 68 fe ff ff       	jmp    0x409cc2
409e5a:	cc                   	int3
409e5b:	cc                   	int3
409e5c:	cc                   	int3
409e5d:	cc                   	int3
409e5e:	cc                   	int3
409e5f:	cc                   	int3
409e60:	3b 0d 50 d1 40 00    	cmp    0x40d150,%ecx
409e66:	f2 75 02             	bnd jne 0x409e6b
409e69:	f2 c3                	bnd ret
409e6b:	f2 e9 4e 00 00 00    	bnd jmp 0x409ebf
409e71:	8b ff                	mov    %edi,%edi
409e73:	55                   	push   %ebp
409e74:	8b ec                	mov    %esp,%ebp
409e76:	ff 15 30 e0 40 00    	call   *0x40e030
409e7c:	6a 01                	push   $0x1
409e7e:	a3 ac d4 40 00       	mov    %eax,0x40d4ac
409e83:	e8 ab 06 00 00       	call   0x40a533
409e88:	59                   	pop    %ecx
409e89:	6a 00                	push   $0x0
409e8b:	ff 15 4c e0 40 00    	call   *0x40e04c
409e91:	ff 75 08             	push   0x8(%ebp)
409e94:	ff 15 48 e0 40 00    	call   *0x40e048
409e9a:	83 3d ac d4 40 00 00 	cmpl   $0x0,0x40d4ac
409ea1:	75 08                	jne    0x409eab
409ea3:	6a 01                	push   $0x1
409ea5:	e8 89 06 00 00       	call   0x40a533
409eaa:	59                   	pop    %ecx
409eab:	68 09 04 00 c0       	push   $0xc0000409
409eb0:	ff 15 a8 e0 40 00    	call   *0x40e0a8
409eb6:	50                   	push   %eax
409eb7:	ff 15 b0 e0 40 00    	call   *0x40e0b0
409ebd:	5d                   	pop    %ebp
409ebe:	c3                   	ret
409ebf:	8b ff                	mov    %edi,%edi
409ec1:	55                   	push   %ebp
409ec2:	8b ec                	mov    %esp,%ebp
409ec4:	81 ec 24 03 00 00    	sub    $0x324,%esp
409eca:	6a 17                	push   $0x17
409ecc:	ff 15 bc e0 40 00    	call   *0x40e0bc
409ed2:	85 c0                	test   %eax,%eax
409ed4:	74 05                	je     0x409edb
409ed6:	6a 02                	push   $0x2
409ed8:	59                   	pop    %ecx
409ed9:	cd 29                	int    $0x29
409edb:	a3 90 d2 40 00       	mov    %eax,0x40d290
409ee0:	89 0d 8c d2 40 00    	mov    %ecx,0x40d28c
409ee6:	89 15 88 d2 40 00    	mov    %edx,0x40d288
409eec:	89 1d 84 d2 40 00    	mov    %ebx,0x40d284
409ef2:	89 35 80 d2 40 00    	mov    %esi,0x40d280
409ef8:	89 3d 7c d2 40 00    	mov    %edi,0x40d27c
409efe:	66 8c 15 a8 d2 40 00 	data16 mov %ss,0x40d2a8
409f05:	66 8c 0d 9c d2 40 00 	data16 mov %cs,0x40d29c
409f0c:	66 8c 1d 78 d2 40 00 	data16 mov %ds,0x40d278
409f13:	66 8c 05 74 d2 40 00 	data16 mov %es,0x40d274
409f1a:	66 8c 25 70 d2 40 00 	data16 mov %fs,0x40d270
409f21:	66 8c 2d 6c d2 40 00 	data16 mov %gs,0x40d26c
409f28:	9c                   	pushf
409f29:	8f 05 a0 d2 40 00    	pop    0x40d2a0
409f2f:	8b 45 00             	mov    0x0(%ebp),%eax
409f32:	a3 94 d2 40 00       	mov    %eax,0x40d294
409f37:	8b 45 04             	mov    0x4(%ebp),%eax
409f3a:	a3 98 d2 40 00       	mov    %eax,0x40d298
409f3f:	8d 45 08             	lea    0x8(%ebp),%eax
409f42:	a3 a4 d2 40 00       	mov    %eax,0x40d2a4
409f47:	8b 85 dc fc ff ff    	mov    -0x324(%ebp),%eax
409f4d:	c7 05 e0 d1 40 00 01 	movl   $0x10001,0x40d1e0
409f54:	00 01 00
409f57:	a1 98 d2 40 00       	mov    0x40d298,%eax
409f5c:	a3 9c d1 40 00       	mov    %eax,0x40d19c
409f61:	c7 05 90 d1 40 00 09 	movl   $0xc0000409,0x40d190
409f68:	04 00 c0
409f6b:	c7 05 94 d1 40 00 01 	movl   $0x1,0x40d194
409f72:	00 00 00
409f75:	c7 05 a0 d1 40 00 01 	movl   $0x1,0x40d1a0
409f7c:	00 00 00
409f7f:	6a 04                	push   $0x4
409f81:	58                   	pop    %eax
409f82:	6b c0 00             	imul   $0x0,%eax,%eax
409f85:	c7 80 a4 d1 40 00 02 	movl   $0x2,0x40d1a4(%eax)
409f8c:	00 00 00
409f8f:	6a 04                	push   $0x4
409f91:	58                   	pop    %eax
409f92:	6b c0 00             	imul   $0x0,%eax,%eax
409f95:	8b 0d 50 d1 40 00    	mov    0x40d150,%ecx
409f9b:	89 4c 05 f8          	mov    %ecx,-0x8(%ebp,%eax,1)
409f9f:	6a 04                	push   $0x4
409fa1:	58                   	pop    %eax
409fa2:	c1 e0 00             	shl    $0x0,%eax
409fa5:	8b 0d 54 d1 40 00    	mov    0x40d154,%ecx
409fab:	89 4c 05 f8          	mov    %ecx,-0x8(%ebp,%eax,1)
409faf:	68 00 10 40 00       	push   $0x401000
409fb4:	e8 b8 fe ff ff       	call   0x409e71
409fb9:	c9                   	leave
409fba:	c3                   	ret
409fbb:	8b ff                	mov    %edi,%edi
409fbd:	55                   	push   %ebp
409fbe:	8b ec                	mov    %esp,%ebp
409fc0:	8b 45 08             	mov    0x8(%ebp),%eax
409fc3:	56                   	push   %esi
409fc4:	8b 48 3c             	mov    0x3c(%eax),%ecx
409fc7:	03 c8                	add    %eax,%ecx
409fc9:	0f b7 41 14          	movzwl 0x14(%ecx),%eax
409fcd:	8d 51 18             	lea    0x18(%ecx),%edx
409fd0:	03 d0                	add    %eax,%edx
409fd2:	0f b7 41 06          	movzwl 0x6(%ecx),%eax
409fd6:	6b f0 28             	imul   $0x28,%eax,%esi
409fd9:	03 f2                	add    %edx,%esi
409fdb:	3b d6                	cmp    %esi,%edx
409fdd:	74 19                	je     0x409ff8
409fdf:	8b 4d 0c             	mov    0xc(%ebp),%ecx
409fe2:	3b 4a 0c             	cmp    0xc(%edx),%ecx
409fe5:	72 0a                	jb     0x409ff1
409fe7:	8b 42 08             	mov    0x8(%edx),%eax
409fea:	03 42 0c             	add    0xc(%edx),%eax
409fed:	3b c8                	cmp    %eax,%ecx
409fef:	72 0c                	jb     0x409ffd
409ff1:	83 c2 28             	add    $0x28,%edx
409ff4:	3b d6                	cmp    %esi,%edx
409ff6:	75 ea                	jne    0x409fe2
409ff8:	33 c0                	xor    %eax,%eax
409ffa:	5e                   	pop    %esi
409ffb:	5d                   	pop    %ebp
409ffc:	c3                   	ret
409ffd:	8b c2                	mov    %edx,%eax
409fff:	eb f9                	jmp    0x409ffa
40a001:	8b ff                	mov    %edi,%edi
40a003:	56                   	push   %esi
40a004:	e8 c5 07 00 00       	call   0x40a7ce
40a009:	85 c0                	test   %eax,%eax
40a00b:	74 20                	je     0x40a02d
40a00d:	64 a1 18 00 00 00    	mov    %fs:0x18,%eax
40a013:	be b4 d4 40 00       	mov    $0x40d4b4,%esi
40a018:	8b 50 04             	mov    0x4(%eax),%edx
40a01b:	eb 04                	jmp    0x40a021
40a01d:	3b d0                	cmp    %eax,%edx
40a01f:	74 10                	je     0x40a031
40a021:	33 c0                	xor    %eax,%eax
40a023:	8b ca                	mov    %edx,%ecx
40a025:	f0 0f b1 0e          	lock cmpxchg %ecx,(%esi)
40a029:	85 c0                	test   %eax,%eax
40a02b:	75 f0                	jne    0x40a01d
40a02d:	32 c0                	xor    %al,%al
40a02f:	5e                   	pop    %esi
40a030:	c3                   	ret
40a031:	b0 01                	mov    $0x1,%al
40a033:	5e                   	pop    %esi
40a034:	c3                   	ret
40a035:	8b ff                	mov    %edi,%edi
40a037:	55                   	push   %ebp
40a038:	8b ec                	mov    %esp,%ebp
40a03a:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40a03e:	75 07                	jne    0x40a047
40a040:	c6 05 d1 d4 40 00 01 	movb   $0x1,0x40d4d1
40a047:	e8 e5 05 00 00       	call   0x40a631
40a04c:	e8 d4 02 00 00       	call   0x40a325
40a051:	84 c0                	test   %al,%al
40a053:	75 04                	jne    0x40a059
40a055:	32 c0                	xor    %al,%al
40a057:	5d                   	pop    %ebp
40a058:	c3                   	ret
40a059:	e8 c7 02 00 00       	call   0x40a325
40a05e:	84 c0                	test   %al,%al
40a060:	75 0a                	jne    0x40a06c
40a062:	6a 00                	push   $0x0
40a064:	e8 bc 02 00 00       	call   0x40a325
40a069:	59                   	pop    %ecx
40a06a:	eb e9                	jmp    0x40a055
40a06c:	b0 01                	mov    $0x1,%al
40a06e:	5d                   	pop    %ebp
40a06f:	c3                   	ret