487ea5:	80 c1 57             	add    $0x57,%cl
487ea8:	eb 03                	jmp    0x487ead
487eaa:	80 c1 30             	add    $0x30,%cl
487ead:	88 0e                	mov    %cl,(%esi)
487eaf:	46                   	inc    %esi
487eb0:	47                   	inc    %edi
487eb1:	85 d2                	test   %edx,%edx
487eb3:	75 04                	jne    0x487eb9
487eb5:	85 db                	test   %ebx,%ebx
487eb7:	74 05                	je     0x487ebe
487eb9:	3b 7d 14             	cmp    0x14(%ebp),%edi
487ebc:	72 cf                	jb     0x487e8d
487ebe:	3b 7d 14             	cmp    0x14(%ebp),%edi
487ec1:	8b 7d f4             	mov    -0xc(%ebp),%edi
487ec4:	72 19                	jb     0x487edf
487ec6:	8b 45 10             	mov    0x10(%ebp),%eax
487ec9:	c6 00 00             	movb   $0x0,(%eax)
487ecc:	e8 5e 4f fc ff       	call   0x44ce2f
487ed1:	6a 22                	push   $0x22
487ed3:	5e                   	pop    %esi
487ed4:	89 30                	mov    %esi,(%eax)
487ed6:	e8 fb 4d fc ff       	call   0x44ccd6
487edb:	8b c6                	mov    %esi,%eax
487edd:	eb 14                	jmp    0x487ef3
487edf:	c6 06 00             	movb   $0x0,(%esi)
487ee2:	4e                   	dec    %esi
487ee3:	8a 07                	mov    (%edi),%al
487ee5:	8a 0e                	mov    (%esi),%cl
487ee7:	88 06                	mov    %al,(%esi)
487ee9:	4e                   	dec    %esi
487eea:	88 0f                	mov    %cl,(%edi)
487eec:	47                   	inc    %edi
487eed:	3b fe                	cmp    %esi,%edi
487eef:	72 f2                	jb     0x487ee3
487ef1:	33 c0                	xor    %eax,%eax
487ef3:	5f                   	pop    %edi
487ef4:	5e                   	pop    %esi
487ef5:	5b                   	pop    %ebx
487ef6:	8b e5                	mov    %ebp,%esp
487ef8:	5d                   	pop    %ebp
487ef9:	c3                   	ret
487efa:	8b ff                	mov    %edi,%edi
487efc:	55                   	push   %ebp
487efd:	8b ec                	mov    %esp,%ebp
487eff:	83 ec 0c             	sub    $0xc,%esp
487f02:	8b 4d 08             	mov    0x8(%ebp),%ecx
487f05:	33 c0                	xor    %eax,%eax
487f07:	8b 55 0c             	mov    0xc(%ebp),%edx
487f0a:	53                   	push   %ebx
487f0b:	8b 5d 10             	mov    0x10(%ebp),%ebx
487f0e:	56                   	push   %esi
487f0f:	8b f3                	mov    %ebx,%esi
487f11:	89 45 fc             	mov    %eax,-0x4(%ebp)
487f14:	57                   	push   %edi
487f15:	38 45 1c             	cmp    %al,0x1c(%ebp)
487f18:	74 16                	je     0x487f30
487f1a:	6a 2d                	push   $0x2d
487f1c:	58                   	pop    %eax
487f1d:	66 89 03             	mov    %ax,(%ebx)
487f20:	8d 73 02             	lea    0x2(%ebx),%esi
487f23:	33 c0                	xor    %eax,%eax
487f25:	40                   	inc    %eax
487f26:	f7 d9                	neg    %ecx
487f28:	89 45 fc             	mov    %eax,-0x4(%ebp)
487f2b:	83 d2 00             	adc    $0x0,%edx
487f2e:	f7 da                	neg    %edx
487f30:	8b 7d fc             	mov    -0x4(%ebp),%edi
487f33:	89 75 f4             	mov    %esi,-0xc(%ebp)
487f36:	53                   	push   %ebx
487f37:	6a 00                	push   $0x0
487f39:	ff 75 18             	push   0x18(%ebp)
487f3c:	52                   	push   %edx
487f3d:	51                   	push   %ecx
487f3e:	e8 dd 7d fb ff       	call   0x43fd20
487f43:	89 5d fc             	mov    %ebx,-0x4(%ebp)
487f46:	5b                   	pop    %ebx
487f47:	8b d9                	mov    %ecx,%ebx
487f49:	8b c8                	mov    %eax,%ecx
487f4b:	8d 43 57             	lea    0x57(%ebx),%eax
487f4e:	83 fb 09             	cmp    $0x9,%ebx
487f51:	77 03                	ja     0x487f56
487f53:	8d 43 30             	lea    0x30(%ebx),%eax
487f56:	66 89 06             	mov    %ax,(%esi)
487f59:	83 c6 02             	add    $0x2,%esi
487f5c:	47                   	inc    %edi
487f5d:	85 d2                	test   %edx,%edx
487f5f:	75 04                	jne    0x487f65
487f61:	85 c9                	test   %ecx,%ecx
487f63:	74 05                	je     0x487f6a
487f65:	3b 7d 14             	cmp    0x14(%ebp),%edi
487f68:	72 cc                	jb     0x487f36
487f6a:	3b 7d 14             	cmp    0x14(%ebp),%edi
487f6d:	8b 7d f4             	mov    -0xc(%ebp),%edi
487f70:	72 1b                	jb     0x487f8d
487f72:	8b 45 10             	mov    0x10(%ebp),%eax
487f75:	33 c9                	xor    %ecx,%ecx
487f77:	66 89 08             	mov    %cx,(%eax)
487f7a:	e8 b0 4e fc ff       	call   0x44ce2f
487f7f:	6a 22                	push   $0x22
487f81:	5e                   	pop    %esi
487f82:	89 30                	mov    %esi,(%eax)
487f84:	e8 4d 4d fc ff       	call   0x44ccd6
487f89:	8b c6                	mov    %esi,%eax
487f8b:	eb 20                	jmp    0x487fad
487f8d:	33 c0                	xor    %eax,%eax
487f8f:	66 89 06             	mov    %ax,(%esi)
487f92:	83 ee 02             	sub    $0x2,%esi
487f95:	66 8b 07             	mov    (%edi),%ax
487f98:	0f b7 0e             	movzwl (%esi),%ecx
487f9b:	66 89 06             	mov    %ax,(%esi)
487f9e:	83 ee 02             	sub    $0x2,%esi
487fa1:	66 89 0f             	mov    %cx,(%edi)
487fa4:	83 c7 02             	add    $0x2,%edi
487fa7:	3b fe                	cmp    %esi,%edi
487fa9:	72 ea                	jb     0x487f95
487fab:	33 c0                	xor    %eax,%eax
487fad:	5f                   	pop    %edi
487fae:	5e                   	pop    %esi
487faf:	5b                   	pop    %ebx
487fb0:	8b e5                	mov    %ebp,%esp
487fb2:	5d                   	pop    %ebp
487fb3:	c3                   	ret
487fb4:	8b ff                	mov    %edi,%edi
487fb6:	55                   	push   %ebp
487fb7:	8b ec                	mov    %esp,%ebp
487fb9:	8b 4d 0c             	mov    0xc(%ebp),%ecx
487fbc:	56                   	push   %esi
487fbd:	85 c9                	test   %ecx,%ecx
487fbf:	75 13                	jne    0x487fd4
487fc1:	e8 69 4e fc ff       	call   0x44ce2f
487fc6:	6a 16                	push   $0x16
487fc8:	5e                   	pop    %esi
487fc9:	89 30                	mov    %esi,(%eax)
487fcb:	e8 06 4d fc ff       	call   0x44ccd6
487fd0:	8b c6                	mov    %esi,%eax
487fd2:	eb 3c                	jmp    0x488010
487fd4:	8b 55 10             	mov    0x10(%ebp),%edx
487fd7:	85 d2                	test   %edx,%edx
487fd9:	74 e6                	je     0x487fc1
487fdb:	33 c0                	xor    %eax,%eax
487fdd:	c6 01 00             	movb   $0x0,(%ecx)
487fe0:	38 45 18             	cmp    %al,0x18(%ebp)
487fe3:	0f 95 c0             	setne  %al
487fe6:	40                   	inc    %eax
487fe7:	3b d0                	cmp    %eax,%edx
487fe9:	77 09                	ja     0x487ff4
487feb:	e8 3f 4e fc ff       	call   0x44ce2f
487ff0:	6a 22                	push   $0x22
487ff2:	eb d4                	jmp    0x487fc8
487ff4:	8b 75 14             	mov    0x14(%ebp),%esi
487ff7:	8d 46 fe             	lea    -0x2(%esi),%eax
487ffa:	83 f8 22             	cmp    $0x22,%eax
487ffd:	77 c2                	ja     0x487fc1
487fff:	ff 75 18             	push   0x18(%ebp)
488002:	56                   	push   %esi
488003:	52                   	push   %edx
488004:	51                   	push   %ecx
488005:	ff 75 08             	push   0x8(%ebp)
488008:	e8 46 fd ff ff       	call   0x487d53
48800d:	83 c4 14             	add    $0x14,%esp
488010:	5e                   	pop    %esi
488011:	5d                   	pop    %ebp
488012:	c3                   	ret
488013:	8b ff                	mov    %edi,%edi
488015:	55                   	push   %ebp
488016:	8b ec                	mov    %esp,%ebp
488018:	8b 4d 0c             	mov    0xc(%ebp),%ecx
48801b:	56                   	push   %esi
48801c:	85 c9                	test   %ecx,%ecx
48801e:	75 13                	jne    0x488033
488020:	e8 0a 4e fc ff       	call   0x44ce2f
488025:	6a 16                	push   $0x16
488027:	5e                   	pop    %esi
488028:	89 30                	mov    %esi,(%eax)
48802a:	e8 a7 4c fc ff       	call   0x44ccd6
48802f:	8b c6                	mov    %esi,%eax
488031:	eb 3c                	jmp    0x48806f
488033:	8b 55 10             	mov    0x10(%ebp),%edx
488036:	85 d2                	test   %edx,%edx
488038:	74 e6                	je     0x488020
48803a:	33 c0                	xor    %eax,%eax
48803c:	38 45 18             	cmp    %al,0x18(%ebp)
48803f:	66 89 01             	mov    %ax,(%ecx)
488042:	0f 95 c0             	setne  %al
488045:	40                   	inc    %eax
488046:	3b d0                	cmp    %eax,%edx
488048:	77 09                	ja     0x488053
48804a:	e8 e0 4d fc ff       	call   0x44ce2f
48804f:	6a 22                	push   $0x22
488051:	eb d4                	jmp    0x488027
488053:	8b 75 14             	mov    0x14(%ebp),%esi
488056:	8d 46 fe             	lea    -0x2(%esi),%eax
488059:	83 f8 22             	cmp    $0x22,%eax
48805c:	77 c2                	ja     0x488020
48805e:	ff 75 18             	push   0x18(%ebp)
488061:	56                   	push   %esi
488062:	52                   	push   %edx
488063:	51                   	push   %ecx
488064:	ff 75 08             	push   0x8(%ebp)
488067:	e8 5c fd ff ff       	call   0x487dc8
48806c:	83 c4 14             	add    $0x14,%esp
48806f:	5e                   	pop    %esi
488070:	5d                   	pop    %ebp
488071:	c3                   	ret
488072:	8b ff                	mov    %edi,%edi
488074:	55                   	push   %ebp
488075:	8b ec                	mov    %esp,%ebp
488077:	8b 4d 10             	mov    0x10(%ebp),%ecx
48807a:	56                   	push   %esi
48807b:	85 c9                	test   %ecx,%ecx
48807d:	75 13                	jne    0x488092
48807f:	e8 ab 4d fc ff       	call   0x44ce2f
488084:	6a 16                	push   $0x16
488086:	5e                   	pop    %esi
488087:	89 30                	mov    %esi,(%eax)
488089:	e8 48 4c fc ff       	call   0x44ccd6
48808e:	8b c6                	mov    %esi,%eax
488090:	eb 3f                	jmp    0x4880d1
488092:	8b 55 14             	mov    0x14(%ebp),%edx
488095:	85 d2                	test   %edx,%edx
488097:	74 e6                	je     0x48807f
488099:	33 c0                	xor    %eax,%eax
48809b:	c6 01 00             	movb   $0x0,(%ecx)
48809e:	38 45 1c             	cmp    %al,0x1c(%ebp)
4880a1:	0f 95 c0             	setne  %al
4880a4:	40                   	inc    %eax
4880a5:	3b d0                	cmp    %eax,%edx
4880a7:	77 09                	ja     0x4880b2
4880a9:	e8 81 4d fc ff       	call   0x44ce2f
4880ae:	6a 22                	push   $0x22
4880b0:	eb d4                	jmp    0x488086
4880b2:	8b 75 18             	mov    0x18(%ebp),%esi
4880b5:	8d 46 fe             	lea    -0x2(%esi),%eax
4880b8:	83 f8 22             	cmp    $0x22,%eax
4880bb:	77 c2                	ja     0x48807f
4880bd:	ff 75 1c             	push   0x1c(%ebp)
4880c0:	56                   	push   %esi
4880c1:	52                   	push   %edx
4880c2:	51                   	push   %ecx
4880c3:	ff 75 0c             	push   0xc(%ebp)
4880c6:	ff 75 08             	push   0x8(%ebp)
4880c9:	e8 88 fd ff ff       	call   0x487e56
4880ce:	83 c4 18             	add    $0x18,%esp
4880d1:	5e                   	pop    %esi
4880d2:	5d                   	pop    %ebp
4880d3:	c3                   	ret
4880d4:	8b ff                	mov    %edi,%edi
4880d6:	55                   	push   %ebp
4880d7:	8b ec                	mov    %esp,%ebp
4880d9:	8b 4d 10             	mov    0x10(%ebp),%ecx
4880dc:	56                   	push   %esi
4880dd:	85 c9                	test   %ecx,%ecx
4880df:	75 13                	jne    0x4880f4
4880e1:	e8 49 4d fc ff       	call   0x44ce2f
4880e6:	6a 16                	push   $0x16
4880e8:	5e                   	pop    %esi
4880e9:	89 30                	mov    %esi,(%eax)
4880eb:	e8 e6 4b fc ff       	call   0x44ccd6
4880f0:	8b c6                	mov    %esi,%eax
4880f2:	eb 3f                	jmp    0x488133
4880f4:	8b 55 14             	mov    0x14(%ebp),%edx
4880f7:	85 d2                	test   %edx,%edx
4880f9:	74 e6                	je     0x4880e1
4880fb:	33 c0                	xor    %eax,%eax
4880fd:	38 45 1c             	cmp    %al,0x1c(%ebp)
488100:	66 89 01             	mov    %ax,(%ecx)
488103:	0f 95 c0             	setne  %al
488106:	40                   	inc    %eax
488107:	3b d0                	cmp    %eax,%edx
488109:	77 09                	ja     0x488114
48810b:	e8 1f 4d fc ff       	call   0x44ce2f
488110:	6a 22                	push   $0x22
488112:	eb d4                	jmp    0x4880e8
488114:	8b 75 18             	mov    0x18(%ebp),%esi
488117:	8d 46 fe             	lea    -0x2(%esi),%eax
48811a:	83 f8 22             	cmp    $0x22,%eax
48811d:	77 c2                	ja     0x4880e1
48811f:	ff 75 1c             	push   0x1c(%ebp)
488122:	56                   	push   %esi
488123:	52                   	push   %edx
488124:	51                   	push   %ecx
488125:	ff 75 0c             	push   0xc(%ebp)
488128:	ff 75 08             	push   0x8(%ebp)
48812b:	e8 ca fd ff ff       	call   0x487efa
488130:	83 c4 18             	add    $0x18,%esp
488133:	5e                   	pop    %esi
488134:	5d                   	pop    %ebp
488135:	c3                   	ret
488136:	8b ff                	mov    %edi,%edi
488138:	55                   	push   %ebp
488139:	8b ec                	mov    %esp,%ebp
48813b:	51                   	push   %ecx
48813c:	33 c0                	xor    %eax,%eax
48813e:	83 7d 14 0a          	cmpl   $0xa,0x14(%ebp)
488142:	75 12                	jne    0x488156
488144:	39 45 0c             	cmp    %eax,0xc(%ebp)
488147:	7f 0d                	jg     0x488156
488149:	7c 05                	jl     0x488150
48814b:	39 45 08             	cmp    %eax,0x8(%ebp)
48814e:	73 06                	jae    0x488156
488150:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
488154:	eb 03                	jmp    0x488159
488156:	88 45 fc             	mov    %al,-0x4(%ebp)
488159:	ff 75 fc             	push   -0x4(%ebp)
48815c:	ff 75 14             	push   0x14(%ebp)
48815f:	6a ff                	push   $0xffffffff
488161:	ff 75 10             	push   0x10(%ebp)
488164:	ff 75 0c             	push   0xc(%ebp)
488167:	ff 75 08             	push   0x8(%ebp)
48816a:	e8 e7 fc ff ff       	call   0x487e56
48816f:	8b 45 10             	mov    0x10(%ebp),%eax
488172:	83 c4 18             	add    $0x18,%esp
488175:	8b e5                	mov    %ebp,%esp
488177:	5d                   	pop    %ebp
488178:	c3                   	ret
488179:	8b ff                	mov    %edi,%edi
48817b:	55                   	push   %ebp
48817c:	8b ec                	mov    %esp,%ebp
48817e:	51                   	push   %ecx
48817f:	33 c0                	xor    %eax,%eax
488181:	83 7d 18 0a          	cmpl   $0xa,0x18(%ebp)
488185:	75 12                	jne    0x488199
488187:	39 45 0c             	cmp    %eax,0xc(%ebp)
48818a:	7f 0d                	jg     0x488199
48818c:	7c 05                	jl     0x488193
48818e:	39 45 08             	cmp    %eax,0x8(%ebp)
488191:	73 06                	jae    0x488199
488193:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
488197:	eb 03                	jmp    0x48819c
488199:	88 45 fc             	mov    %al,-0x4(%ebp)
48819c:	ff 75 fc             	push   -0x4(%ebp)
48819f:	ff 75 18             	push   0x18(%ebp)
4881a2:	ff 75 14             	push   0x14(%ebp)
4881a5:	ff 75 10             	push   0x10(%ebp)
4881a8:	ff 75 0c             	push   0xc(%ebp)
4881ab:	ff 75 08             	push   0x8(%ebp)
4881ae:	e8 bf fe ff ff       	call   0x488072
4881b3:	83 c4 18             	add    $0x18,%esp
4881b6:	8b e5                	mov    %ebp,%esp
4881b8:	5d                   	pop    %ebp
4881b9:	c3                   	ret
4881ba:	8b ff                	mov    %edi,%edi
4881bc:	55                   	push   %ebp
4881bd:	8b ec                	mov    %esp,%ebp
4881bf:	51                   	push   %ecx
4881c0:	33 c0                	xor    %eax,%eax
4881c2:	83 7d 14 0a          	cmpl   $0xa,0x14(%ebp)
4881c6:	75 12                	jne    0x4881da
4881c8:	39 45 0c             	cmp    %eax,0xc(%ebp)
4881cb:	7f 0d                	jg     0x4881da