40f154:	6b 65 72 6e          	imul   $0x6e,0x72(%ebp),%esp
40f158:	65 6c                	gs insb (%dx),%es:(%edi)
40f15a:	33 32                	xor    (%edx),%esi
40f15c:	2e 64 6c             	cs fs insb (%dx),%es:(%edi)
40f15f:	6c                   	insb   (%dx),%es:(%edi)
40f160:	00 00                	add    %al,(%eax)
40f162:	00 00                	add    %al,(%eax)
40f164:	43                   	inc    %ebx
40f165:	72 65                	jb     0x40f1cc
40f167:	61                   	popa
40f168:	74 65                	je     0x40f1cf
40f16a:	54                   	push   %esp
40f16b:	6f                   	outsl  %ds:(%esi),(%dx)
40f16c:	6f                   	outsl  %ds:(%esi),(%dx)
40f16d:	6c                   	insb   (%dx),%es:(%edi)
40f16e:	68 65 6c 70 33       	push   $0x33706c65
40f173:	32 53 6e             	xor    0x6e(%ebx),%dl
40f176:	61                   	popa
40f177:	70 73                	jo     0x40f1ec
40f179:	68 6f 74 00 00       	push   $0x746f
40f17e:	00 00                	add    %al,(%eax)
40f180:	48                   	dec    %eax
40f181:	65 61                	gs popa
40f183:	70 33                	jo     0x40f1b8
40f185:	32 4c 69 73          	xor    0x73(%ecx,%ebp,2),%cl
40f189:	74 46                	je     0x40f1d1
40f18b:	69 72 73 74 00 48 65 	imul   $0x65480074,0x73(%edx),%esi
40f192:	61                   	popa
40f193:	70 33                	jo     0x40f1c8
40f195:	32 4c 69 73          	xor    0x73(%ecx,%ebp,2),%cl
40f199:	74 4e                	je     0x40f1e9
40f19b:	65 78 74             	gs js  0x40f212
40f19e:	00 00                	add    %al,(%eax)
40f1a0:	48                   	dec    %eax
40f1a1:	65 61                	gs popa
40f1a3:	70 33                	jo     0x40f1d8
40f1a5:	32 46 69             	xor    0x69(%esi),%al
40f1a8:	72 73                	jb     0x40f21d
40f1aa:	74 00                	je     0x40f1ac
40f1ac:	48                   	dec    %eax
40f1ad:	65 61                	gs popa
40f1af:	70 33                	jo     0x40f1e4
40f1b1:	32 4e 65             	xor    0x65(%esi),%cl
40f1b4:	78 74                	js     0x40f22a
40f1b6:	00 00                	add    %al,(%eax)
40f1b8:	54                   	push   %esp
40f1b9:	6f                   	outsl  %ds:(%esi),(%dx)
40f1ba:	6f                   	outsl  %ds:(%esi),(%dx)
40f1bb:	6c                   	insb   (%dx),%es:(%edi)
40f1bc:	68 65 6c 70 33       	push   $0x33706c65
40f1c1:	32 52 65             	xor    0x65(%edx),%dl
40f1c4:	61                   	popa
40f1c5:	64 50                	fs push %eax
40f1c7:	72 6f                	jb     0x40f238
40f1c9:	63 65 73             	arpl   %esp,0x73(%ebp)
40f1cc:	73 4d                	jae    0x40f21b
40f1ce:	65 6d                	gs insl (%dx),%es:(%edi)
40f1d0:	6f                   	outsl  %ds:(%esi),(%dx)
40f1d1:	72 79                	jb     0x40f24c
40f1d3:	00 50 72             	add    %dl,0x72(%eax)
40f1d6:	6f                   	outsl  %ds:(%esi),(%dx)
40f1d7:	63 65 73             	arpl   %esp,0x73(%ebp)
40f1da:	73 33                	jae    0x40f20f
40f1dc:	32 46 69             	xor    0x69(%esi),%al
40f1df:	72 73                	jb     0x40f254
40f1e1:	74 00                	je     0x40f1e3
40f1e3:	00 50 72             	add    %dl,0x72(%eax)
40f1e6:	6f                   	outsl  %ds:(%esi),(%dx)
40f1e7:	63 65 73             	arpl   %esp,0x73(%ebp)
40f1ea:	73 33                	jae    0x40f21f
40f1ec:	32 4e 65             	xor    0x65(%esi),%cl
40f1ef:	78 74                	js     0x40f265
40f1f1:	00 00                	add    %al,(%eax)
40f1f3:	00 50 72             	add    %dl,0x72(%eax)
40f1f6:	6f                   	outsl  %ds:(%esi),(%dx)
40f1f7:	63 65 73             	arpl   %esp,0x73(%ebp)
40f1fa:	73 33                	jae    0x40f22f
40f1fc:	32 46 69             	xor    0x69(%esi),%al
40f1ff:	72 73                	jb     0x40f274
40f201:	74 57                	je     0x40f25a
40f203:	00 50 72             	add    %dl,0x72(%eax)
40f206:	6f                   	outsl  %ds:(%esi),(%dx)
40f207:	63 65 73             	arpl   %esp,0x73(%ebp)
40f20a:	73 33                	jae    0x40f23f
40f20c:	32 4e 65             	xor    0x65(%esi),%cl
40f20f:	78 74                	js     0x40f285
40f211:	57                   	push   %edi
40f212:	00 00                	add    %al,(%eax)
40f214:	54                   	push   %esp
40f215:	68 72 65 61 64       	push   $0x64616572
40f21a:	33 32                	xor    (%edx),%esi
40f21c:	46                   	inc    %esi
40f21d:	69 72 73 74 00 00 00 	imul   $0x74,0x73(%edx),%esi
40f224:	54                   	push   %esp
40f225:	68 72 65 61 64       	push   $0x64616572
40f22a:	33 32                	xor    (%edx),%esi
40f22c:	4e                   	dec    %esi
40f22d:	65 78 74             	gs js  0x40f2a4
40f230:	00 00                	add    %al,(%eax)
40f232:	00 00                	add    %al,(%eax)
40f234:	4d                   	dec    %ebp
40f235:	6f                   	outsl  %ds:(%esi),(%dx)
40f236:	64 75 6c             	fs jne 0x40f2a5
40f239:	65 33 32             	xor    %gs:(%edx),%esi
40f23c:	46                   	inc    %esi
40f23d:	69 72 73 74 00 00 00 	imul   $0x74,0x73(%edx),%esi
40f244:	4d                   	dec    %ebp
40f245:	6f                   	outsl  %ds:(%esi),(%dx)
40f246:	64 75 6c             	fs jne 0x40f2b5
40f249:	65 33 32             	xor    %gs:(%edx),%esi
40f24c:	4e                   	dec    %esi
40f24d:	65 78 74             	gs js  0x40f2c4
40f250:	00 00                	add    %al,(%eax)
40f252:	00 00                	add    %al,(%eax)
40f254:	4d                   	dec    %ebp
40f255:	6f                   	outsl  %ds:(%esi),(%dx)
40f256:	64 75 6c             	fs jne 0x40f2c5
40f259:	65 33 32             	xor    %gs:(%edx),%esi
40f25c:	46                   	inc    %esi
40f25d:	69 72 73 74 57 00 00 	imul   $0x5774,0x73(%edx),%esi
40f264:	4d                   	dec    %ebp
40f265:	6f                   	outsl  %ds:(%esi),(%dx)
40f266:	64 75 6c             	fs jne 0x40f2d5
40f269:	65 33 32             	xor    %gs:(%edx),%esi
40f26c:	4e                   	dec    %esi
40f26d:	65 78 74             	gs js  0x40f2e4
40f270:	57                   	push   %edi
40f271:	00 00                	add    %al,(%eax)
40f273:	00 53 56             	add    %dl,0x56(%ebx)
40f276:	8b f2                	mov    %edx,%esi
40f278:	8b d8                	mov    %eax,%ebx
40f27a:	e8 79 fd ff ff       	call   0x40eff8
40f27f:	84 c0                	test   %al,%al
40f281:	74 0b                	je     0x40f28e
40f283:	56                   	push   %esi
40f284:	53                   	push   %ebx
40f285:	ff 15 84 99 42 00    	call   *0x429984
40f28b:	5e                   	pop    %esi
40f28c:	5b                   	pop    %ebx
40f28d:	c3                   	ret
40f28e:	33 c0                	xor    %eax,%eax
40f290:	5e                   	pop    %esi
40f291:	5b                   	pop    %ebx
40f292:	c3                   	ret
40f293:	90                   	nop
40f294:	53                   	push   %ebx
40f295:	56                   	push   %esi
40f296:	8b f2                	mov    %edx,%esi
40f298:	8b d8                	mov    %eax,%ebx
40f29a:	e8 59 fd ff ff       	call   0x40eff8
40f29f:	84 c0                	test   %al,%al
40f2a1:	74 0b                	je     0x40f2ae
40f2a3:	56                   	push   %esi
40f2a4:	53                   	push   %ebx
40f2a5:	ff 15 9c 99 42 00    	call   *0x42999c
40f2ab:	5e                   	pop    %esi
40f2ac:	5b                   	pop    %ebx
40f2ad:	c3                   	ret
40f2ae:	33 c0                	xor    %eax,%eax
40f2b0:	5e                   	pop    %esi
40f2b1:	5b                   	pop    %ebx
40f2b2:	c3                   	ret
40f2b3:	90                   	nop
40f2b4:	53                   	push   %ebx
40f2b5:	56                   	push   %esi
40f2b6:	8b f2                	mov    %edx,%esi
40f2b8:	8b d8                	mov    %eax,%ebx
40f2ba:	e8 39 fd ff ff       	call   0x40eff8
40f2bf:	84 c0                	test   %al,%al
40f2c1:	74 0b                	je     0x40f2ce
40f2c3:	56                   	push   %esi
40f2c4:	53                   	push   %ebx
40f2c5:	ff 15 a0 99 42 00    	call   *0x4299a0
40f2cb:	5e                   	pop    %esi
40f2cc:	5b                   	pop    %ebx
40f2cd:	c3                   	ret
40f2ce:	33 c0                	xor    %eax,%eax
40f2d0:	5e                   	pop    %esi
40f2d1:	5b                   	pop    %ebx
40f2d2:	c3                   	ret
40f2d3:	90                   	nop
40f2d4:	55                   	push   %ebp
40f2d5:	8b ec                	mov    %esp,%ebp
40f2d7:	33 c0                	xor    %eax,%eax
40f2d9:	55                   	push   %ebp
40f2da:	68 f9 f2 40 00       	push   $0x40f2f9
40f2df:	64 ff 30             	push   %fs:(%eax)
40f2e2:	64 89 20             	mov    %esp,%fs:(%eax)
40f2e5:	ff 05 7c 99 42 00    	incl   0x42997c
40f2eb:	33 c0                	xor    %eax,%eax
40f2ed:	5a                   	pop    %edx
40f2ee:	59                   	pop    %ecx
40f2ef:	59                   	pop    %ecx
40f2f0:	64 89 10             	mov    %edx,%fs:(%eax)
40f2f3:	68 00 f3 40 00       	push   $0x40f300
40f2f8:	c3                   	ret
40f2f9:	e9 0a 3e ff ff       	jmp    0x403108
40f2fe:	eb f8                	jmp    0x40f2f8
40f300:	5d                   	pop    %ebp
40f301:	c3                   	ret
40f302:	8b c0                	mov    %eax,%eax
40f304:	83 2d 7c 99 42 00 01 	subl   $0x1,0x42997c
40f30b:	c3                   	ret
40f30c:	6e                   	outsb  %ds:(%esi),(%dx)
40f30d:	65 65 64 20 64 69 63 	gs gs and %ah,%fs:0x63(%ecx,%ebp,2)
40f314:	74 69                	je     0x40f37f
40f316:	6f                   	outsl  %ds:(%esi),(%dx)
40f317:	6e                   	outsb  %ds:(%esi),(%dx)
40f318:	61                   	popa
40f319:	72 79                	jb     0x40f394
40f31b:	00 73 74             	add    %dh,0x74(%ebx)
40f31e:	72 65                	jb     0x40f385
40f320:	61                   	popa
40f321:	6d                   	insl   (%dx),%es:(%edi)
40f322:	20 65 6e             	and    %ah,0x6e(%ebp)
40f325:	64 00 00             	add    %al,%fs:(%eax)
40f328:	00 00                	add    %al,(%eax)
40f32a:	00 00                	add    %al,(%eax)
40f32c:	66 69 6c 65 20 65 72 	imul   $0x7265,0x20(%ebp,%eiz,2),%bp
40f333:	72 6f                	jb     0x40f3a4
40f335:	72 00                	jb     0x40f337
40f337:	00 73 74             	add    %dh,0x74(%ebx)
40f33a:	72 65                	jb     0x40f3a1
40f33c:	61                   	popa
40f33d:	6d                   	insl   (%dx),%es:(%edi)
40f33e:	20 65 72             	and    %ah,0x72(%ebp)
40f341:	72 6f                	jb     0x40f3b2
40f343:	72 00                	jb     0x40f345
40f345:	00 00                	add    %al,(%eax)
40f347:	00 64 61 74          	add    %ah,0x74(%ecx,%eiz,2)
40f34b:	61                   	popa
40f34c:	20 65 72             	and    %ah,0x72(%ebp)
40f34f:	72 6f                	jb     0x40f3c0
40f351:	72 00                	jb     0x40f353
40f353:	00 69 6e             	add    %ch,0x6e(%ecx)
40f356:	73 75                	jae    0x40f3cd
40f358:	66 66 69 63 69 65 6e 	data16 imul $0x6e65,0x69(%ebx),%sp
40f35f:	74 20                	je     0x40f381
40f361:	6d                   	insl   (%dx),%es:(%edi)
40f362:	65 6d                	gs insl (%dx),%es:(%edi)
40f364:	6f                   	outsl  %ds:(%esi),(%dx)
40f365:	72 79                	jb     0x40f3e0
40f367:	00 62 75             	add    %ah,0x75(%edx)
40f36a:	66 66 65 72 20       	data16 data16 gs jb 0x40f38f
40f36f:	65 72 72             	gs jb  0x40f3e4
40f372:	6f                   	outsl  %ds:(%esi),(%dx)
40f373:	72 00                	jb     0x40f375
40f375:	00 00                	add    %al,(%eax)
40f377:	00 69 6e             	add    %ch,0x6e(%ecx)
40f37a:	63 6f 6d             	arpl   %ebp,0x6d(%edi)
40f37d:	70 61                	jo     0x40f3e0
40f37f:	74 69                	je     0x40f3ea
40f381:	62 6c 65 20          	bound  %ebp,0x20(%ebp,%eiz,2)
40f385:	76 65                	jbe    0x40f3ec
40f387:	72 73                	jb     0x40f3fc
40f389:	69 6f 6e 00 00 00 00 	imul   $0x0,0x6e(%edi),%ebp
40f390:	55                   	push   %ebp
40f391:	8b ec                	mov    %esp,%ebp
40f393:	8b 45 08             	mov    0x8(%ebp),%eax
40f396:	8a 4d 0c             	mov    0xc(%ebp),%cl
40f399:	8b 55 10             	mov    0x10(%ebp),%edx
40f39c:	e8 f3 36 ff ff       	call   0x402a94
40f3a1:	5d                   	pop    %ebp
40f3a2:	c3                   	ret
40f3a3:	90                   	nop
40f3a4:	55                   	push   %ebp
40f3a5:	8b ec                	mov    %esp,%ebp
40f3a7:	8b 55 08             	mov    0x8(%ebp),%edx
40f3aa:	8b 45 0c             	mov    0xc(%ebp),%eax
40f3ad:	8b 4d 10             	mov    0x10(%ebp),%ecx
40f3b0:	e8 8f 35 ff ff       	call   0x402944
40f3b5:	5d                   	pop    %ebp
40f3b6:	c3                   	ret
40f3b7:	90                   	nop
40f3b8:	8b c2                	mov    %edx,%eax
40f3ba:	f7 e9                	imul   %ecx
40f3bc:	e8 6f 34 ff ff       	call   0x402830
40f3c1:	c3                   	ret
40f3c2:	8b c0                	mov    %eax,%eax
40f3c4:	8b c2                	mov    %edx,%eax
40f3c6:	e8 95 34 ff ff       	call   0x402860
40f3cb:	c3                   	ret
40f3cc:	55                   	push   %ebp
40f3cd:	8b ec                	mov    %esp,%ebp
40f3cf:	6a 0f                	push   $0xf
40f3d1:	6a 08                	push   $0x8
40f3d3:	6a 00                	push   $0x0
40f3d5:	51                   	push   %ecx
40f3d6:	8b 4d 08             	mov    0x8(%ebp),%ecx
40f3d9:	51                   	push   %ecx
40f3da:	b9 08 00 00 00       	mov    $0x8,%ecx
40f3df:	e8 04 00 00 00       	call   0x40f3e8
40f3e4:	5d                   	pop    %ebp
40f3e5:	c2 04 00             	ret    $0x4
40f3e8:	55                   	push   %ebp
40f3e9:	8b ec                	mov    %esp,%ebp
40f3eb:	83 c4 f4             	add    $0xfffffff4,%esp
40f3ee:	53                   	push   %ebx
40f3ef:	56                   	push   %esi
40f3f0:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40f3f3:	89 55 fc             	mov    %edx,-0x4(%ebp)
40f3f6:	8b f0                	mov    %eax,%esi
40f3f8:	8b 45 0c             	mov    0xc(%ebp),%eax
40f3fb:	33 d2                	xor    %edx,%edx
40f3fd:	85 c0                	test   %eax,%eax
40f3ff:	89 55 f4             	mov    %edx,-0xc(%ebp)
40f402:	74 12                	je     0x40f416
40f404:	8a 00                	mov    (%eax),%al
40f406:	8b 0d 68 65 42 00    	mov    0x426568,%ecx
40f40c:	3a 01                	cmp    (%ecx),%al
40f40e:	75 06                	jne    0x40f416
40f410:	83 7d 08 38          	cmpl   $0x38,0x8(%ebp)
40f414:	74 0a                	je     0x40f420
40f416:	b8 fa ff ff ff       	mov    $0xfffffffa,%eax
40f41b:	e9 cc 01 00 00       	jmp    0x40f5ec
40f420:	85 f6                	test   %esi,%esi
40f422:	75 0a                	jne    0x40f42e
40f424:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
40f429:	e9 be 01 00 00       	jmp    0x40f5ec
40f42e:	33 d2                	xor    %edx,%edx
40f430:	89 56 18             	mov    %edx,0x18(%esi)
40f433:	83 7e 20 00          	cmpl   $0x0,0x20(%esi)
40f437:	75 0c                	jne    0x40f445
40f439:	c7 46 20 b8 f3 40 00 	movl   $0x40f3b8,0x20(%esi)
40f440:	33 c9                	xor    %ecx,%ecx
40f442:	89 4e 28             	mov    %ecx,0x28(%esi)
40f445:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
40f449:	75 07                	jne    0x40f452
40f44b:	c7 46 24 c4 f3 40 00 	movl   $0x40f3c4,0x24(%esi)
40f452:	83 7d fc ff          	cmpl   $0xffffffff,-0x4(%ebp)
40f456:	75 07                	jne    0x40f45f
40f458:	c7 45 fc 06 00 00 00 	movl   $0x6,-0x4(%ebp)
40f45f:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
40f463:	7d 0a                	jge    0x40f46f
40f465:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
40f46c:	f7 5d 18             	negl   0x18(%ebp)
40f46f:	83 7d 14 01          	cmpl   $0x1,0x14(%ebp)
40f473:	7c 30                	jl     0x40f4a5
40f475:	83 7d 14 09          	cmpl   $0x9,0x14(%ebp)
40f479:	7f 2a                	jg     0x40f4a5
40f47b:	83 7d f8 08          	cmpl   $0x8,-0x8(%ebp)
40f47f:	75 24                	jne    0x40f4a5
40f481:	83 7d 18 09          	cmpl   $0x9,0x18(%ebp)
40f485:	7c 1e                	jl     0x40f4a5
40f487:	83 7d 18 0f          	cmpl   $0xf,0x18(%ebp)
40f48b:	7f 18                	jg     0x40f4a5
40f48d:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
40f491:	7c 12                	jl     0x40f4a5
40f493:	83 7d fc 09          	cmpl   $0x9,-0x4(%ebp)
40f497:	7f 0c                	jg     0x40f4a5