401dc7:	31 00                	xor    %eax,(%eax)
401dc9:	00 00                	add    %al,(%eax)
401dcb:	00 f0                	add    %dh,%al
401dcd:	40                   	inc    %eax
401dce:	01 00                	add    %eax,(%eax)
401dd0:	28 08                	sub    %cl,(%eax)
401dd2:	00 00                	add    %al,(%eax)
401dd4:	2e 72 73             	jb,pn  0x401e4a
401dd7:	72 63                	jb     0x401e3c
401dd9:	24 30                	and    $0x30,%al
401ddb:	32 00                	xor    (%eax),%al
401ddd:	00 00                	add    %al,(%eax)
401ddf:	00 20                	add    %ah,(%eax)
401de1:	00 00                	add    %al,(%eax)
401de3:	00 52 9d             	add    %dl,-0x63(%edx)
401de6:	ce                   	into
401de7:	20 01                	and    %al,(%ecx)
401de9:	6e                   	outsb  %ds:(%esi),(%dx)
401dea:	0a fc                	or     %ah,%bh
401dec:	1a e2                	sbb    %dl,%ah
401dee:	6a 26                	push   $0x26
401df0:	c4 02                	les    (%edx),%eax
401df2:	fb                   	sti
401df3:	48                   	dec    %eax
401df4:	e4 9e                	in     $0x9e,%al
401df6:	d9 9c 81 8c d7 90 20 	fstps  0x2090d78c(%ecx,%eax,4)
401dfd:	59                   	pop    %ecx
401dfe:	f0 8d a9 33 73 2e 00 	lock lea 0x2e7333(%ecx),%ebp
401e0d:	00 00                	add    %al,(%eax)
401e0f:	00 6a 04             	add    %ch,0x4(%edx)
401e12:	b8 5a f4 40 00       	mov    $0x40f45a,%eax
401e17:	e8 00 d5 00 00       	call   0x40f31c
401e1c:	8b f1                	mov    %ecx,%esi
401e1e:	89 75 f0             	mov    %esi,-0x10(%ebp)
401e21:	8d 4e 28             	lea    0x28(%esi),%ecx
401e24:	ff 15 f8 21 41 00    	call   *0x4121f8
401e2a:	33 ff                	xor    %edi,%edi
401e2c:	89 7d fc             	mov    %edi,-0x4(%ebp)
401e2f:	8d 4e 2c             	lea    0x2c(%esi),%ecx
401e32:	ff 15 f8 21 41 00    	call   *0x4121f8
401e38:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
401e3c:	8d 4e 30             	lea    0x30(%esi),%ecx
401e3f:	ff 15 f8 21 41 00    	call   *0x4121f8
401e45:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
401e49:	8d 4e 34             	lea    0x34(%esi),%ecx
401e4c:	ff 15 f8 21 41 00    	call   *0x4121f8
401e52:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
401e56:	8d 4e 60             	lea    0x60(%esi),%ecx
401e59:	ff 15 f8 21 41 00    	call   *0x4121f8
401e5f:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
401e63:	8d 4e 68             	lea    0x68(%esi),%ecx
401e66:	ff 15 f8 21 41 00    	call   *0x4121f8
401e6c:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
401e70:	8d 4e 6c             	lea    0x6c(%esi),%ecx
401e73:	ff 15 f8 21 41 00    	call   *0x4121f8
401e79:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
401e7d:	8d 4e 78             	lea    0x78(%esi),%ecx
401e80:	ff 15 f8 21 41 00    	call   *0x4121f8
401e86:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
401e8a:	8d 4e 7c             	lea    0x7c(%esi),%ecx
401e8d:	ff 15 f8 21 41 00    	call   *0x4121f8
401e93:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
401e97:	8d 8e 88 00 00 00    	lea    0x88(%esi),%ecx
401e9d:	ff 15 f8 21 41 00    	call   *0x4121f8
401ea3:	c6 45 fc 09          	movb   $0x9,-0x4(%ebp)
401ea7:	8d 8e 8c 00 00 00    	lea    0x8c(%esi),%ecx
401ead:	ff 15 f8 21 41 00    	call   *0x4121f8
401eb3:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
401eb7:	89 3e                	mov    %edi,(%esi)
401eb9:	89 7e 08             	mov    %edi,0x8(%esi)
401ebc:	89 7e 04             	mov    %edi,0x4(%esi)
401ebf:	89 7e 0c             	mov    %edi,0xc(%esi)
401ec2:	89 7e 10             	mov    %edi,0x10(%esi)
401ec5:	89 7e 14             	mov    %edi,0x14(%esi)
401ec8:	89 7e 18             	mov    %edi,0x18(%esi)
401ecb:	89 7e 70             	mov    %edi,0x70(%esi)
401ece:	89 7e 74             	mov    %edi,0x74(%esi)
401ed1:	89 7e 1c             	mov    %edi,0x1c(%esi)
401ed4:	89 7e 20             	mov    %edi,0x20(%esi)
401ed7:	89 7e 24             	mov    %edi,0x24(%esi)
401eda:	89 7e 38             	mov    %edi,0x38(%esi)
401edd:	89 7e 40             	mov    %edi,0x40(%esi)
401ee0:	89 7e 44             	mov    %edi,0x44(%esi)
401ee3:	89 7e 4c             	mov    %edi,0x4c(%esi)
401ee6:	89 7e 48             	mov    %edi,0x48(%esi)
401ee9:	89 7e 50             	mov    %edi,0x50(%esi)
401eec:	89 7e 54             	mov    %edi,0x54(%esi)
401eef:	89 7e 58             	mov    %edi,0x58(%esi)
401ef2:	89 7e 5c             	mov    %edi,0x5c(%esi)
401ef5:	89 7e 64             	mov    %edi,0x64(%esi)
401ef8:	89 be 80 00 00 00    	mov    %edi,0x80(%esi)
401efe:	89 be 84 00 00 00    	mov    %edi,0x84(%esi)
401f04:	89 be 94 00 00 00    	mov    %edi,0x94(%esi)
401f0a:	89 be 98 00 00 00    	mov    %edi,0x98(%esi)
401f10:	89 be 9c 00 00 00    	mov    %edi,0x9c(%esi)
401f16:	89 be a0 00 00 00    	mov    %edi,0xa0(%esi)
401f1c:	89 be a4 00 00 00    	mov    %edi,0xa4(%esi)
401f22:	89 be 90 00 00 00    	mov    %edi,0x90(%esi)
401f28:	89 be a8 00 00 00    	mov    %edi,0xa8(%esi)
401f2e:	89 be ac 00 00 00    	mov    %edi,0xac(%esi)
401f34:	89 be b4 00 00 00    	mov    %edi,0xb4(%esi)
401f3a:	89 be b0 00 00 00    	mov    %edi,0xb0(%esi)
401f40:	89 be b8 00 00 00    	mov    %edi,0xb8(%esi)
401f46:	89 be bc 00 00 00    	mov    %edi,0xbc(%esi)
401f4c:	89 be c0 00 00 00    	mov    %edi,0xc0(%esi)
401f52:	89 be c4 00 00 00    	mov    %edi,0xc4(%esi)
401f58:	89 be c8 00 00 00    	mov    %edi,0xc8(%esi)
401f5e:	89 be cc 00 00 00    	mov    %edi,0xcc(%esi)
401f64:	89 be d0 00 00 00    	mov    %edi,0xd0(%esi)
401f6a:	89 be d4 00 00 00    	mov    %edi,0xd4(%esi)
401f70:	c7 86 d8 00 00 00 01 	movl   $0x1,0xd8(%esi)
401f77:	00 00 00
401f7a:	89 7e 3c             	mov    %edi,0x3c(%esi)
401f7d:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
401f81:	8b c6                	mov    %esi,%eax
401f83:	e8 71 d3 00 00       	call   0x40f2f9
401f88:	c3                   	ret
401f89:	8b ff                	mov    %edi,%edi
401f8b:	55                   	push   %ebp
401f8c:	8b ec                	mov    %esp,%ebp
401f8e:	6a ff                	push   $0xffffffff
401f90:	68 ff f4 40 00       	push   $0x40f4ff
401f95:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
401f9b:	50                   	push   %eax
401f9c:	51                   	push   %ecx
401f9d:	53                   	push   %ebx
401f9e:	56                   	push   %esi
401f9f:	57                   	push   %edi
401fa0:	a1 44 10 41 00       	mov    0x411044,%eax
401fa5:	33 c5                	xor    %ebp,%eax
401fa7:	50                   	push   %eax
401fa8:	8d 45 f4             	lea    -0xc(%ebp),%eax
401fab:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
401fb1:	8b f9                	mov    %ecx,%edi
401fb3:	89 7d f0             	mov    %edi,-0x10(%ebp)
401fb6:	c7 45 fc 0a 00 00 00 	movl   $0xa,-0x4(%ebp)
401fbd:	8d b7 80 00 00 00    	lea    0x80(%edi),%esi
401fc3:	33 db                	xor    %ebx,%ebx
401fc5:	39 1e                	cmp    %ebx,(%esi)
401fc7:	74 09                	je     0x401fd2
401fc9:	8b ce                	mov    %esi,%ecx
401fcb:	e8 10 6b 00 00       	call   0x408ae0
401fd0:	89 1e                	mov    %ebx,(%esi)
401fd2:	8d 77 24             	lea    0x24(%edi),%esi
401fd5:	39 1e                	cmp    %ebx,(%esi)
401fd7:	74 09                	je     0x401fe2
401fd9:	8b ce                	mov    %esi,%ecx
401fdb:	e8 00 6b 00 00       	call   0x408ae0
401fe0:	89 1e                	mov    %ebx,(%esi)
401fe2:	8d 77 54             	lea    0x54(%edi),%esi
401fe5:	39 1e                	cmp    %ebx,(%esi)
401fe7:	74 09                	je     0x401ff2
401fe9:	8b ce                	mov    %esi,%ecx
401feb:	e8 f0 6a 00 00       	call   0x408ae0
401ff0:	89 1e                	mov    %ebx,(%esi)
401ff2:	8d 77 58             	lea    0x58(%edi),%esi
401ff5:	39 1e                	cmp    %ebx,(%esi)
401ff7:	74 09                	je     0x402002
401ff9:	8b ce                	mov    %esi,%ecx
401ffb:	e8 e0 6a 00 00       	call   0x408ae0
402000:	89 1e                	mov    %ebx,(%esi)
402002:	8d 77 50             	lea    0x50(%edi),%esi
402005:	39 1e                	cmp    %ebx,(%esi)
402007:	74 09                	je     0x402012
402009:	8b ce                	mov    %esi,%ecx
40200b:	e8 b6 8b 00 00       	call   0x40abc6
402010:	89 1e                	mov    %ebx,(%esi)
402012:	8d 77 5c             	lea    0x5c(%edi),%esi
402015:	39 1e                	cmp    %ebx,(%esi)
402017:	74 09                	je     0x402022
402019:	8b ce                	mov    %esi,%ecx
40201b:	e8 a6 8b 00 00       	call   0x40abc6
402020:	89 1e                	mov    %ebx,(%esi)
402022:	8b 0f                	mov    (%edi),%ecx
402024:	85 c9                	test   %ecx,%ecx
402026:	74 12                	je     0x40203a
402028:	8b 01                	mov    (%ecx),%eax
40202a:	51                   	push   %ecx
40202b:	8b 70 08             	mov    0x8(%eax),%esi
40202e:	8b ce                	mov    %esi,%ecx
402030:	ff 15 20 23 41 00    	call   *0x412320
402036:	ff d6                	call   *%esi
402038:	89 1f                	mov    %ebx,(%edi)
40203a:	8b 4f 04             	mov    0x4(%edi),%ecx
40203d:	85 c9                	test   %ecx,%ecx
40203f:	74 13                	je     0x402054
402041:	8b 01                	mov    (%ecx),%eax
402043:	51                   	push   %ecx
402044:	8b 70 08             	mov    0x8(%eax),%esi
402047:	8b ce                	mov    %esi,%ecx
402049:	ff 15 20 23 41 00    	call   *0x412320
40204f:	ff d6                	call   *%esi
402051:	89 5f 04             	mov    %ebx,0x4(%edi)
402054:	8b 4f 08             	mov    0x8(%edi),%ecx
402057:	85 c9                	test   %ecx,%ecx
402059:	74 13                	je     0x40206e
40205b:	8b 01                	mov    (%ecx),%eax
40205d:	51                   	push   %ecx
40205e:	8b 70 08             	mov    0x8(%eax),%esi
402061:	8b ce                	mov    %esi,%ecx
402063:	ff 15 20 23 41 00    	call   *0x412320
402069:	ff d6                	call   *%esi
40206b:	89 5f 08             	mov    %ebx,0x8(%edi)
40206e:	8d 4f 0c             	lea    0xc(%edi),%ecx
402071:	e8 3d 58 00 00       	call   0x4078b3
402076:	83 bf 90 00 00 00 01 	cmpl   $0x1,0x90(%edi)
40207d:	75 0c                	jne    0x40208b
40207f:	51                   	push   %ecx
402080:	8b 8f 8c 00 00 00    	mov    0x8c(%edi),%ecx
402086:	e8 f7 95 00 00       	call   0x40b682
40208b:	8d 8f ac 00 00 00    	lea    0xac(%edi),%ecx
402091:	e8 30 8b 00 00       	call   0x40abc6
402096:	8d 8f b4 00 00 00    	lea    0xb4(%edi),%ecx
40209c:	e8 25 8b 00 00       	call   0x40abc6
4020a1:	8b 87 94 00 00 00    	mov    0x94(%edi),%eax
4020a7:	85 c0                	test   %eax,%eax
4020a9:	75 28                	jne    0x4020d3
4020ab:	8b 87 a0 00 00 00    	mov    0xa0(%edi),%eax
4020b1:	85 c0                	test   %eax,%eax
4020b3:	74 48                	je     0x4020fd
4020b5:	8b b7 c4 00 00 00    	mov    0xc4(%edi),%esi
4020bb:	85 f6                	test   %esi,%esi
4020bd:	74 38                	je     0x4020f7
4020bf:	ff b7 a4 00 00 00    	push   0xa4(%edi)
4020c5:	8b ce                	mov    %esi,%ecx
4020c7:	50                   	push   %eax
4020c8:	53                   	push   %ebx
4020c9:	ff 15 20 23 41 00    	call   *0x412320
4020cf:	ff d6                	call   *%esi
4020d1:	eb 24                	jmp    0x4020f7
4020d3:	83 f8 01             	cmp    $0x1,%eax
4020d6:	75 25                	jne    0x4020fd
4020d8:	8b 87 a0 00 00 00    	mov    0xa0(%edi),%eax
4020de:	85 c0                	test   %eax,%eax
4020e0:	74 1b                	je     0x4020fd
4020e2:	8b b7 b8 00 00 00    	mov    0xb8(%edi),%esi
4020e8:	85 f6                	test   %esi,%esi
4020ea:	74 0b                	je     0x4020f7
4020ec:	50                   	push   %eax
4020ed:	8b ce                	mov    %esi,%ecx
4020ef:	ff 15 20 23 41 00    	call   *0x412320
4020f5:	ff d6                	call   *%esi
4020f7:	89 9f a0 00 00 00    	mov    %ebx,0xa0(%edi)
4020fd:	8b 87 98 00 00 00    	mov    0x98(%edi),%eax
402103:	85 c0                	test   %eax,%eax
402105:	74 15                	je     0x40211c
402107:	8b b7 c0 00 00 00    	mov    0xc0(%edi),%esi
40210d:	85 f6                	test   %esi,%esi
40210f:	74 0b                	je     0x40211c
402111:	50                   	push   %eax
402112:	8b ce                	mov    %esi,%ecx
402114:	ff 15 20 23 41 00    	call   *0x412320
40211a:	ff d6                	call   *%esi
40211c:	8b 87 9c 00 00 00    	mov    0x9c(%edi),%eax
402122:	85 c0                	test   %eax,%eax
402124:	74 31                	je     0x402157
402126:	50                   	push   %eax
402127:	ff 15 dc 20 41 00    	call   *0x4120dc
40212d:	89 9f 9c 00 00 00    	mov    %ebx,0x9c(%edi)
402133:	89 9f b8 00 00 00    	mov    %ebx,0xb8(%edi)
402139:	89 9f bc 00 00 00    	mov    %ebx,0xbc(%edi)
40213f:	89 9f c0 00 00 00    	mov    %ebx,0xc0(%edi)
402145:	89 9f c4 00 00 00    	mov    %ebx,0xc4(%edi)
40214b:	89 9f c8 00 00 00    	mov    %ebx,0xc8(%edi)
402151:	89 9f d0 00 00 00    	mov    %ebx,0xd0(%edi)
402157:	ff 15 e8 21 41 00    	call   *0x4121e8
40215d:	c6 45 fc 09          	movb   $0x9,-0x4(%ebp)
402161:	8d 8f 8c 00 00 00    	lea    0x8c(%edi),%ecx
402167:	ff 15 30 22 41 00    	call   *0x412230
40216d:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
402171:	8d 8f 88 00 00 00    	lea    0x88(%edi),%ecx
402177:	ff 15 30 22 41 00    	call   *0x412230
40217d:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
402181:	8d 4f 7c             	lea    0x7c(%edi),%ecx
402184:	ff 15 30 22 41 00    	call   *0x412230
40218a:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
40218e:	8d 4f 78             	lea    0x78(%edi),%ecx
402191:	ff 15 30 22 41 00    	call   *0x412230
402197:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
40219b:	8d 4f 6c             	lea    0x6c(%edi),%ecx
40219e:	ff 15 30 22 41 00    	call   *0x412230
4021a4:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
4021a8:	8d 4f 68             	lea    0x68(%edi),%ecx
4021ab:	ff 15 30 22 41 00    	call   *0x412230
4021b1:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
4021b5:	8d 4f 60             	lea    0x60(%edi),%ecx
4021b8:	ff 15 30 22 41 00    	call   *0x412230
4021be:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
4021c2:	8d 4f 34             	lea    0x34(%edi),%ecx
4021c5:	ff 15 30 22 41 00    	call   *0x412230
4021cb:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4021cf:	8d 4f 30             	lea    0x30(%edi),%ecx
4021d2:	ff 15 30 22 41 00    	call   *0x412230
4021d8:	88 5d fc             	mov    %bl,-0x4(%ebp)
4021db:	8d 4f 2c             	lea    0x2c(%edi),%ecx
4021de:	ff 15 30 22 41 00    	call   *0x412230
4021e4:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4021e8:	8d 4f 28             	lea    0x28(%edi),%ecx
4021eb:	ff 15 30 22 41 00    	call   *0x412230
4021f1:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4021f4:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4021fb:	59                   	pop    %ecx
4021fc:	5f                   	pop    %edi
4021fd:	5e                   	pop    %esi
4021fe:	5b                   	pop    %ebx
4021ff:	c9                   	leave
402200:	c3                   	ret
402201:	6a 50                	push   $0x50
402203:	b8 35 f5 40 00       	mov    $0x40f535,%eax
402208:	e8 42 d1 00 00       	call   0x40f34f
40220d:	8b f9                	mov    %ecx,%edi
40220f:	8d 4d ec             	lea    -0x14(%ebp),%ecx
402212:	ff 15 f8 21 41 00    	call   *0x4121f8
402218:	33 db                	xor    %ebx,%ebx
40221a:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40221d:	68 0e 00 07 80       	push   $0x8007000e
402222:	ff 15 74 20 41 00    	call   *0x412074
402228:	e8 c7 75 00 00       	call   0x4097f4
40222d:	39 5f 24             	cmp    %ebx,0x24(%edi)
402230:	75 10                	jne    0x402242
402232:	e8 43 68 00 00       	call   0x408a7a
402237:	89 47 24             	mov    %eax,0x24(%edi)
40223a:	85 c0                	test   %eax,%eax
40223c:	0f 84 63 04 00 00    	je     0x4026a5
402242:	39 5f 54             	cmp    %ebx,0x54(%edi)
402245:	75 10                	jne    0x402257
402247:	e8 2e 68 00 00       	call   0x408a7a
40224c:	89 47 54             	mov    %eax,0x54(%edi)
40224f:	85 c0                	test   %eax,%eax
402251:	0f 84 4e 04 00 00    	je     0x4026a5
402257:	39 5f 50             	cmp    %ebx,0x50(%edi)
40225a:	75 1f                	jne    0x40227b
40225c:	be 84 21 00 00       	mov    $0x2184,%esi
402261:	8b ce                	mov    %esi,%ecx
402263:	e8 02 8a 00 00       	call   0x40ac6a
402268:	89 47 50             	mov    %eax,0x50(%edi)
40226b:	85 c0                	test   %eax,%eax
40226d:	0f 84 32 04 00 00    	je     0x4026a5
402273:	88 18                	mov    %bl,(%eax)
402275:	40                   	inc    %eax
402276:	83 ee 01             	sub    $0x1,%esi
402279:	75 f8                	jne    0x402273
40227b:	39 5f 5c             	cmp    %ebx,0x5c(%edi)
40227e:	75 1f                	jne    0x40229f
402280:	be 74 35 00 00       	mov    $0x3574,%esi
402285:	8b ce                	mov    %esi,%ecx
402287:	e8 de 89 00 00       	call   0x40ac6a
40228c:	89 47 5c             	mov    %eax,0x5c(%edi)
40228f:	85 c0                	test   %eax,%eax
402291:	0f 84 0e 04 00 00    	je     0x4026a5