5e8f47:	51                   	push   %ecx
5e8f48:	51                   	push   %ecx
5e8f49:	53                   	push   %ebx
5e8f4a:	8b 5d 08             	mov    0x8(%ebp),%ebx
5e8f4d:	33 d2                	xor    %edx,%edx
5e8f4f:	56                   	push   %esi
5e8f50:	57                   	push   %edi
5e8f51:	8b f3                	mov    %ebx,%esi
5e8f53:	8a 03                	mov    (%ebx),%al
5e8f55:	eb 18                	jmp    0x5e8f6f
5e8f57:	3c 3d                	cmp    $0x3d,%al
5e8f59:	74 01                	je     0x5e8f5c
5e8f5b:	42                   	inc    %edx
5e8f5c:	8b ce                	mov    %esi,%ecx
5e8f5e:	8d 79 01             	lea    0x1(%ecx),%edi
5e8f61:	8a 01                	mov    (%ecx),%al
5e8f63:	41                   	inc    %ecx
5e8f64:	84 c0                	test   %al,%al
5e8f66:	75 f9                	jne    0x5e8f61
5e8f68:	2b cf                	sub    %edi,%ecx
5e8f6a:	46                   	inc    %esi
5e8f6b:	03 f1                	add    %ecx,%esi
5e8f6d:	8a 06                	mov    (%esi),%al
5e8f6f:	84 c0                	test   %al,%al
5e8f71:	75 e4                	jne    0x5e8f57
5e8f73:	8d 42 01             	lea    0x1(%edx),%eax
5e8f76:	6a 04                	push   $0x4
5e8f78:	50                   	push   %eax
5e8f79:	e8 c5 35 00 00       	call   0x5ec543
5e8f7e:	8b f0                	mov    %eax,%esi
5e8f80:	59                   	pop    %ecx
5e8f81:	59                   	pop    %ecx
5e8f82:	85 f6                	test   %esi,%esi
5e8f84:	75 0a                	jne    0x5e8f90
5e8f86:	50                   	push   %eax
5e8f87:	e8 96 22 00 00       	call   0x5eb222
5e8f8c:	33 c0                	xor    %eax,%eax
5e8f8e:	eb 66                	jmp    0x5e8ff6
5e8f90:	89 75 fc             	mov    %esi,-0x4(%ebp)
5e8f93:	eb 52                	jmp    0x5e8fe7
5e8f95:	8b cb                	mov    %ebx,%ecx
5e8f97:	8d 79 01             	lea    0x1(%ecx),%edi
5e8f9a:	8a 01                	mov    (%ecx),%al
5e8f9c:	41                   	inc    %ecx
5e8f9d:	84 c0                	test   %al,%al
5e8f9f:	75 f9                	jne    0x5e8f9a
5e8fa1:	2b cf                	sub    %edi,%ecx
5e8fa3:	8d 41 01             	lea    0x1(%ecx),%eax
5e8fa6:	89 45 f8             	mov    %eax,-0x8(%ebp)
5e8fa9:	80 fa 3d             	cmp    $0x3d,%dl
5e8fac:	74 37                	je     0x5e8fe5
5e8fae:	6a 01                	push   $0x1
5e8fb0:	50                   	push   %eax
5e8fb1:	e8 8d 35 00 00       	call   0x5ec543
5e8fb6:	8b f8                	mov    %eax,%edi
5e8fb8:	59                   	pop    %ecx
5e8fb9:	59                   	pop    %ecx
5e8fba:	85 ff                	test   %edi,%edi
5e8fbc:	74 3e                	je     0x5e8ffc
5e8fbe:	53                   	push   %ebx
5e8fbf:	ff 75 f8             	push   -0x8(%ebp)
5e8fc2:	57                   	push   %edi
5e8fc3:	e8 3a 12 00 00       	call   0x5ea202
5e8fc8:	83 c4 0c             	add    $0xc,%esp
5e8fcb:	85 c0                	test   %eax,%eax
5e8fcd:	75 48                	jne    0x5e9017
5e8fcf:	8b 45 fc             	mov    -0x4(%ebp),%eax
5e8fd2:	6a 00                	push   $0x0
5e8fd4:	89 38                	mov    %edi,(%eax)
5e8fd6:	83 c0 04             	add    $0x4,%eax
5e8fd9:	89 45 fc             	mov    %eax,-0x4(%ebp)
5e8fdc:	e8 41 22 00 00       	call   0x5eb222
5e8fe1:	8b 45 f8             	mov    -0x8(%ebp),%eax
5e8fe4:	59                   	pop    %ecx
5e8fe5:	03 d8                	add    %eax,%ebx
5e8fe7:	8a 13                	mov    (%ebx),%dl
5e8fe9:	84 d2                	test   %dl,%dl
5e8feb:	75 a8                	jne    0x5e8f95
5e8fed:	6a 00                	push   $0x0
5e8fef:	e8 2e 22 00 00       	call   0x5eb222
5e8ff4:	8b c6                	mov    %esi,%eax
5e8ff6:	59                   	pop    %ecx
5e8ff7:	5f                   	pop    %edi
5e8ff8:	5e                   	pop    %esi
5e8ff9:	5b                   	pop    %ebx
5e8ffa:	c9                   	leave
5e8ffb:	c3                   	ret
5e8ffc:	56                   	push   %esi
5e8ffd:	e8 40 01 00 00       	call   0x5e9142
5e9002:	6a 00                	push   $0x0
5e9004:	e8 19 22 00 00       	call   0x5eb222
5e9009:	6a 00                	push   $0x0
5e900b:	e8 12 22 00 00       	call   0x5eb222
5e9010:	83 c4 0c             	add    $0xc,%esp
5e9013:	33 c0                	xor    %eax,%eax
5e9015:	eb e0                	jmp    0x5e8ff7
5e9017:	33 c0                	xor    %eax,%eax
5e9019:	50                   	push   %eax
5e901a:	50                   	push   %eax
5e901b:	50                   	push   %eax
5e901c:	50                   	push   %eax
5e901d:	50                   	push   %eax
5e901e:	e8 ea d1 fe ff       	call   0x5d620d
5e9023:	cc                   	int3
5e9024:	8b ff                	mov    %edi,%edi
5e9026:	55                   	push   %ebp
5e9027:	8b ec                	mov    %esp,%ebp
5e9029:	83 ec 0c             	sub    $0xc,%esp
5e902c:	53                   	push   %ebx
5e902d:	8b 5d 08             	mov    0x8(%ebp),%ebx
5e9030:	56                   	push   %esi
5e9031:	57                   	push   %edi
5e9032:	33 ff                	xor    %edi,%edi
5e9034:	8b f3                	mov    %ebx,%esi
5e9036:	0f b7 03             	movzwl (%ebx),%eax
5e9039:	8b d7                	mov    %edi,%edx
5e903b:	89 7d fc             	mov    %edi,-0x4(%ebp)
5e903e:	66 85 c0             	test   %ax,%ax
5e9041:	74 35                	je     0x5e9078
5e9043:	6a 3d                	push   $0x3d
5e9045:	8b c8                	mov    %eax,%ecx
5e9047:	5b                   	pop    %ebx
5e9048:	66 3b cb             	cmp    %bx,%cx
5e904b:	74 01                	je     0x5e904e
5e904d:	42                   	inc    %edx
5e904e:	8b ce                	mov    %esi,%ecx
5e9050:	8d 79 02             	lea    0x2(%ecx),%edi
5e9053:	66 8b 01             	mov    (%ecx),%ax
5e9056:	83 c1 02             	add    $0x2,%ecx
5e9059:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
5e905d:	75 f4                	jne    0x5e9053
5e905f:	2b cf                	sub    %edi,%ecx
5e9061:	d1 f9                	sar    $1,%ecx
5e9063:	8d 34 4e             	lea    (%esi,%ecx,2),%esi
5e9066:	83 c6 02             	add    $0x2,%esi
5e9069:	0f b7 06             	movzwl (%esi),%eax
5e906c:	8b c8                	mov    %eax,%ecx
5e906e:	66 85 c0             	test   %ax,%ax
5e9071:	75 d5                	jne    0x5e9048
5e9073:	8b 5d 08             	mov    0x8(%ebp),%ebx
5e9076:	33 ff                	xor    %edi,%edi
5e9078:	8d 42 01             	lea    0x1(%edx),%eax
5e907b:	6a 04                	push   $0x4
5e907d:	50                   	push   %eax
5e907e:	e8 c0 34 00 00       	call   0x5ec543
5e9083:	8b f0                	mov    %eax,%esi
5e9085:	59                   	pop    %ecx
5e9086:	59                   	pop    %ecx
5e9087:	85 f6                	test   %esi,%esi
5e9089:	75 0a                	jne    0x5e9095
5e908b:	57                   	push   %edi
5e908c:	e8 91 21 00 00       	call   0x5eb222
5e9091:	33 c0                	xor    %eax,%eax
5e9093:	eb 7f                	jmp    0x5e9114
5e9095:	0f b7 03             	movzwl (%ebx),%eax
5e9098:	89 75 f8             	mov    %esi,-0x8(%ebp)
5e909b:	66 85 c0             	test   %ax,%ax
5e909e:	74 6a                	je     0x5e910a
5e90a0:	8b d0                	mov    %eax,%edx
5e90a2:	8b cb                	mov    %ebx,%ecx
5e90a4:	8d 79 02             	lea    0x2(%ecx),%edi
5e90a7:	66 8b 01             	mov    (%ecx),%ax
5e90aa:	83 c1 02             	add    $0x2,%ecx
5e90ad:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
5e90b1:	75 f4                	jne    0x5e90a7
5e90b3:	2b cf                	sub    %edi,%ecx
5e90b5:	d1 f9                	sar    $1,%ecx
5e90b7:	6a 3d                	push   $0x3d
5e90b9:	8d 41 01             	lea    0x1(%ecx),%eax
5e90bc:	59                   	pop    %ecx
5e90bd:	89 45 f4             	mov    %eax,-0xc(%ebp)
5e90c0:	66 3b d1             	cmp    %cx,%dx
5e90c3:	74 38                	je     0x5e90fd
5e90c5:	6a 02                	push   $0x2
5e90c7:	50                   	push   %eax
5e90c8:	e8 76 34 00 00       	call   0x5ec543
5e90cd:	8b f8                	mov    %eax,%edi
5e90cf:	59                   	pop    %ecx
5e90d0:	59                   	pop    %ecx
5e90d1:	85 ff                	test   %edi,%edi
5e90d3:	74 45                	je     0x5e911a
5e90d5:	53                   	push   %ebx
5e90d6:	ff 75 f4             	push   -0xc(%ebp)
5e90d9:	57                   	push   %edi
5e90da:	e8 15 35 00 00       	call   0x5ec5f4
5e90df:	83 c4 0c             	add    $0xc,%esp
5e90e2:	85 c0                	test   %eax,%eax
5e90e4:	75 4f                	jne    0x5e9135
5e90e6:	8b 45 f8             	mov    -0x8(%ebp),%eax
5e90e9:	89 38                	mov    %edi,(%eax)
5e90eb:	83 c0 04             	add    $0x4,%eax
5e90ee:	89 45 f8             	mov    %eax,-0x8(%ebp)
5e90f1:	33 c0                	xor    %eax,%eax
5e90f3:	50                   	push   %eax
5e90f4:	e8 29 21 00 00       	call   0x5eb222
5e90f9:	8b 45 f4             	mov    -0xc(%ebp),%eax
5e90fc:	59                   	pop    %ecx
5e90fd:	8d 1c 43             	lea    (%ebx,%eax,2),%ebx
5e9100:	0f b7 03             	movzwl (%ebx),%eax
5e9103:	8b d0                	mov    %eax,%edx
5e9105:	66 85 c0             	test   %ax,%ax
5e9108:	75 98                	jne    0x5e90a2
5e910a:	33 c0                	xor    %eax,%eax
5e910c:	50                   	push   %eax
5e910d:	e8 10 21 00 00       	call   0x5eb222
5e9112:	8b c6                	mov    %esi,%eax
5e9114:	59                   	pop    %ecx
5e9115:	5f                   	pop    %edi
5e9116:	5e                   	pop    %esi
5e9117:	5b                   	pop    %ebx
5e9118:	c9                   	leave
5e9119:	c3                   	ret
5e911a:	56                   	push   %esi
5e911b:	e8 22 00 00 00       	call   0x5e9142
5e9120:	33 db                	xor    %ebx,%ebx
5e9122:	53                   	push   %ebx
5e9123:	e8 fa 20 00 00       	call   0x5eb222
5e9128:	53                   	push   %ebx
5e9129:	e8 f4 20 00 00       	call   0x5eb222
5e912e:	83 c4 0c             	add    $0xc,%esp
5e9131:	33 c0                	xor    %eax,%eax
5e9133:	eb e0                	jmp    0x5e9115
5e9135:	33 c0                	xor    %eax,%eax
5e9137:	50                   	push   %eax
5e9138:	50                   	push   %eax
5e9139:	50                   	push   %eax
5e913a:	50                   	push   %eax
5e913b:	50                   	push   %eax
5e913c:	e8 cc d0 fe ff       	call   0x5d620d
5e9141:	cc                   	int3
5e9142:	8b ff                	mov    %edi,%edi
5e9144:	55                   	push   %ebp
5e9145:	8b ec                	mov    %esp,%ebp
5e9147:	56                   	push   %esi
5e9148:	8b 75 08             	mov    0x8(%ebp),%esi
5e914b:	85 f6                	test   %esi,%esi
5e914d:	74 1f                	je     0x5e916e
5e914f:	8b 06                	mov    (%esi),%eax
5e9151:	57                   	push   %edi
5e9152:	8b fe                	mov    %esi,%edi
5e9154:	eb 0c                	jmp    0x5e9162
5e9156:	50                   	push   %eax
5e9157:	e8 c6 20 00 00       	call   0x5eb222
5e915c:	8d 7f 04             	lea    0x4(%edi),%edi
5e915f:	8b 07                	mov    (%edi),%eax
5e9161:	59                   	pop    %ecx
5e9162:	85 c0                	test   %eax,%eax
5e9164:	75 f0                	jne    0x5e9156
5e9166:	56                   	push   %esi
5e9167:	e8 b6 20 00 00       	call   0x5eb222
5e916c:	59                   	pop    %ecx
5e916d:	5f                   	pop    %edi
5e916e:	5e                   	pop    %esi
5e916f:	5d                   	pop    %ebp
5e9170:	c3                   	ret
5e9171:	8b ff                	mov    %edi,%edi
5e9173:	53                   	push   %ebx
5e9174:	56                   	push   %esi
5e9175:	57                   	push   %edi
5e9176:	8b 3d 6c 6f 71 00    	mov    0x716f6c,%edi
5e917c:	85 ff                	test   %edi,%edi
5e917e:	74 6d                	je     0x5e91ed
5e9180:	8b 07                	mov    (%edi),%eax
5e9182:	85 c0                	test   %eax,%eax
5e9184:	74 5c                	je     0x5e91e2
5e9186:	33 db                	xor    %ebx,%ebx
5e9188:	53                   	push   %ebx
5e9189:	53                   	push   %ebx
5e918a:	53                   	push   %ebx
5e918b:	53                   	push   %ebx
5e918c:	6a ff                	push   $0xffffffff
5e918e:	50                   	push   %eax
5e918f:	53                   	push   %ebx
5e9190:	53                   	push   %ebx
5e9191:	e8 a7 58 00 00       	call   0x5eea3d
5e9196:	8b d8                	mov    %eax,%ebx
5e9198:	83 c4 20             	add    $0x20,%esp
5e919b:	85 db                	test   %ebx,%ebx
5e919d:	74 4e                	je     0x5e91ed
5e919f:	6a 01                	push   $0x1
5e91a1:	53                   	push   %ebx
5e91a2:	e8 9c 33 00 00       	call   0x5ec543
5e91a7:	59                   	pop    %ecx
5e91a8:	8b f0                	mov    %eax,%esi
5e91aa:	59                   	pop    %ecx
5e91ab:	6a 00                	push   $0x0
5e91ad:	85 f6                	test   %esi,%esi
5e91af:	74 36                	je     0x5e91e7
5e91b1:	6a 00                	push   $0x0
5e91b3:	53                   	push   %ebx
5e91b4:	56                   	push   %esi
5e91b5:	6a ff                	push   $0xffffffff
5e91b7:	ff 37                	push   (%edi)
5e91b9:	33 db                	xor    %ebx,%ebx
5e91bb:	53                   	push   %ebx
5e91bc:	53                   	push   %ebx
5e91bd:	e8 7b 58 00 00       	call   0x5eea3d
5e91c2:	83 c4 20             	add    $0x20,%esp
5e91c5:	85 c0                	test   %eax,%eax
5e91c7:	74 1d                	je     0x5e91e6
5e91c9:	53                   	push   %ebx
5e91ca:	56                   	push   %esi
5e91cb:	e8 47 93 00 00       	call   0x5f2517
5e91d0:	53                   	push   %ebx
5e91d1:	e8 4c 20 00 00       	call   0x5eb222
5e91d6:	83 c7 04             	add    $0x4,%edi
5e91d9:	83 c4 0c             	add    $0xc,%esp
5e91dc:	8b 07                	mov    (%edi),%eax
5e91de:	85 c0                	test   %eax,%eax
5e91e0:	75 a6                	jne    0x5e9188
5e91e2:	33 c0                	xor    %eax,%eax
5e91e4:	eb 0a                	jmp    0x5e91f0
5e91e6:	56                   	push   %esi
5e91e7:	e8 36 20 00 00       	call   0x5eb222
5e91ec:	59                   	pop    %ecx
5e91ed:	83 c8 ff             	or     $0xffffffff,%eax
5e91f0:	5f                   	pop    %edi
5e91f1:	5e                   	pop    %esi
5e91f2:	5b                   	pop    %ebx
5e91f3:	c3                   	ret
5e91f4:	8b ff                	mov    %edi,%edi
5e91f6:	53                   	push   %ebx
5e91f7:	56                   	push   %esi
5e91f8:	57                   	push   %edi
5e91f9:	8b 3d 68 6f 71 00    	mov    0x716f68,%edi
5e91ff:	85 ff                	test   %edi,%edi
5e9201:	74 67                	je     0x5e926a
5e9203:	8b 07                	mov    (%edi),%eax
5e9205:	85 c0                	test   %eax,%eax
5e9207:	74 56                	je     0x5e925f
5e9209:	33 db                	xor    %ebx,%ebx
5e920b:	53                   	push   %ebx
5e920c:	53                   	push   %ebx
5e920d:	6a ff                	push   $0xffffffff
5e920f:	50                   	push   %eax
5e9210:	53                   	push   %ebx
5e9211:	53                   	push   %ebx
5e9212:	e8 2a 59 00 00       	call   0x5eeb41
5e9217:	8b d8                	mov    %eax,%ebx
5e9219:	83 c4 18             	add    $0x18,%esp
5e921c:	85 db                	test   %ebx,%ebx
5e921e:	74 4a                	je     0x5e926a
5e9220:	6a 02                	push   $0x2
5e9222:	53                   	push   %ebx
5e9223:	e8 1b 33 00 00       	call   0x5ec543
5e9228:	8b f0                	mov    %eax,%esi
5e922a:	59                   	pop    %ecx
5e922b:	59                   	pop    %ecx
5e922c:	85 f6                	test   %esi,%esi
5e922e:	74 41                	je     0x5e9271