405e35:	3b 4d 08             	cmp    0x8(%ebp),%ecx
405e38:	73 1d                	jae    0x405e57
405e3a:	8b 45 f8             	mov    -0x8(%ebp),%eax
405e3d:	0f b7 14 48          	movzwl (%eax,%ecx,2),%edx
405e41:	41                   	inc    %ecx
405e42:	83 fa 7f             	cmp    $0x7f,%edx
405e45:	76 0a                	jbe    0x405e51
405e47:	81 fa ff 07 00 00    	cmp    $0x7ff,%edx
405e4d:	76 01                	jbe    0x405e50
405e4f:	46                   	inc    %esi
405e50:	46                   	inc    %esi
405e51:	46                   	inc    %esi
405e52:	3b 4d 08             	cmp    0x8(%ebp),%ecx
405e55:	72 e3                	jb     0x405e3a
405e57:	8d 56 01             	lea    0x1(%esi),%edx
405e5a:	8b c2                	mov    %edx,%eax
405e5c:	5e                   	pop    %esi
405e5d:	5b                   	pop    %ebx
405e5e:	59                   	pop    %ecx
405e5f:	59                   	pop    %ecx
405e60:	5d                   	pop    %ebp
405e61:	c2 04 00             	ret    $0x4
405e64:	55                   	push   %ebp
405e65:	8b ec                	mov    %esp,%ebp
405e67:	83 c4 f0             	add    $0xfffffff0,%esp
405e6a:	53                   	push   %ebx
405e6b:	56                   	push   %esi
405e6c:	89 4d f4             	mov    %ecx,-0xc(%ebp)
405e6f:	89 55 f8             	mov    %edx,-0x8(%ebp)
405e72:	89 45 fc             	mov    %eax,-0x4(%ebp)
405e75:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
405e79:	75 0a                	jne    0x405e85
405e7b:	33 c0                	xor    %eax,%eax
405e7d:	89 45 f0             	mov    %eax,-0x10(%ebp)
405e80:	e9 09 01 00 00       	jmp    0x405f8e
405e85:	c7 45 f0 ff ff ff ff 	movl   $0xffffffff,-0x10(%ebp)
405e8c:	33 c0                	xor    %eax,%eax
405e8e:	33 f6                	xor    %esi,%esi
405e90:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
405e94:	0f 84 a9 00 00 00    	je     0x405f43
405e9a:	e9 82 00 00 00       	jmp    0x405f21
405e9f:	8b 55 f4             	mov    -0xc(%ebp),%edx
405ea2:	33 c9                	xor    %ecx,%ecx
405ea4:	8a 0c 32             	mov    (%edx,%esi,1),%cl
405ea7:	46                   	inc    %esi
405ea8:	f6 c1 80             	test   $0x80,%cl
405eab:	74 6c                	je     0x405f19
405ead:	3b 75 08             	cmp    0x8(%ebp),%esi
405eb0:	0f 83 d8 00 00 00    	jae    0x405f8e
405eb6:	83 e1 3f             	and    $0x3f,%ecx
405eb9:	f6 c1 20             	test   $0x20,%cl
405ebc:	74 2e                	je     0x405eec
405ebe:	8b 55 f4             	mov    -0xc(%ebp),%edx
405ec1:	8a 14 32             	mov    (%edx,%esi,1),%dl
405ec4:	46                   	inc    %esi
405ec5:	8b da                	mov    %edx,%ebx
405ec7:	80 e3 c0             	and    $0xc0,%bl
405eca:	80 fb 80             	cmp    $0x80,%bl
405ecd:	0f 85 bb 00 00 00    	jne    0x405f8e
405ed3:	3b 75 08             	cmp    0x8(%ebp),%esi
405ed6:	0f 83 b2 00 00 00    	jae    0x405f8e
405edc:	80 e2 3f             	and    $0x3f,%dl
405edf:	81 e2 ff 00 00 00    	and    $0xff,%edx
405ee5:	c1 e1 06             	shl    $0x6,%ecx
405ee8:	0b d1                	or     %ecx,%edx
405eea:	8b ca                	mov    %edx,%ecx
405eec:	8b 55 f4             	mov    -0xc(%ebp),%edx
405eef:	8a 14 32             	mov    (%edx,%esi,1),%dl
405ef2:	46                   	inc    %esi
405ef3:	8b da                	mov    %edx,%ebx
405ef5:	80 e3 c0             	and    $0xc0,%bl
405ef8:	80 fb 80             	cmp    $0x80,%bl
405efb:	0f 85 8d 00 00 00    	jne    0x405f8e
405f01:	80 e2 3f             	and    $0x3f,%dl
405f04:	81 e2 ff 00 00 00    	and    $0xff,%edx
405f0a:	c1 e1 06             	shl    $0x6,%ecx
405f0d:	66 0b d1             	or     %cx,%dx
405f10:	8b 4d fc             	mov    -0x4(%ebp),%ecx
405f13:	66 89 14 41          	mov    %dx,(%ecx,%eax,2)
405f17:	eb 07                	jmp    0x405f20
405f19:	8b 55 fc             	mov    -0x4(%ebp),%edx
405f1c:	66 89 0c 42          	mov    %cx,(%edx,%eax,2)
405f20:	40                   	inc    %eax
405f21:	3b 75 08             	cmp    0x8(%ebp),%esi
405f24:	73 09                	jae    0x405f2f
405f26:	3b 45 f8             	cmp    -0x8(%ebp),%eax
405f29:	0f 82 70 ff ff ff    	jb     0x405e9f
405f2f:	3b 45 f8             	cmp    -0x8(%ebp),%eax
405f32:	72 04                	jb     0x405f38
405f34:	8b 45 f8             	mov    -0x8(%ebp),%eax
405f37:	48                   	dec    %eax
405f38:	8b 55 fc             	mov    -0x4(%ebp),%edx
405f3b:	66 c7 04 42 00 00    	movw   $0x0,(%edx,%eax,2)
405f41:	eb 47                	jmp    0x405f8a
405f43:	3b 75 08             	cmp    0x8(%ebp),%esi
405f46:	73 42                	jae    0x405f8a
405f48:	8b 55 f4             	mov    -0xc(%ebp),%edx
405f4b:	8a 14 32             	mov    (%edx,%esi,1),%dl
405f4e:	46                   	inc    %esi
405f4f:	f6 c2 80             	test   $0x80,%dl
405f52:	74 30                	je     0x405f84
405f54:	3b 75 08             	cmp    0x8(%ebp),%esi
405f57:	73 35                	jae    0x405f8e
405f59:	80 e2 3f             	and    $0x3f,%dl
405f5c:	f6 c2 20             	test   $0x20,%dl
405f5f:	74 14                	je     0x405f75
405f61:	8b 55 f4             	mov    -0xc(%ebp),%edx
405f64:	8a 14 32             	mov    (%edx,%esi,1),%dl
405f67:	46                   	inc    %esi
405f68:	80 e2 c0             	and    $0xc0,%dl
405f6b:	80 fa 80             	cmp    $0x80,%dl
405f6e:	75 1e                	jne    0x405f8e
405f70:	3b 75 08             	cmp    0x8(%ebp),%esi
405f73:	73 19                	jae    0x405f8e
405f75:	8b 55 f4             	mov    -0xc(%ebp),%edx
405f78:	8a 14 32             	mov    (%edx,%esi,1),%dl
405f7b:	46                   	inc    %esi
405f7c:	80 e2 c0             	and    $0xc0,%dl
405f7f:	80 fa 80             	cmp    $0x80,%dl
405f82:	75 0a                	jne    0x405f8e
405f84:	40                   	inc    %eax
405f85:	3b 75 08             	cmp    0x8(%ebp),%esi
405f88:	72 be                	jb     0x405f48
405f8a:	40                   	inc    %eax
405f8b:	89 45 f0             	mov    %eax,-0x10(%ebp)
405f8e:	8b 45 f0             	mov    -0x10(%ebp),%eax
405f91:	5e                   	pop    %esi
405f92:	5b                   	pop    %ebx
405f93:	8b e5                	mov    %ebp,%esp
405f95:	5d                   	pop    %ebp
405f96:	c2 04 00             	ret    $0x4
405f99:	8d 40 00             	lea    0x0(%eax),%eax
405f9c:	55                   	push   %ebp
405f9d:	8b ec                	mov    %esp,%ebp
405f9f:	6a 00                	push   $0x0
405fa1:	53                   	push   %ebx
405fa2:	56                   	push   %esi
405fa3:	8b f2                	mov    %edx,%esi
405fa5:	8b d8                	mov    %eax,%ebx
405fa7:	33 c0                	xor    %eax,%eax
405fa9:	55                   	push   %ebp
405faa:	68 3b 60 40 00       	push   $0x40603b
405faf:	64 ff 30             	push   %fs:(%eax)
405fb2:	64 89 20             	mov    %esp,%fs:(%eax)
405fb5:	8b c6                	mov    %esi,%eax
405fb7:	e8 b4 e5 ff ff       	call   0x404570
405fbc:	8b c3                	mov    %ebx,%eax
405fbe:	33 d2                	xor    %edx,%edx
405fc0:	e8 03 ee ff ff       	call   0x404dc8
405fc5:	74 5e                	je     0x406025
405fc7:	8b c3                	mov    %ebx,%eax
405fc9:	e8 ee ed ff ff       	call   0x404dbc
405fce:	8d 14 40             	lea    (%eax,%eax,2),%edx
405fd1:	8d 45 fc             	lea    -0x4(%ebp),%eax
405fd4:	e8 e3 eb ff ff       	call   0x404bbc
405fd9:	8b c3                	mov    %ebx,%eax
405fdb:	e8 dc ed ff ff       	call   0x404dbc
405fe0:	50                   	push   %eax
405fe1:	8b 45 fc             	mov    -0x4(%ebp),%eax
405fe4:	e8 47 e8 ff ff       	call   0x404830
405fe9:	40                   	inc    %eax
405fea:	50                   	push   %eax
405feb:	8b c3                	mov    %ebx,%eax
405fed:	e8 ba ed ff ff       	call   0x404dac
405ff2:	50                   	push   %eax
405ff3:	8b 45 fc             	mov    -0x4(%ebp),%eax
405ff6:	e8 35 ea ff ff       	call   0x404a30
405ffb:	59                   	pop    %ecx
405ffc:	5a                   	pop    %edx
405ffd:	e8 86 fd ff ff       	call   0x405d88
406002:	85 c0                	test   %eax,%eax
406004:	7e 0d                	jle    0x406013
406006:	8b d0                	mov    %eax,%edx
406008:	4a                   	dec    %edx
406009:	8d 45 fc             	lea    -0x4(%ebp),%eax
40600c:	e8 ab eb ff ff       	call   0x404bbc
406011:	eb 08                	jmp    0x40601b
406013:	8d 45 fc             	lea    -0x4(%ebp),%eax
406016:	e8 55 e5 ff ff       	call   0x404570
40601b:	8b c6                	mov    %esi,%eax
40601d:	8b 55 fc             	mov    -0x4(%ebp),%edx
406020:	e8 9f e5 ff ff       	call   0x4045c4
406025:	33 c0                	xor    %eax,%eax
406027:	5a                   	pop    %edx
406028:	59                   	pop    %ecx
406029:	59                   	pop    %ecx
40602a:	64 89 10             	mov    %edx,%fs:(%eax)
40602d:	68 42 60 40 00       	push   $0x406042
406032:	8d 45 fc             	lea    -0x4(%ebp),%eax
406035:	e8 36 e5 ff ff       	call   0x404570
40603a:	c3                   	ret
40603b:	e9 0c df ff ff       	jmp    0x403f4c
406040:	eb f0                	jmp    0x406032
406042:	5e                   	pop    %esi
406043:	5b                   	pop    %ebx
406044:	59                   	pop    %ecx
406045:	5d                   	pop    %ebp
406046:	c3                   	ret
406047:	90                   	nop
406048:	55                   	push   %ebp
406049:	8b ec                	mov    %esp,%ebp
40604b:	6a 00                	push   $0x0
40604d:	53                   	push   %ebx
40604e:	56                   	push   %esi
40604f:	8b f2                	mov    %edx,%esi
406051:	8b d8                	mov    %eax,%ebx
406053:	33 c0                	xor    %eax,%eax
406055:	55                   	push   %ebp
406056:	68 df 60 40 00       	push   $0x4060df
40605b:	64 ff 30             	push   %fs:(%eax)
40605e:	64 89 20             	mov    %esp,%fs:(%eax)
406061:	8b c6                	mov    %esi,%eax
406063:	e8 e8 eb ff ff       	call   0x404c50
406068:	85 db                	test   %ebx,%ebx
40606a:	74 5d                	je     0x4060c9
40606c:	8b c3                	mov    %ebx,%eax
40606e:	e8 bd e7 ff ff       	call   0x404830
406073:	8b d0                	mov    %eax,%edx
406075:	8d 45 fc             	lea    -0x4(%ebp),%eax
406078:	e8 1b ee ff ff       	call   0x404e98
40607d:	8b c3                	mov    %ebx,%eax
40607f:	e8 ac e7 ff ff       	call   0x404830
406084:	50                   	push   %eax
406085:	8b 45 fc             	mov    -0x4(%ebp),%eax
406088:	e8 2f ed ff ff       	call   0x404dbc
40608d:	40                   	inc    %eax
40608e:	50                   	push   %eax
40608f:	8b c3                	mov    %ebx,%eax
406091:	e8 9a e9 ff ff       	call   0x404a30
406096:	50                   	push   %eax
406097:	8b 45 fc             	mov    -0x4(%ebp),%eax
40609a:	e8 0d ed ff ff       	call   0x404dac
40609f:	59                   	pop    %ecx
4060a0:	5a                   	pop    %edx
4060a1:	e8 be fd ff ff       	call   0x405e64
4060a6:	85 c0                	test   %eax,%eax
4060a8:	7e 0d                	jle    0x4060b7
4060aa:	8b d0                	mov    %eax,%edx
4060ac:	4a                   	dec    %edx
4060ad:	8d 45 fc             	lea    -0x4(%ebp),%eax
4060b0:	e8 e3 ed ff ff       	call   0x404e98
4060b5:	eb 08                	jmp    0x4060bf
4060b7:	8d 45 fc             	lea    -0x4(%ebp),%eax
4060ba:	e8 91 eb ff ff       	call   0x404c50
4060bf:	8b c6                	mov    %esi,%eax
4060c1:	8b 55 fc             	mov    -0x4(%ebp),%edx
4060c4:	e8 c3 eb ff ff       	call   0x404c8c
4060c9:	33 c0                	xor    %eax,%eax
4060cb:	5a                   	pop    %edx
4060cc:	59                   	pop    %ecx
4060cd:	59                   	pop    %ecx
4060ce:	64 89 10             	mov    %edx,%fs:(%eax)
4060d1:	68 e6 60 40 00       	push   $0x4060e6
4060d6:	8d 45 fc             	lea    -0x4(%ebp),%eax
4060d9:	e8 72 eb ff ff       	call   0x404c50
4060de:	c3                   	ret
4060df:	e9 68 de ff ff       	jmp    0x403f4c
4060e4:	eb f0                	jmp    0x4060d6
4060e6:	5e                   	pop    %esi
4060e7:	5b                   	pop    %ebx
4060e8:	59                   	pop    %ecx
4060e9:	5d                   	pop    %ebp
4060ea:	c3                   	ret
4060eb:	90                   	nop
4060ec:	55                   	push   %ebp
4060ed:	8b ec                	mov    %esp,%ebp
4060ef:	6a 00                	push   $0x0
4060f1:	53                   	push   %ebx
4060f2:	56                   	push   %esi
4060f3:	8b f2                	mov    %edx,%esi
4060f5:	8b d8                	mov    %eax,%ebx
4060f7:	33 c0                	xor    %eax,%eax
4060f9:	55                   	push   %ebp
4060fa:	68 2f 61 40 00       	push   $0x40612f
4060ff:	64 ff 30             	push   %fs:(%eax)
406102:	64 89 20             	mov    %esp,%fs:(%eax)
406105:	8d 45 fc             	lea    -0x4(%ebp),%eax
406108:	8b d3                	mov    %ebx,%edx
40610a:	e8 8d ec ff ff       	call   0x404d9c
40610f:	8b 45 fc             	mov    -0x4(%ebp),%eax
406112:	8b d6                	mov    %esi,%edx
406114:	e8 83 fe ff ff       	call   0x405f9c
406119:	33 c0                	xor    %eax,%eax
40611b:	5a                   	pop    %edx
40611c:	59                   	pop    %ecx
40611d:	59                   	pop    %ecx
40611e:	64 89 10             	mov    %edx,%fs:(%eax)
406121:	68 36 61 40 00       	push   $0x406136
406126:	8d 45 fc             	lea    -0x4(%ebp),%eax
406129:	e8 22 eb ff ff       	call   0x404c50
40612e:	c3                   	ret
40612f:	e9 18 de ff ff       	jmp    0x403f4c
406134:	eb f0                	jmp    0x406126
406136:	5e                   	pop    %esi
406137:	5b                   	pop    %ebx
406138:	59                   	pop    %ecx
406139:	5d                   	pop    %ebp
40613a:	c3                   	ret
40613b:	90                   	nop
40613c:	53                   	push   %ebx
40613d:	56                   	push   %esi
40613e:	81 c4 04 f0 ff ff    	add    $0xfffff004,%esp
406144:	50                   	push   %eax
406145:	8b f2                	mov    %edx,%esi
406147:	8b d8                	mov    %eax,%ebx
406149:	85 db                	test   %ebx,%ebx
40614b:	74 3d                	je     0x40618a
40614d:	81 7b 04 00 00 01 00 	cmpl   $0x10000,0x4(%ebx)
406154:	7d 2a                	jge    0x406180
406156:	68 00 10 00 00       	push   $0x1000
40615b:	8d 44 24 04          	lea    0x4(%esp),%eax
40615f:	50                   	push   %eax
406160:	8b 43 04             	mov    0x4(%ebx),%eax
406163:	50                   	push   %eax
406164:	8b 03                	mov    (%ebx),%eax
406166:	8b 00                	mov    (%eax),%eax
406168:	e8 93 f4 ff ff       	call   0x405600
40616d:	50                   	push   %eax
40616e:	e8 19 b1 ff ff       	call   0x40128c
406173:	8b c8                	mov    %eax,%ecx
406175:	8b d4                	mov    %esp,%edx
406177:	8b c6                	mov    %esi,%eax
406179:	e8 e2 e4 ff ff       	call   0x404660
40617e:	eb 0a                	jmp    0x40618a
406180:	8b c6                	mov    %esi,%eax
406182:	8b 53 04             	mov    0x4(%ebx),%edx
406185:	e8 de e5 ff ff       	call   0x404768
40618a:	81 c4 00 10 00 00    	add    $0x1000,%esp
406190:	5e                   	pop    %esi
406191:	5b                   	pop    %ebx
406192:	c3                   	ret
406193:	90                   	nop
406194:	55                   	push   %ebp
406195:	8b ec                	mov    %esp,%ebp
406197:	83 c4 f0             	add    $0xfffffff0,%esp
40619a:	53                   	push   %ebx
40619b:	33 d2                	xor    %edx,%edx
40619d:	89 55 f0             	mov    %edx,-0x10(%ebp)
4061a0:	33 d2                	xor    %edx,%edx
4061a2:	55                   	push   %ebp
4061a3:	68 fa 61 40 00       	push   $0x4061fa
4061a8:	64 ff 32             	push   %fs:(%edx)
4061ab:	64 89 22             	mov    %esp,%fs:(%edx)
4061ae:	6a 07                	push   $0x7
4061b0:	8d 55 f5             	lea    -0xb(%ebp),%edx
4061b3:	52                   	push   %edx
4061b4:	68 04 10 00 00       	push   $0x1004
4061b9:	50                   	push   %eax
4061ba:	e8 95 b0 ff ff       	call   0x401254
4061bf:	8d 45 f0             	lea    -0x10(%ebp),%eax