40ce81:	a2 11 5e 42 00       	mov    %al,0x425e11
40ce86:	f6 c1 08             	test   $0x8,%cl
40ce89:	74 23                	je     0x40ceae
40ce8b:	ff 35 38 4f 42 00    	push   0x424f38
40ce91:	ff 15 dc 61 42 00    	call   *0x4261dc
40ce97:	8a 15 10 5e 42 00    	mov    0x425e10,%dl
40ce9d:	e8 37 f3 00 00       	call   0x41c1d9
40cea2:	0f b6 f0             	movzbl %al,%esi
40cea5:	f7 de                	neg    %esi
40cea7:	1b f6                	sbb    %esi,%esi
40cea9:	83 e6 08             	and    $0x8,%esi
40ceac:	eb 39                	jmp    0x40cee7
40ceae:	f6 c1 10             	test   $0x10,%cl
40ceb1:	74 42                	je     0x40cef5
40ceb3:	ff 35 38 4f 42 00    	push   0x424f38
40ceb9:	ff 15 dc 61 42 00    	call   *0x4261dc
40cebf:	33 c9                	xor    %ecx,%ecx
40cec1:	41                   	inc    %ecx
40cec2:	e8 27 0c 01 00       	call   0x41daee
40cec7:	8a 15 10 5e 42 00    	mov    0x425e10,%dl
40cecd:	8b f0                	mov    %eax,%esi
40cecf:	f7 de                	neg    %esi
40ced1:	1b f6                	sbb    %esi,%esi
40ced3:	83 e6 10             	and    $0x10,%esi
40ced6:	e8 fe f2 00 00       	call   0x41c1d9
40cedb:	0f b6 c8             	movzbl %al,%ecx
40cede:	f7 d9                	neg    %ecx
40cee0:	1b c9                	sbb    %ecx,%ecx
40cee2:	83 e1 08             	and    $0x8,%ecx
40cee5:	0b f1                	or     %ecx,%esi
40cee7:	ff 35 3c 4f 42 00    	push   0x424f3c
40ceed:	ff 15 dc 61 42 00    	call   *0x4261dc
40cef3:	eb 2a                	jmp    0x40cf1f
40cef5:	f6 c1 20             	test   $0x20,%cl
40cef8:	74 10                	je     0x40cf0a
40cefa:	e8 87 09 01 00       	call   0x41d886
40ceff:	8b f0                	mov    %eax,%esi
40cf01:	f7 de                	neg    %esi
40cf03:	1b f6                	sbb    %esi,%esi
40cf05:	83 e6 20             	and    $0x20,%esi
40cf08:	eb 15                	jmp    0x40cf1f
40cf0a:	f6 c1 40             	test   $0x40,%cl
40cf0d:	74 10                	je     0x40cf1f
40cf0f:	b9 94 1f 40 00       	mov    $0x401f94,%ecx
40cf14:	e8 42 08 00 00       	call   0x40d75b
40cf19:	89 35 00 5e 42 00    	mov    %esi,0x425e00
40cf1f:	a1 00 5e 42 00       	mov    0x425e00,%eax
40cf24:	85 c0                	test   %eax,%eax
40cf26:	0f 84 72 01 00 00    	je     0x40d09e
40cf2c:	53                   	push   %ebx
40cf2d:	56                   	push   %esi
40cf2e:	68 64 04 00 00       	push   $0x464
40cf33:	50                   	push   %eax
40cf34:	e9 1c fc ff ff       	jmp    0x40cb55
40cf39:	6a 00                	push   $0x0
40cf3b:	ff 15 14 62 42 00    	call   *0x426214
40cf41:	33 c9                	xor    %ecx,%ecx
40cf43:	25 ff 03 00 00       	and    $0x3ff,%eax
40cf48:	66 83 f8 11          	cmp    $0x11,%ax
40cf4c:	0f 94 c1             	sete   %cl
40cf4f:	51                   	push   %ecx
40cf50:	6a 01                	push   $0x1
40cf52:	68 d8 00 00 00       	push   $0xd8
40cf57:	e9 f3 fb ff ff       	jmp    0x40cb4f
40cf5c:	8b c3                	mov    %ebx,%eax
40cf5e:	c1 e8 10             	shr    $0x10,%eax
40cf61:	25 ff 0f 00 00       	and    $0xfff,%eax
40cf66:	66 83 f8 05          	cmp    $0x5,%ax
40cf6a:	75 11                	jne    0x40cf7d
40cf6c:	6a 00                	push   $0x0
40cf6e:	6a 15                	push   $0x15
40cf70:	5a                   	pop    %edx
40cf71:	8b cf                	mov    %edi,%ecx
40cf73:	e8 de ea ff ff       	call   0x40ba56
40cf78:	e9 21 01 00 00       	jmp    0x40d09e
40cf7d:	8b c3                	mov    %ebx,%eax
40cf7f:	3b 05 04 5e 42 00    	cmp    0x425e04,%eax
40cf85:	75 50                	jne    0x40cfd7
40cf87:	8b 45 10             	mov    0x10(%ebp),%eax
40cf8a:	b9 00 05 00 00       	mov    $0x500,%ecx
40cf8f:	c1 e8 10             	shr    $0x10,%eax
40cf92:	66 3b c1             	cmp    %cx,%ax
40cf95:	74 06                	je     0x40cf9d
40cf97:	41                   	inc    %ecx
40cf98:	66 3b c1             	cmp    %cx,%ax
40cf9b:	75 3a                	jne    0x40cfd7
40cf9d:	83 3d f8 5b 42 00 01 	cmpl   $0x1,0x425bf8
40cfa4:	75 0f                	jne    0x40cfb5
40cfa6:	c7 05 f8 5b 42 00 02 	movl   $0x2,0x425bf8
40cfad:	00 00 00
40cfb0:	e9 e9 00 00 00       	jmp    0x40d09e
40cfb5:	68 10 10 00 00       	push   $0x1010
40cfba:	ff 35 f0 42 42 00    	push   0x4242f0
40cfc0:	ff 35 f8 42 42 00    	push   0x4242f8
40cfc6:	ff 35 0c 5e 42 00    	push   0x425e0c
40cfcc:	ff 15 c8 62 42 00    	call   *0x4262c8
40cfd2:	e9 c7 00 00 00       	jmp    0x40d09e
40cfd7:	8b 55 10             	mov    0x10(%ebp),%edx
40cfda:	8b cf                	mov    %edi,%ecx
40cfdc:	53                   	push   %ebx
40cfdd:	e8 74 ea ff ff       	call   0x40ba56
40cfe2:	85 c0                	test   %eax,%eax
40cfe4:	0f 85 b4 00 00 00    	jne    0x40d09e
40cfea:	53                   	push   %ebx
40cfeb:	ff 75 10             	push   0x10(%ebp)
40cfee:	56                   	push   %esi
40cfef:	e9 3c fb ff ff       	jmp    0x40cb30
40cff4:	8b 43 0c             	mov    0xc(%ebx),%eax
40cff7:	33 f6                	xor    %esi,%esi
40cff9:	2b 43 04             	sub    0x4(%ebx),%eax
40cffc:	6a 14                	push   $0x14
40cffe:	50                   	push   %eax
40cfff:	8b 43 08             	mov    0x8(%ebx),%eax
40d002:	2b 03                	sub    (%ebx),%eax
40d004:	50                   	push   %eax
40d005:	ff 73 04             	push   0x4(%ebx)
40d008:	ff 33                	push   (%ebx)
40d00a:	56                   	push   %esi
40d00b:	ff 35 0c 5e 42 00    	push   0x425e0c
40d011:	ff 15 0c 62 42 00    	call   *0x42620c
40d017:	53                   	push   %ebx
40d018:	ff 75 10             	push   0x10(%ebp)
40d01b:	6a 05                	push   $0x5
40d01d:	ff 35 08 5e 42 00    	push   0x425e08
40d023:	ff 15 bc 62 42 00    	call   *0x4262bc
40d029:	ff 35 0c 5e 42 00    	push   0x425e0c
40d02f:	ff 15 e0 61 42 00    	call   *0x4261e0
40d035:	68 d0 02 00 00       	push   $0x2d0
40d03a:	50                   	push   %eax
40d03b:	ff 35 18 43 42 00    	push   0x424318
40d041:	ff 15 9c 60 42 00    	call   *0x42609c
40d047:	f7 d8                	neg    %eax
40d049:	68 d0 4e 42 00       	push   $0x424ed0
40d04e:	a3 d0 4e 42 00       	mov    %eax,0x424ed0
40d053:	ff 15 5c 60 42 00    	call   *0x42605c
40d059:	8b f8                	mov    %eax,%edi
40d05b:	85 ff                	test   %edi,%edi
40d05d:	74 23                	je     0x40d082
40d05f:	ff 35 2c 4f 42 00    	push   0x424f2c
40d065:	ff 15 58 60 42 00    	call   *0x426058
40d06b:	6a 01                	push   $0x1
40d06d:	57                   	push   %edi
40d06e:	6a 30                	push   $0x30
40d070:	ff 35 04 5e 42 00    	push   0x425e04
40d076:	89 3d 2c 4f 42 00    	mov    %edi,0x424f2c
40d07c:	ff 15 bc 62 42 00    	call   *0x4262bc
40d082:	6a 05                	push   $0x5
40d084:	56                   	push   %esi
40d085:	56                   	push   %esi
40d086:	ff 35 0c 5e 42 00    	push   0x425e0c
40d08c:	ff 15 10 62 42 00    	call   *0x426210
40d092:	eb 0a                	jmp    0x40d09e
40d094:	8b 4d 10             	mov    0x10(%ebp),%ecx
40d097:	8b d7                	mov    %edi,%edx
40d099:	e8 6d f5 ff ff       	call   0x40c60b
40d09e:	33 c0                	xor    %eax,%eax
40d0a0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40d0a3:	5f                   	pop    %edi
40d0a4:	5e                   	pop    %esi
40d0a5:	33 cd                	xor    %ebp,%ecx
40d0a7:	5b                   	pop    %ebx
40d0a8:	e8 c3 47 01 00       	call   0x421870
40d0ad:	c9                   	leave
40d0ae:	c2 10 00             	ret    $0x10
40d0b1:	8b ff                	mov    %edi,%edi
40d0b3:	53                   	push   %ebx
40d0b4:	56                   	push   %esi
40d0b5:	57                   	push   %edi
40d0b6:	8b d1                	mov    %ecx,%edx
40d0b8:	33 f6                	xor    %esi,%esi
40d0ba:	6a 20                	push   $0x20
40d0bc:	5f                   	pop    %edi
40d0bd:	6a 09                	push   $0x9
40d0bf:	0f b7 02             	movzwl (%edx),%eax
40d0c2:	5b                   	pop    %ebx
40d0c3:	66 85 c0             	test   %ax,%ax
40d0c6:	74 30                	je     0x40d0f8
40d0c8:	66 3b c7             	cmp    %di,%ax
40d0cb:	74 05                	je     0x40d0d2
40d0cd:	66 3b c3             	cmp    %bx,%ax
40d0d0:	75 04                	jne    0x40d0d6
40d0d2:	85 f6                	test   %esi,%esi
40d0d4:	74 22                	je     0x40d0f8
40d0d6:	66 83 f8 22          	cmp    $0x22,%ax
40d0da:	75 09                	jne    0x40d0e5
40d0dc:	33 c0                	xor    %eax,%eax
40d0de:	85 f6                	test   %esi,%esi
40d0e0:	0f 94 c0             	sete   %al
40d0e3:	8b f0                	mov    %eax,%esi
40d0e5:	52                   	push   %edx
40d0e6:	ff 15 18 62 42 00    	call   *0x426218
40d0ec:	8b d0                	mov    %eax,%edx
40d0ee:	0f b7 0a             	movzwl (%edx),%ecx
40d0f1:	8b c1                	mov    %ecx,%eax
40d0f3:	66 85 c9             	test   %cx,%cx
40d0f6:	75 d0                	jne    0x40d0c8
40d0f8:	0f b7 02             	movzwl (%edx),%eax
40d0fb:	66 3b c7             	cmp    %di,%ax
40d0fe:	74 05                	je     0x40d105
40d100:	66 3b c3             	cmp    %bx,%ax
40d103:	75 05                	jne    0x40d10a
40d105:	83 c2 02             	add    $0x2,%edx
40d108:	eb ee                	jmp    0x40d0f8
40d10a:	5f                   	pop    %edi
40d10b:	5e                   	pop    %esi
40d10c:	8b c2                	mov    %edx,%eax
40d10e:	5b                   	pop    %ebx
40d10f:	c3                   	ret
40d110:	8b ff                	mov    %edi,%edi
40d112:	55                   	push   %ebp
40d113:	8b ec                	mov    %esp,%ebp
40d115:	83 ec 0c             	sub    $0xc,%esp
40d118:	56                   	push   %esi
40d119:	8d 45 fc             	lea    -0x4(%ebp),%eax
40d11c:	33 f6                	xor    %esi,%esi
40d11e:	50                   	push   %eax
40d11f:	6a 08                	push   $0x8
40d121:	89 75 fc             	mov    %esi,-0x4(%ebp)
40d124:	ff 15 a0 60 42 00    	call   *0x4260a0
40d12a:	50                   	push   %eax
40d12b:	ff 15 00 90 42 00    	call   *0x429000
40d131:	85 c0                	test   %eax,%eax
40d133:	74 2a                	je     0x40d15f
40d135:	6a 04                	push   $0x4
40d137:	59                   	pop    %ecx
40d138:	8d 45 f8             	lea    -0x8(%ebp),%eax
40d13b:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40d13e:	50                   	push   %eax
40d13f:	51                   	push   %ecx
40d140:	8d 45 f4             	lea    -0xc(%ebp),%eax
40d143:	50                   	push   %eax
40d144:	6a 14                	push   $0x14
40d146:	ff 75 fc             	push   -0x4(%ebp)
40d149:	ff 15 08 90 42 00    	call   *0x429008
40d14f:	85 c0                	test   %eax,%eax
40d151:	74 03                	je     0x40d156
40d153:	8b 75 f4             	mov    -0xc(%ebp),%esi
40d156:	ff 75 fc             	push   -0x4(%ebp)
40d159:	ff 15 54 61 42 00    	call   *0x426154
40d15f:	8b c6                	mov    %esi,%eax
40d161:	5e                   	pop    %esi
40d162:	c9                   	leave
40d163:	c3                   	ret
40d164:	8b ff                	mov    %edi,%edi
40d166:	55                   	push   %ebp
40d167:	8b ec                	mov    %esp,%ebp
40d169:	83 e4 f8             	and    $0xfffffff8,%esp
40d16c:	83 ec 4c             	sub    $0x4c,%esp
40d16f:	a1 10 42 42 00       	mov    0x424210,%eax
40d174:	33 c4                	xor    %esp,%eax
40d176:	89 44 24 48          	mov    %eax,0x48(%esp)
40d17a:	53                   	push   %ebx
40d17b:	56                   	push   %esi
40d17c:	8b 75 08             	mov    0x8(%ebp),%esi
40d17f:	57                   	push   %edi
40d180:	51                   	push   %ecx
40d181:	51                   	push   %ecx
40d182:	6a 01                	push   $0x1
40d184:	b9 28 5f 42 00       	mov    $0x425f28,%ecx
40d189:	89 74 24 1c          	mov    %esi,0x1c(%esp)
40d18d:	e8 9a 15 00 00       	call   0x40e72c
40d192:	64 a1 30 00 00 00    	mov    %fs:0x30,%eax
40d198:	8d 7c 24 14          	lea    0x14(%esp),%edi
40d19c:	6a 07                	push   $0x7
40d19e:	8a 48 03             	mov    0x3(%eax),%cl
40d1a1:	64 a1 30 00 00 00    	mov    %fs:0x30,%eax
40d1a7:	80 c9 80             	or     $0x80,%cl
40d1aa:	88 48 03             	mov    %cl,0x3(%eax)
40d1ad:	33 c0                	xor    %eax,%eax
40d1af:	59                   	pop    %ecx
40d1b0:	f3 ab                	rep stos %eax,%es:(%edi)
40d1b2:	ff 15 a4 60 42 00    	call   *0x4260a4
40d1b8:	68 9c 59 42 00       	push   $0x42599c
40d1bd:	8b f8                	mov    %eax,%edi
40d1bf:	ff 15 ec 62 42 00    	call   *0x4262ec
40d1c5:	33 db                	xor    %ebx,%ebx
40d1c7:	b9 08 41 42 00       	mov    $0x424108,%ecx
40d1cc:	89 1d b0 59 42 00    	mov    %ebx,0x4259b0
40d1d2:	89 1d b4 59 42 00    	mov    %ebx,0x4259b4
40d1d8:	e8 de 8e ff ff       	call   0x4060bb
40d1dd:	e8 07 14 01 00       	call   0x41e5e9
40d1e2:	53                   	push   %ebx
40d1e3:	53                   	push   %ebx
40d1e4:	6a 01                	push   $0x1
40d1e6:	53                   	push   %ebx
40d1e7:	ff 15 a8 60 42 00    	call   *0x4260a8
40d1ed:	6a 02                	push   $0x2
40d1ef:	53                   	push   %ebx
40d1f0:	ff 15 e8 62 42 00    	call   *0x4262e8
40d1f6:	85 c0                	test   %eax,%eax
40d1f8:	0f 88 a5 01 00 00    	js     0x40d3a3
40d1fe:	8d 54 24 0c          	lea    0xc(%esp),%edx
40d202:	89 5c 24 0c          	mov    %ebx,0xc(%esp)
40d206:	e8 9f 3c 01 00       	call   0x420eaa
40d20b:	8b de                	mov    %esi,%ebx
40d20d:	85 c0                	test   %eax,%eax
40d20f:	78 04                	js     0x40d215
40d211:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
40d215:	8b cf                	mov    %edi,%ecx
40d217:	e8 95 fe ff ff       	call   0x40d0b1
40d21c:	ff 75 14             	push   0x14(%ebp)
40d21f:	8b d3                	mov    %ebx,%edx
40d221:	8b ce                	mov    %esi,%ecx
40d223:	50                   	push   %eax
40d224:	e8 92 52 00 00       	call   0x4124bb
40d229:	85 c0                	test   %eax,%eax
40d22b:	0f 84 33 01 00 00    	je     0x40d364
40d231:	e8 da fe ff ff       	call   0x40d110
40d236:	8b c8                	mov    %eax,%ecx
40d238:	e8 03 14 01 00       	call   0x41e640
40d23d:	33 f6                	xor    %esi,%esi
40d23f:	56                   	push   %esi
40d240:	56                   	push   %esi
40d241:	ff 15 78 60 42 00    	call   *0x426078
40d247:	50                   	push   %eax
40d248:	68 10 d5 40 00       	push   $0x40d510
40d24d:	56                   	push   %esi
40d24e:	b8 0b 80 00 00       	mov    $0x800b,%eax
40d253:	50                   	push   %eax
40d254:	50                   	push   %eax
40d255:	ff 15 1c 62 42 00    	call   *0x42621c
40d25b:	89 44 24 0c          	mov    %eax,0xc(%esp)
40d25f:	eb 7f                	jmp    0x40d2e0
40d261:	83 7c 24 18 50       	cmpl   $0x50,0x18(%esp)
40d266:	75 13                	jne    0x40d27b
40d268:	56                   	push   %esi
40d269:	56                   	push   %esi
40d26a:	68 01 80 00 00       	push   $0x8001
40d26f:	ff 35 0c 5e 42 00    	push   0x425e0c
40d275:	ff 15 bc 61 42 00    	call   *0x4261bc
40d27b:	8d 44 24 14          	lea    0x14(%esp),%eax
40d27f:	50                   	push   %eax
40d280:	ff 35 c8 4e 42 00    	push   0x424ec8
40d286:	ff 35 0c 5e 42 00    	push   0x425e0c
40d28c:	ff 15 24 62 42 00    	call   *0x426224
40d292:	85 c0                	test   %eax,%eax
40d294:	75 4a                	jne    0x40d2e0
40d296:	a1 00 5e 42 00       	mov    0x425e00,%eax
40d29b:	85 c0                	test   %eax,%eax
40d29d:	74 10                	je     0x40d2af
40d29f:	8d 4c 24 14          	lea    0x14(%esp),%ecx
40d2a3:	51                   	push   %ecx
40d2a4:	50                   	push   %eax
40d2a5:	ff 15 28 62 42 00    	call   *0x426228
40d2ab:	85 c0                	test   %eax,%eax
40d2ad:	75 31                	jne    0x40d2e0
40d2af:	8d 44 24 14          	lea    0x14(%esp),%eax
40d2b3:	50                   	push   %eax
40d2b4:	ff 35 c4 4e 42 00    	push   0x424ec4
40d2ba:	ff 35 0c 5e 42 00    	push   0x425e0c