401c46:	49                   	dec    %ecx
401c47:	41                   	inc    %ecx
401c48:	00 00                	add    %al,(%eax)
401c4a:	00 00                	add    %al,(%eax)
401c4c:	cc                   	int3
401c4d:	10 00                	adc    %al,(%eax)
401c4f:	00 04 00             	add    %al,(%eax,%eax,1)
401c52:	00 00                	add    %al,(%eax)
401c54:	2e 43                	cs inc %ebx
401c56:	52                   	push   %edx
401c57:	54                   	push   %esp
401c58:	24 58                	and    $0x58,%al
401c5a:	49                   	dec    %ecx
401c5b:	41                   	inc    %ecx
401c5c:	41                   	inc    %ecx
401c5d:	00 00                	add    %al,(%eax)
401c5f:	00 d0                	add    %dl,%al
401c61:	10 00                	adc    %al,(%eax)
401c63:	00 04 00             	add    %al,(%eax,%eax,1)
401c66:	00 00                	add    %al,(%eax)
401c68:	2e 43                	cs inc %ebx
401c6a:	52                   	push   %edx
401c6b:	54                   	push   %esp
401c6c:	24 58                	and    $0x58,%al
401c6e:	49                   	dec    %ecx
401c6f:	59                   	pop    %ecx
401c70:	00 00                	add    %al,(%eax)
401c72:	00 00                	add    %al,(%eax)
401c74:	d4 10                	aam    $0x10
401c76:	00 00                	add    %al,(%eax)
401c78:	04 00                	add    $0x0,%al
401c7a:	00 00                	add    %al,(%eax)
401c7c:	2e 43                	cs inc %ebx
401c7e:	52                   	push   %edx
401c7f:	54                   	push   %esp
401c80:	24 58                	and    $0x58,%al
401c82:	49                   	dec    %ecx
401c83:	5a                   	pop    %edx
401c84:	00 00                	add    %al,(%eax)
401c86:	00 00                	add    %al,(%eax)
401c88:	d8 10                	fcoms  (%eax)
401c8a:	00 00                	add    %al,(%eax)
401c8c:	58                   	pop    %eax
401c8d:	00 00                	add    %al,(%eax)
401c8f:	00 2e                	add    %ch,(%esi)
401c91:	67 66 69 64 73 00 00 	imul   $0x0,0x73(%si),%sp
401c98:	30 11                	xor    %dl,(%ecx)
401c9a:	00 00                	add    %al,(%eax)
401c9c:	e0 09                	loopne 0x401ca7
401c9e:	00 00                	add    %al,(%eax)
401ca0:	2e 72 64             	jb,pn  0x401d07
401ca3:	61                   	popa
401ca4:	74 61                	je     0x401d07
401ca6:	00 00                	add    %al,(%eax)
401ca8:	10 1b                	adc    %bl,(%ebx)
401caa:	00 00                	add    %al,(%eax)
401cac:	ac                   	lods   %ds:(%esi),%al
401cad:	00 00                	add    %al,(%eax)
401caf:	00 2e                	add    %ch,(%esi)
401cb1:	72 64                	jb     0x401d17
401cb3:	61                   	popa
401cb4:	74 61                	je     0x401d17
401cb6:	24 73                	and    $0x73,%al
401cb8:	78 64                	js     0x401d1e
401cba:	61                   	popa
401cbb:	74 61                	je     0x401d1e
401cbd:	00 00                	add    %al,(%eax)
401cbf:	00 bc 1b 00 00 54 02 	add    %bh,0x2540000(%ebx,%ebx,1)
401cc6:	00 00                	add    %al,(%eax)
401cc8:	2e 72 64             	jb,pn  0x401d2f
401ccb:	61                   	popa
401ccc:	74 61                	je     0x401d2f
401cce:	24 7a                	and    $0x7a,%al
401cd0:	7a 7a                	jp     0x401d4c
401cd2:	64 62 67 00          	bound  %esp,%fs:0x0(%edi)
401cd6:	00 00                	add    %al,(%eax)
401cd8:	10 1e                	adc    %bl,(%esi)
401cda:	00 00                	add    %al,(%eax)
401cdc:	c0 d5 00             	rcl    $0x0,%ch
401cdf:	00 2e                	add    %ch,(%esi)
401ce1:	74 65                	je     0x401d48
401ce3:	78 74                	js     0x401d59
401ce5:	24 6d                	and    $0x6d,%al
401ce7:	6e                   	outsb  %ds:(%esi),(%dx)
401ce8:	00 00                	add    %al,(%eax)
401cea:	00 00                	add    %al,(%eax)
401cec:	d0 f3                	shl    $1,%bl
401cee:	00 00                	add    %al,(%eax)
401cf0:	b0 08                	mov    $0x8,%al
401cf2:	00 00                	add    %al,(%eax)
401cf4:	2e 74 65             	je,pn  0x401d5c
401cf7:	78 74                	js     0x401d6d
401cf9:	24 78                	and    $0x78,%al
401cfb:	00 80 fc 00 00 10    	add    %al,0x100000fc(%eax)
401d01:	12 00                	adc    (%eax),%al
401d03:	00 2e                	add    %ch,(%esi)
401d05:	78 64                	js     0x401d6b
401d07:	61                   	popa
401d08:	74 61                	je     0x401d6b
401d0a:	24 78                	and    $0x78,%al
401d0c:	00 00                	add    %al,(%eax)
401d0e:	00 00                	add    %al,(%eax)
401d10:	00 10                	add    %dl,(%eax)
401d12:	01 00                	add    %eax,(%eax)
401d14:	40                   	inc    %eax
401d15:	00 00                	add    %al,(%eax)
401d17:	00 2e                	add    %ch,(%esi)
401d19:	64 61                	fs popa
401d1b:	74 61                	je     0x401d7e
401d1d:	24 72                	and    $0x72,%al
401d1f:	24 62                	and    $0x62,%al
401d21:	72 63                	jb     0x401d86
401d23:	00 40 10             	add    %al,0x10(%eax)
401d26:	01 00                	add    %eax,(%eax)
401d28:	10 00                	adc    %al,(%eax)
401d2a:	00 00                	add    %al,(%eax)
401d2c:	2e 64 61             	cs fs popa
401d2f:	74 61                	je     0x401d92
401d31:	00 00                	add    %al,(%eax)
401d33:	00 50 10             	add    %dl,0x10(%eax)
401d36:	01 00                	add    %eax,(%eax)
401d38:	84 04 00             	test   %al,(%eax,%eax,1)
401d3b:	00 2e                	add    %ch,(%esi)
401d3d:	62 73 73             	bound  %esi,0x73(%ebx)
401d40:	00 00                	add    %al,(%eax)
401d42:	00 00                	add    %al,(%eax)
401d44:	00 20                	add    %ah,(%eax)
401d46:	01 00                	add    %eax,(%eax)
401d48:	20 03                	and    %al,(%ebx)
401d4a:	00 00                	add    %al,(%eax)
401d4c:	2e 69 64 61 74 61 24 	imul   $0x352461,%cs:0x74(%ecx,%eiz,2),%esp
401d53:	35 00
401d55:	00 00                	add    %al,(%eax)
401d57:	00 20                	add    %ah,(%eax)
401d59:	23 01                	and    (%ecx),%eax
401d5b:	00 04 00             	add    %al,(%eax,%eax,1)
401d5e:	00 00                	add    %al,(%eax)
401d60:	2e 30 30             	xor    %dh,%cs:(%eax)
401d63:	63 66 67             	arpl   %esp,0x67(%esi)
401d66:	00 00                	add    %al,(%eax)
401d68:	24 23                	and    $0x23,%al
401d6a:	01 00                	add    %eax,(%eax)
401d6c:	40                   	inc    %eax
401d6d:	01 00                	add    %eax,(%eax)
401d6f:	00 2e                	add    %ch,(%esi)
401d71:	69 64 61 74 61 24 32 	imul   $0x322461,0x74(%ecx,%eiz,2),%esp
401d78:	00
401d79:	00 00                	add    %al,(%eax)
401d7b:	00 64 24 01          	add    %ah,0x1(%esp)
401d7f:	00 14 00             	add    %dl,(%eax,%eax,1)
401d82:	00 00                	add    %al,(%eax)
401d84:	2e 69 64 61 74 61 24 	imul   $0x332461,%cs:0x74(%ecx,%eiz,2),%esp
401d8b:	33 00
401d8d:	00 00                	add    %al,(%eax)
401d8f:	00 78 24             	add    %bh,0x24(%eax)
401d92:	01 00                	add    %eax,(%eax)
401d94:	20 03                	and    %al,(%ebx)
401d96:	00 00                	add    %al,(%eax)
401d98:	2e 69 64 61 74 61 24 	imul   $0x342461,%cs:0x74(%ecx,%eiz,2),%esp
401d9f:	34 00
401da1:	00 00                	add    %al,(%eax)
401da3:	00 98 27 01 00 aa    	add    %bl,-0x55fffed9(%eax)
401da9:	0d 00 00 2e 69       	or     $0x692e0000,%eax
401dae:	64 61                	fs popa
401db0:	74 61                	je     0x401e13
401db2:	24 36                	and    $0x36,%al
401db4:	00 00                	add    %al,(%eax)
401db6:	00 00                	add    %al,(%eax)
401db8:	00 40 01             	add    %al,0x1(%eax)
401dbb:	00 f0                	add    %dh,%al
401dbd:	00 00                	add    %al,(%eax)
401dbf:	00 2e                	add    %ch,(%esi)
401dc1:	72 73                	jb     0x401e36
401dc3:	72 63                	jb     0x401e28
401dc5:	24 30                	and    $0x30,%al
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