40d066:	40                   	inc    %eax
40d067:	5d                   	pop    %ebp
40d068:	c2 08 00             	ret    $0x8
40d06b:	83 25 60 6d 41 00 00 	andl   $0x0,0x416d60
40d072:	b8 60 6d 41 00       	mov    $0x416d60,%eax
40d077:	c3                   	ret
40d078:	55                   	push   %ebp
40d079:	8b ec                	mov    %esp,%ebp
40d07b:	56                   	push   %esi
40d07c:	8b 75 08             	mov    0x8(%ebp),%esi
40d07f:	8b ce                	mov    %esi,%ecx
40d081:	57                   	push   %edi
40d082:	66 8b 96 04 01 00 00 	mov    0x104(%esi),%dx
40d089:	e8 b6 02 00 00       	call   0x40d344
40d08e:	8b f8                	mov    %eax,%edi
40d090:	83 ff ff             	cmp    $0xffffffff,%edi
40d093:	74 51                	je     0x40d0e6
40d095:	53                   	push   %ebx
40d096:	33 db                	xor    %ebx,%ebx
40d098:	53                   	push   %ebx
40d099:	6a 0a                	push   $0xa
40d09b:	68 f0 3b 41 00       	push   $0x413bf0
40d0a0:	57                   	push   %edi
40d0a1:	ff 15 dc 22 41 00    	call   *0x4122dc
40d0a7:	85 c0                	test   %eax,%eax
40d0a9:	7e 3a                	jle    0x40d0e5
40d0ab:	89 5d 08             	mov    %ebx,0x8(%ebp)
40d0ae:	53                   	push   %ebx
40d0af:	8b 1d 10 23 41 00    	mov    0x412310,%ebx
40d0b5:	eb 21                	jmp    0x40d0d8
40d0b7:	8b 45 08             	mov    0x8(%ebp),%eax
40d0ba:	89 86 04 01 00 00    	mov    %eax,0x104(%esi)
40d0c0:	33 c0                	xor    %eax,%eax
40d0c2:	50                   	push   %eax
40d0c3:	50                   	push   %eax
40d0c4:	56                   	push   %esi
40d0c5:	68 f5 d0 40 00       	push   $0x40d0f5
40d0ca:	50                   	push   %eax
40d0cb:	50                   	push   %eax
40d0cc:	ff 15 8c 20 41 00    	call   *0x41208c
40d0d2:	83 65 08 00          	andl   $0x0,0x8(%ebp)
40d0d6:	6a 00                	push   $0x0
40d0d8:	6a 04                	push   $0x4
40d0da:	8d 45 08             	lea    0x8(%ebp),%eax
40d0dd:	50                   	push   %eax
40d0de:	57                   	push   %edi
40d0df:	ff d3                	call   *%ebx
40d0e1:	85 c0                	test   %eax,%eax
40d0e3:	7f d2                	jg     0x40d0b7
40d0e5:	5b                   	pop    %ebx
40d0e6:	56                   	push   %esi
40d0e7:	e8 d5 3f ff ff       	call   0x4010c1
40d0ec:	59                   	pop    %ecx
40d0ed:	5f                   	pop    %edi
40d0ee:	33 c0                	xor    %eax,%eax
40d0f0:	5e                   	pop    %esi
40d0f1:	5d                   	pop    %ebp
40d0f2:	c2 04 00             	ret    $0x4
40d0f5:	55                   	push   %ebp
40d0f6:	8b ec                	mov    %esp,%ebp
40d0f8:	83 e4 f8             	and    $0xfffffff8,%esp
40d0fb:	81 ec 1c 01 00 00    	sub    $0x11c,%esp
40d101:	8b 4d 08             	mov    0x8(%ebp),%ecx
40d104:	53                   	push   %ebx
40d105:	56                   	push   %esi
40d106:	33 db                	xor    %ebx,%ebx
40d108:	66 8b 91 04 01 00 00 	mov    0x104(%ecx),%dx
40d10f:	57                   	push   %edi
40d110:	88 5c 24 0f          	mov    %bl,0xf(%esp)
40d114:	88 5c 24 0e          	mov    %bl,0xe(%esp)
40d118:	e8 27 02 00 00       	call   0x40d344
40d11d:	8b f0                	mov    %eax,%esi
40d11f:	83 fe ff             	cmp    $0xffffffff,%esi
40d122:	0f 84 29 01 00 00    	je     0x40d251
40d128:	53                   	push   %ebx
40d129:	8b 1d 10 23 41 00    	mov    0x412310,%ebx
40d12f:	8d 44 24 13          	lea    0x13(%esp),%eax
40d133:	6a 01                	push   $0x1
40d135:	50                   	push   %eax
40d136:	56                   	push   %esi
40d137:	ff d3                	call   *%ebx
40d139:	85 c0                	test   %eax,%eax
40d13b:	0f 8e 10 01 00 00    	jle    0x40d251
40d141:	33 ff                	xor    %edi,%edi
40d143:	8d 44 24 0e          	lea    0xe(%esp),%eax
40d147:	57                   	push   %edi
40d148:	6a 01                	push   $0x1
40d14a:	50                   	push   %eax
40d14b:	56                   	push   %esi
40d14c:	ff d3                	call   *%ebx
40d14e:	85 c0                	test   %eax,%eax
40d150:	0f 8e fb 00 00 00    	jle    0x40d251
40d156:	57                   	push   %edi
40d157:	6a 02                	push   $0x2
40d159:	8d 44 24 18          	lea    0x18(%esp),%eax
40d15d:	50                   	push   %eax
40d15e:	56                   	push   %esi
40d15f:	ff d3                	call   *%ebx
40d161:	85 c0                	test   %eax,%eax
40d163:	0f 8e e8 00 00 00    	jle    0x40d251
40d169:	ff 74 24 10          	push   0x10(%esp)
40d16d:	ff 15 f4 22 41 00    	call   *0x4122f4
40d173:	0f b7 c0             	movzwl %ax,%eax
40d176:	57                   	push   %edi
40d177:	89 44 24 14          	mov    %eax,0x14(%esp)
40d17b:	8d 44 24 18          	lea    0x18(%esp),%eax
40d17f:	6a 04                	push   $0x4
40d181:	50                   	push   %eax
40d182:	56                   	push   %esi
40d183:	ff d3                	call   *%ebx
40d185:	85 c0                	test   %eax,%eax
40d187:	0f 8e c4 00 00 00    	jle    0x40d251
40d18d:	33 c0                	xor    %eax,%eax
40d18f:	8d 7c 24 18          	lea    0x18(%esp),%edi
40d193:	ab                   	stos   %eax,%es:(%edi)
40d194:	68 ff 00 00 00       	push   $0xff
40d199:	6a 00                	push   $0x0
40d19b:	ab                   	stos   %eax,%es:(%edi)
40d19c:	ab                   	stos   %eax,%es:(%edi)
40d19d:	ab                   	stos   %eax,%es:(%edi)
40d19e:	8d 44 24 30          	lea    0x30(%esp),%eax
40d1a2:	50                   	push   %eax
40d1a3:	e8 aa 3e ff ff       	call   0x401052
40d1a8:	8b 4c 24 20          	mov    0x20(%esp),%ecx
40d1ac:	8b c1                	mov    %ecx,%eax
40d1ae:	c1 e8 18             	shr    $0x18,%eax
40d1b1:	50                   	push   %eax
40d1b2:	8b c1                	mov    %ecx,%eax
40d1b4:	c1 e8 10             	shr    $0x10,%eax
40d1b7:	0f b6 c0             	movzbl %al,%eax
40d1ba:	50                   	push   %eax
40d1bb:	8b c1                	mov    %ecx,%eax
40d1bd:	c1 e8 08             	shr    $0x8,%eax
40d1c0:	0f b6 c0             	movzbl %al,%eax
40d1c3:	50                   	push   %eax
40d1c4:	0f b6 c1             	movzbl %cl,%eax
40d1c7:	50                   	push   %eax
40d1c8:	8d 44 24 34          	lea    0x34(%esp),%eax
40d1cc:	68 e0 3b 41 00       	push   $0x413be0
40d1d1:	50                   	push   %eax
40d1d2:	ff 15 a0 22 41 00    	call   *0x4122a0
40d1d8:	83 c4 24             	add    $0x24,%esp
40d1db:	33 ff                	xor    %edi,%edi
40d1dd:	6a 00                	push   $0x0
40d1df:	68 ff 00 00 00       	push   $0xff
40d1e4:	8d 44 24 30          	lea    0x30(%esp),%eax
40d1e8:	50                   	push   %eax
40d1e9:	56                   	push   %esi
40d1ea:	ff d3                	call   *%ebx
40d1ec:	85 c0                	test   %eax,%eax
40d1ee:	7e 61                	jle    0x40d251
40d1f0:	80 7c 3c 28 00       	cmpb   $0x0,0x28(%esp,%edi,1)
40d1f5:	74 0b                	je     0x40d202
40d1f7:	47                   	inc    %edi
40d1f8:	81 ff ff 00 00 00    	cmp    $0xff,%edi
40d1fe:	72 dd                	jb     0x40d1dd
40d200:	eb 4f                	jmp    0x40d251
40d202:	80 7c 24 0e 01       	cmpb   $0x1,0xe(%esp)
40d207:	74 0b                	je     0x40d214
40d209:	b2 5b                	mov    $0x5b,%dl
40d20b:	8b ce                	mov    %esi,%ecx
40d20d:	e8 4a 00 00 00       	call   0x40d25c
40d212:	eb 3d                	jmp    0x40d251
40d214:	8b 54 24 10          	mov    0x10(%esp),%edx
40d218:	8d 4c 24 18          	lea    0x18(%esp),%ecx
40d21c:	e8 23 01 00 00       	call   0x40d344
40d221:	8b f8                	mov    %eax,%edi
40d223:	83 ff ff             	cmp    $0xffffffff,%edi
40d226:	74 29                	je     0x40d251
40d228:	b2 5a                	mov    $0x5a,%dl
40d22a:	8b ce                	mov    %esi,%ecx
40d22c:	e8 2b 00 00 00       	call   0x40d25c
40d231:	85 c0                	test   %eax,%eax
40d233:	7e 1c                	jle    0x40d251
40d235:	eb 0d                	jmp    0x40d244
40d237:	8b d7                	mov    %edi,%edx
40d239:	8b ce                	mov    %esi,%ecx
40d23b:	e8 7d 00 00 00       	call   0x40d2bd
40d240:	85 c0                	test   %eax,%eax
40d242:	74 0d                	je     0x40d251
40d244:	8b d6                	mov    %esi,%edx
40d246:	8b cf                	mov    %edi,%ecx
40d248:	e8 70 00 00 00       	call   0x40d2bd
40d24d:	85 c0                	test   %eax,%eax
40d24f:	75 e6                	jne    0x40d237
40d251:	5f                   	pop    %edi
40d252:	5e                   	pop    %esi
40d253:	33 c0                	xor    %eax,%eax
40d255:	5b                   	pop    %ebx
40d256:	8b e5                	mov    %ebp,%esp
40d258:	5d                   	pop    %ebp
40d259:	c2 04 00             	ret    $0x4
40d25c:	55                   	push   %ebp
40d25d:	8b ec                	mov    %esp,%ebp
40d25f:	51                   	push   %ecx
40d260:	53                   	push   %ebx
40d261:	8b 1d dc 22 41 00    	mov    0x4122dc,%ebx
40d267:	8d 45 ff             	lea    -0x1(%ebp),%eax
40d26a:	56                   	push   %esi
40d26b:	57                   	push   %edi
40d26c:	6a 00                	push   $0x0
40d26e:	6a 01                	push   $0x1
40d270:	8b f9                	mov    %ecx,%edi
40d272:	88 55 fe             	mov    %dl,-0x2(%ebp)
40d275:	50                   	push   %eax
40d276:	57                   	push   %edi
40d277:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
40d27b:	ff d3                	call   *%ebx
40d27d:	85 c0                	test   %eax,%eax
40d27f:	7e 35                	jle    0x40d2b6
40d281:	8a 45 fe             	mov    -0x2(%ebp),%al
40d284:	6a 00                	push   $0x0
40d286:	88 45 ff             	mov    %al,-0x1(%ebp)
40d289:	8d 45 ff             	lea    -0x1(%ebp),%eax
40d28c:	6a 01                	push   $0x1
40d28e:	50                   	push   %eax
40d28f:	57                   	push   %edi
40d290:	ff d3                	call   *%ebx
40d292:	85 c0                	test   %eax,%eax
40d294:	7e 20                	jle    0x40d2b6
40d296:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
40d29a:	33 f6                	xor    %esi,%esi
40d29c:	6a 00                	push   $0x0
40d29e:	6a 01                	push   $0x1
40d2a0:	8d 45 ff             	lea    -0x1(%ebp),%eax
40d2a3:	50                   	push   %eax
40d2a4:	57                   	push   %edi
40d2a5:	ff d3                	call   *%ebx
40d2a7:	85 c0                	test   %eax,%eax
40d2a9:	7e 0b                	jle    0x40d2b6
40d2ab:	46                   	inc    %esi
40d2ac:	83 fe 06             	cmp    $0x6,%esi
40d2af:	7c eb                	jl     0x40d29c
40d2b1:	33 c0                	xor    %eax,%eax
40d2b3:	40                   	inc    %eax
40d2b4:	eb 02                	jmp    0x40d2b8
40d2b6:	33 c0                	xor    %eax,%eax
40d2b8:	5f                   	pop    %edi
40d2b9:	5e                   	pop    %esi
40d2ba:	5b                   	pop    %ebx
40d2bb:	c9                   	leave
40d2bc:	c3                   	ret
40d2bd:	55                   	push   %ebp
40d2be:	8b ec                	mov    %esp,%ebp
40d2c0:	81 ec 04 08 00 00    	sub    $0x804,%esp
40d2c6:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40d2ca:	8d 45 fc             	lea    -0x4(%ebp),%eax
40d2cd:	56                   	push   %esi
40d2ce:	57                   	push   %edi
40d2cf:	50                   	push   %eax
40d2d0:	8b f1                	mov    %ecx,%esi
40d2d2:	8b fa                	mov    %edx,%edi
40d2d4:	68 7f 66 04 40       	push   $0x4004667f
40d2d9:	56                   	push   %esi
40d2da:	ff 15 f0 22 41 00    	call   *0x4122f0
40d2e0:	83 f8 ff             	cmp    $0xffffffff,%eax
40d2e3:	74 4c                	je     0x40d331
40d2e5:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
40d2e9:	74 4c                	je     0x40d337
40d2eb:	53                   	push   %ebx
40d2ec:	bb 00 08 00 00       	mov    $0x800,%ebx
40d2f1:	8d 85 fc f7 ff ff    	lea    -0x804(%ebp),%eax
40d2f7:	53                   	push   %ebx
40d2f8:	6a 00                	push   $0x0
40d2fa:	50                   	push   %eax
40d2fb:	e8 52 3d ff ff       	call   0x401052
40d300:	83 c4 0c             	add    $0xc,%esp
40d303:	8d 85 fc f7 ff ff    	lea    -0x804(%ebp),%eax
40d309:	6a 00                	push   $0x0
40d30b:	53                   	push   %ebx
40d30c:	50                   	push   %eax
40d30d:	56                   	push   %esi
40d30e:	ff 15 10 23 41 00    	call   *0x412310
40d314:	89 45 fc             	mov    %eax,-0x4(%ebp)
40d317:	5b                   	pop    %ebx
40d318:	85 c0                	test   %eax,%eax
40d31a:	74 15                	je     0x40d331
40d31c:	6a 00                	push   $0x0
40d31e:	50                   	push   %eax
40d31f:	8d 85 fc f7 ff ff    	lea    -0x804(%ebp),%eax
40d325:	50                   	push   %eax
40d326:	57                   	push   %edi
40d327:	ff 15 dc 22 41 00    	call   *0x4122dc
40d32d:	85 c0                	test   %eax,%eax
40d32f:	7f 0e                	jg     0x40d33f
40d331:	33 c0                	xor    %eax,%eax
40d333:	5f                   	pop    %edi
40d334:	5e                   	pop    %esi
40d335:	c9                   	leave
40d336:	c3                   	ret
40d337:	6a 01                	push   $0x1
40d339:	ff 15 e4 21 41 00    	call   *0x4121e4
40d33f:	33 c0                	xor    %eax,%eax
40d341:	40                   	inc    %eax
40d342:	eb ef                	jmp    0x40d333
40d344:	55                   	push   %ebp
40d345:	8b ec                	mov    %esp,%ebp
40d347:	83 e4 f8             	and    $0xfffffff8,%esp
40d34a:	81 ec a4 01 00 00    	sub    $0x1a4,%esp
40d350:	8d 44 24 14          	lea    0x14(%esp),%eax
40d354:	53                   	push   %ebx
40d355:	56                   	push   %esi
40d356:	57                   	push   %edi
40d357:	50                   	push   %eax
40d358:	68 02 02 00 00       	push   $0x202
40d35d:	8b fa                	mov    %edx,%edi
40d35f:	8b d9                	mov    %ecx,%ebx
40d361:	ff 15 e0 22 41 00    	call   *0x4122e0
40d367:	85 c0                	test   %eax,%eax
40d369:	75 5c                	jne    0x40d3c7
40d36b:	50                   	push   %eax
40d36c:	6a 01                	push   $0x1
40d36e:	6a 02                	push   $0x2
40d370:	58                   	pop    %eax
40d371:	50                   	push   %eax
40d372:	ff 15 18 23 41 00    	call   *0x412318
40d378:	8b f0                	mov    %eax,%esi
40d37a:	83 fe ff             	cmp    $0xffffffff,%esi
40d37d:	74 48                	je     0x40d3c7
40d37f:	53                   	push   %ebx
40d380:	ff 15 f8 22 41 00    	call   *0x4122f8
40d386:	0f bf 48 0a          	movswl 0xa(%eax),%ecx
40d38a:	51                   	push   %ecx
40d38b:	8b 48 0c             	mov    0xc(%eax),%ecx
40d38e:	8d 44 24 18          	lea    0x18(%esp),%eax
40d392:	ff 31                	push   (%ecx)
40d394:	50                   	push   %eax
40d395:	e8 92 3c ff ff       	call   0x40102c
40d39a:	83 c4 0c             	add    $0xc,%esp
40d39d:	6a 02                	push   $0x2
40d39f:	58                   	pop    %eax
40d3a0:	57                   	push   %edi
40d3a1:	66 89 44 24 14       	mov    %ax,0x14(%esp)
40d3a6:	ff 15 0c 23 41 00    	call   *0x41230c
40d3ac:	66 89 44 24 12       	mov    %ax,0x12(%esp)
40d3b1:	8d 44 24 10          	lea    0x10(%esp),%eax
40d3b5:	6a 10                	push   $0x10
40d3b7:	50                   	push   %eax
40d3b8:	56                   	push   %esi
40d3b9:	ff 15 14 23 41 00    	call   *0x412314
40d3bf:	85 c0                	test   %eax,%eax
40d3c1:	75 04                	jne    0x40d3c7
40d3c3:	8b c6                	mov    %esi,%eax
40d3c5:	eb 02                	jmp    0x40d3c9
40d3c7:	33 c0                	xor    %eax,%eax
40d3c9:	5f                   	pop    %edi
40d3ca:	5e                   	pop    %esi
40d3cb:	5b                   	pop    %ebx
40d3cc:	8b e5                	mov    %ebp,%esp
40d3ce:	5d                   	pop    %ebp