5e7f8a:	33 c5                	xor    %ebp,%eax
5e7f8c:	89 45 fc             	mov    %eax,-0x4(%ebp)
5e7f8f:	8b 45 08             	mov    0x8(%ebp),%eax
5e7f92:	83 f8 1a             	cmp    $0x1a,%eax
5e7f95:	76 29                	jbe    0x5e7fc0
5e7f97:	e8 d9 2c ff ff       	call   0x5dac75
5e7f9c:	c7 00 0f 00 00 00    	movl   $0xf,(%eax)
5e7fa2:	e8 e1 2c ff ff       	call   0x5dac88
5e7fa7:	c7 00 0d 00 00 00    	movl   $0xd,(%eax)
5e7fad:	e8 2e e2 fe ff       	call   0x5d61e0
5e7fb2:	33 c0                	xor    %eax,%eax
5e7fb4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5e7fb7:	33 cd                	xor    %ebp,%ecx
5e7fb9:	e8 68 9a fe ff       	call   0x5d1a26
5e7fbe:	c9                   	leave
5e7fbf:	c3                   	ret
5e7fc0:	85 c0                	test   %eax,%eax
5e7fc2:	75 03                	jne    0x5e7fc7
5e7fc4:	40                   	inc    %eax
5e7fc5:	eb ed                	jmp    0x5e7fb4
5e7fc7:	83 c0 40             	add    $0x40,%eax
5e7fca:	6a 3a                	push   $0x3a
5e7fcc:	66 89 45 f4          	mov    %ax,-0xc(%ebp)
5e7fd0:	58                   	pop    %eax
5e7fd1:	66 89 45 f6          	mov    %ax,-0xa(%ebp)
5e7fd5:	6a 5c                	push   $0x5c
5e7fd7:	58                   	pop    %eax
5e7fd8:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
5e7fdc:	33 c0                	xor    %eax,%eax
5e7fde:	66 89 45 fa          	mov    %ax,-0x6(%ebp)
5e7fe2:	8d 45 f4             	lea    -0xc(%ebp),%eax
5e7fe5:	50                   	push   %eax
5e7fe6:	ff 15 88 22 60 00    	call   *0x602288
5e7fec:	8b c8                	mov    %eax,%ecx
5e7fee:	85 c9                	test   %ecx,%ecx
5e7ff0:	74 c0                	je     0x5e7fb2
5e7ff2:	33 c0                	xor    %eax,%eax
5e7ff4:	83 f9 01             	cmp    $0x1,%ecx
5e7ff7:	0f 95 c0             	setne  %al
5e7ffa:	eb b8                	jmp    0x5e7fb4
5e7ffc:	33 c0                	xor    %eax,%eax
5e7ffe:	38 41 14             	cmp    %al,0x14(%ecx)
5e8001:	74 03                	je     0x5e8006
5e8003:	88 41 14             	mov    %al,0x14(%ecx)
5e8006:	89 41 08             	mov    %eax,0x8(%ecx)
5e8009:	89 41 0c             	mov    %eax,0xc(%ecx)
5e800c:	89 41 10             	mov    %eax,0x10(%ecx)
5e800f:	c3                   	ret
5e8010:	8b ff                	mov    %edi,%edi
5e8012:	55                   	push   %ebp
5e8013:	8b ec                	mov    %esp,%ebp
5e8015:	33 c0                	xor    %eax,%eax
5e8017:	50                   	push   %eax
5e8018:	50                   	push   %eax
5e8019:	6a 01                	push   $0x1
5e801b:	ff 75 0c             	push   0xc(%ebp)
5e801e:	ff 75 08             	push   0x8(%ebp)
5e8021:	50                   	push   %eax
5e8022:	e8 15 fd ff ff       	call   0x5e7d3c
5e8027:	83 c4 18             	add    $0x18,%esp
5e802a:	5d                   	pop    %ebp
5e802b:	c3                   	ret
5e802c:	8b ff                	mov    %edi,%edi
5e802e:	55                   	push   %ebp
5e802f:	8b ec                	mov    %esp,%ebp
5e8031:	83 ec 0c             	sub    $0xc,%esp
5e8034:	8b 45 0c             	mov    0xc(%ebp),%eax
5e8037:	33 c9                	xor    %ecx,%ecx
5e8039:	53                   	push   %ebx
5e803a:	8b 5d 08             	mov    0x8(%ebp),%ebx
5e803d:	56                   	push   %esi
5e803e:	8b f0                	mov    %eax,%esi
5e8040:	89 45 f8             	mov    %eax,-0x8(%ebp)
5e8043:	57                   	push   %edi
5e8044:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5e8047:	38 4d 18             	cmp    %cl,0x18(%ebp)
5e804a:	74 0f                	je     0x5e805b
5e804c:	41                   	inc    %ecx
5e804d:	c6 00 2d             	movb   $0x2d,(%eax)
5e8050:	8d 70 01             	lea    0x1(%eax),%esi
5e8053:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5e8056:	89 75 f8             	mov    %esi,-0x8(%ebp)
5e8059:	f7 db                	neg    %ebx
5e805b:	89 75 f4             	mov    %esi,-0xc(%ebp)
5e805e:	8b 75 f8             	mov    -0x8(%ebp),%esi
5e8061:	33 d2                	xor    %edx,%edx
5e8063:	8b c3                	mov    %ebx,%eax
5e8065:	f7 75 14             	divl   0x14(%ebp)
5e8068:	8b c3                	mov    %ebx,%eax
5e806a:	8b fe                	mov    %esi,%edi
5e806c:	8b ca                	mov    %edx,%ecx
5e806e:	33 d2                	xor    %edx,%edx
5e8070:	f7 75 14             	divl   0x14(%ebp)
5e8073:	6a 09                	push   $0x9
5e8075:	8b d8                	mov    %eax,%ebx
5e8077:	8d 56 01             	lea    0x1(%esi),%edx
5e807a:	58                   	pop    %eax
5e807b:	3b c1                	cmp    %ecx,%eax
5e807d:	1a c0                	sbb    %al,%al
5e807f:	24 27                	and    $0x27,%al
5e8081:	04 30                	add    $0x30,%al
5e8083:	02 c1                	add    %cl,%al
5e8085:	8b 4d 10             	mov    0x10(%ebp),%ecx
5e8088:	88 06                	mov    %al,(%esi)
5e808a:	8b 45 fc             	mov    -0x4(%ebp),%eax
5e808d:	40                   	inc    %eax
5e808e:	89 45 fc             	mov    %eax,-0x4(%ebp)
5e8091:	85 db                	test   %ebx,%ebx
5e8093:	74 06                	je     0x5e809b
5e8095:	8b f2                	mov    %edx,%esi
5e8097:	3b c1                	cmp    %ecx,%eax
5e8099:	72 c6                	jb     0x5e8061
5e809b:	8b 75 f4             	mov    -0xc(%ebp),%esi
5e809e:	3b c1                	cmp    %ecx,%eax
5e80a0:	72 19                	jb     0x5e80bb
5e80a2:	8b 45 0c             	mov    0xc(%ebp),%eax
5e80a5:	c6 00 00             	movb   $0x0,(%eax)
5e80a8:	e8 db 2b ff ff       	call   0x5dac88
5e80ad:	6a 22                	push   $0x22
5e80af:	5e                   	pop    %esi
5e80b0:	89 30                	mov    %esi,(%eax)
5e80b2:	e8 29 e1 fe ff       	call   0x5d61e0
5e80b7:	8b c6                	mov    %esi,%eax
5e80b9:	eb 13                	jmp    0x5e80ce
5e80bb:	c6 02 00             	movb   $0x0,(%edx)
5e80be:	8a 06                	mov    (%esi),%al
5e80c0:	8a 0f                	mov    (%edi),%cl
5e80c2:	88 07                	mov    %al,(%edi)
5e80c4:	4f                   	dec    %edi
5e80c5:	88 0e                	mov    %cl,(%esi)
5e80c7:	46                   	inc    %esi
5e80c8:	3b f7                	cmp    %edi,%esi
5e80ca:	72 f2                	jb     0x5e80be
5e80cc:	33 c0                	xor    %eax,%eax
5e80ce:	5f                   	pop    %edi
5e80cf:	5e                   	pop    %esi
5e80d0:	5b                   	pop    %ebx
5e80d1:	c9                   	leave
5e80d2:	c3                   	ret
5e80d3:	8b ff                	mov    %edi,%edi
5e80d5:	55                   	push   %ebp
5e80d6:	8b ec                	mov    %esp,%ebp
5e80d8:	83 ec 18             	sub    $0x18,%esp
5e80db:	8b 4d 10             	mov    0x10(%ebp),%ecx
5e80de:	8b d1                	mov    %ecx,%edx
5e80e0:	8b 45 08             	mov    0x8(%ebp),%eax
5e80e3:	56                   	push   %esi
5e80e4:	33 f6                	xor    %esi,%esi
5e80e6:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5e80e9:	80 7d 1c 00          	cmpb   $0x0,0x1c(%ebp)
5e80ed:	57                   	push   %edi
5e80ee:	8b 7d 0c             	mov    0xc(%ebp),%edi
5e80f1:	89 75 fc             	mov    %esi,-0x4(%ebp)
5e80f4:	89 45 f4             	mov    %eax,-0xc(%ebp)
5e80f7:	74 17                	je     0x5e8110
5e80f9:	46                   	inc    %esi
5e80fa:	c6 01 2d             	movb   $0x2d,(%ecx)
5e80fd:	f7 d8                	neg    %eax
5e80ff:	89 75 fc             	mov    %esi,-0x4(%ebp)
5e8102:	8d 51 01             	lea    0x1(%ecx),%edx
5e8105:	89 45 f4             	mov    %eax,-0xc(%ebp)
5e8108:	83 d7 00             	adc    $0x0,%edi
5e810b:	89 55 f8             	mov    %edx,-0x8(%ebp)
5e810e:	f7 df                	neg    %edi
5e8110:	8b 75 f4             	mov    -0xc(%ebp),%esi
5e8113:	53                   	push   %ebx
5e8114:	8b 5d 18             	mov    0x18(%ebp),%ebx
5e8117:	89 55 ec             	mov    %edx,-0x14(%ebp)
5e811a:	89 5d f0             	mov    %ebx,-0x10(%ebp)
5e811d:	6a 00                	push   $0x0
5e811f:	53                   	push   %ebx
5e8120:	57                   	push   %edi
5e8121:	56                   	push   %esi
5e8122:	89 55 e8             	mov    %edx,-0x18(%ebp)
5e8125:	e8 86 90 fe ff       	call   0x5d11b0
5e812a:	6a 00                	push   $0x0
5e812c:	ff 75 f0             	push   -0x10(%ebp)
5e812f:	8b d8                	mov    %eax,%ebx
5e8131:	57                   	push   %edi
5e8132:	56                   	push   %esi
5e8133:	e8 e8 93 fe ff       	call   0x5d1520
5e8138:	6a 09                	push   $0x9
5e813a:	59                   	pop    %ecx
5e813b:	3b cb                	cmp    %ebx,%ecx
5e813d:	8b f0                	mov    %eax,%esi
5e813f:	8b 45 f8             	mov    -0x8(%ebp),%eax
5e8142:	8b fa                	mov    %edx,%edi
5e8144:	1a c9                	sbb    %cl,%cl
5e8146:	80 e1 27             	and    $0x27,%cl
5e8149:	80 c1 30             	add    $0x30,%cl
5e814c:	02 cb                	add    %bl,%cl
5e814e:	8d 50 01             	lea    0x1(%eax),%edx
5e8151:	88 08                	mov    %cl,(%eax)
5e8153:	8b 45 fc             	mov    -0x4(%ebp),%eax
5e8156:	40                   	inc    %eax
5e8157:	89 55 f4             	mov    %edx,-0xc(%ebp)
5e815a:	89 45 fc             	mov    %eax,-0x4(%ebp)
5e815d:	85 ff                	test   %edi,%edi
5e815f:	75 04                	jne    0x5e8165
5e8161:	85 f6                	test   %esi,%esi
5e8163:	74 31                	je     0x5e8196
5e8165:	8b 4d 14             	mov    0x14(%ebp),%ecx
5e8168:	8b 5d f0             	mov    -0x10(%ebp),%ebx
5e816b:	89 55 f8             	mov    %edx,-0x8(%ebp)
5e816e:	3b c1                	cmp    %ecx,%eax
5e8170:	72 ab                	jb     0x5e811d
5e8172:	8b 55 f4             	mov    -0xc(%ebp),%edx
5e8175:	8b 75 ec             	mov    -0x14(%ebp),%esi
5e8178:	5b                   	pop    %ebx
5e8179:	3b c1                	cmp    %ecx,%eax
5e817b:	72 1e                	jb     0x5e819b
5e817d:	8b 45 10             	mov    0x10(%ebp),%eax
5e8180:	c6 00 00             	movb   $0x0,(%eax)
5e8183:	e8 00 2b ff ff       	call   0x5dac88
5e8188:	6a 22                	push   $0x22
5e818a:	5e                   	pop    %esi
5e818b:	89 30                	mov    %esi,(%eax)
5e818d:	e8 4e e0 fe ff       	call   0x5d61e0
5e8192:	8b c6                	mov    %esi,%eax
5e8194:	eb 1b                	jmp    0x5e81b1
5e8196:	8b 4d 14             	mov    0x14(%ebp),%ecx
5e8199:	eb da                	jmp    0x5e8175
5e819b:	c6 02 00             	movb   $0x0,(%edx)
5e819e:	8b 55 e8             	mov    -0x18(%ebp),%edx
5e81a1:	8a 06                	mov    (%esi),%al
5e81a3:	8a 0a                	mov    (%edx),%cl
5e81a5:	88 02                	mov    %al,(%edx)
5e81a7:	4a                   	dec    %edx
5e81a8:	88 0e                	mov    %cl,(%esi)
5e81aa:	46                   	inc    %esi
5e81ab:	3b f2                	cmp    %edx,%esi
5e81ad:	72 f2                	jb     0x5e81a1
5e81af:	33 c0                	xor    %eax,%eax
5e81b1:	5f                   	pop    %edi
5e81b2:	5e                   	pop    %esi
5e81b3:	c9                   	leave
5e81b4:	c3                   	ret
5e81b5:	8b ff                	mov    %edi,%edi
5e81b7:	55                   	push   %ebp
5e81b8:	8b ec                	mov    %esp,%ebp
5e81ba:	51                   	push   %ecx
5e81bb:	33 c0                	xor    %eax,%eax
5e81bd:	83 7d 14 0a          	cmpl   $0xa,0x14(%ebp)
5e81c1:	75 12                	jne    0x5e81d5
5e81c3:	39 45 0c             	cmp    %eax,0xc(%ebp)
5e81c6:	7f 0d                	jg     0x5e81d5
5e81c8:	7c 05                	jl     0x5e81cf
5e81ca:	39 45 08             	cmp    %eax,0x8(%ebp)
5e81cd:	73 06                	jae    0x5e81d5
5e81cf:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
5e81d3:	eb 03                	jmp    0x5e81d8
5e81d5:	88 45 fc             	mov    %al,-0x4(%ebp)
5e81d8:	ff 75 fc             	push   -0x4(%ebp)
5e81db:	ff 75 14             	push   0x14(%ebp)
5e81de:	6a ff                	push   $0xffffffff
5e81e0:	ff 75 10             	push   0x10(%ebp)
5e81e3:	ff 75 0c             	push   0xc(%ebp)
5e81e6:	ff 75 08             	push   0x8(%ebp)
5e81e9:	e8 e5 fe ff ff       	call   0x5e80d3
5e81ee:	8b 45 10             	mov    0x10(%ebp),%eax
5e81f1:	83 c4 18             	add    $0x18,%esp
5e81f4:	c9                   	leave
5e81f5:	c3                   	ret
5e81f6:	8b ff                	mov    %edi,%edi
5e81f8:	55                   	push   %ebp
5e81f9:	8b ec                	mov    %esp,%ebp
5e81fb:	51                   	push   %ecx
5e81fc:	83 7d 10 0a          	cmpl   $0xa,0x10(%ebp)
5e8200:	75 0a                	jne    0x5e820c
5e8202:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
5e8206:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
5e820a:	7c 04                	jl     0x5e8210
5e820c:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
5e8210:	ff 75 fc             	push   -0x4(%ebp)
5e8213:	ff 75 10             	push   0x10(%ebp)
5e8216:	6a ff                	push   $0xffffffff
5e8218:	ff 75 0c             	push   0xc(%ebp)
5e821b:	ff 75 08             	push   0x8(%ebp)
5e821e:	e8 09 fe ff ff       	call   0x5e802c
5e8223:	8b 45 0c             	mov    0xc(%ebp),%eax
5e8226:	83 c4 14             	add    $0x14,%esp
5e8229:	c9                   	leave
5e822a:	c3                   	ret
5e822b:	8b ff                	mov    %edi,%edi
5e822d:	55                   	push   %ebp
5e822e:	8b ec                	mov    %esp,%ebp
5e8230:	6a 00                	push   $0x0
5e8232:	ff 75 14             	push   0x14(%ebp)
5e8235:	6a ff                	push   $0xffffffff
5e8237:	ff 75 10             	push   0x10(%ebp)
5e823a:	ff 75 0c             	push   0xc(%ebp)
5e823d:	ff 75 08             	push   0x8(%ebp)
5e8240:	e8 8e fe ff ff       	call   0x5e80d3
5e8245:	8b 45 10             	mov    0x10(%ebp),%eax
5e8248:	83 c4 18             	add    $0x18,%esp
5e824b:	5d                   	pop    %ebp
5e824c:	c3                   	ret
5e824d:	8b ff                	mov    %edi,%edi
5e824f:	55                   	push   %ebp
5e8250:	8b ec                	mov    %esp,%ebp
5e8252:	8b 4d 10             	mov    0x10(%ebp),%ecx
5e8255:	85 c9                	test   %ecx,%ecx
5e8257:	75 04                	jne    0x5e825d
5e8259:	33 c0                	xor    %eax,%eax
5e825b:	5d                   	pop    %ebp
5e825c:	c3                   	ret
5e825d:	53                   	push   %ebx
5e825e:	8b 5d 0c             	mov    0xc(%ebp),%ebx
5e8261:	56                   	push   %esi
5e8262:	57                   	push   %edi
5e8263:	8b 7d 08             	mov    0x8(%ebp),%edi
5e8266:	0f b7 17             	movzwl (%edi),%edx
5e8269:	8d 7f 02             	lea    0x2(%edi),%edi
5e826c:	8d 42 bf             	lea    -0x41(%edx),%eax
5e826f:	83 f8 19             	cmp    $0x19,%eax
5e8272:	77 03                	ja     0x5e8277
5e8274:	83 c2 20             	add    $0x20,%edx
5e8277:	0f b7 33             	movzwl (%ebx),%esi
5e827a:	83 c3 02             	add    $0x2,%ebx
5e827d:	8d 46 bf             	lea    -0x41(%esi),%eax
5e8280:	83 f8 19             	cmp    $0x19,%eax
5e8283:	77 03                	ja     0x5e8288
5e8285:	83 c6 20             	add    $0x20,%esi
5e8288:	8b c2                	mov    %edx,%eax
5e828a:	2b c6                	sub    %esi,%eax
5e828c:	75 09                	jne    0x5e8297
5e828e:	85 d2                	test   %edx,%edx
5e8290:	74 05                	je     0x5e8297
5e8292:	83 e9 01             	sub    $0x1,%ecx
5e8295:	75 cf                	jne    0x5e8266
5e8297:	5f                   	pop    %edi
5e8298:	5e                   	pop    %esi
5e8299:	5b                   	pop    %ebx
5e829a:	5d                   	pop    %ebp
5e829b:	c3                   	ret
5e829c:	8b ff                	mov    %edi,%edi
5e829e:	55                   	push   %ebp
5e829f:	8b ec                	mov    %esp,%ebp
5e82a1:	83 3d 9c 6f 71 00 00 	cmpl   $0x0,0x716f9c
5e82a8:	75 29                	jne    0x5e82d3
5e82aa:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
5e82ae:	75 17                	jne    0x5e82c7
5e82b0:	e8 d3 29 ff ff       	call   0x5dac88
5e82b5:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5e82bb:	e8 20 df fe ff       	call   0x5d61e0
5e82c0:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
5e82c5:	5d                   	pop    %ebp
5e82c6:	c3                   	ret
5e82c7:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
5e82cb:	74 e3                	je     0x5e82b0