404da0:	8b f0                	mov    %eax,%esi
404da2:	85 f6                	test   %esi,%esi
404da4:	0f 84 c1 02 00 00    	je     0x40506b
404daa:	c7 06 04 27 41 00    	movl   $0x412704,(%esi)
404db0:	83 66 0c 00          	andl   $0x0,0xc(%esi)
404db4:	83 66 10 00          	andl   $0x0,0x10(%esi)
404db8:	e9 b0 02 00 00       	jmp    0x40506d
404dbd:	6a 1c                	push   $0x1c
404dbf:	59                   	pop    %ecx
404dc0:	e8 16 0d 00 00       	call   0x405adb
404dc5:	8b f0                	mov    %eax,%esi
404dc7:	85 f6                	test   %esi,%esi
404dc9:	0f 84 9c 02 00 00    	je     0x40506b
404dcf:	33 c0                	xor    %eax,%eax
404dd1:	c7 06 44 27 41 00    	movl   $0x412744,(%esi)
404dd7:	89 46 08             	mov    %eax,0x8(%esi)
404dda:	89 46 14             	mov    %eax,0x14(%esi)
404ddd:	89 46 18             	mov    %eax,0x18(%esi)
404de0:	e9 88 02 00 00       	jmp    0x40506d
404de5:	6a 04                	push   $0x4
404de7:	59                   	pop    %ecx
404de8:	e8 ee 0c 00 00       	call   0x405adb
404ded:	8b f0                	mov    %eax,%esi
404def:	85 f6                	test   %esi,%esi
404df1:	0f 84 74 02 00 00    	je     0x40506b
404df7:	c7 06 3c 27 41 00    	movl   $0x41273c,(%esi)
404dfd:	e9 6b 02 00 00       	jmp    0x40506d
404e02:	6a 04                	push   $0x4
404e04:	59                   	pop    %ecx
404e05:	e8 d1 0c 00 00       	call   0x405adb
404e0a:	8b f0                	mov    %eax,%esi
404e0c:	85 f6                	test   %esi,%esi
404e0e:	0f 84 57 02 00 00    	je     0x40506b
404e14:	c7 06 ec 26 41 00    	movl   $0x4126ec,(%esi)
404e1a:	e9 4e 02 00 00       	jmp    0x40506d
404e1f:	6a 04                	push   $0x4
404e21:	59                   	pop    %ecx
404e22:	e8 b4 0c 00 00       	call   0x405adb
404e27:	8b f0                	mov    %eax,%esi
404e29:	85 f6                	test   %esi,%esi
404e2b:	0f 84 3a 02 00 00    	je     0x40506b
404e31:	c7 06 34 27 41 00    	movl   $0x412734,(%esi)
404e37:	e9 31 02 00 00       	jmp    0x40506d
404e3c:	6a 08                	push   $0x8
404e3e:	59                   	pop    %ecx
404e3f:	e8 97 0c 00 00       	call   0x405adb
404e44:	8b f0                	mov    %eax,%esi
404e46:	85 f6                	test   %esi,%esi
404e48:	0f 84 1d 02 00 00    	je     0x40506b
404e4e:	c7 06 24 27 41 00    	movl   $0x412724,(%esi)
404e54:	e9 14 02 00 00       	jmp    0x40506d
404e59:	6a 04                	push   $0x4
404e5b:	59                   	pop    %ecx
404e5c:	e8 7a 0c 00 00       	call   0x405adb
404e61:	8b f0                	mov    %eax,%esi
404e63:	85 f6                	test   %esi,%esi
404e65:	0f 84 00 02 00 00    	je     0x40506b
404e6b:	c7 06 e4 26 41 00    	movl   $0x4126e4,(%esi)
404e71:	e9 f7 01 00 00       	jmp    0x40506d
404e76:	6a 04                	push   $0x4
404e78:	59                   	pop    %ecx
404e79:	e8 5d 0c 00 00       	call   0x405adb
404e7e:	8b f0                	mov    %eax,%esi
404e80:	85 f6                	test   %esi,%esi
404e82:	0f 84 e3 01 00 00    	je     0x40506b
404e88:	c7 06 d4 26 41 00    	movl   $0x4126d4,(%esi)
404e8e:	e9 da 01 00 00       	jmp    0x40506d
404e93:	83 f8 30             	cmp    $0x30,%eax
404e96:	0f 87 28 01 00 00    	ja     0x404fc4
404e9c:	0f 84 05 01 00 00    	je     0x404fa7
404ea2:	83 e8 22             	sub    $0x22,%eax
404ea5:	0f 84 df 00 00 00    	je     0x404f8a
404eab:	6a 02                	push   $0x2
404ead:	5a                   	pop    %edx
404eae:	2b c2                	sub    %edx,%eax
404eb0:	0f 84 b7 00 00 00    	je     0x404f6d
404eb6:	2b c2                	sub    %edx,%eax
404eb8:	0f 84 92 00 00 00    	je     0x404f50
404ebe:	2b c2                	sub    %edx,%eax
404ec0:	74 71                	je     0x404f33
404ec2:	2b c2                	sub    %edx,%eax
404ec4:	74 50                	je     0x404f16
404ec6:	2b c2                	sub    %edx,%eax
404ec8:	74 2f                	je     0x404ef9
404eca:	2b c2                	sub    %edx,%eax
404ecc:	0f 85 a3 01 00 00    	jne    0x405075
404ed2:	6a 10                	push   $0x10
404ed4:	59                   	pop    %ecx
404ed5:	e8 01 0c 00 00       	call   0x405adb
404eda:	85 c0                	test   %eax,%eax
404edc:	74 0b                	je     0x404ee9
404ede:	8b c8                	mov    %eax,%ecx
404ee0:	e8 7d ec ff ff       	call   0x403b62
404ee5:	8b f0                	mov    %eax,%esi
404ee7:	eb 02                	jmp    0x404eeb
404ee9:	33 f6                	xor    %esi,%esi
404eeb:	8d 46 04             	lea    0x4(%esi),%eax
404eee:	f7 de                	neg    %esi
404ef0:	1b f6                	sbb    %esi,%esi
404ef2:	23 f0                	and    %eax,%esi
404ef4:	e9 74 01 00 00       	jmp    0x40506d
404ef9:	6a 08                	push   $0x8
404efb:	59                   	pop    %ecx
404efc:	e8 da 0b 00 00       	call   0x405adb
404f01:	8b f0                	mov    %eax,%esi
404f03:	85 f6                	test   %esi,%esi
404f05:	74 e2                	je     0x404ee9
404f07:	c7 06 74 27 41 00    	movl   $0x412774,(%esi)
404f0d:	c7 46 04 6c 27 41 00 	movl   $0x41276c,0x4(%esi)
404f14:	eb d5                	jmp    0x404eeb
404f16:	6a 0c                	push   $0xc
404f18:	59                   	pop    %ecx
404f19:	e8 bd 0b 00 00       	call   0x405adb
404f1e:	8b f0                	mov    %eax,%esi
404f20:	85 f6                	test   %esi,%esi
404f22:	74 c5                	je     0x404ee9
404f24:	c7 06 4c 27 41 00    	movl   $0x41274c,(%esi)
404f2a:	c7 46 04 54 27 41 00 	movl   $0x412754,0x4(%esi)
404f31:	eb b8                	jmp    0x404eeb
404f33:	6a 04                	push   $0x4
404f35:	59                   	pop    %ecx
404f36:	e8 a0 0b 00 00       	call   0x405adb
404f3b:	8b f0                	mov    %eax,%esi
404f3d:	85 f6                	test   %esi,%esi
404f3f:	0f 84 26 01 00 00    	je     0x40506b
404f45:	c7 06 1c 27 41 00    	movl   $0x41271c,(%esi)
404f4b:	e9 1d 01 00 00       	jmp    0x40506d
404f50:	6a 04                	push   $0x4
404f52:	59                   	pop    %ecx
404f53:	e8 83 0b 00 00       	call   0x405adb
404f58:	8b f0                	mov    %eax,%esi
404f5a:	85 f6                	test   %esi,%esi
404f5c:	0f 84 09 01 00 00    	je     0x40506b
404f62:	c7 06 2c 27 41 00    	movl   $0x41272c,(%esi)
404f68:	e9 00 01 00 00       	jmp    0x40506d
404f6d:	6a 04                	push   $0x4
404f6f:	59                   	pop    %ecx
404f70:	e8 66 0b 00 00       	call   0x405adb
404f75:	8b f0                	mov    %eax,%esi
404f77:	85 f6                	test   %esi,%esi
404f79:	0f 84 ec 00 00 00    	je     0x40506b
404f7f:	c7 06 14 27 41 00    	movl   $0x412714,(%esi)
404f85:	e9 e3 00 00 00       	jmp    0x40506d
404f8a:	6a 08                	push   $0x8
404f8c:	59                   	pop    %ecx
404f8d:	e8 49 0b 00 00       	call   0x405adb
404f92:	8b f0                	mov    %eax,%esi
404f94:	85 f6                	test   %esi,%esi
404f96:	0f 84 cf 00 00 00    	je     0x40506b
404f9c:	c7 06 9c 26 41 00    	movl   $0x41269c,(%esi)
404fa2:	e9 bf fc ff ff       	jmp    0x404c66
404fa7:	6a 08                	push   $0x8
404fa9:	59                   	pop    %ecx
404faa:	e8 2c 0b 00 00       	call   0x405adb
404faf:	8b f0                	mov    %eax,%esi
404fb1:	85 f6                	test   %esi,%esi
404fb3:	0f 84 b2 00 00 00    	je     0x40506b
404fb9:	c7 06 78 49 41 00    	movl   $0x414978,(%esi)
404fbf:	e9 a9 00 00 00       	jmp    0x40506d
404fc4:	6a 04                	push   $0x4
404fc6:	59                   	pop    %ecx
404fc7:	83 e8 32             	sub    $0x32,%eax
404fca:	0f 84 88 00 00 00    	je     0x405058
404fd0:	2b c1                	sub    %ecx,%eax
404fd2:	74 6b                	je     0x40503f
404fd4:	6a 02                	push   $0x2
404fd6:	5a                   	pop    %edx
404fd7:	2b c2                	sub    %edx,%eax
404fd9:	74 4e                	je     0x405029
404fdb:	2b c2                	sub    %edx,%eax
404fdd:	74 31                	je     0x405010
404fdf:	2b c2                	sub    %edx,%eax
404fe1:	74 1a                	je     0x404ffd
404fe3:	2b c2                	sub    %edx,%eax
404fe5:	74 0f                	je     0x404ff6
404fe7:	2b c2                	sub    %edx,%eax
404fe9:	0f 85 86 00 00 00    	jne    0x405075
404fef:	e8 cc a8 00 00       	call   0x40f8c0
404ff4:	eb 7f                	jmp    0x405075
404ff6:	e8 48 a8 00 00       	call   0x40f843
404ffb:	eb 78                	jmp    0x405075
404ffd:	e8 d9 0a 00 00       	call   0x405adb
405002:	8b f0                	mov    %eax,%esi
405004:	85 f6                	test   %esi,%esi
405006:	74 63                	je     0x40506b
405008:	c7 06 68 49 41 00    	movl   $0x414968,(%esi)
40500e:	eb 5d                	jmp    0x40506d
405010:	6a 0c                	push   $0xc
405012:	59                   	pop    %ecx
405013:	e8 c3 0a 00 00       	call   0x405adb
405018:	8b f0                	mov    %eax,%esi
40501a:	85 f6                	test   %esi,%esi
40501c:	74 4d                	je     0x40506b
40501e:	c7 06 64 48 41 00    	movl   $0x414864,(%esi)
405024:	e9 b5 fc ff ff       	jmp    0x404cde
405029:	6a 08                	push   $0x8
40502b:	59                   	pop    %ecx
40502c:	e8 aa 0a 00 00       	call   0x405adb
405031:	8b f0                	mov    %eax,%esi
405033:	85 f6                	test   %esi,%esi
405035:	74 34                	je     0x40506b
405037:	c7 06 fc 26 41 00    	movl   $0x4126fc,(%esi)
40503d:	eb 2e                	jmp    0x40506d
40503f:	6a 08                	push   $0x8
405041:	59                   	pop    %ecx
405042:	e8 94 0a 00 00       	call   0x405adb
405047:	8b f0                	mov    %eax,%esi
405049:	85 f6                	test   %esi,%esi
40504b:	74 1e                	je     0x40506b
40504d:	c7 06 d0 48 41 00    	movl   $0x4148d0,(%esi)
405053:	e9 0e fc ff ff       	jmp    0x404c66
405058:	e8 7e 0a 00 00       	call   0x405adb
40505d:	8b f0                	mov    %eax,%esi
40505f:	85 f6                	test   %esi,%esi
405061:	74 08                	je     0x40506b
405063:	c7 06 80 49 41 00    	movl   $0x414980,(%esi)
405069:	eb 02                	jmp    0x40506d
40506b:	33 f6                	xor    %esi,%esi
40506d:	8b 06                	mov    (%esi),%eax
40506f:	8b ce                	mov    %esi,%ecx
405071:	57                   	push   %edi
405072:	ff 50 04             	call   *0x4(%eax)
405075:	8b 5d 08             	mov    0x8(%ebp),%ebx
405078:	8b cb                	mov    %ebx,%ecx
40507a:	56                   	push   %esi
40507b:	8b 75 f8             	mov    -0x8(%ebp),%esi
40507e:	8b 03                	mov    (%ebx),%eax
405080:	ff 76 2c             	push   0x2c(%esi)
405083:	ff 10                	call   *(%eax)
405085:	8b 45 f0             	mov    -0x10(%ebp),%eax
405088:	3b 46 28             	cmp    0x28(%esi),%eax
40508b:	76 52                	jbe    0x4050df
40508d:	8d 46 10             	lea    0x10(%esi),%eax
405090:	50                   	push   %eax
405091:	8d 4d f4             	lea    -0xc(%ebp),%ecx
405094:	e8 e0 dd ff ff       	call   0x402e79
405099:	8b 56 28             	mov    0x28(%esi),%edx
40509c:	8d 4e 10             	lea    0x10(%esi),%ecx
40509f:	8b 46 14             	mov    0x14(%esi),%eax
4050a2:	2b c2                	sub    %edx,%eax
4050a4:	83 e8 0c             	sub    $0xc,%eax
4050a7:	50                   	push   %eax
4050a8:	8d 42 0c             	lea    0xc(%edx),%eax
4050ab:	50                   	push   %eax
4050ac:	8d 45 ec             	lea    -0x14(%ebp),%eax
4050af:	50                   	push   %eax
4050b0:	e8 d0 db ff ff       	call   0x402c85
4050b5:	8d 45 ec             	lea    -0x14(%ebp),%eax
4050b8:	50                   	push   %eax
4050b9:	8d 4e 10             	lea    0x10(%esi),%ecx
4050bc:	e8 0b dc ff ff       	call   0x402ccc
4050c1:	83 66 18 00          	andl   $0x0,0x18(%esi)
4050c5:	8b ce                	mov    %esi,%ecx
4050c7:	53                   	push   %ebx
4050c8:	e8 c0 fa ff ff       	call   0x404b8d
4050cd:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4050d0:	e8 91 dd ff ff       	call   0x402e66
4050d5:	8d 4d f4             	lea    -0xc(%ebp),%ecx
4050d8:	e8 89 dd ff ff       	call   0x402e66
4050dd:	eb 08                	jmp    0x4050e7
4050df:	8d 4e 10             	lea    0x10(%esi),%ecx
4050e2:	e8 0c dd ff ff       	call   0x402df3
4050e7:	83 7e 34 00          	cmpl   $0x0,0x34(%esi)
4050eb:	76 07                	jbe    0x4050f4
4050ed:	8b cf                	mov    %edi,%ecx
4050ef:	e8 ff dc ff ff       	call   0x402df3
4050f4:	83 66 18 00          	andl   $0x0,0x18(%esi)
4050f8:	5f                   	pop    %edi
4050f9:	5e                   	pop    %esi
4050fa:	5b                   	pop    %ebx
4050fb:	c9                   	leave
4050fc:	c2 04 00             	ret    $0x4
4050ff:	8b 09                	mov    (%ecx),%ecx
405101:	33 c0                	xor    %eax,%eax
405103:	81 39 29 bb 66 e4    	cmpl   $0xe466bb29,(%ecx)
405109:	0f 94 c0             	sete   %al
40510c:	c3                   	ret
40510d:	56                   	push   %esi
40510e:	8b f1                	mov    %ecx,%esi
405110:	ff 15 ec 22 41 00    	call   *0x4122ec
405116:	8d 8e d8 01 00 00    	lea    0x1d8(%esi),%ecx
40511c:	e8 00 91 00 00       	call   0x40e221
405121:	8d 4e 30             	lea    0x30(%esi),%ecx
405124:	e8 3d dd ff ff       	call   0x402e66
405129:	8d 4e 10             	lea    0x10(%esi),%ecx
40512c:	e8 35 dd ff ff       	call   0x402e66
405131:	8b 0e                	mov    (%esi),%ecx
405133:	5e                   	pop    %esi
405134:	e9 f4 08 00 00       	jmp    0x405a2d
405139:	56                   	push   %esi
40513a:	8b f1                	mov    %ecx,%esi
40513c:	6a 02                	push   $0x2
40513e:	ff 76 0c             	push   0xc(%esi)
405141:	83 66 08 00          	andl   $0x0,0x8(%esi)
405145:	ff 15 e4 22 41 00    	call   *0x4122e4
40514b:	ff 76 0c             	push   0xc(%esi)
40514e:	ff 15 e8 22 41 00    	call   *0x4122e8
405154:	83 4e 0c ff          	orl    $0xffffffff,0xc(%esi)
405158:	5e                   	pop    %esi
405159:	c3                   	ret
40515a:	55                   	push   %ebp
40515b:	8b ec                	mov    %esp,%ebp
40515d:	83 ec 18             	sub    $0x18,%esp
405160:	53                   	push   %ebx
405161:	56                   	push   %esi
405162:	57                   	push   %edi
405163:	8b f9                	mov    %ecx,%edi
405165:	83 7f 0c ff          	cmpl   $0xffffffff,0xc(%edi)
405169:	75 04                	jne    0x40516f
40516b:	33 c0                	xor    %eax,%eax
40516d:	eb 6e                	jmp    0x4051dd
40516f:	68 fc 27 41 00       	push   $0x4127fc
405174:	8d 4d f8             	lea    -0x8(%ebp),%ecx
405177:	e8 70 e0 ff ff       	call   0x4031ec
40517c:	50                   	push   %eax
40517d:	8d 4d ec             	lea    -0x14(%ebp),%ecx
405180:	e8 ae dc ff ff       	call   0x402e33
405185:	8b 4d f8             	mov    -0x8(%ebp),%ecx
405188:	e8 a0 08 00 00       	call   0x405a2d
40518d:	8b 75 08             	mov    0x8(%ebp),%esi
405190:	51                   	push   %ecx
405191:	51                   	push   %ecx
405192:	8b cc                	mov    %esp,%ecx
405194:	56                   	push   %esi
405195:	e8 df dc ff ff       	call   0x402e79
40519a:	51                   	push   %ecx
40519b:	51                   	push   %ecx
40519c:	8d 45 ec             	lea    -0x14(%ebp),%eax
40519f:	8b cc                	mov    %esp,%ecx
4051a1:	50                   	push   %eax
4051a2:	e8 d2 dc ff ff       	call   0x402e79
4051a7:	8d 4d f4             	lea    -0xc(%ebp),%ecx
4051aa:	e8 83 0a 00 00       	call   0x405c32
4051af:	83 c4 10             	add    $0x10,%esp
4051b2:	6a 00                	push   $0x0
4051b4:	ff 76 04             	push   0x4(%esi)
4051b7:	ff 75 f4             	push   -0xc(%ebp)
4051ba:	ff 77 0c             	push   0xc(%edi)
4051bd:	ff 15 dc 22 41 00    	call   *0x4122dc
4051c3:	33 db                	xor    %ebx,%ebx
4051c5:	8d 4d f4             	lea    -0xc(%ebp),%ecx
4051c8:	83 f8 ff             	cmp    $0xffffffff,%eax
4051cb:	0f 95 c3             	setne  %bl
4051ce:	e8 93 dc ff ff       	call   0x402e66
4051d3:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4051d6:	e8 8b dc ff ff       	call   0x402e66
4051db:	8b c3                	mov    %ebx,%eax
4051dd:	5f                   	pop    %edi
4051de:	5e                   	pop    %esi
4051df:	5b                   	pop    %ebx