403cee:	ff 15 ec 80 40 00    	call   *0x4080ec
403cf4:	85 c0                	test   %eax,%eax
403cf6:	74 1e                	je     0x403d16
403cf8:	8d 85 f8 df ff ff    	lea    -0x2008(%ebp),%eax
403cfe:	50                   	push   %eax
403cff:	68 c3 ee 00 00       	push   $0xeec3
403d04:	57                   	push   %edi
403d05:	e8 6f 31 00 00       	call   0x406e79
403d0a:	59                   	pop    %ecx
403d0b:	50                   	push   %eax
403d0c:	e8 cc dc ff ff       	call   0x4019dd
403d11:	83 c4 0c             	add    $0xc,%esp
403d14:	eb 14                	jmp    0x403d2a
403d16:	68 c4 ee 00 00       	push   $0xeec4
403d1b:	57                   	push   %edi
403d1c:	e8 58 31 00 00       	call   0x406e79
403d21:	59                   	pop    %ecx
403d22:	50                   	push   %eax
403d23:	e8 b5 dc ff ff       	call   0x4019dd
403d28:	59                   	pop    %ecx
403d29:	59                   	pop    %ecx
403d2a:	8d 85 b0 d9 ff ff    	lea    -0x2650(%ebp),%eax
403d30:	50                   	push   %eax
403d31:	68 2c 13 40 00       	push   $0x40132c
403d36:	68 1c 13 40 00       	push   $0x40131c
403d3b:	53                   	push   %ebx
403d3c:	ff 15 d8 80 40 00    	call   *0x4080d8
403d42:	85 c0                	test   %eax,%eax
403d44:	74 75                	je     0x403dbb
403d46:	56                   	push   %esi
403d47:	68 00 10 00 00       	push   $0x1000
403d4c:	8d 85 f8 df ff ff    	lea    -0x2008(%ebp),%eax
403d52:	50                   	push   %eax
403d53:	57                   	push   %edi
403d54:	8d 85 b0 d9 ff ff    	lea    -0x2650(%ebp),%eax
403d5a:	50                   	push   %eax
403d5b:	ff 15 ec 80 40 00    	call   *0x4080ec
403d61:	85 c0                	test   %eax,%eax
403d63:	74 56                	je     0x403dbb
403d65:	8d 85 e8 df ff ff    	lea    -0x2018(%ebp),%eax
403d6b:	50                   	push   %eax
403d6c:	8d 85 f8 df ff ff    	lea    -0x2008(%ebp),%eax
403d72:	50                   	push   %eax
403d73:	ff 15 e4 81 40 00    	call   *0x4081e4
403d79:	85 c0                	test   %eax,%eax
403d7b:	78 3e                	js     0x403dbb
403d7d:	56                   	push   %esi
403d7e:	56                   	push   %esi
403d7f:	56                   	push   %esi
403d80:	68 00 10 00 00       	push   $0x1000
403d85:	8d 85 f8 df ff ff    	lea    -0x2008(%ebp),%eax
403d8b:	50                   	push   %eax
403d8c:	8d 85 e8 df ff ff    	lea    -0x2018(%ebp),%eax
403d92:	50                   	push   %eax
403d93:	ff 15 24 81 40 00    	call   *0x408124
403d99:	85 c0                	test   %eax,%eax
403d9b:	74 1e                	je     0x403dbb
403d9d:	8d 85 f8 df ff ff    	lea    -0x2008(%ebp),%eax
403da3:	50                   	push   %eax
403da4:	68 c5 ee 00 00       	push   $0xeec5
403da9:	57                   	push   %edi
403daa:	e8 ca 30 00 00       	call   0x406e79
403daf:	59                   	pop    %ecx
403db0:	50                   	push   %eax
403db1:	e8 27 dc ff ff       	call   0x4019dd
403db6:	83 c4 0c             	add    $0xc,%esp
403db9:	eb 14                	jmp    0x403dcf
403dbb:	68 c6 ee 00 00       	push   $0xeec6
403dc0:	57                   	push   %edi
403dc1:	e8 b3 30 00 00       	call   0x406e79
403dc6:	59                   	pop    %ecx
403dc7:	50                   	push   %eax
403dc8:	e8 10 dc ff ff       	call   0x4019dd
403dcd:	59                   	pop    %ecx
403dce:	59                   	pop    %ecx
403dcf:	68 40 13 40 00       	push   $0x401340
403dd4:	ff 15 48 80 40 00    	call   *0x408048
403dda:	8b f8                	mov    %eax,%edi
403ddc:	85 ff                	test   %edi,%edi
403dde:	0f 84 88 01 00 00    	je     0x403f6c
403de4:	68 5c 13 40 00       	push   $0x40135c
403de9:	57                   	push   %edi
403dea:	ff 15 4c 80 40 00    	call   *0x40804c
403df0:	89 85 c4 d9 ff ff    	mov    %eax,-0x263c(%ebp)
403df6:	85 c0                	test   %eax,%eax
403df8:	0f 84 6e 01 00 00    	je     0x403f6c
403dfe:	68 1c 06 00 00       	push   $0x61c
403e03:	8d 85 cc d9 ff ff    	lea    -0x2634(%ebp),%eax
403e09:	56                   	push   %esi
403e0a:	50                   	push   %eax
403e0b:	e8 c1 30 00 00       	call   0x406ed1
403e10:	8b 8d c4 d9 ff ff    	mov    -0x263c(%ebp),%ecx
403e16:	8d 85 c8 d9 ff ff    	lea    -0x2638(%ebp),%eax
403e1c:	83 c4 0c             	add    $0xc,%esp
403e1f:	c7 85 c8 d9 ff ff 20 	movl   $0x620,-0x2638(%ebp)
403e26:	06 00 00
403e29:	50                   	push   %eax
403e2a:	56                   	push   %esi
403e2b:	ff b5 c0 d9 ff ff    	push   -0x2640(%ebp)
403e31:	ff 15 ec 81 40 00    	call   *0x4081ec
403e37:	ff 95 c4 d9 ff ff    	call   *-0x263c(%ebp)
403e3d:	85 c0                	test   %eax,%eax
403e3f:	75 31                	jne    0x403e72
403e41:	ff 15 38 80 40 00    	call   *0x408038
403e47:	3d 41 02 00 e0       	cmp    $0xe0000241,%eax
403e4c:	74 24                	je     0x403e72
403e4e:	ff 15 38 80 40 00    	call   *0x408038
403e54:	3d 42 02 00 e0       	cmp    $0xe0000242,%eax
403e59:	74 17                	je     0x403e72
403e5b:	68 cc ee 00 00       	push   $0xeecc
403e60:	6a 01                	push   $0x1
403e62:	e8 12 30 00 00       	call   0x406e79
403e67:	59                   	pop    %ecx
403e68:	50                   	push   %eax
403e69:	e8 6f db ff ff       	call   0x4019dd
403e6e:	59                   	pop    %ecx
403e6f:	59                   	pop    %ecx
403e70:	eb 1d                	jmp    0x403e8f
403e72:	8d 85 d4 db ff ff    	lea    -0x242c(%ebp),%eax
403e78:	50                   	push   %eax
403e79:	68 cb ee 00 00       	push   $0xeecb
403e7e:	6a 01                	push   $0x1
403e80:	e8 f4 2f 00 00       	call   0x406e79
403e85:	59                   	pop    %ecx
403e86:	50                   	push   %eax
403e87:	e8 51 db ff ff       	call   0x4019dd
403e8c:	83 c4 0c             	add    $0xc,%esp
403e8f:	8d 85 b0 d9 ff ff    	lea    -0x2650(%ebp),%eax
403e95:	50                   	push   %eax
403e96:	68 70 13 40 00       	push   $0x401370
403e9b:	68 1c 13 40 00       	push   $0x40131c
403ea0:	53                   	push   %ebx
403ea1:	ff 15 d8 80 40 00    	call   *0x4080d8
403ea7:	85 c0                	test   %eax,%eax
403ea9:	0f 84 93 00 00 00    	je     0x403f42
403eaf:	56                   	push   %esi
403eb0:	68 00 10 00 00       	push   $0x1000
403eb5:	8d 85 f8 df ff ff    	lea    -0x2008(%ebp),%eax
403ebb:	50                   	push   %eax
403ebc:	6a 01                	push   $0x1
403ebe:	8d 85 b0 d9 ff ff    	lea    -0x2650(%ebp),%eax
403ec4:	50                   	push   %eax
403ec5:	ff 15 ec 80 40 00    	call   *0x4080ec
403ecb:	85 c0                	test   %eax,%eax
403ecd:	74 1f                	je     0x403eee
403ecf:	8d 85 f8 df ff ff    	lea    -0x2008(%ebp),%eax
403ed5:	50                   	push   %eax
403ed6:	68 c9 ee 00 00       	push   $0xeec9
403edb:	6a 01                	push   $0x1
403edd:	e8 97 2f 00 00       	call   0x406e79
403ee2:	59                   	pop    %ecx
403ee3:	50                   	push   %eax
403ee4:	e8 f4 da ff ff       	call   0x4019dd
403ee9:	83 c4 0c             	add    $0xc,%esp
403eec:	eb 15                	jmp    0x403f03
403eee:	68 ca ee 00 00       	push   $0xeeca
403ef3:	6a 01                	push   $0x1
403ef5:	e8 7f 2f 00 00       	call   0x406e79
403efa:	59                   	pop    %ecx
403efb:	50                   	push   %eax
403efc:	e8 dc da ff ff       	call   0x4019dd
403f01:	59                   	pop    %ecx
403f02:	59                   	pop    %ecx
403f03:	56                   	push   %esi
403f04:	68 00 10 00 00       	push   $0x1000
403f09:	8d 85 f8 df ff ff    	lea    -0x2008(%ebp),%eax
403f0f:	50                   	push   %eax
403f10:	6a 02                	push   $0x2
403f12:	8d 85 b0 d9 ff ff    	lea    -0x2650(%ebp),%eax
403f18:	50                   	push   %eax
403f19:	ff 15 ec 80 40 00    	call   *0x4080ec
403f1f:	85 c0                	test   %eax,%eax
403f21:	74 34                	je     0x403f57
403f23:	8d 85 f8 df ff ff    	lea    -0x2008(%ebp),%eax
403f29:	50                   	push   %eax
403f2a:	68 c7 ee 00 00       	push   $0xeec7
403f2f:	6a 01                	push   $0x1
403f31:	e8 43 2f 00 00       	call   0x406e79
403f36:	59                   	pop    %ecx
403f37:	50                   	push   %eax
403f38:	e8 a0 da ff ff       	call   0x4019dd
403f3d:	83 c4 0c             	add    $0xc,%esp
403f40:	eb 2a                	jmp    0x403f6c
403f42:	68 ca ee 00 00       	push   $0xeeca
403f47:	6a 01                	push   $0x1
403f49:	e8 2b 2f 00 00       	call   0x406e79
403f4e:	59                   	pop    %ecx
403f4f:	50                   	push   %eax
403f50:	e8 88 da ff ff       	call   0x4019dd
403f55:	59                   	pop    %ecx
403f56:	59                   	pop    %ecx
403f57:	68 c8 ee 00 00       	push   $0xeec8
403f5c:	6a 01                	push   $0x1
403f5e:	e8 16 2f 00 00       	call   0x406e79
403f63:	59                   	pop    %ecx
403f64:	50                   	push   %eax
403f65:	e8 73 da ff ff       	call   0x4019dd
403f6a:	59                   	pop    %ecx
403f6b:	59                   	pop    %ecx
403f6c:	53                   	push   %ebx
403f6d:	ff 15 34 81 40 00    	call   *0x408134
403f73:	85 ff                	test   %edi,%edi
403f75:	74 07                	je     0x403f7e
403f77:	57                   	push   %edi
403f78:	ff 15 50 80 40 00    	call   *0x408050
403f7e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
403f81:	33 c0                	xor    %eax,%eax
403f83:	85 f6                	test   %esi,%esi
403f85:	5f                   	pop    %edi
403f86:	0f 94 c0             	sete   %al
403f89:	33 cd                	xor    %ebp,%ecx
403f8b:	5e                   	pop    %esi
403f8c:	5b                   	pop    %ebx
403f8d:	e8 4e 29 00 00       	call   0x4068e0
403f92:	c9                   	leave
403f93:	c3                   	ret
403f94:	cc                   	int3
403f95:	cc                   	int3
403f96:	cc                   	int3
403f97:	cc                   	int3
403f98:	cc                   	int3
403f99:	cc                   	int3
403f9a:	8b ff                	mov    %edi,%edi
403f9c:	56                   	push   %esi
403f9d:	57                   	push   %edi
403f9e:	8b f9                	mov    %ecx,%edi
403fa0:	be 04 01 00 00       	mov    $0x104,%esi
403fa5:	8b ce                	mov    %esi,%ecx
403fa7:	8b c7                	mov    %edi,%eax
403fa9:	66 83 38 00          	cmpw   $0x0,(%eax)
403fad:	74 08                	je     0x403fb7
403faf:	83 c0 02             	add    $0x2,%eax
403fb2:	83 e9 01             	sub    $0x1,%ecx
403fb5:	75 f2                	jne    0x403fa9
403fb7:	8b c1                	mov    %ecx,%eax
403fb9:	f7 d8                	neg    %eax
403fbb:	1b c0                	sbb    %eax,%eax
403fbd:	25 a9 ff f8 7f       	and    $0x7ff8ffa9,%eax
403fc2:	05 57 00 07 80       	add    $0x80070057,%eax
403fc7:	85 c9                	test   %ecx,%ecx
403fc9:	74 24                	je     0x403fef
403fcb:	8b d1                	mov    %ecx,%edx
403fcd:	8d 81 fc fe ff ff    	lea    -0x104(%ecx),%eax
403fd3:	83 ec 0c             	sub    $0xc,%esp
403fd6:	f7 da                	neg    %edx
403fd8:	1b d2                	sbb    %edx,%edx
403fda:	23 d0                	and    %eax,%edx
403fdc:	03 d6                	add    %esi,%edx
403fde:	2b f1                	sub    %ecx,%esi
403fe0:	03 f6                	add    %esi,%esi
403fe2:	f7 d9                	neg    %ecx
403fe4:	1b c9                	sbb    %ecx,%ecx
403fe6:	23 ce                	and    %esi,%ecx
403fe8:	03 cf                	add    %edi,%ecx
403fea:	e8 0b 00 00 00       	call   0x403ffa
403fef:	5f                   	pop    %edi
403ff0:	5e                   	pop    %esi
403ff1:	c2 04 00             	ret    $0x4
403ff4:	cc                   	int3
403ff5:	cc                   	int3
403ff6:	cc                   	int3
403ff7:	cc                   	int3
403ff8:	cc                   	int3
403ff9:	cc                   	int3
403ffa:	8b ff                	mov    %edi,%edi
403ffc:	56                   	push   %esi
403ffd:	57                   	push   %edi
403ffe:	85 d2                	test   %edx,%edx
404000:	74 29                	je     0x40402b
404002:	b8 48 14 40 00       	mov    $0x401448,%eax
404007:	be fe ff ff 7f       	mov    $0x7ffffffe,%esi
40400c:	2b c1                	sub    %ecx,%eax
40400e:	85 f6                	test   %esi,%esi
404010:	74 1c                	je     0x40402e
404012:	0f b7 3c 08          	movzwl (%eax,%ecx,1),%edi
404016:	66 85 ff             	test   %di,%di
404019:	74 0c                	je     0x404027
40401b:	66 89 39             	mov    %di,(%ecx)
40401e:	83 c1 02             	add    $0x2,%ecx
404021:	4e                   	dec    %esi
404022:	83 ea 01             	sub    $0x1,%edx
404025:	75 e7                	jne    0x40400e
404027:	85 d2                	test   %edx,%edx
404029:	75 03                	jne    0x40402e
40402b:	83 e9 02             	sub    $0x2,%ecx
40402e:	f7 da                	neg    %edx
404030:	5f                   	pop    %edi
404031:	1b d2                	sbb    %edx,%edx
404033:	33 c0                	xor    %eax,%eax
404035:	81 e2 86 ff f8 7f    	and    $0x7ff8ff86,%edx
40403b:	66 89 01             	mov    %ax,(%ecx)
40403e:	5e                   	pop    %esi
40403f:	8d 82 7a 00 07 80    	lea    -0x7ff8ff86(%edx),%eax
404045:	c2 0c 00             	ret    $0xc
404048:	cc                   	int3
404049:	cc                   	int3
40404a:	cc                   	int3
40404b:	cc                   	int3
40404c:	cc                   	int3
40404d:	cc                   	int3
40404e:	cc                   	int3
40404f:	cc                   	int3
404050:	8b ff                	mov    %edi,%edi
404052:	55                   	push   %ebp
404053:	8b ec                	mov    %esp,%ebp
404055:	53                   	push   %ebx
404056:	56                   	push   %esi
404057:	57                   	push   %edi
404058:	33 c0                	xor    %eax,%eax
40405a:	33 ff                	xor    %edi,%edi
40405c:	33 db                	xor    %ebx,%ebx
40405e:	39 45 14             	cmp    %eax,0x14(%ebp)
404061:	74 64                	je     0x4040c7
404063:	a1 00 70 40 00       	mov    0x407000,%eax
404068:	33 f6                	xor    %esi,%esi
40406a:	eb 1e                	jmp    0x40408a
40406c:	50                   	push   %eax
40406d:	8b 45 18             	mov    0x18(%ebp),%eax
404070:	ff 30                	push   (%eax)
404072:	ff 15 dc 81 40 00    	call   *0x4081dc
404078:	59                   	pop    %ecx
404079:	59                   	pop    %ecx
40407a:	85 c0                	test   %eax,%eax
40407c:	74 12                	je     0x404090
40407e:	46                   	inc    %esi
40407f:	8b c6                	mov    %esi,%eax
404081:	c1 e0 04             	shl    $0x4,%eax
404084:	8b 80 00 70 40 00    	mov    0x407000(%eax),%eax
40408a:	85 c0                	test   %eax,%eax
40408c:	75 de                	jne    0x40406c
40408e:	eb 13                	jmp    0x4040a3
404090:	c1 e6 04             	shl    $0x4,%esi
404093:	8b 86 00 70 40 00    	mov    0x407000(%esi),%eax
404099:	8b be 0c 70 40 00    	mov    0x40700c(%esi),%edi
40409f:	85 c0                	test   %eax,%eax
4040a1:	75 08                	jne    0x4040ab
4040a3:	8b 45 18             	mov    0x18(%ebp),%eax
4040a6:	33 db                	xor    %ebx,%ebx
4040a8:	43                   	inc    %ebx
4040a9:	8b 00                	mov    (%eax),%eax
4040ab:	85 ff                	test   %edi,%edi
4040ad:	74 18                	je     0x4040c7
4040af:	50                   	push   %eax
4040b0:	ff 75 08             	push   0x8(%ebp)
4040b3:	57                   	push   %edi
4040b4:	6a 01                	push   $0x1
4040b6:	e8 be 2d 00 00       	call   0x406e79
4040bb:	59                   	pop    %ecx
4040bc:	50                   	push   %eax
4040bd:	e8 1b d9 ff ff       	call   0x4019dd