40d01e:	56                   	push   %esi
40d01f:	8d 41 01             	lea    0x1(%ecx),%eax
40d022:	50                   	push   %eax
40d023:	52                   	push   %edx
40d024:	e8 5e c7 ff ff       	call   0x409787
40d029:	83 c4 0c             	add    $0xc,%esp
40d02c:	85 c0                	test   %eax,%eax
40d02e:	0f 85 e8 00 00 00    	jne    0x40d11c
40d034:	6a 03                	push   $0x3
40d036:	5f                   	pop    %edi
40d037:	57                   	push   %edi
40d038:	56                   	push   %esi
40d039:	6a 40                	push   $0x40
40d03b:	ff 33                	push   (%ebx)
40d03d:	e8 fc 69 00 00       	call   0x413a3e
40d042:	83 c4 10             	add    $0x10,%esp
40d045:	85 c0                	test   %eax,%eax
40d047:	0f 85 cf 00 00 00    	jne    0x40d11c
40d04d:	80 3e 00             	cmpb   $0x0,(%esi)
40d050:	74 06                	je     0x40d058
40d052:	46                   	inc    %esi
40d053:	83 ef 01             	sub    $0x1,%edi
40d056:	75 f5                	jne    0x40d04d
40d058:	80 3e 2d             	cmpb   $0x2d,(%esi)
40d05b:	5f                   	pop    %edi
40d05c:	0f 94 c3             	sete   %bl
40d05f:	84 db                	test   %bl,%bl
40d061:	74 01                	je     0x40d064
40d063:	46                   	inc    %esi
40d064:	56                   	push   %esi
40d065:	e8 ab d2 ff ff       	call   0x40a315
40d06a:	59                   	pop    %ecx
40d06b:	69 c8 10 0e 00 00    	imul   $0xe10,%eax,%ecx
40d071:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40d074:	8a 06                	mov    (%esi),%al
40d076:	3c 2b                	cmp    $0x2b,%al
40d078:	74 08                	je     0x40d082
40d07a:	3c 30                	cmp    $0x30,%al
40d07c:	7c 07                	jl     0x40d085
40d07e:	3c 39                	cmp    $0x39,%al
40d080:	7f 03                	jg     0x40d085
40d082:	46                   	inc    %esi
40d083:	eb ef                	jmp    0x40d074
40d085:	80 3e 3a             	cmpb   $0x3a,(%esi)
40d088:	75 42                	jne    0x40d0cc
40d08a:	46                   	inc    %esi
40d08b:	56                   	push   %esi
40d08c:	e8 84 d2 ff ff       	call   0x40a315
40d091:	6b c0 3c             	imul   $0x3c,%eax,%eax
40d094:	59                   	pop    %ecx
40d095:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40d098:	03 c8                	add    %eax,%ecx
40d09a:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40d09d:	eb 05                	jmp    0x40d0a4
40d09f:	3c 39                	cmp    $0x39,%al
40d0a1:	7f 07                	jg     0x40d0aa
40d0a3:	46                   	inc    %esi
40d0a4:	8a 06                	mov    (%esi),%al
40d0a6:	3c 30                	cmp    $0x30,%al
40d0a8:	7d f5                	jge    0x40d09f
40d0aa:	80 3e 3a             	cmpb   $0x3a,(%esi)
40d0ad:	75 1d                	jne    0x40d0cc
40d0af:	46                   	inc    %esi
40d0b0:	56                   	push   %esi
40d0b1:	e8 5f d2 ff ff       	call   0x40a315
40d0b6:	59                   	pop    %ecx
40d0b7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40d0ba:	03 c8                	add    %eax,%ecx
40d0bc:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40d0bf:	eb 05                	jmp    0x40d0c6
40d0c1:	3c 39                	cmp    $0x39,%al
40d0c3:	7f 07                	jg     0x40d0cc
40d0c5:	46                   	inc    %esi
40d0c6:	8a 06                	mov    (%esi),%al
40d0c8:	3c 30                	cmp    $0x30,%al
40d0ca:	7d f5                	jge    0x40d0c1
40d0cc:	84 db                	test   %bl,%bl
40d0ce:	74 05                	je     0x40d0d5
40d0d0:	f7 d9                	neg    %ecx
40d0d2:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40d0d5:	33 c0                	xor    %eax,%eax
40d0d7:	38 06                	cmp    %al,(%esi)
40d0d9:	0f 95 c0             	setne  %al
40d0dc:	89 45 f4             	mov    %eax,-0xc(%ebp)
40d0df:	85 c0                	test   %eax,%eax
40d0e1:	8b 45 f8             	mov    -0x8(%ebp),%eax
40d0e4:	74 16                	je     0x40d0fc
40d0e6:	6a 03                	push   $0x3
40d0e8:	56                   	push   %esi
40d0e9:	6a 40                	push   $0x40
40d0eb:	ff 70 04             	push   0x4(%eax)
40d0ee:	e8 4b 69 00 00       	call   0x413a3e
40d0f3:	83 c4 10             	add    $0x10,%esp
40d0f6:	85 c0                	test   %eax,%eax
40d0f8:	74 08                	je     0x40d102
40d0fa:	eb 20                	jmp    0x40d11c
40d0fc:	8b 40 04             	mov    0x4(%eax),%eax
40d0ff:	c6 00 00             	movb   $0x0,(%eax)
40d102:	8b 75 fc             	mov    -0x4(%ebp),%esi
40d105:	e8 87 f8 ff ff       	call   0x40c991
40d10a:	89 30                	mov    %esi,(%eax)
40d10c:	8b 75 f4             	mov    -0xc(%ebp),%esi
40d10f:	e8 71 f8 ff ff       	call   0x40c985
40d114:	89 30                	mov    %esi,(%eax)
40d116:	5e                   	pop    %esi
40d117:	5b                   	pop    %ebx
40d118:	8b e5                	mov    %ebp,%esp
40d11a:	5d                   	pop    %ebp
40d11b:	c3                   	ret
40d11c:	33 c0                	xor    %eax,%eax
40d11e:	50                   	push   %eax
40d11f:	50                   	push   %eax
40d120:	50                   	push   %eax
40d121:	50                   	push   %eax
40d122:	50                   	push   %eax
40d123:	e8 33 ab ff ff       	call   0x407c5b
40d128:	cc                   	int3
40d129:	8b ff                	mov    %edi,%edi
40d12b:	55                   	push   %ebp
40d12c:	8b ec                	mov    %esp,%ebp
40d12e:	83 ec 10             	sub    $0x10,%esp
40d131:	53                   	push   %ebx
40d132:	56                   	push   %esi
40d133:	e8 5f f8 ff ff       	call   0x40c997
40d138:	8b f0                	mov    %eax,%esi
40d13a:	33 db                	xor    %ebx,%ebx
40d13c:	8d 45 fc             	lea    -0x4(%ebp),%eax
40d13f:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40d142:	50                   	push   %eax
40d143:	89 5d f8             	mov    %ebx,-0x8(%ebp)
40d146:	89 5d f4             	mov    %ebx,-0xc(%ebp)
40d149:	e8 a7 f8 ff ff       	call   0x40c9f5
40d14e:	59                   	pop    %ecx
40d14f:	85 c0                	test   %eax,%eax
40d151:	0f 85 22 01 00 00    	jne    0x40d279
40d157:	8d 45 f8             	lea    -0x8(%ebp),%eax
40d15a:	50                   	push   %eax
40d15b:	e8 3d f8 ff ff       	call   0x40c99d
40d160:	59                   	pop    %ecx
40d161:	85 c0                	test   %eax,%eax
40d163:	0f 85 10 01 00 00    	jne    0x40d279
40d169:	8d 45 f4             	lea    -0xc(%ebp),%eax
40d16c:	50                   	push   %eax
40d16d:	e8 57 f8 ff ff       	call   0x40c9c9
40d172:	59                   	pop    %ecx
40d173:	85 c0                	test   %eax,%eax
40d175:	0f 85 fe 00 00 00    	jne    0x40d279
40d17b:	ff 35 ac 44 42 00    	push   0x4244ac
40d181:	e8 9e c6 ff ff       	call   0x409824
40d186:	89 1d ac 44 42 00    	mov    %ebx,0x4244ac
40d18c:	c7 04 24 b8 44 42 00 	movl   $0x4244b8,(%esp)
40d193:	ff 15 5c b1 41 00    	call   *0x41b15c
40d199:	83 f8 ff             	cmp    $0xffffffff,%eax
40d19c:	0f 84 b3 00 00 00    	je     0x40d255
40d1a2:	6b 0d b8 44 42 00 3c 	imul   $0x3c,0x4244b8,%ecx
40d1a9:	8b 15 0c 45 42 00    	mov    0x42450c,%edx
40d1af:	57                   	push   %edi
40d1b0:	33 ff                	xor    %edi,%edi
40d1b2:	47                   	inc    %edi
40d1b3:	89 3d b0 44 42 00    	mov    %edi,0x4244b0
40d1b9:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40d1bc:	66 39 1d fe 44 42 00 	cmp    %bx,0x4244fe
40d1c3:	74 08                	je     0x40d1cd
40d1c5:	6b c2 3c             	imul   $0x3c,%edx,%eax
40d1c8:	03 c8                	add    %eax,%ecx
40d1ca:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40d1cd:	66 39 1d 52 45 42 00 	cmp    %bx,0x424552
40d1d4:	74 16                	je     0x40d1ec
40d1d6:	a1 60 45 42 00       	mov    0x424560,%eax
40d1db:	85 c0                	test   %eax,%eax
40d1dd:	74 0d                	je     0x40d1ec
40d1df:	2b c2                	sub    %edx,%eax
40d1e1:	89 7d f8             	mov    %edi,-0x8(%ebp)
40d1e4:	6b c0 3c             	imul   $0x3c,%eax,%eax
40d1e7:	89 45 f4             	mov    %eax,-0xc(%ebp)
40d1ea:	eb 06                	jmp    0x40d1f2
40d1ec:	89 5d f8             	mov    %ebx,-0x8(%ebp)
40d1ef:	89 5d f4             	mov    %ebx,-0xc(%ebp)
40d1f2:	e8 59 37 00 00       	call   0x410950
40d1f7:	8b f8                	mov    %eax,%edi
40d1f9:	8d 45 f0             	lea    -0x10(%ebp),%eax
40d1fc:	50                   	push   %eax
40d1fd:	53                   	push   %ebx
40d1fe:	6a 3f                	push   $0x3f
40d200:	ff 36                	push   (%esi)
40d202:	6a ff                	push   $0xffffffff
40d204:	68 bc 44 42 00       	push   $0x4244bc
40d209:	53                   	push   %ebx
40d20a:	57                   	push   %edi
40d20b:	ff 15 30 b1 41 00    	call   *0x41b130
40d211:	85 c0                	test   %eax,%eax
40d213:	74 0c                	je     0x40d221
40d215:	39 5d f0             	cmp    %ebx,-0x10(%ebp)
40d218:	75 07                	jne    0x40d221
40d21a:	8b 06                	mov    (%esi),%eax
40d21c:	88 58 3f             	mov    %bl,0x3f(%eax)
40d21f:	eb 04                	jmp    0x40d225
40d221:	8b 06                	mov    (%esi),%eax
40d223:	88 18                	mov    %bl,(%eax)
40d225:	8d 45 f0             	lea    -0x10(%ebp),%eax
40d228:	50                   	push   %eax
40d229:	53                   	push   %ebx
40d22a:	6a 3f                	push   $0x3f
40d22c:	ff 76 04             	push   0x4(%esi)
40d22f:	6a ff                	push   $0xffffffff
40d231:	68 10 45 42 00       	push   $0x424510
40d236:	53                   	push   %ebx
40d237:	57                   	push   %edi
40d238:	ff 15 30 b1 41 00    	call   *0x41b130
40d23e:	5f                   	pop    %edi
40d23f:	85 c0                	test   %eax,%eax
40d241:	74 0d                	je     0x40d250
40d243:	39 5d f0             	cmp    %ebx,-0x10(%ebp)
40d246:	75 08                	jne    0x40d250
40d248:	8b 46 04             	mov    0x4(%esi),%eax
40d24b:	88 58 3f             	mov    %bl,0x3f(%eax)
40d24e:	eb 05                	jmp    0x40d255
40d250:	8b 46 04             	mov    0x4(%esi),%eax
40d253:	88 18                	mov    %bl,(%eax)
40d255:	8b 75 fc             	mov    -0x4(%ebp),%esi
40d258:	e8 34 f7 ff ff       	call   0x40c991
40d25d:	89 30                	mov    %esi,(%eax)
40d25f:	8b 75 f8             	mov    -0x8(%ebp),%esi
40d262:	e8 1e f7 ff ff       	call   0x40c985
40d267:	89 30                	mov    %esi,(%eax)
40d269:	8b 75 f4             	mov    -0xc(%ebp),%esi
40d26c:	e8 1a f7 ff ff       	call   0x40c98b
40d271:	89 30                	mov    %esi,(%eax)
40d273:	5e                   	pop    %esi
40d274:	5b                   	pop    %ebx
40d275:	8b e5                	mov    %ebp,%esp
40d277:	5d                   	pop    %ebp
40d278:	c3                   	ret
40d279:	53                   	push   %ebx
40d27a:	53                   	push   %ebx
40d27b:	53                   	push   %ebx
40d27c:	53                   	push   %ebx
40d27d:	53                   	push   %ebx
40d27e:	e8 d8 a9 ff ff       	call   0x407c5b
40d283:	cc                   	int3
40d284:	8b ff                	mov    %edi,%edi
40d286:	55                   	push   %ebp
40d287:	8b ec                	mov    %esp,%ebp
40d289:	81 ec 0c 01 00 00    	sub    $0x10c,%esp
40d28f:	a1 0c 30 42 00       	mov    0x42300c,%eax
40d294:	33 c5                	xor    %ebp,%eax
40d296:	89 45 fc             	mov    %eax,-0x4(%ebp)
40d299:	83 0d 94 32 42 00 ff 	orl    $0xffffffff,0x423294
40d2a0:	8d 85 fc fe ff ff    	lea    -0x104(%ebp),%eax
40d2a6:	83 0d 88 32 42 00 ff 	orl    $0xffffffff,0x423288
40d2ad:	53                   	push   %ebx
40d2ae:	56                   	push   %esi
40d2af:	57                   	push   %edi
40d2b0:	bb 64 ca 41 00       	mov    $0x41ca64,%ebx
40d2b5:	33 ff                	xor    %edi,%edi
40d2b7:	53                   	push   %ebx
40d2b8:	68 00 01 00 00       	push   $0x100
40d2bd:	50                   	push   %eax
40d2be:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
40d2c4:	89 3d b0 44 42 00    	mov    %edi,0x4244b0
40d2ca:	50                   	push   %eax
40d2cb:	e8 b2 66 00 00       	call   0x413982
40d2d0:	83 c4 10             	add    $0x10,%esp
40d2d3:	85 c0                	test   %eax,%eax
40d2d5:	75 08                	jne    0x40d2df
40d2d7:	8d bd fc fe ff ff    	lea    -0x104(%ebp),%edi
40d2dd:	eb 46                	jmp    0x40d325
40d2df:	83 f8 22             	cmp    $0x22,%eax
40d2e2:	75 41                	jne    0x40d325
40d2e4:	ff b5 f8 fe ff ff    	push   -0x108(%ebp)
40d2ea:	e8 6f c5 ff ff       	call   0x40985e
40d2ef:	8b f0                	mov    %eax,%esi
40d2f1:	59                   	pop    %ecx
40d2f2:	85 f6                	test   %esi,%esi
40d2f4:	75 08                	jne    0x40d2fe
40d2f6:	57                   	push   %edi
40d2f7:	e8 28 c5 ff ff       	call   0x409824
40d2fc:	eb 26                	jmp    0x40d324
40d2fe:	53                   	push   %ebx
40d2ff:	ff b5 f8 fe ff ff    	push   -0x108(%ebp)
40d305:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
40d30b:	56                   	push   %esi
40d30c:	50                   	push   %eax
40d30d:	e8 70 66 00 00       	call   0x413982
40d312:	83 c4 10             	add    $0x10,%esp
40d315:	85 c0                	test   %eax,%eax
40d317:	74 03                	je     0x40d31c
40d319:	56                   	push   %esi
40d31a:	eb db                	jmp    0x40d2f7
40d31c:	57                   	push   %edi
40d31d:	e8 02 c5 ff ff       	call   0x409824
40d322:	8b fe                	mov    %esi,%edi
40d324:	59                   	pop    %ecx
40d325:	8d 85 fc fe ff ff    	lea    -0x104(%ebp),%eax
40d32b:	8b f7                	mov    %edi,%esi
40d32d:	2b f0                	sub    %eax,%esi
40d32f:	f7 de                	neg    %esi
40d331:	1b f6                	sbb    %esi,%esi
40d333:	23 f7                	and    %edi,%esi
40d335:	85 ff                	test   %edi,%edi
40d337:	74 0e                	je     0x40d347
40d339:	80 3f 00             	cmpb   $0x0,(%edi)
40d33c:	74 09                	je     0x40d347
40d33e:	57                   	push   %edi
40d33f:	e8 10 fc ff ff       	call   0x40cf54
40d344:	59                   	pop    %ecx
40d345:	eb 05                	jmp    0x40d34c
40d347:	e8 dd fd ff ff       	call   0x40d129
40d34c:	56                   	push   %esi
40d34d:	e8 d2 c4 ff ff       	call   0x409824
40d352:	59                   	pop    %ecx
40d353:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40d356:	5f                   	pop    %edi
40d357:	5e                   	pop    %esi
40d358:	33 cd                	xor    %ebp,%ecx
40d35a:	5b                   	pop    %ebx
40d35b:	e8 f6 5b ff ff       	call   0x402f56
40d360:	8b e5                	mov    %ebp,%esp
40d362:	5d                   	pop    %ebp
40d363:	c3                   	ret
40d364:	6a 08                	push   $0x8
40d366:	68 a0 1d 42 00       	push   $0x421da0
40d36b:	e8 e0 67 ff ff       	call   0x403b50
40d370:	a1 64 45 42 00       	mov    0x424564,%eax
40d375:	85 c0                	test   %eax,%eax
40d377:	75 2d                	jne    0x40d3a6
40d379:	6a 06                	push   $0x6
40d37b:	e8 25 1b 00 00       	call   0x40eea5
40d380:	59                   	pop    %ecx
40d381:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40d385:	a1 64 45 42 00       	mov    0x424564,%eax
40d38a:	85 c0                	test   %eax,%eax
40d38c:	75 0c                	jne    0x40d39a
40d38e:	e8 f1 fe ff ff       	call   0x40d284
40d393:	f0 ff 05 64 45 42 00 	lock incl 0x424564
40d39a:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40d3a1:	e8 06 00 00 00       	call   0x40d3ac
40d3a6:	e8 eb 67 ff ff       	call   0x403b96
40d3ab:	c3                   	ret
40d3ac:	6a 06                	push   $0x6
40d3ae:	e8 3a 1b 00 00       	call   0x40eeed
40d3b3:	59                   	pop    %ecx
40d3b4:	c3                   	ret
40d3b5:	6a 0c                	push   $0xc
40d3b7:	68 80 1d 42 00       	push   $0x421d80
40d3bc:	e8 8f 67 ff ff       	call   0x403b50
40d3c1:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
40d3c5:	6a 06                	push   $0x6
40d3c7:	e8 d9 1a 00 00       	call   0x40eea5
40d3cc:	59                   	pop    %ecx