420d8e:	ff 15 d8 10 43 00    	call   *0x4310d8
420d94:	85 c0                	test   %eax,%eax
420d96:	74 64                	je     0x420dfc
420d98:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
420d9c:	74 5e                	je     0x420dfc
420d9e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
420da1:	8b 04 8d 00 f8 43 00 	mov    0x43f800(,%ecx,4),%eax
420da8:	f6 44 38 28 48       	testb  $0x48,0x28(%eax,%edi,1)
420dad:	74 27                	je     0x420dd6
420daf:	8a 55 ff             	mov    -0x1(%ebp),%dl
420db2:	8d 46 01             	lea    0x1(%esi),%eax
420db5:	89 45 ec             	mov    %eax,-0x14(%ebp)
420db8:	80 fa 0a             	cmp    $0xa,%dl
420dbb:	75 04                	jne    0x420dc1
420dbd:	88 16                	mov    %dl,(%esi)
420dbf:	eb 11                	jmp    0x420dd2
420dc1:	c6 06 0d             	movb   $0xd,(%esi)
420dc4:	8b 04 8d 00 f8 43 00 	mov    0x43f800(,%ecx,4),%eax
420dcb:	88 54 38 2a          	mov    %dl,0x2a(%eax,%edi,1)
420dcf:	8b 45 ec             	mov    -0x14(%ebp),%eax
420dd2:	8b f0                	mov    %eax,%esi
420dd4:	eb 48                	jmp    0x420e1e
420dd6:	80 7d ff 0a          	cmpb   $0xa,-0x1(%ebp)
420dda:	75 09                	jne    0x420de5
420ddc:	3b f3                	cmp    %ebx,%esi
420dde:	75 05                	jne    0x420de5
420de0:	c6 06 0a             	movb   $0xa,(%esi)
420de3:	eb 38                	jmp    0x420e1d
420de5:	6a 01                	push   $0x1
420de7:	6a ff                	push   $0xffffffff
420de9:	6a ff                	push   $0xffffffff
420deb:	ff 75 08             	push   0x8(%ebp)
420dee:	e8 07 0c 00 00       	call   0x4219fa
420df3:	83 c4 10             	add    $0x10,%esp
420df6:	80 7d ff 0a          	cmpb   $0xa,-0x1(%ebp)
420dfa:	74 22                	je     0x420e1e
420dfc:	c6 06 0d             	movb   $0xd,(%esi)
420dff:	eb 1c                	jmp    0x420e1d
420e01:	8b 4d f4             	mov    -0xc(%ebp),%ecx
420e04:	8b 0c 8d 00 f8 43 00 	mov    0x43f800(,%ecx,4),%ecx
420e0b:	8a 44 39 28          	mov    0x28(%ecx,%edi,1),%al
420e0f:	a8 40                	test   $0x40,%al
420e11:	75 08                	jne    0x420e1b
420e13:	0c 02                	or     $0x2,%al
420e15:	88 44 39 28          	mov    %al,0x28(%ecx,%edi,1)
420e19:	eb 03                	jmp    0x420e1e
420e1b:	88 16                	mov    %dl,(%esi)
420e1d:	46                   	inc    %esi
420e1e:	2b f3                	sub    %ebx,%esi
420e20:	5f                   	pop    %edi
420e21:	8b c6                	mov    %esi,%eax
420e23:	5e                   	pop    %esi
420e24:	5b                   	pop    %ebx
420e25:	c9                   	leave
420e26:	c3                   	ret
420e27:	8b ff                	mov    %edi,%edi
420e29:	55                   	push   %ebp
420e2a:	8b ec                	mov    %esp,%ebp
420e2c:	83 ec 1c             	sub    $0x1c,%esp
420e2f:	8b 45 08             	mov    0x8(%ebp),%eax
420e32:	8b c8                	mov    %eax,%ecx
420e34:	53                   	push   %ebx
420e35:	8b 5d 0c             	mov    0xc(%ebp),%ebx
420e38:	83 e0 3f             	and    $0x3f,%eax
420e3b:	56                   	push   %esi
420e3c:	c1 f9 06             	sar    $0x6,%ecx
420e3f:	57                   	push   %edi
420e40:	6b f8 38             	imul   $0x38,%eax,%edi
420e43:	89 4d f8             	mov    %ecx,-0x8(%ebp)
420e46:	8b 04 8d 00 f8 43 00 	mov    0x43f800(,%ecx,4),%eax
420e4d:	6a 0a                	push   $0xa
420e4f:	5a                   	pop    %edx
420e50:	89 55 e8             	mov    %edx,-0x18(%ebp)
420e53:	8b 4c 38 18          	mov    0x18(%eax,%edi,1),%ecx
420e57:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
420e5a:	8b 4d 10             	mov    0x10(%ebp),%ecx
420e5d:	85 c9                	test   %ecx,%ecx
420e5f:	74 0c                	je     0x420e6d
420e61:	66 39 13             	cmp    %dx,(%ebx)
420e64:	75 07                	jne    0x420e6d
420e66:	80 4c 38 28 04       	orb    $0x4,0x28(%eax,%edi,1)
420e6b:	eb 05                	jmp    0x420e72
420e6d:	80 64 38 28 fb       	andb   $0xfb,0x28(%eax,%edi,1)
420e72:	8d 14 4b             	lea    (%ebx,%ecx,2),%edx
420e75:	8b c3                	mov    %ebx,%eax
420e77:	89 55 f4             	mov    %edx,-0xc(%ebp)
420e7a:	8b f3                	mov    %ebx,%esi
420e7c:	89 45 fc             	mov    %eax,-0x4(%ebp)
420e7f:	3b da                	cmp    %edx,%ebx
420e81:	0f 83 4e 01 00 00    	jae    0x420fd5
420e87:	c7 45 f0 0d 00 00 00 	movl   $0xd,-0x10(%ebp)
420e8e:	0f b7 08             	movzwl (%eax),%ecx
420e91:	8b d1                	mov    %ecx,%edx
420e93:	89 55 ec             	mov    %edx,-0x14(%ebp)
420e96:	8b 55 f4             	mov    -0xc(%ebp),%edx
420e99:	83 f9 1a             	cmp    $0x1a,%ecx
420e9c:	0f 84 13 01 00 00    	je     0x420fb5
420ea2:	83 c0 02             	add    $0x2,%eax
420ea5:	66 3b 4d f0          	cmp    -0x10(%ebp),%cx
420ea9:	74 08                	je     0x420eb3
420eab:	89 45 fc             	mov    %eax,-0x4(%ebp)
420eae:	66 89 0e             	mov    %cx,(%esi)
420eb1:	eb 36                	jmp    0x420ee9
420eb3:	3b c2                	cmp    %edx,%eax
420eb5:	73 40                	jae    0x420ef7
420eb7:	0f b7 00             	movzwl (%eax),%eax
420eba:	33 c9                	xor    %ecx,%ecx
420ebc:	66 3b 45 e8          	cmp    -0x18(%ebp),%ax
420ec0:	8b d0                	mov    %eax,%edx
420ec2:	6a 0a                	push   $0xa
420ec4:	0f 94 c1             	sete   %cl
420ec7:	33 c0                	xor    %eax,%eax
420ec9:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
420ed0:	01 4d fc             	add    %ecx,-0x4(%ebp)
420ed3:	59                   	pop    %ecx
420ed4:	66 3b d1             	cmp    %cx,%dx
420ed7:	8b 55 f4             	mov    -0xc(%ebp),%edx
420eda:	0f 94 c0             	sete   %al
420edd:	48                   	dec    %eax
420ede:	83 e0 03             	and    $0x3,%eax
420ee1:	03 c1                	add    %ecx,%eax
420ee3:	66 89 06             	mov    %ax,(%esi)
420ee6:	8b 45 fc             	mov    -0x4(%ebp),%eax
420ee9:	6a 02                	push   $0x2
420eeb:	59                   	pop    %ecx
420eec:	03 f1                	add    %ecx,%esi
420eee:	3b c2                	cmp    %edx,%eax
420ef0:	72 9c                	jb     0x420e8e
420ef2:	e9 de 00 00 00       	jmp    0x420fd5
420ef7:	6a 00                	push   $0x0
420ef9:	8d 45 e8             	lea    -0x18(%ebp),%eax
420efc:	50                   	push   %eax
420efd:	6a 02                	push   $0x2
420eff:	8d 45 fc             	lea    -0x4(%ebp),%eax
420f02:	50                   	push   %eax
420f03:	ff 75 e4             	push   -0x1c(%ebp)
420f06:	ff 15 d8 10 43 00    	call   *0x4310d8
420f0c:	85 c0                	test   %eax,%eax
420f0e:	0f 84 9c 00 00 00    	je     0x420fb0
420f14:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
420f18:	0f 84 92 00 00 00    	je     0x420fb0
420f1e:	8b 55 f8             	mov    -0x8(%ebp),%edx
420f21:	6a 0a                	push   $0xa
420f23:	8b 04 95 00 f8 43 00 	mov    0x43f800(,%edx,4),%eax
420f2a:	f6 44 38 28 48       	testb  $0x48,0x28(%eax,%edi,1)
420f2f:	74 55                	je     0x420f86
420f31:	8d 46 02             	lea    0x2(%esi),%eax
420f34:	89 45 e4             	mov    %eax,-0x1c(%ebp)
420f37:	66 8b 45 fc          	mov    -0x4(%ebp),%ax
420f3b:	59                   	pop    %ecx
420f3c:	66 89 45 fe          	mov    %ax,-0x2(%ebp)
420f40:	66 3b c1             	cmp    %cx,%ax
420f43:	75 05                	jne    0x420f4a
420f45:	66 89 0e             	mov    %cx,(%esi)
420f48:	eb 37                	jmp    0x420f81
420f4a:	6a 0d                	push   $0xd
420f4c:	59                   	pop    %ecx
420f4d:	66 89 0e             	mov    %cx,(%esi)
420f50:	0f b7 c8             	movzwl %ax,%ecx
420f53:	8b 04 95 00 f8 43 00 	mov    0x43f800(,%edx,4),%eax
420f5a:	66 8b 55 fe          	mov    -0x2(%ebp),%dx
420f5e:	c1 e9 08             	shr    $0x8,%ecx
420f61:	6a 0a                	push   $0xa
420f63:	88 54 38 2a          	mov    %dl,0x2a(%eax,%edi,1)
420f67:	8b 55 f8             	mov    -0x8(%ebp),%edx
420f6a:	8b 04 95 00 f8 43 00 	mov    0x43f800(,%edx,4),%eax
420f71:	88 4c 38 2b          	mov    %cl,0x2b(%eax,%edi,1)
420f75:	8b 04 95 00 f8 43 00 	mov    0x43f800(,%edx,4),%eax
420f7c:	59                   	pop    %ecx
420f7d:	88 4c 38 2c          	mov    %cl,0x2c(%eax,%edi,1)
420f81:	8b 75 e4             	mov    -0x1c(%ebp),%esi
420f84:	eb 4f                	jmp    0x420fd5
420f86:	58                   	pop    %eax
420f87:	66 39 45 fc          	cmp    %ax,-0x4(%ebp)
420f8b:	75 09                	jne    0x420f96
420f8d:	3b f3                	cmp    %ebx,%esi
420f8f:	75 05                	jne    0x420f96
420f91:	66 89 06             	mov    %ax,(%esi)
420f94:	eb 3c                	jmp    0x420fd2
420f96:	6a 01                	push   $0x1
420f98:	6a ff                	push   $0xffffffff
420f9a:	6a fe                	push   $0xfffffffe
420f9c:	ff 75 08             	push   0x8(%ebp)
420f9f:	e8 56 0a 00 00       	call   0x4219fa
420fa4:	83 c4 10             	add    $0x10,%esp
420fa7:	6a 0a                	push   $0xa
420fa9:	58                   	pop    %eax
420faa:	66 39 45 fc          	cmp    %ax,-0x4(%ebp)
420fae:	74 25                	je     0x420fd5
420fb0:	6a 0d                	push   $0xd
420fb2:	58                   	pop    %eax
420fb3:	eb dc                	jmp    0x420f91
420fb5:	8b 55 f8             	mov    -0x8(%ebp),%edx
420fb8:	8b 14 95 00 f8 43 00 	mov    0x43f800(,%edx,4),%edx
420fbf:	8a 44 3a 28          	mov    0x28(%edx,%edi,1),%al
420fc3:	a8 40                	test   $0x40,%al
420fc5:	75 08                	jne    0x420fcf
420fc7:	0c 02                	or     $0x2,%al
420fc9:	88 44 3a 28          	mov    %al,0x28(%edx,%edi,1)
420fcd:	eb 06                	jmp    0x420fd5
420fcf:	66 89 0e             	mov    %cx,(%esi)
420fd2:	83 c6 02             	add    $0x2,%esi
420fd5:	2b f3                	sub    %ebx,%esi
420fd7:	83 e6 fe             	and    $0xfffffffe,%esi
420fda:	5f                   	pop    %edi
420fdb:	8b c6                	mov    %esi,%eax
420fdd:	5e                   	pop    %esi
420fde:	5b                   	pop    %ebx
420fdf:	c9                   	leave
420fe0:	c3                   	ret
420fe1:	8b ff                	mov    %edi,%edi
420fe3:	55                   	push   %ebp
420fe4:	8b ec                	mov    %esp,%ebp
420fe6:	51                   	push   %ecx
420fe7:	51                   	push   %ecx
420fe8:	53                   	push   %ebx
420fe9:	ff 75 10             	push   0x10(%ebp)
420fec:	8b 5d 0c             	mov    0xc(%ebp),%ebx
420fef:	53                   	push   %ebx
420ff0:	ff 75 08             	push   0x8(%ebp)
420ff3:	e8 e2 fc ff ff       	call   0x420cda
420ff8:	8b c8                	mov    %eax,%ecx
420ffa:	83 c4 0c             	add    $0xc,%esp
420ffd:	85 c9                	test   %ecx,%ecx
420fff:	0f 84 30 01 00 00    	je     0x421135
421005:	8b 45 08             	mov    0x8(%ebp),%eax
421008:	8b 55 08             	mov    0x8(%ebp),%edx
42100b:	83 e0 3f             	and    $0x3f,%eax
42100e:	c1 fa 06             	sar    $0x6,%edx
421011:	57                   	push   %edi
421012:	6b f8 38             	imul   $0x38,%eax,%edi
421015:	89 55 fc             	mov    %edx,-0x4(%ebp)
421018:	8b 04 95 00 f8 43 00 	mov    0x43f800(,%edx,4),%eax
42101f:	89 45 f8             	mov    %eax,-0x8(%ebp)
421022:	80 7c 38 29 00       	cmpb   $0x0,0x29(%eax,%edi,1)
421027:	75 07                	jne    0x421030
421029:	8b c1                	mov    %ecx,%eax
42102b:	e9 04 01 00 00       	jmp    0x421134
421030:	8d 04 19             	lea    (%ecx,%ebx,1),%eax
421033:	56                   	push   %esi
421034:	8d 70 ff             	lea    -0x1(%eax),%esi
421037:	8a 0e                	mov    (%esi),%cl
421039:	84 c9                	test   %cl,%cl
42103b:	78 07                	js     0x421044
42103d:	8b f0                	mov    %eax,%esi
42103f:	e9 9b 00 00 00       	jmp    0x4210df
421044:	33 d2                	xor    %edx,%edx
421046:	0f b6 c1             	movzbl %cl,%eax
421049:	42                   	inc    %edx
42104a:	eb 0e                	jmp    0x42105a
42104c:	83 fa 04             	cmp    $0x4,%edx
42104f:	77 12                	ja     0x421063
421051:	3b f3                	cmp    %ebx,%esi
421053:	72 0e                	jb     0x421063
421055:	4e                   	dec    %esi
421056:	42                   	inc    %edx
421057:	0f b6 06             	movzbl (%esi),%eax
42105a:	80 b8 b8 d4 43 00 00 	cmpb   $0x0,0x43d4b8(%eax)
421061:	74 e9                	je     0x42104c
421063:	8a 0e                	mov    (%esi),%cl
421065:	0f b6 c1             	movzbl %cl,%eax
421068:	0f be 80 b8 d4 43 00 	movsbl 0x43d4b8(%eax),%eax
42106f:	85 c0                	test   %eax,%eax
421071:	75 10                	jne    0x421083
421073:	e8 f9 b5 ff ff       	call   0x41c671
421078:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
42107e:	e9 88 00 00 00       	jmp    0x42110b
421083:	40                   	inc    %eax
421084:	3b c2                	cmp    %edx,%eax
421086:	75 04                	jne    0x42108c
421088:	03 f2                	add    %edx,%esi
42108a:	eb 53                	jmp    0x4210df
42108c:	8b 45 f8             	mov    -0x8(%ebp),%eax
42108f:	f6 44 38 28 48       	testb  $0x48,0x28(%eax,%edi,1)
421094:	74 35                	je     0x4210cb
421096:	46                   	inc    %esi
421097:	88 4c 38 2a          	mov    %cl,0x2a(%eax,%edi,1)
42109b:	83 fa 02             	cmp    $0x2,%edx
42109e:	72 11                	jb     0x4210b1
4210a0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4210a3:	8a 0e                	mov    (%esi),%cl
4210a5:	46                   	inc    %esi
4210a6:	8b 04 85 00 f8 43 00 	mov    0x43f800(,%eax,4),%eax
4210ad:	88 4c 07 2b          	mov    %cl,0x2b(%edi,%eax,1)
4210b1:	83 fa 03             	cmp    $0x3,%edx
4210b4:	75 11                	jne    0x4210c7
4210b6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4210b9:	8a 0e                	mov    (%esi),%cl
4210bb:	46                   	inc    %esi
4210bc:	8b 04 85 00 f8 43 00 	mov    0x43f800(,%eax,4),%eax
4210c3:	88 4c 07 2c          	mov    %cl,0x2c(%edi,%eax,1)
4210c7:	2b f2                	sub    %edx,%esi
4210c9:	eb 14                	jmp    0x4210df
4210cb:	f7 da                	neg    %edx
4210cd:	8b c2                	mov    %edx,%eax
4210cf:	6a 01                	push   $0x1
4210d1:	99                   	cltd
4210d2:	52                   	push   %edx
4210d3:	50                   	push   %eax
4210d4:	ff 75 08             	push   0x8(%ebp)
4210d7:	e8 1e 09 00 00       	call   0x4219fa
4210dc:	83 c4 10             	add    $0x10,%esp
4210df:	ff 75 18             	push   0x18(%ebp)
4210e2:	2b f3                	sub    %ebx,%esi
4210e4:	ff 75 14             	push   0x14(%ebp)
4210e7:	56                   	push   %esi
4210e8:	53                   	push   %ebx
4210e9:	6a 00                	push   $0x0
4210eb:	68 e9 fd 00 00       	push   $0xfde9
4210f0:	e8 b3 f6 ff ff       	call   0x4207a8
4210f5:	8b d8                	mov    %eax,%ebx
4210f7:	83 c4 18             	add    $0x18,%esp
4210fa:	85 db                	test   %ebx,%ebx
4210fc:	75 12                	jne    0x421110
4210fe:	ff 15 08 11 43 00    	call   *0x431108
421104:	50                   	push   %eax
421105:	e8 0d b5 ff ff       	call   0x41c617
42110a:	59                   	pop    %ecx
42110b:	83 c8 ff             	or     $0xffffffff,%eax
42110e:	eb 23                	jmp    0x421133
421110:	8b 45 fc             	mov    -0x4(%ebp),%eax
421113:	3b de                	cmp    %esi,%ebx
421115:	0f 94 c1             	sete   %cl
421118:	fe c9                	dec    %cl
42111a:	8b 14 85 00 f8 43 00 	mov    0x43f800(,%eax,4),%edx
421121:	80 e1 02             	and    $0x2,%cl
421124:	8a 44 17 2d          	mov    0x2d(%edi,%edx,1),%al
421128:	24 fd                	and    $0xfd,%al
42112a:	0a c8                	or     %al,%cl
42112c:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
42112f:	88 4c 17 2d          	mov    %cl,0x2d(%edi,%edx,1)
421133:	5e                   	pop    %esi
421134:	5f                   	pop    %edi
421135:	5b                   	pop    %ebx
421136:	c9                   	leave
421137:	c3                   	ret
421138:	8b ff                	mov    %edi,%edi
42113a:	55                   	push   %ebp
42113b:	8b ec                	mov    %esp,%ebp
42113d:	51                   	push   %ecx
42113e:	8b 45 10             	mov    0x10(%ebp),%eax
421141:	56                   	push   %esi
421142:	57                   	push   %edi
421143:	8b 7d 0c             	mov    0xc(%ebp),%edi
421146:	8b cf                	mov    %edi,%ecx
421148:	8b f7                	mov    %edi,%esi
42114a:	8d 14 47             	lea    (%edi,%eax,2),%edx
42114d:	3b fa                	cmp    %edx,%edi
42114f:	73 5a                	jae    0x4211ab
421151:	53                   	push   %ebx