46eded:	8b ec                	mov    %esp,%ebp
46edef:	b9 04 00 00 00       	mov    $0x4,%ecx
46edf4:	6a 00                	push   $0x0
46edf6:	6a 00                	push   $0x0
46edf8:	49                   	dec    %ecx
46edf9:	75 f9                	jne    0x46edf4
46edfb:	51                   	push   %ecx
46edfc:	53                   	push   %ebx
46edfd:	56                   	push   %esi
46edfe:	57                   	push   %edi
46edff:	8b 75 08             	mov    0x8(%ebp),%esi
46ee02:	8d 45 0c             	lea    0xc(%ebp),%eax
46ee05:	e8 6a 6c f9 ff       	call   0x405a74
46ee0a:	8b 45 1c             	mov    0x1c(%ebp),%eax
46ee0d:	85 c0                	test   %eax,%eax
46ee0f:	74 04                	je     0x46ee15
46ee11:	33 d2                	xor    %edx,%edx
46ee13:	89 10                	mov    %edx,(%eax)
46ee15:	33 c0                	xor    %eax,%eax
46ee17:	55                   	push   %ebp
46ee18:	68 17 ef 46 00       	push   $0x46ef17
46ee1d:	64 ff 30             	push   %fs:(%eax)
46ee20:	64 89 20             	mov    %esp,%fs:(%eax)
46ee23:	33 c0                	xor    %eax,%eax
46ee25:	55                   	push   %ebp
46ee26:	68 d7 ee 46 00       	push   $0x46eed7
46ee2b:	64 ff 30             	push   %fs:(%eax)
46ee2e:	64 89 20             	mov    %esp,%fs:(%eax)
46ee31:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
46ee35:	75 12                	jne    0x46ee49
46ee37:	bb 05 40 00 80       	mov    $0x80004005,%ebx
46ee3c:	33 c0                	xor    %eax,%eax
46ee3e:	5a                   	pop    %edx
46ee3f:	59                   	pop    %ecx
46ee40:	59                   	pop    %ecx
46ee41:	64 89 10             	mov    %edx,%fs:(%eax)
46ee44:	e9 9d 00 00 00       	jmp    0x46eee6
46ee49:	bb 57 00 07 80       	mov    $0x80070057,%ebx
46ee4e:	8d 45 0c             	lea    0xc(%ebp),%eax
46ee51:	e8 ea 76 fa ff       	call   0x416540
46ee56:	66 83 f8 03          	cmp    $0x3,%ax
46ee5a:	75 71                	jne    0x46eecd
46ee5c:	8d 45 f0             	lea    -0x10(%ebp),%eax
46ee5f:	33 d2                	xor    %edx,%edx
46ee61:	b1 01                	mov    $0x1,%cl
46ee63:	e8 d4 6b f9 ff       	call   0x405a3c
46ee68:	8d 55 f0             	lea    -0x10(%ebp),%edx
46ee6b:	8d 45 0c             	lea    0xc(%ebp),%eax
46ee6e:	e8 d1 6b f9 ff       	call   0x405a44
46ee73:	75 15                	jne    0x46ee8a
46ee75:	8b 45 1c             	mov    0x1c(%ebp),%eax
46ee78:	8b d6                	mov    %esi,%edx
46ee7a:	85 d2                	test   %edx,%edx
46ee7c:	74 03                	je     0x46ee81
46ee7e:	83 ea e0             	sub    $0xffffffe0,%edx
46ee81:	e8 c6 79 f9 ff       	call   0x40684c
46ee86:	33 db                	xor    %ebx,%ebx
46ee88:	eb 43                	jmp    0x46eecd
46ee8a:	8d 45 e0             	lea    -0x20(%ebp),%eax
46ee8d:	ba 01 00 00 00       	mov    $0x1,%edx
46ee92:	b1 01                	mov    $0x1,%cl
46ee94:	e8 a3 6b f9 ff       	call   0x405a3c
46ee99:	8d 55 e0             	lea    -0x20(%ebp),%edx
46ee9c:	8d 45 0c             	lea    0xc(%ebp),%eax
46ee9f:	e8 a0 6b f9 ff       	call   0x405a44
46eea4:	75 27                	jne    0x46eecd
46eea6:	8b 46 1c             	mov    0x1c(%esi),%eax
46eea9:	8b 40 24             	mov    0x24(%eax),%eax
46eeac:	8b b0 90 00 00 00    	mov    0x90(%eax),%esi
46eeb2:	85 f6                	test   %esi,%esi
46eeb4:	74 17                	je     0x46eecd
46eeb6:	8d 55 dc             	lea    -0x24(%ebp),%edx
46eeb9:	8b c6                	mov    %esi,%eax
46eebb:	e8 24 5b 00 00       	call   0x4749e4
46eec0:	8b 55 dc             	mov    -0x24(%ebp),%edx
46eec3:	8b 45 1c             	mov    0x1c(%ebp),%eax
46eec6:	e8 81 79 f9 ff       	call   0x40684c
46eecb:	33 db                	xor    %ebx,%ebx
46eecd:	33 c0                	xor    %eax,%eax
46eecf:	5a                   	pop    %edx
46eed0:	59                   	pop    %ecx
46eed1:	59                   	pop    %ecx
46eed2:	64 89 10             	mov    %edx,%fs:(%eax)
46eed5:	eb 0f                	jmp    0x46eee6
46eed7:	e9 7c 50 f9 ff       	jmp    0x403f58
46eedc:	bb ff ff 00 80       	mov    $0x8000ffff,%ebx
46eee1:	e8 da 53 f9 ff       	call   0x4042c0
46eee6:	33 c0                	xor    %eax,%eax
46eee8:	5a                   	pop    %edx
46eee9:	59                   	pop    %ecx
46eeea:	59                   	pop    %ecx
46eeeb:	64 89 10             	mov    %edx,%fs:(%eax)
46eeee:	68 1e ef 46 00       	push   $0x46ef1e
46eef3:	8d 45 dc             	lea    -0x24(%ebp),%eax
46eef6:	e8 39 79 f9 ff       	call   0x406834
46eefb:	8d 45 e0             	lea    -0x20(%ebp),%eax
46eefe:	8b 15 d8 10 40 00    	mov    0x4010d8,%edx
46ef04:	b9 02 00 00 00       	mov    $0x2,%ecx
46ef09:	e8 52 65 f9 ff       	call   0x405460
46ef0e:	8d 45 0c             	lea    0xc(%ebp),%eax
46ef11:	e8 56 6b f9 ff       	call   0x405a6c
46ef16:	c3                   	ret
46ef17:	e9 f0 52 f9 ff       	jmp    0x40420c
46ef1c:	eb d5                	jmp    0x46eef3
46ef1e:	8b c3                	mov    %ebx,%eax
46ef20:	5f                   	pop    %edi
46ef21:	5e                   	pop    %esi
46ef22:	5b                   	pop    %ebx
46ef23:	8b e5                	mov    %ebp,%esp
46ef25:	5d                   	pop    %ebp
46ef26:	c2 18 00             	ret    $0x18
46ef29:	8d 40 00             	lea    0x0(%eax),%eax
46ef2c:	55                   	push   %ebp
46ef2d:	8b ec                	mov    %esp,%ebp
46ef2f:	53                   	push   %ebx
46ef30:	56                   	push   %esi
46ef31:	57                   	push   %edi
46ef32:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46ef35:	8b 45 08             	mov    0x8(%ebp),%eax
46ef38:	33 f6                	xor    %esi,%esi
46ef3a:	55                   	push   %ebp
46ef3b:	68 7f ef 46 00       	push   $0x46ef7f
46ef40:	64 ff 36             	push   %fs:(%esi)
46ef43:	64 89 26             	mov    %esp,%fs:(%esi)
46ef46:	8b 50 1c             	mov    0x1c(%eax),%edx
46ef49:	85 d2                	test   %edx,%edx
46ef4b:	75 0f                	jne    0x46ef5c
46ef4d:	bb 05 40 00 80       	mov    $0x80004005,%ebx
46ef52:	33 c0                	xor    %eax,%eax
46ef54:	5a                   	pop    %edx
46ef55:	59                   	pop    %ecx
46ef56:	59                   	pop    %ecx
46ef57:	64 89 10             	mov    %edx,%fs:(%eax)
46ef5a:	eb 32                	jmp    0x46ef8e
46ef5c:	8b 42 24             	mov    0x24(%edx),%eax
46ef5f:	3b 90 8c 00 00 00    	cmp    0x8c(%eax),%edx
46ef65:	75 08                	jne    0x46ef6f
46ef67:	c7 01 01 00 00 00    	movl   $0x1,(%ecx)
46ef6d:	eb 04                	jmp    0x46ef73
46ef6f:	33 c0                	xor    %eax,%eax
46ef71:	89 01                	mov    %eax,(%ecx)
46ef73:	33 db                	xor    %ebx,%ebx
46ef75:	33 c0                	xor    %eax,%eax
46ef77:	5a                   	pop    %edx
46ef78:	59                   	pop    %ecx
46ef79:	59                   	pop    %ecx
46ef7a:	64 89 10             	mov    %edx,%fs:(%eax)
46ef7d:	eb 0f                	jmp    0x46ef8e
46ef7f:	e9 d4 4f f9 ff       	jmp    0x403f58
46ef84:	bb ff ff 00 80       	mov    $0x8000ffff,%ebx
46ef89:	e8 32 53 f9 ff       	call   0x4042c0
46ef8e:	8b c3                	mov    %ebx,%eax
46ef90:	5f                   	pop    %edi
46ef91:	5e                   	pop    %esi
46ef92:	5b                   	pop    %ebx
46ef93:	5d                   	pop    %ebp
46ef94:	c2 08 00             	ret    $0x8
46ef97:	90                   	nop
46ef98:	55                   	push   %ebp
46ef99:	8b ec                	mov    %esp,%ebp
46ef9b:	51                   	push   %ecx
46ef9c:	53                   	push   %ebx
46ef9d:	56                   	push   %esi
46ef9e:	57                   	push   %edi
46ef9f:	8b 5d 08             	mov    0x8(%ebp),%ebx
46efa2:	8d 45 0c             	lea    0xc(%ebp),%eax
46efa5:	e8 ca 6a f9 ff       	call   0x405a74
46efaa:	8b 45 1c             	mov    0x1c(%ebp),%eax
46efad:	85 c0                	test   %eax,%eax
46efaf:	74 04                	je     0x46efb5
46efb1:	33 d2                	xor    %edx,%edx
46efb3:	89 10                	mov    %edx,(%eax)
46efb5:	33 c0                	xor    %eax,%eax
46efb7:	55                   	push   %ebp
46efb8:	68 9f f0 46 00       	push   $0x46f09f
46efbd:	64 ff 30             	push   %fs:(%eax)
46efc0:	64 89 20             	mov    %esp,%fs:(%eax)
46efc3:	33 d2                	xor    %edx,%edx
46efc5:	55                   	push   %ebp
46efc6:	68 78 f0 46 00       	push   $0x46f078
46efcb:	64 ff 32             	push   %fs:(%edx)
46efce:	64 89 22             	mov    %esp,%fs:(%edx)
46efd1:	8d 4d fc             	lea    -0x4(%ebp),%ecx
46efd4:	8d 55 0c             	lea    0xc(%ebp),%edx
46efd7:	8b c3                	mov    %ebx,%eax
46efd9:	e8 5e f6 ff ff       	call   0x46e63c
46efde:	84 c0                	test   %al,%al
46efe0:	75 0d                	jne    0x46efef
46efe2:	33 c0                	xor    %eax,%eax
46efe4:	5a                   	pop    %edx
46efe5:	59                   	pop    %ecx
46efe6:	59                   	pop    %ecx
46efe7:	64 89 10             	mov    %edx,%fs:(%eax)
46efea:	e9 9a 00 00 00       	jmp    0x46f089
46efef:	8b c3                	mov    %ebx,%eax
46eff1:	e8 ce f6 ff ff       	call   0x46e6c4
46eff6:	84 c0                	test   %al,%al
46eff8:	74 6d                	je     0x46f067
46effa:	8b 43 1c             	mov    0x1c(%ebx),%eax
46effd:	8b 50 24             	mov    0x24(%eax),%edx
46f000:	3b 82 8c 00 00 00    	cmp    0x8c(%edx),%eax
46f006:	75 0f                	jne    0x46f017
46f008:	8b 45 1c             	mov    0x1c(%ebp),%eax
46f00b:	ba b8 f0 46 00       	mov    $0x46f0b8,%edx
46f010:	e8 b3 5f f9 ff       	call   0x404fc8
46f015:	eb 49                	jmp    0x46f060
46f017:	8b 40 1c             	mov    0x1c(%eax),%eax
46f01a:	f6 40 64 01          	testb  $0x1,0x64(%eax)
46f01e:	74 0f                	je     0x46f02f
46f020:	8b 45 1c             	mov    0x1c(%ebp),%eax
46f023:	ba c8 f0 46 00       	mov    $0x46f0c8,%edx
46f028:	e8 9b 5f f9 ff       	call   0x404fc8
46f02d:	eb 31                	jmp    0x46f060
46f02f:	8b 43 1c             	mov    0x1c(%ebx),%eax
46f032:	8b 40 24             	mov    0x24(%eax),%eax
46f035:	80 78 70 00          	cmpb   $0x0,0x70(%eax)
46f039:	75 09                	jne    0x46f044
46f03b:	f6 80 b4 00 00 00 01 	testb  $0x1,0xb4(%eax)
46f042:	74 0f                	je     0x46f053
46f044:	8b 45 1c             	mov    0x1c(%ebp),%eax
46f047:	ba d8 f0 46 00       	mov    $0x46f0d8,%edx
46f04c:	e8 77 5f f9 ff       	call   0x404fc8
46f051:	eb 0d                	jmp    0x46f060
46f053:	8b 45 1c             	mov    0x1c(%ebp),%eax
46f056:	ba ec f0 46 00       	mov    $0x46f0ec,%edx
46f05b:	e8 68 5f f9 ff       	call   0x404fc8
46f060:	33 c0                	xor    %eax,%eax
46f062:	89 45 fc             	mov    %eax,-0x4(%ebp)
46f065:	eb 07                	jmp    0x46f06e
46f067:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
46f06e:	33 c0                	xor    %eax,%eax
46f070:	5a                   	pop    %edx
46f071:	59                   	pop    %ecx
46f072:	59                   	pop    %ecx
46f073:	64 89 10             	mov    %edx,%fs:(%eax)
46f076:	eb 11                	jmp    0x46f089
46f078:	e9 db 4e f9 ff       	jmp    0x403f58
46f07d:	c7 45 fc ff ff 00 80 	movl   $0x8000ffff,-0x4(%ebp)
46f084:	e8 37 52 f9 ff       	call   0x4042c0
46f089:	33 c0                	xor    %eax,%eax
46f08b:	5a                   	pop    %edx
46f08c:	59                   	pop    %ecx
46f08d:	59                   	pop    %ecx
46f08e:	64 89 10             	mov    %edx,%fs:(%eax)
46f091:	68 a6 f0 46 00       	push   $0x46f0a6
46f096:	8d 45 0c             	lea    0xc(%ebp),%eax
46f099:	e8 ce 69 f9 ff       	call   0x405a6c
46f09e:	c3                   	ret
46f09f:	e9 68 51 f9 ff       	jmp    0x40420c
46f0a4:	eb f0                	jmp    0x46f096
46f0a6:	8b 45 fc             	mov    -0x4(%ebp),%eax
46f0a9:	5f                   	pop    %edi
46f0aa:	5e                   	pop    %esi
46f0ab:	5b                   	pop    %ebx
46f0ac:	59                   	pop    %ecx
46f0ad:	5d                   	pop    %ebp
46f0ae:	c2 18 00             	ret    $0x18
46f0b1:	00 00                	add    %al,(%eax)
46f0b3:	00 0a                	add    %cl,(%edx)
46f0b5:	00 00                	add    %al,(%eax)
46f0b7:	00 43 00             	add    %al,0x0(%ebx)
46f0ba:	6c                   	insb   (%dx),%es:(%edi)
46f0bb:	00 6f 00             	add    %ch,0x0(%edi)
46f0be:	73 00                	jae    0x46f0c0
46f0c0:	65 00 00             	add    %al,%gs:(%eax)
46f0c3:	00 08                	add    %cl,(%eax)
46f0c5:	00 00                	add    %al,(%eax)
46f0c7:	00 4f 00             	add    %cl,0x0(%edi)
46f0ca:	70 00                	jo     0x46f0cc
46f0cc:	65 00 6e 00          	add    %ch,%gs:0x0(%esi)
46f0d0:	00 00                	add    %al,(%eax)
46f0d2:	00 00                	add    %al,(%eax)
46f0d4:	0e                   	push   %cs
46f0d5:	00 00                	add    %al,(%eax)
46f0d7:	00 45 00             	add    %al,0x0(%ebp)
46f0da:	78 00                	js     0x46f0dc
46f0dc:	65 00 63 00          	add    %ah,%gs:0x0(%ebx)
46f0e0:	75 00                	jne    0x46f0e2
46f0e2:	74 00                	je     0x46f0e4
46f0e4:	65 00 00             	add    %al,%gs:(%eax)
46f0e7:	00 0a                	add    %cl,(%edx)
46f0e9:	00 00                	add    %al,(%eax)
46f0eb:	00 50 00             	add    %dl,0x0(%eax)
46f0ee:	72 00                	jb     0x46f0f0
46f0f0:	65 00 73 00          	add    %dh,%gs:0x0(%ebx)
46f0f4:	73 00                	jae    0x46f0f6
46f0f6:	00 00                	add    %al,(%eax)
46f0f8:	55                   	push   %ebp
46f0f9:	8b ec                	mov    %esp,%ebp
46f0fb:	53                   	push   %ebx
46f0fc:	8d 45 0c             	lea    0xc(%ebp),%eax
46f0ff:	e8 70 69 f9 ff       	call   0x405a74
46f104:	8b 45 1c             	mov    0x1c(%ebp),%eax
46f107:	85 c0                	test   %eax,%eax
46f109:	74 04                	je     0x46f10f
46f10b:	33 d2                	xor    %edx,%edx
46f10d:	89 10                	mov    %edx,(%eax)
46f10f:	33 c0                	xor    %eax,%eax
46f111:	55                   	push   %ebp
46f112:	68 38 f1 46 00       	push   $0x46f138
46f117:	64 ff 30             	push   %fs:(%eax)
46f11a:	64 89 20             	mov    %esp,%fs:(%eax)
46f11d:	bb 01 00 00 00       	mov    $0x1,%ebx
46f122:	33 c0                	xor    %eax,%eax
46f124:	5a                   	pop    %edx
46f125:	59                   	pop    %ecx
46f126:	59                   	pop    %ecx
46f127:	64 89 10             	mov    %edx,%fs:(%eax)
46f12a:	68 3f f1 46 00       	push   $0x46f13f
46f12f:	8d 45 0c             	lea    0xc(%ebp),%eax
46f132:	e8 35 69 f9 ff       	call   0x405a6c
46f137:	c3                   	ret
46f138:	e9 cf 50 f9 ff       	jmp    0x40420c
46f13d:	eb f0                	jmp    0x46f12f
46f13f:	8b c3                	mov    %ebx,%eax
46f141:	5b                   	pop    %ebx
46f142:	5d                   	pop    %ebp
46f143:	c2 18 00             	ret    $0x18
46f146:	8b c0                	mov    %eax,%eax
46f148:	55                   	push   %ebp
46f149:	8b ec                	mov    %esp,%ebp
46f14b:	53                   	push   %ebx
46f14c:	56                   	push   %esi
46f14d:	57                   	push   %edi
46f14e:	8b 5d 08             	mov    0x8(%ebp),%ebx
46f151:	8b 45 0c             	mov    0xc(%ebp),%eax
46f154:	8b 55 0c             	mov    0xc(%ebp),%edx
46f157:	85 d2                	test   %edx,%edx
46f159:	74 0d                	je     0x46f168
46f15b:	33 c9                	xor    %ecx,%ecx
46f15d:	89 4a 0c             	mov    %ecx,0xc(%edx)
46f160:	89 4a 08             	mov    %ecx,0x8(%edx)
46f163:	89 4a 04             	mov    %ecx,0x4(%edx)
46f166:	89 0a                	mov    %ecx,(%edx)
46f168:	33 d2                	xor    %edx,%edx
46f16a:	55                   	push   %ebp
46f16b:	68 c1 f1 46 00       	push   $0x46f1c1
46f170:	64 ff 32             	push   %fs:(%edx)
46f173:	64 89 22             	mov    %esp,%fs:(%edx)
46f176:	83 7b 1c 00          	cmpl   $0x0,0x1c(%ebx)
46f17a:	75 0f                	jne    0x46f18b
46f17c:	bb 05 40 00 80       	mov    $0x80004005,%ebx
46f181:	33 c0                	xor    %eax,%eax
46f183:	5a                   	pop    %edx
46f184:	59                   	pop    %ecx
46f185:	59                   	pop    %ecx
46f186:	64 89 10             	mov    %edx,%fs:(%eax)
46f189:	eb 45                	jmp    0x46f1d0
46f18b:	8b 73 1c             	mov    0x1c(%ebx),%esi
46f18e:	8b 46 24             	mov    0x24(%esi),%eax