40a022:	85 c0                	test   %eax,%eax
40a024:	74 15                	je     0x40a03b
40a026:	ba 20 a4 40 00       	mov    $0x40a420,%edx
40a02b:	b9 04 00 00 00       	mov    $0x4,%ecx
40a030:	8b c6                	mov    %esi,%eax
40a032:	e8 15 e7 ff ff       	call   0x40874c
40a037:	85 c0                	test   %eax,%eax
40a039:	75 19                	jne    0x40a054
40a03b:	c6 45 e2 01          	movb   $0x1,-0x1e(%ebp)
40a03f:	eb 13                	jmp    0x40a054
40a041:	8a 45 e1             	mov    -0x1f(%ebp),%al
40a044:	34 01                	xor    $0x1,%al
40a046:	88 45 e1             	mov    %al,-0x1f(%ebp)
40a049:	46                   	inc    %esi
40a04a:	8a 06                	mov    (%esi),%al
40a04c:	84 c0                	test   %al,%al
40a04e:	0f 85 61 ff ff ff    	jne    0x409fb5
40a054:	66 8b 45 ea          	mov    -0x16(%ebp),%ax
40a058:	80 7d e2 00          	cmpb   $0x0,-0x1e(%ebp)
40a05c:	74 15                	je     0x40a073
40a05e:	66 85 c0             	test   %ax,%ax
40a061:	75 06                	jne    0x40a069
40a063:	66 b8 0c 00          	mov    $0xc,%ax
40a067:	eb 0a                	jmp    0x40a073
40a069:	66 83 f8 0c          	cmp    $0xc,%ax
40a06d:	76 04                	jbe    0x40a073
40a06f:	66 83 e8 0c          	sub    $0xc,%ax
40a073:	83 7d f4 02          	cmpl   $0x2,-0xc(%ebp)
40a077:	7e 07                	jle    0x40a080
40a079:	c7 45 f4 02 00 00 00 	movl   $0x2,-0xc(%ebp)
40a080:	8b 55 08             	mov    0x8(%ebp),%edx
40a083:	52                   	push   %edx
40a084:	0f b7 c0             	movzwl %ax,%eax
40a087:	8b 55 f4             	mov    -0xc(%ebp),%edx
40a08a:	e8 95 f8 ff ff       	call   0x409924
40a08f:	59                   	pop    %ecx
40a090:	e9 3f 03 00 00       	jmp    0x40a3d4
40a095:	55                   	push   %ebp
40a096:	e8 d5 f8 ff ff       	call   0x409970
40a09b:	59                   	pop    %ecx
40a09c:	55                   	push   %ebp
40a09d:	e8 32 f9 ff ff       	call   0x4099d4
40a0a2:	59                   	pop    %ecx
40a0a3:	83 7d f4 02          	cmpl   $0x2,-0xc(%ebp)
40a0a7:	7e 07                	jle    0x40a0b0
40a0a9:	c7 45 f4 02 00 00 00 	movl   $0x2,-0xc(%ebp)
40a0b0:	8b 45 08             	mov    0x8(%ebp),%eax
40a0b3:	50                   	push   %eax
40a0b4:	0f b7 45 e8          	movzwl -0x18(%ebp),%eax
40a0b8:	8b 55 f4             	mov    -0xc(%ebp),%edx
40a0bb:	e8 64 f8 ff ff       	call   0x409924
40a0c0:	59                   	pop    %ecx
40a0c1:	e9 0e 03 00 00       	jmp    0x40a3d4
40a0c6:	55                   	push   %ebp
40a0c7:	e8 a4 f8 ff ff       	call   0x409970
40a0cc:	59                   	pop    %ecx
40a0cd:	55                   	push   %ebp
40a0ce:	e8 01 f9 ff ff       	call   0x4099d4
40a0d3:	59                   	pop    %ecx
40a0d4:	83 7d f4 02          	cmpl   $0x2,-0xc(%ebp)
40a0d8:	7e 07                	jle    0x40a0e1
40a0da:	c7 45 f4 02 00 00 00 	movl   $0x2,-0xc(%ebp)
40a0e1:	8b 45 08             	mov    0x8(%ebp),%eax
40a0e4:	50                   	push   %eax
40a0e5:	0f b7 45 e6          	movzwl -0x1a(%ebp),%eax
40a0e9:	8b 55 f4             	mov    -0xc(%ebp),%edx
40a0ec:	e8 33 f8 ff ff       	call   0x409924
40a0f1:	59                   	pop    %ecx
40a0f2:	e9 dd 02 00 00       	jmp    0x40a3d4
40a0f7:	55                   	push   %ebp
40a0f8:	e8 73 f8 ff ff       	call   0x409970
40a0fd:	59                   	pop    %ecx
40a0fe:	83 7d f4 01          	cmpl   $0x1,-0xc(%ebp)
40a102:	75 14                	jne    0x40a118
40a104:	8b 45 08             	mov    0x8(%ebp),%eax
40a107:	50                   	push   %eax
40a108:	a1 a0 e6 46 00       	mov    0x46e6a0,%eax
40a10d:	e8 72 fb ff ff       	call   0x409c84
40a112:	59                   	pop    %ecx
40a113:	e9 bc 02 00 00       	jmp    0x40a3d4
40a118:	8b 45 08             	mov    0x8(%ebp),%eax
40a11b:	50                   	push   %eax
40a11c:	a1 a4 e6 46 00       	mov    0x46e6a4,%eax
40a121:	e8 5e fb ff ff       	call   0x409c84
40a126:	59                   	pop    %ecx
40a127:	e9 a8 02 00 00       	jmp    0x40a3d4
40a12c:	55                   	push   %ebp
40a12d:	e8 3e f8 ff ff       	call   0x409970
40a132:	59                   	pop    %ecx
40a133:	55                   	push   %ebp
40a134:	e8 9b f8 ff ff       	call   0x4099d4
40a139:	59                   	pop    %ecx
40a13a:	83 7d f4 03          	cmpl   $0x3,-0xc(%ebp)
40a13e:	7e 07                	jle    0x40a147
40a140:	c7 45 f4 03 00 00 00 	movl   $0x3,-0xc(%ebp)
40a147:	8b 45 08             	mov    0x8(%ebp),%eax
40a14a:	50                   	push   %eax
40a14b:	0f b7 45 e4          	movzwl -0x1c(%ebp),%eax
40a14f:	8b 55 f4             	mov    -0xc(%ebp),%edx
40a152:	e8 cd f7 ff ff       	call   0x409924
40a157:	59                   	pop    %ecx
40a158:	e9 77 02 00 00       	jmp    0x40a3d4
40a15d:	55                   	push   %ebp
40a15e:	e8 71 f8 ff ff       	call   0x4099d4
40a163:	59                   	pop    %ecx
40a164:	8b 75 fc             	mov    -0x4(%ebp),%esi
40a167:	4e                   	dec    %esi
40a168:	ba 14 a4 40 00       	mov    $0x40a414,%edx
40a16d:	b9 05 00 00 00       	mov    $0x5,%ecx
40a172:	8b c6                	mov    %esi,%eax
40a174:	e8 d3 e5 ff ff       	call   0x40874c
40a179:	85 c0                	test   %eax,%eax
40a17b:	75 28                	jne    0x40a1a5
40a17d:	66 83 7d ea 0c       	cmpw   $0xc,-0x16(%ebp)
40a182:	72 03                	jb     0x40a187
40a184:	83 c6 03             	add    $0x3,%esi
40a187:	8b 45 08             	mov    0x8(%ebp),%eax
40a18a:	50                   	push   %eax
40a18b:	ba 02 00 00 00       	mov    $0x2,%edx
40a190:	8b c6                	mov    %esi,%eax
40a192:	e8 29 f7 ff ff       	call   0x4098c0
40a197:	59                   	pop    %ecx
40a198:	83 45 fc 04          	addl   $0x4,-0x4(%ebp)
40a19c:	c6 45 e2 01          	movb   $0x1,-0x1e(%ebp)
40a1a0:	e9 2f 02 00 00       	jmp    0x40a3d4
40a1a5:	ba 1c a4 40 00       	mov    $0x40a41c,%edx
40a1aa:	b9 03 00 00 00       	mov    $0x3,%ecx
40a1af:	8b c6                	mov    %esi,%eax
40a1b1:	e8 96 e5 ff ff       	call   0x40874c
40a1b6:	85 c0                	test   %eax,%eax
40a1b8:	75 28                	jne    0x40a1e2
40a1ba:	66 83 7d ea 0c       	cmpw   $0xc,-0x16(%ebp)
40a1bf:	72 03                	jb     0x40a1c4
40a1c1:	83 c6 02             	add    $0x2,%esi
40a1c4:	8b 45 08             	mov    0x8(%ebp),%eax
40a1c7:	50                   	push   %eax
40a1c8:	ba 01 00 00 00       	mov    $0x1,%edx
40a1cd:	8b c6                	mov    %esi,%eax
40a1cf:	e8 ec f6 ff ff       	call   0x4098c0
40a1d4:	59                   	pop    %ecx
40a1d5:	83 45 fc 02          	addl   $0x2,-0x4(%ebp)
40a1d9:	c6 45 e2 01          	movb   $0x1,-0x1e(%ebp)
40a1dd:	e9 f2 01 00 00       	jmp    0x40a3d4
40a1e2:	ba 20 a4 40 00       	mov    $0x40a420,%edx
40a1e7:	b9 04 00 00 00       	mov    $0x4,%ecx
40a1ec:	8b c6                	mov    %esi,%eax
40a1ee:	e8 59 e5 ff ff       	call   0x40874c
40a1f3:	85 c0                	test   %eax,%eax
40a1f5:	75 34                	jne    0x40a22b
40a1f7:	66 83 7d ea 0c       	cmpw   $0xc,-0x16(%ebp)
40a1fc:	73 11                	jae    0x40a20f
40a1fe:	8b 45 08             	mov    0x8(%ebp),%eax
40a201:	50                   	push   %eax
40a202:	a1 98 e6 46 00       	mov    0x46e698,%eax
40a207:	e8 f8 f6 ff ff       	call   0x409904
40a20c:	59                   	pop    %ecx
40a20d:	eb 0f                	jmp    0x40a21e
40a20f:	8b 45 08             	mov    0x8(%ebp),%eax
40a212:	50                   	push   %eax
40a213:	a1 9c e6 46 00       	mov    0x46e69c,%eax
40a218:	e8 e7 f6 ff ff       	call   0x409904
40a21d:	59                   	pop    %ecx
40a21e:	83 45 fc 03          	addl   $0x3,-0x4(%ebp)
40a222:	c6 45 e2 01          	movb   $0x1,-0x1e(%ebp)
40a226:	e9 a9 01 00 00       	jmp    0x40a3d4
40a22b:	ba 28 a4 40 00       	mov    $0x40a428,%edx
40a230:	b9 04 00 00 00       	mov    $0x4,%ecx
40a235:	8b c6                	mov    %esi,%eax
40a237:	e8 10 e5 ff ff       	call   0x40874c
40a23c:	85 c0                	test   %eax,%eax
40a23e:	75 32                	jne    0x40a272
40a240:	55                   	push   %ebp
40a241:	e8 56 f7 ff ff       	call   0x40999c
40a246:	59                   	pop    %ecx
40a247:	8b 45 08             	mov    0x8(%ebp),%eax
40a24a:	50                   	push   %eax
40a24b:	8b 45 08             	mov    0x8(%ebp),%eax
40a24e:	ff 70 0c             	push   0xc(%eax)
40a251:	ff 70 08             	push   0x8(%eax)
40a254:	e8 2b f6 ff ff       	call   0x409884
40a259:	0f b7 c0             	movzwl %ax,%eax
40a25c:	8b 04 85 20 e7 46 00 	mov    0x46e720(,%eax,4),%eax
40a263:	e8 9c f6 ff ff       	call   0x409904
40a268:	59                   	pop    %ecx
40a269:	83 45 fc 03          	addl   $0x3,-0x4(%ebp)
40a26d:	e9 62 01 00 00       	jmp    0x40a3d4
40a272:	ba 30 a4 40 00       	mov    $0x40a430,%edx
40a277:	b9 03 00 00 00       	mov    $0x3,%ecx
40a27c:	8b c6                	mov    %esi,%eax
40a27e:	e8 c9 e4 ff ff       	call   0x40874c
40a283:	85 c0                	test   %eax,%eax
40a285:	75 32                	jne    0x40a2b9
40a287:	55                   	push   %ebp
40a288:	e8 0f f7 ff ff       	call   0x40999c
40a28d:	59                   	pop    %ecx
40a28e:	8b 45 08             	mov    0x8(%ebp),%eax
40a291:	50                   	push   %eax
40a292:	8b 45 08             	mov    0x8(%ebp),%eax
40a295:	ff 70 0c             	push   0xc(%eax)
40a298:	ff 70 08             	push   0x8(%eax)
40a29b:	e8 e4 f5 ff ff       	call   0x409884
40a2a0:	0f b7 c0             	movzwl %ax,%eax
40a2a3:	8b 04 85 04 e7 46 00 	mov    0x46e704(,%eax,4),%eax
40a2aa:	e8 55 f6 ff ff       	call   0x409904
40a2af:	59                   	pop    %ecx
40a2b0:	83 45 fc 02          	addl   $0x2,-0x4(%ebp)
40a2b4:	e9 1b 01 00 00       	jmp    0x40a3d4
40a2b9:	8b 45 08             	mov    0x8(%ebp),%eax
40a2bc:	50                   	push   %eax
40a2bd:	8d 45 fb             	lea    -0x5(%ebp),%eax
40a2c0:	ba 01 00 00 00       	mov    $0x1,%edx
40a2c5:	e8 f6 f5 ff ff       	call   0x4098c0
40a2ca:	59                   	pop    %ecx
40a2cb:	e9 04 01 00 00       	jmp    0x40a3d4
40a2d0:	55                   	push   %ebp
40a2d1:	e8 9a f6 ff ff       	call   0x409970
40a2d6:	59                   	pop    %ecx
40a2d7:	8b 45 08             	mov    0x8(%ebp),%eax
40a2da:	50                   	push   %eax
40a2db:	a1 8c e6 46 00       	mov    0x46e68c,%eax
40a2e0:	e8 9f f9 ff ff       	call   0x409c84
40a2e5:	59                   	pop    %ecx
40a2e6:	55                   	push   %ebp
40a2e7:	e8 e8 f6 ff ff       	call   0x4099d4
40a2ec:	59                   	pop    %ecx
40a2ed:	66 83 7d ea 00       	cmpw   $0x0,-0x16(%ebp)
40a2f2:	75 12                	jne    0x40a306
40a2f4:	66 83 7d e8 00       	cmpw   $0x0,-0x18(%ebp)
40a2f9:	75 0b                	jne    0x40a306
40a2fb:	66 83 7d e6 00       	cmpw   $0x0,-0x1a(%ebp)
40a300:	0f 84 ce 00 00 00    	je     0x40a3d4
40a306:	8b 45 08             	mov    0x8(%ebp),%eax
40a309:	50                   	push   %eax
40a30a:	b8 34 a4 40 00       	mov    $0x40a434,%eax
40a30f:	ba 01 00 00 00       	mov    $0x1,%edx
40a314:	e8 a7 f5 ff ff       	call   0x4098c0
40a319:	59                   	pop    %ecx
40a31a:	8b 45 08             	mov    0x8(%ebp),%eax
40a31d:	50                   	push   %eax
40a31e:	a1 a4 e6 46 00       	mov    0x46e6a4,%eax
40a323:	e8 5c f9 ff ff       	call   0x409c84
40a328:	59                   	pop    %ecx
40a329:	e9 a6 00 00 00       	jmp    0x40a3d4
40a32e:	80 3d 89 e6 46 00 00 	cmpb   $0x0,0x46e689
40a335:	0f 84 99 00 00 00    	je     0x40a3d4
40a33b:	8b 45 08             	mov    0x8(%ebp),%eax
40a33e:	50                   	push   %eax
40a33f:	b8 89 e6 46 00       	mov    $0x46e689,%eax
40a344:	ba 01 00 00 00       	mov    $0x1,%edx
40a349:	e8 72 f5 ff ff       	call   0x4098c0
40a34e:	59                   	pop    %ecx
40a34f:	e9 80 00 00 00       	jmp    0x40a3d4
40a354:	80 3d 94 e6 46 00 00 	cmpb   $0x0,0x46e694
40a35b:	74 77                	je     0x40a3d4
40a35d:	8b 45 08             	mov    0x8(%ebp),%eax
40a360:	50                   	push   %eax
40a361:	b8 94 e6 46 00       	mov    $0x46e694,%eax
40a366:	ba 01 00 00 00       	mov    $0x1,%edx
40a36b:	e8 50 f5 ff ff       	call   0x4098c0
40a370:	59                   	pop    %ecx
40a371:	eb 61                	jmp    0x40a3d4
40a373:	8b 75 fc             	mov    -0x4(%ebp),%esi
40a376:	eb 1e                	jmp    0x40a396
40a378:	25 ff 00 00 00       	and    $0xff,%eax
40a37d:	0f a3 05 0c 31 46 00 	bt     %eax,0x46310c
40a384:	73 0d                	jae    0x40a393
40a386:	8b 45 fc             	mov    -0x4(%ebp),%eax
40a389:	e8 be 1d 00 00       	call   0x40c14c
40a38e:	89 45 fc             	mov    %eax,-0x4(%ebp)
40a391:	eb 03                	jmp    0x40a396
40a393:	ff 45 fc             	incl   -0x4(%ebp)
40a396:	8b 45 fc             	mov    -0x4(%ebp),%eax
40a399:	8a 00                	mov    (%eax),%al
40a39b:	84 c0                	test   %al,%al
40a39d:	74 05                	je     0x40a3a4
40a39f:	3a 45 fb             	cmp    -0x5(%ebp),%al
40a3a2:	75 d4                	jne    0x40a378
40a3a4:	8b 45 08             	mov    0x8(%ebp),%eax
40a3a7:	50                   	push   %eax
40a3a8:	8b 55 fc             	mov    -0x4(%ebp),%edx
40a3ab:	2b d6                	sub    %esi,%edx
40a3ad:	8b c6                	mov    %esi,%eax
40a3af:	e8 0c f5 ff ff       	call   0x4098c0
40a3b4:	59                   	pop    %ecx
40a3b5:	8b 45 fc             	mov    -0x4(%ebp),%eax
40a3b8:	80 38 00             	cmpb   $0x0,(%eax)
40a3bb:	74 17                	je     0x40a3d4
40a3bd:	ff 45 fc             	incl   -0x4(%ebp)
40a3c0:	eb 12                	jmp    0x40a3d4
40a3c2:	8b 45 08             	mov    0x8(%ebp),%eax
40a3c5:	50                   	push   %eax
40a3c6:	8d 45 fb             	lea    -0x5(%ebp),%eax
40a3c9:	ba 01 00 00 00       	mov    $0x1,%edx
40a3ce:	e8 ed f4 ff ff       	call   0x4098c0
40a3d3:	59                   	pop    %ecx
40a3d4:	8b 45 fc             	mov    -0x4(%ebp),%eax
40a3d7:	8a 00                	mov    (%eax),%al
40a3d9:	84 c0                	test   %al,%al
40a3db:	0f 85 fa f8 ff ff    	jne    0x409cdb
40a3e1:	8b 45 08             	mov    0x8(%ebp),%eax
40a3e4:	ff 88 f8 fe ff ff    	decl   -0x108(%eax)
40a3ea:	33 c0                	xor    %eax,%eax
40a3ec:	5a                   	pop    %edx
40a3ed:	59                   	pop    %ecx
40a3ee:	59                   	pop    %ecx
40a3ef:	64 89 10             	mov    %edx,%fs:(%eax)
40a3f2:	68 0c a4 40 00       	push   $0x40a40c
40a3f7:	8d 45 d8             	lea    -0x28(%ebp),%eax
40a3fa:	ba 02 00 00 00       	mov    $0x2,%edx
40a3ff:	e8 b8 9b ff ff       	call   0x403fbc
40a404:	c3                   	ret
40a405:	e9 92 95 ff ff       	jmp    0x40399c
40a40a:	eb eb                	jmp    0x40a3f7
40a40c:	5e                   	pop    %esi
40a40d:	5b                   	pop    %ebx
40a40e:	8b e5                	mov    %ebp,%esp
40a410:	5d                   	pop    %ebp
40a411:	c3                   	ret
40a412:	00 00                	add    %al,(%eax)
40a414:	41                   	inc    %ecx
40a415:	4d                   	dec    %ebp
40a416:	2f                   	das
40a417:	50                   	push   %eax
40a418:	4d                   	dec    %ebp
40a419:	00 00                	add    %al,(%eax)
40a41b:	00 41 2f             	add    %al,0x2f(%ecx)
40a41e:	50                   	push   %eax
40a41f:	00 41 4d             	add    %al,0x4d(%ecx)
40a422:	50                   	push   %eax
40a423:	4d                   	dec    %ebp
40a424:	00 00                	add    %al,(%eax)
40a426:	00 00                	add    %al,(%eax)
40a428:	41                   	inc    %ecx
40a429:	41                   	inc    %ecx
40a42a:	41                   	inc    %ecx
40a42b:	41                   	inc    %ecx
40a42c:	00 00                	add    %al,(%eax)
40a42e:	00 00                	add    %al,(%eax)
40a430:	41                   	inc    %ecx
40a431:	41                   	inc    %ecx
40a432:	41                   	inc    %ecx
40a433:	00 20                	add    %ah,(%eax)
40a435:	00 00                	add    %al,(%eax)
40a437:	00 55 8b             	add    %dl,-0x75(%ebp)
40a43a:	ec                   	in     (%dx),%al
40a43b:	81 c4 f8 fe ff ff    	add    $0xfffffef8,%esp
40a441:	53                   	push   %ebx
40a442:	56                   	push   %esi
40a443:	8b da                	mov    %edx,%ebx
40a445:	8b f0                	mov    %eax,%esi