409cb4:	79 1f                	jns    0x409cd5
409cb6:	3d 06 01 01 80       	cmp    $0x80010106,%eax
409cbb:	75 0f                	jne    0x409ccc
409cbd:	68 54 2f 40 00       	push   $0x402f54
409cc2:	ff 15 cc 60 41 00    	call   *0x4160cc
409cc8:	85 c0                	test   %eax,%eax
409cca:	75 10                	jne    0x409cdc
409ccc:	c6 05 50 56 41 00 01 	movb   $0x1,0x415650
409cd3:	eb 0e                	jmp    0x409ce3
409cd5:	c6 05 06 56 41 00 01 	movb   $0x1,0x415606
409cdc:	6a 01                	push   $0x1
409cde:	e8 67 0d 00 00       	call   0x40aa4a
409ce3:	b8 c8 55 41 00       	mov    $0x4155c8,%eax
409ce8:	c3                   	ret
409ce9:	8b ff                	mov    %edi,%edi
409ceb:	55                   	push   %ebp
409cec:	8b ec                	mov    %esp,%ebp
409cee:	83 ec 1c             	sub    $0x1c,%esp
409cf1:	56                   	push   %esi
409cf2:	57                   	push   %edi
409cf3:	51                   	push   %ecx
409cf4:	e8 ac 01 00 00       	call   0x409ea5
409cf9:	8b f0                	mov    %eax,%esi
409cfb:	85 f6                	test   %esi,%esi
409cfd:	75 3a                	jne    0x409d39
409cff:	33 ff                	xor    %edi,%edi
409d01:	8d 45 e4             	lea    -0x1c(%ebp),%eax
409d04:	57                   	push   %edi
409d05:	57                   	push   %edi
409d06:	57                   	push   %edi
409d07:	50                   	push   %eax
409d08:	ff 15 f4 61 41 00    	call   *0x4161f4
409d0e:	85 c0                	test   %eax,%eax
409d10:	7e 29                	jle    0x409d3b
409d12:	8d 45 e4             	lea    -0x1c(%ebp),%eax
409d15:	50                   	push   %eax
409d16:	ff 15 e4 61 41 00    	call   *0x4161e4
409d1c:	8d 45 e4             	lea    -0x1c(%ebp),%eax
409d1f:	50                   	push   %eax
409d20:	ff 15 ec 61 41 00    	call   *0x4161ec
409d26:	57                   	push   %edi
409d27:	57                   	push   %edi
409d28:	57                   	push   %edi
409d29:	8d 45 e4             	lea    -0x1c(%ebp),%eax
409d2c:	50                   	push   %eax
409d2d:	ff 15 f4 61 41 00    	call   *0x4161f4
409d33:	85 c0                	test   %eax,%eax
409d35:	7f db                	jg     0x409d12
409d37:	85 f6                	test   %esi,%esi
409d39:	78 1c                	js     0x409d57
409d3b:	e8 e8 01 00 00       	call   0x409f28
409d40:	80 3d 04 56 41 00 00 	cmpb   $0x0,0x415604
409d47:	8b f0                	mov    %eax,%esi
409d49:	74 0c                	je     0x409d57
409d4b:	ff 35 00 56 41 00    	push   0x415600
409d51:	ff 15 18 61 41 00    	call   *0x416118
409d57:	5f                   	pop    %edi
409d58:	8b c6                	mov    %esi,%eax
409d5a:	5e                   	pop    %esi
409d5b:	c9                   	leave
409d5c:	c2 04 00             	ret    $0x4
409d5f:	8b ff                	mov    %edi,%edi
409d61:	55                   	push   %ebp
409d62:	8b ec                	mov    %esp,%ebp
409d64:	83 ec 10             	sub    $0x10,%esp
409d67:	a1 f4 51 41 00       	mov    0x4151f4,%eax
409d6c:	33 c5                	xor    %ebp,%eax
409d6e:	89 45 fc             	mov    %eax,-0x4(%ebp)
409d71:	8b 4d 08             	mov    0x8(%ebp),%ecx
409d74:	56                   	push   %esi
409d75:	8b 75 0c             	mov    0xc(%ebp),%esi
409d78:	57                   	push   %edi
409d79:	83 26 00             	andl   $0x0,(%esi)
409d7c:	a1 6c 2f 40 00       	mov    0x402f6c,%eax
409d81:	89 45 f4             	mov    %eax,-0xc(%ebp)
409d84:	66 a1 70 2f 40 00    	mov    0x402f70,%ax
409d8a:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
409d8e:	eb 22                	jmp    0x409db2
409d90:	ba 74 2f 40 00       	mov    $0x402f74,%edx
409d95:	8b cf                	mov    %edi,%ecx
409d97:	e8 d7 0a 00 00       	call   0x40a873
409d9c:	85 c0                	test   %eax,%eax
409d9e:	74 49                	je     0x409de9
409da0:	ba 8c 2f 40 00       	mov    $0x402f8c,%edx
409da5:	8b cf                	mov    %edi,%ecx
409da7:	e8 c7 0a 00 00       	call   0x40a873
409dac:	85 c0                	test   %eax,%eax
409dae:	74 22                	je     0x409dd2
409db0:	8b cf                	mov    %edi,%ecx
409db2:	8d 55 f4             	lea    -0xc(%ebp),%edx
409db5:	e8 5c 0b 00 00       	call   0x40a916
409dba:	8b f8                	mov    %eax,%edi
409dbc:	85 ff                	test   %edi,%edi
409dbe:	75 d0                	jne    0x409d90
409dc0:	b0 01                	mov    $0x1,%al
409dc2:	8b 4d fc             	mov    -0x4(%ebp),%ecx
409dc5:	5f                   	pop    %edi
409dc6:	33 cd                	xor    %ebp,%ecx
409dc8:	5e                   	pop    %esi
409dc9:	e8 22 82 00 00       	call   0x411ff0
409dce:	c9                   	leave
409dcf:	c2 08 00             	ret    $0x8
409dd2:	33 c9                	xor    %ecx,%ecx
409dd4:	41                   	inc    %ecx
409dd5:	e8 1b fc ff ff       	call   0x4099f5
409dda:	89 06                	mov    %eax,(%esi)
409ddc:	85 c0                	test   %eax,%eax
409dde:	78 37                	js     0x409e17
409de0:	51                   	push   %ecx
409de1:	51                   	push   %ecx
409de2:	e8 34 00 00 00       	call   0x409e1b
409de7:	eb 2c                	jmp    0x409e15
409de9:	8b 3d bc 55 41 00    	mov    0x4155bc,%edi
409def:	85 ff                	test   %edi,%edi
409df1:	74 0e                	je     0x409e01
409df3:	8b cf                	mov    %edi,%ecx
409df5:	ff 15 28 63 41 00    	call   *0x416328
409dfb:	ff d7                	call   *%edi
409dfd:	85 c0                	test   %eax,%eax
409dff:	78 07                	js     0x409e08
409e01:	51                   	push   %ecx
409e02:	51                   	push   %ecx
409e03:	e8 ff 09 00 00       	call   0x40a807
409e08:	89 06                	mov    %eax,(%esi)
409e0a:	85 c0                	test   %eax,%eax
409e0c:	78 09                	js     0x409e17
409e0e:	33 c9                	xor    %ecx,%ecx
409e10:	e8 e0 fb ff ff       	call   0x4099f5
409e15:	89 06                	mov    %eax,(%esi)
409e17:	32 c0                	xor    %al,%al
409e19:	eb a7                	jmp    0x409dc2
409e1b:	8b 0d 20 51 41 00    	mov    0x415120,%ecx
409e21:	33 c0                	xor    %eax,%eax
409e23:	53                   	push   %ebx
409e24:	56                   	push   %esi
409e25:	57                   	push   %edi
409e26:	8b 3d 1c 51 41 00    	mov    0x41511c,%edi
409e2c:	3b f9                	cmp    %ecx,%edi
409e2e:	73 46                	jae    0x409e76
409e30:	8b 1f                	mov    (%edi),%ebx
409e32:	85 db                	test   %ebx,%ebx
409e34:	74 35                	je     0x409e6b
409e36:	8b 73 04             	mov    0x4(%ebx),%esi
409e39:	8b ce                	mov    %esi,%ecx
409e3b:	6a 01                	push   $0x1
409e3d:	ff 15 28 63 41 00    	call   *0x416328
409e43:	ff d6                	call   *%esi
409e45:	85 c0                	test   %eax,%eax
409e47:	78 56                	js     0x409e9f
409e49:	8b 73 1c             	mov    0x1c(%ebx),%esi
409e4c:	8b ce                	mov    %esi,%ecx
409e4e:	6a 01                	push   $0x1
409e50:	ff 15 28 63 41 00    	call   *0x416328
409e56:	ff d6                	call   *%esi
409e58:	8b 0b                	mov    (%ebx),%ecx
409e5a:	8b d0                	mov    %eax,%edx
409e5c:	e8 21 04 00 00       	call   0x40a282
409e61:	85 c0                	test   %eax,%eax
409e63:	78 3a                	js     0x409e9f
409e65:	8b 0d 20 51 41 00    	mov    0x415120,%ecx
409e6b:	83 c7 04             	add    $0x4,%edi
409e6e:	3b f9                	cmp    %ecx,%edi
409e70:	72 be                	jb     0x409e30
409e72:	85 c0                	test   %eax,%eax
409e74:	78 29                	js     0x409e9f
409e76:	8b 0d 18 51 41 00    	mov    0x415118,%ecx
409e7c:	e8 92 02 00 00       	call   0x40a113
409e81:	85 c0                	test   %eax,%eax
409e83:	78 1a                	js     0x409e9f
409e85:	8b 35 b8 55 41 00    	mov    0x4155b8,%esi
409e8b:	85 f6                	test   %esi,%esi
409e8d:	74 10                	je     0x409e9f
409e8f:	ff 35 0c 56 41 00    	push   0x41560c
409e95:	8b ce                	mov    %esi,%ecx
409e97:	ff 15 28 63 41 00    	call   *0x416328
409e9d:	ff d6                	call   *%esi
409e9f:	5f                   	pop    %edi
409ea0:	5e                   	pop    %esi
409ea1:	5b                   	pop    %ebx
409ea2:	c2 08 00             	ret    $0x8
409ea5:	8b ff                	mov    %edi,%edi
409ea7:	57                   	push   %edi
409ea8:	b9 14 51 41 00       	mov    $0x415114,%ecx
409ead:	e8 d8 01 00 00       	call   0x40a08a
409eb2:	8b f8                	mov    %eax,%edi
409eb4:	85 ff                	test   %edi,%edi
409eb6:	78 6c                	js     0x409f24
409eb8:	56                   	push   %esi
409eb9:	75 5f                	jne    0x409f1a
409ebb:	80 3d 04 56 41 00 00 	cmpb   $0x0,0x415604
409ec2:	74 43                	je     0x409f07
409ec4:	e8 97 00 00 00       	call   0x409f60
409ec9:	8b f0                	mov    %eax,%esi
409ecb:	85 f6                	test   %esi,%esi
409ecd:	75 07                	jne    0x409ed6
409ecf:	bf 05 40 00 80       	mov    $0x80004005,%edi
409ed4:	eb 3d                	jmp    0x409f13
409ed6:	ff 15 1c 62 41 00    	call   *0x41621c
409edc:	8b f8                	mov    %eax,%edi
409ede:	85 ff                	test   %edi,%edi
409ee0:	79 1c                	jns    0x409efe
409ee2:	ff 35 f8 55 41 00    	push   0x4155f8
409ee8:	ff 15 10 61 41 00    	call   *0x416110
409eee:	8b 0d fc 55 41 00    	mov    0x4155fc,%ecx
409ef4:	03 c9                	add    %ecx,%ecx
409ef6:	51                   	push   %ecx
409ef7:	56                   	push   %esi
409ef8:	ff 15 f4 60 41 00    	call   *0x4160f4
409efe:	56                   	push   %esi
409eff:	ff 15 b4 60 41 00    	call   *0x4160b4
409f05:	eb 08                	jmp    0x409f0f
409f07:	ff 15 1c 62 41 00    	call   *0x41621c
409f0d:	8b f8                	mov    %eax,%edi
409f0f:	85 ff                	test   %edi,%edi
409f11:	79 0e                	jns    0x409f21
409f13:	e8 10 00 00 00       	call   0x409f28
409f18:	eb 07                	jmp    0x409f21
409f1a:	c6 05 04 56 41 00 00 	movb   $0x0,0x415604
409f21:	8b c7                	mov    %edi,%eax
409f23:	5e                   	pop    %esi
409f24:	5f                   	pop    %edi
409f25:	c2 04 00             	ret    $0x4
409f28:	8b 0d 20 51 41 00    	mov    0x415120,%ecx
409f2e:	33 c0                	xor    %eax,%eax
409f30:	56                   	push   %esi
409f31:	8b 35 1c 51 41 00    	mov    0x41511c,%esi
409f37:	eb 21                	jmp    0x409f5a
409f39:	85 c0                	test   %eax,%eax
409f3b:	75 21                	jne    0x409f5e
409f3d:	8b 16                	mov    (%esi),%edx
409f3f:	85 d2                	test   %edx,%edx
409f41:	74 14                	je     0x409f57
409f43:	39 42 14             	cmp    %eax,0x14(%edx)
409f46:	74 0f                	je     0x409f57
409f48:	ff 72 14             	push   0x14(%edx)
409f4b:	ff 15 18 62 41 00    	call   *0x416218
409f51:	8b 0d 20 51 41 00    	mov    0x415120,%ecx
409f57:	83 c6 04             	add    $0x4,%esi
409f5a:	3b f1                	cmp    %ecx,%esi
409f5c:	72 db                	jb     0x409f39
409f5e:	5e                   	pop    %esi
409f5f:	c3                   	ret
409f60:	8b ff                	mov    %edi,%edi
409f62:	55                   	push   %ebp
409f63:	8b ec                	mov    %esp,%ebp
409f65:	51                   	push   %ecx
409f66:	56                   	push   %esi
409f67:	33 f6                	xor    %esi,%esi
409f69:	56                   	push   %esi
409f6a:	56                   	push   %esi
409f6b:	56                   	push   %esi
409f6c:	56                   	push   %esi
409f6d:	ff 15 54 61 41 00    	call   *0x416154
409f73:	a3 f8 55 41 00       	mov    %eax,0x4155f8
409f78:	85 c0                	test   %eax,%eax
409f7a:	74 2b                	je     0x409fa7
409f7c:	8d 45 fc             	lea    -0x4(%ebp),%eax
409f7f:	50                   	push   %eax
409f80:	56                   	push   %esi
409f81:	68 c8 55 41 00       	push   $0x4155c8
409f86:	68 b0 9f 40 00       	push   $0x409fb0
409f8b:	56                   	push   %esi
409f8c:	56                   	push   %esi
409f8d:	ff 15 f0 60 41 00    	call   *0x4160f0
409f93:	8b f0                	mov    %eax,%esi
409f95:	85 f6                	test   %esi,%esi
409f97:	75 0c                	jne    0x409fa5
409f99:	ff 35 f8 55 41 00    	push   0x4155f8
409f9f:	ff 15 b4 60 41 00    	call   *0x4160b4
409fa5:	8b c6                	mov    %esi,%eax
409fa7:	5e                   	pop    %esi
409fa8:	c9                   	leave
409fa9:	c3                   	ret
409faa:	cc                   	int3
409fab:	cc                   	int3
409fac:	cc                   	int3
409fad:	cc                   	int3
409fae:	cc                   	int3
409faf:	cc                   	int3
409fb0:	8b ff                	mov    %edi,%edi
409fb2:	55                   	push   %ebp
409fb3:	8b ec                	mov    %esp,%ebp
409fb5:	53                   	push   %ebx
409fb6:	56                   	push   %esi
409fb7:	8b 75 08             	mov    0x8(%ebp),%esi
409fba:	33 db                	xor    %ebx,%ebx
409fbc:	6a ff                	push   $0xffffffff
409fbe:	ff 76 30             	push   0x30(%esi)
409fc1:	ff 15 f4 60 41 00    	call   *0x4160f4
409fc7:	ff 76 34             	push   0x34(%esi)
409fca:	88 5e 3d             	mov    %bl,0x3d(%esi)
409fcd:	ff 76 30             	push   0x30(%esi)
409fd0:	ff 15 f4 60 41 00    	call   *0x4160f4
409fd6:	85 c0                	test   %eax,%eax
409fd8:	74 ed                	je     0x409fc7
409fda:	38 5e 3d             	cmp    %bl,0x3d(%esi)
409fdd:	75 dd                	jne    0x409fbc
409fdf:	39 5e 08             	cmp    %ebx,0x8(%esi)
409fe2:	75 d8                	jne    0x409fbc
409fe4:	ff 15 10 62 41 00    	call   *0x416210
409fea:	39 5e 08             	cmp    %ebx,0x8(%esi)
409fed:	75 cd                	jne    0x409fbc
409fef:	ff 76 30             	push   0x30(%esi)
409ff2:	ff 15 b4 60 41 00    	call   *0x4160b4
409ff8:	53                   	push   %ebx
409ff9:	53                   	push   %ebx
409ffa:	6a 12                	push   $0x12
409ffc:	ff 76 2c             	push   0x2c(%esi)
409fff:	ff 15 dc 61 41 00    	call   *0x4161dc
40a005:	5e                   	pop    %esi
40a006:	33 c0                	xor    %eax,%eax
40a008:	5b                   	pop    %ebx
40a009:	5d                   	pop    %ebp
40a00a:	c2 04 00             	ret    $0x4
40a00d:	cc                   	int3
40a00e:	cc                   	int3
40a00f:	cc                   	int3
40a010:	8b ff                	mov    %edi,%edi
40a012:	55                   	push   %ebp
40a013:	8b ec                	mov    %esp,%ebp
40a015:	53                   	push   %ebx
40a016:	8b 5d 08             	mov    0x8(%ebp),%ebx
40a019:	85 db                	test   %ebx,%ebx
40a01b:	75 07                	jne    0x40a024
40a01d:	b8 03 40 00 80       	mov    $0x80004003,%eax
40a022:	eb 3f                	jmp    0x40a063
40a024:	56                   	push   %esi
40a025:	57                   	push   %edi
40a026:	33 ff                	xor    %edi,%edi
40a028:	8d 71 28             	lea    0x28(%ecx),%esi
40a02b:	39 3e                	cmp    %edi,(%esi)
40a02d:	75 1a                	jne    0x40a049
40a02f:	56                   	push   %esi
40a030:	68 a0 2f 40 00       	push   $0x402fa0
40a035:	6a 01                	push   $0x1
40a037:	57                   	push   %edi
40a038:	68 48 2c 40 00       	push   $0x402c48
40a03d:	ff 15 20 62 41 00    	call   *0x416220
40a043:	8b f8                	mov    %eax,%edi
40a045:	85 ff                	test   %edi,%edi
40a047:	78 16                	js     0x40a05f
40a049:	8b 0e                	mov    (%esi),%ecx
40a04b:	89 0b                	mov    %ecx,(%ebx)
40a04d:	8b 0e                	mov    (%esi),%ecx
40a04f:	51                   	push   %ecx
40a050:	8b 11                	mov    (%ecx),%edx
40a052:	8b 72 04             	mov    0x4(%edx),%esi
40a055:	8b ce                	mov    %esi,%ecx
40a057:	ff 15 28 63 41 00    	call   *0x416328
40a05d:	ff d6                	call   *%esi